diff --git a/pr-preview/pr-991/app-48d0c1584627dc723f2b.js b/pr-preview/pr-991/app-48d0c1584627dc723f2b.js deleted file mode 100644 index b352f9741..000000000 --- a/pr-preview/pr-991/app-48d0c1584627dc723f2b.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! For license information please see app-48d0c1584627dc723f2b.js.LICENSE.txt */ -(window.webpackJsonp=window.webpackJsonp||[]).push([[1],{"+3kn":function(e,a,n){const t=n("dVj6")(45,1418,1470,5120,6150,8275,8315,8331,8722,11799,11802,11840,11869,12316,12336,12448,65112,65123,65293,69293);t.addRange(8208,8213).addRange(11834,11835).addRange(65073,65074),e.exports=t},"+6XX":function(e,a,n){var t=n("y1pI");e.exports=function(e){return t(this.__data__,e)>-1}},"+K+b":function(e,a,n){var t=n("JHRd");e.exports=function(e){var a=new e.constructor(e.byteLength);return new t(a).set(new t(e)),a}},"+M1K":function(e,a,n){var t=n("WSbT"),d=RangeError;e.exports=function(e){var a=t(e);if(a<0)throw d("The argument can't be less than 0");return a}},"+Qka":function(e,a,n){var t=n("fmRc"),d=n("t2Dn"),r=n("cq/+"),o=n("T1AV"),i=n("GoyQ"),s=n("mTTR"),g=n("itsj");e.exports=function e(a,n,c,u,l){a!==n&&r(n,(function(r,s){if(l||(l=new t),i(r))o(a,n,s,c,e,u,l);else{var R=u?u(g(a,s),r,s+"",a,n,l):void 0;void 0===R&&(R=r),d(a,s,R)}}),s)}},"+QyN":function(e,a,n){const t=n("dVj6")();t.addRange(70320,70378).addRange(70384,70393),e.exports=t},"+XeO":function(e,a,n){const t=n("dVj6")(2972,3024,3031,7386,43251,70401,70403,73727);t.addRange(2385,2386).addRange(2404,2405).addRange(2946,2947).addRange(2949,2954).addRange(2958,2960).addRange(2962,2965).addRange(2969,2970).addRange(2974,2975).addRange(2979,2980).addRange(2984,2986).addRange(2990,3001).addRange(3006,3010).addRange(3014,3016).addRange(3018,3021).addRange(3046,3066).addRange(70459,70460).addRange(73664,73713),e.exports=t},"+ZDr":function(e,a,n){"use strict";var t=n("TqRt");a.__esModule=!0,a.withPrefix=p,a.withAssetPrefix=function(e){return p(e,f())},a.navigateTo=a.replace=a.push=a.navigate=a.default=void 0;var d=t(n("8OQS")),r=t(n("PJYZ")),o=t(n("VbXa")),i=t(n("pVnL")),s=t(n("17x9")),g=t(n("q1tI")),c=n("YwZP"),u=n("LYrO"),l=n("cu4x");a.parsePath=l.parsePath;var R=function(e){return null==e?void 0:e.startsWith("/")};function p(e,a){var n,t;if(void 0===a&&(a=h()),!m(e))return e;if(e.startsWith("./")||e.startsWith("../"))return e;var d=null!==(n=null!==(t=a)&&void 0!==t?t:f())&&void 0!==n?n:"/";return""+((null==d?void 0:d.endsWith("/"))?d.slice(0,-1):d)+(e.startsWith("/")?e:"/"+e)}var f=function(){return"/pr-preview/pr-991"},h=function(){return"/pr-preview/pr-991"},m=function(e){return e&&!e.startsWith("http://")&&!e.startsWith("https://")&&!e.startsWith("//")};var b=function(e,a){return"number"==typeof e?e:m(e)?R(e)?p(e):function(e,a){return R(e)?e:(0,u.resolve)(e,a)}(e,a):e},y={activeClassName:s.default.string,activeStyle:s.default.object,partiallyActive:s.default.bool};function v(e){return g.default.createElement(c.Location,null,(function(a){var n=a.location;return g.default.createElement(j,(0,i.default)({},e,{_location:n}))}))}var j=function(e){function a(a){var n;(n=e.call(this,a)||this).defaultGetProps=function(e){var a=e.isPartiallyCurrent,t=e.isCurrent;return(n.props.partiallyActive?a:t)?{className:[n.props.className,n.props.activeClassName].filter(Boolean).join(" "),style:(0,i.default)({},n.props.style,n.props.activeStyle)}:null};var t=!1;return"undefined"!=typeof window&&window.IntersectionObserver&&(t=!0),n.state={IOSupported:t},n.handleRef=n.handleRef.bind((0,r.default)(n)),n}(0,o.default)(a,e);var n=a.prototype;return n._prefetch=function(){var e=window.location.pathname;this.props._location&&this.props._location.pathname&&(e=this.props._location.pathname);var a=b(this.props.to,e),n=(0,l.parsePath)(a).pathname;e!==n&&___loader.enqueue(n)},n.componentDidUpdate=function(e,a){this.props.to===e.to||this.state.IOSupported||this._prefetch()},n.componentDidMount=function(){this.state.IOSupported||this._prefetch()},n.componentWillUnmount=function(){if(this.io){var e=this.io,a=e.instance,n=e.el;a.unobserve(n),a.disconnect()}},n.handleRef=function(e){var a,n,t,d=this;this.props.innerRef&&this.props.innerRef.hasOwnProperty("current")?this.props.innerRef.current=e:this.props.innerRef&&this.props.innerRef(e),this.state.IOSupported&&e&&(this.io=(a=e,n=function(){d._prefetch()},(t=new window.IntersectionObserver((function(e){e.forEach((function(e){a===e.target&&(e.isIntersecting||e.intersectionRatio>0)&&(t.unobserve(a),t.disconnect(),n())}))}))).observe(a),{instance:t,el:a}))},n.render=function(){var e=this,a=this.props,n=a.to,t=a.getProps,r=void 0===t?this.defaultGetProps:t,o=a.onClick,s=a.onMouseEnter,u=(a.activeClassName,a.activeStyle,a.innerRef,a.partiallyActive,a.state),R=a.replace,p=a._location,f=(0,d.default)(a,["to","getProps","onClick","onMouseEnter","activeClassName","activeStyle","innerRef","partiallyActive","state","replace","_location"]);var h=b(n,p.pathname);return m(h)?g.default.createElement(c.Link,(0,i.default)({to:h,state:u,getProps:r,innerRef:this.handleRef,onMouseEnter:function(e){s&&s(e),___loader.hovering((0,l.parsePath)(h).pathname)},onClick:function(a){if(o&&o(a),!(0!==a.button||e.props.target||a.defaultPrevented||a.metaKey||a.altKey||a.ctrlKey||a.shiftKey)){a.preventDefault();var n=R,t=encodeURI(h)===p.pathname;"boolean"!=typeof R&&t&&(n=!0),window.___navigate(h,{state:u,replace:n})}return!0}},f)):g.default.createElement("a",(0,i.default)({href:h},f))},a}(g.default.Component);j.propTypes=(0,i.default)({},y,{onClick:s.default.func,to:s.default.string.isRequired,replace:s.default.bool,state:s.default.object});var O=function(e,a,n){return console.warn('The "'+e+'" method is now deprecated and will be removed in Gatsby v'+n+'. Please use "'+a+'" instead.')},_=g.default.forwardRef((function(e,a){return g.default.createElement(v,(0,i.default)({innerRef:a},e))}));a.default=_;a.navigate=function(e,a){window.___navigate(b(e,window.location.pathname),a)};var x=function(e){O("push","navigate",3),window.___push(b(e,window.location.pathname))};a.push=x;a.replace=function(e){O("replace","navigate",3),window.___replace(b(e,window.location.pathname))};a.navigateTo=function(e){return O("navigateTo","navigate",3),x(e)}},"+c4W":function(e,a,n){var t=n("711d"),d=n("4/ic"),r=n("9ggG"),o=n("9Nap");e.exports=function(e){return r(e)?t(o(e)):d(e)}},"+hQC":function(e,a,n){const t=n("dVj6")(9757,9977,127877,127943,128124,128143,128145,128170,128378,128400,128675,128704,128716,129292,129295,129318,129399,129467);t.addRange(9994,9997).addRange(127938,127940).addRange(127946,127948).addRange(128066,128067).addRange(128070,128080).addRange(128102,128120).addRange(128129,128131).addRange(128133,128135).addRange(128372,128373).addRange(128405,128406).addRange(128581,128583).addRange(128587,128591).addRange(128692,128694).addRange(129304,129311).addRange(129328,129337).addRange(129340,129342).addRange(129461,129462).addRange(129464,129465).addRange(129485,129487).addRange(129489,129501).addRange(129731,129733).addRange(129776,129782),e.exports=t},"+iFO":function(e,a,n){var t=n("dTAl"),d=n("LcsW"),r=n("6sVZ");e.exports=function(e){return"function"!=typeof e.constructor||r(e)?{}:t(d(e))}},"+mUh":function(e,a,n){var t=n("sZCt")("throttle",n("DzJC"));t.placeholder=n("wuTn"),e.exports=t},"/9aa":function(e,a,n){var t=n("NykK"),d=n("ExA7");e.exports=function(e){return"symbol"==typeof e||d(e)&&"[object Symbol]"==t(e)}},"/GqU":function(e,a,n){var t=n("RK3t"),d=n("HYAF");e.exports=function(e){return t(d(e))}},"/Hxr":function(e,a,n){const t=n("dVj6")();t.addRange(2404,2405).addRange(73056,73061).addRange(73063,73064).addRange(73066,73102).addRange(73104,73105).addRange(73107,73112).addRange(73120,73129),e.exports=t},"/I8K":function(e,a,n){const t=n("dVj6")();t.addRange(68864,68903).addRange(68912,68921),e.exports=t},"/VW1":function(e,a,n){const t=n("dVj6")(170,181,186,748,750,895,902,908,1369,1749,1791,1808,1969,2042,2074,2084,2088,2365,2384,2482,2493,2510,2556,2654,2749,2768,2809,2877,2929,2947,2972,3024,3133,3165,3200,3261,3389,3406,3517,3716,3749,3773,3782,3840,4159,4193,4238,4295,4301,4696,4800,6103,6108,6314,6823,7418,8025,8027,8029,8126,8305,8319,8450,8455,8469,8484,8486,8488,8526,11559,11565,11631,42963,43259,43471,43642,43697,43712,43714,64285,64318,67592,67644,68096,69415,69749,69956,69959,70006,70106,70108,70280,70461,70480,70855,71236,71352,71945,71999,72001,72161,72163,72192,72250,72272,72349,72768,73030,73112,73648,94032,94179,119970,119995,120134,123214,125259,126500,126503,126521,126523,126530,126535,126537,126539,126548,126551,126553,126555,126557,126559,126564,126590);t.addRange(65,90).addRange(97,122).addRange(192,214).addRange(216,246).addRange(248,705).addRange(710,721).addRange(736,740).addRange(880,884).addRange(886,887).addRange(890,893).addRange(904,906).addRange(910,929).addRange(931,1013).addRange(1015,1153).addRange(1162,1327).addRange(1329,1366).addRange(1376,1416).addRange(1488,1514).addRange(1519,1522).addRange(1568,1610).addRange(1646,1647).addRange(1649,1747).addRange(1765,1766).addRange(1774,1775).addRange(1786,1788).addRange(1810,1839).addRange(1869,1957).addRange(1994,2026).addRange(2036,2037).addRange(2048,2069).addRange(2112,2136).addRange(2144,2154).addRange(2160,2183).addRange(2185,2190).addRange(2208,2249).addRange(2308,2361).addRange(2392,2401).addRange(2417,2432).addRange(2437,2444).addRange(2447,2448).addRange(2451,2472).addRange(2474,2480).addRange(2486,2489).addRange(2524,2525).addRange(2527,2529).addRange(2544,2545).addRange(2565,2570).addRange(2575,2576).addRange(2579,2600).addRange(2602,2608).addRange(2610,2611),t.addRange(2613,2614).addRange(2616,2617).addRange(2649,2652).addRange(2674,2676).addRange(2693,2701).addRange(2703,2705).addRange(2707,2728).addRange(2730,2736).addRange(2738,2739).addRange(2741,2745).addRange(2784,2785).addRange(2821,2828).addRange(2831,2832).addRange(2835,2856).addRange(2858,2864).addRange(2866,2867).addRange(2869,2873).addRange(2908,2909).addRange(2911,2913).addRange(2949,2954).addRange(2958,2960).addRange(2962,2965).addRange(2969,2970).addRange(2974,2975).addRange(2979,2980).addRange(2984,2986).addRange(2990,3001).addRange(3077,3084).addRange(3086,3088).addRange(3090,3112).addRange(3114,3129).addRange(3160,3162).addRange(3168,3169).addRange(3205,3212).addRange(3214,3216).addRange(3218,3240).addRange(3242,3251).addRange(3253,3257).addRange(3293,3294).addRange(3296,3297).addRange(3313,3314).addRange(3332,3340).addRange(3342,3344).addRange(3346,3386).addRange(3412,3414).addRange(3423,3425).addRange(3450,3455).addRange(3461,3478).addRange(3482,3505).addRange(3507,3515).addRange(3520,3526),t.addRange(3585,3632).addRange(3634,3635).addRange(3648,3654).addRange(3713,3714).addRange(3718,3722).addRange(3724,3747).addRange(3751,3760).addRange(3762,3763).addRange(3776,3780).addRange(3804,3807).addRange(3904,3911).addRange(3913,3948).addRange(3976,3980).addRange(4096,4138).addRange(4176,4181).addRange(4186,4189).addRange(4197,4198).addRange(4206,4208).addRange(4213,4225).addRange(4256,4293).addRange(4304,4346).addRange(4348,4680).addRange(4682,4685).addRange(4688,4694).addRange(4698,4701).addRange(4704,4744).addRange(4746,4749).addRange(4752,4784).addRange(4786,4789).addRange(4792,4798).addRange(4802,4805).addRange(4808,4822).addRange(4824,4880).addRange(4882,4885).addRange(4888,4954).addRange(4992,5007).addRange(5024,5109).addRange(5112,5117).addRange(5121,5740).addRange(5743,5759).addRange(5761,5786).addRange(5792,5866).addRange(5870,5880).addRange(5888,5905).addRange(5919,5937).addRange(5952,5969).addRange(5984,5996).addRange(5998,6e3).addRange(6016,6067).addRange(6176,6264).addRange(6272,6312),t.addRange(6320,6389).addRange(6400,6430).addRange(6480,6509).addRange(6512,6516).addRange(6528,6571).addRange(6576,6601).addRange(6656,6678).addRange(6688,6740).addRange(6917,6963).addRange(6981,6988).addRange(7043,7072).addRange(7086,7087).addRange(7098,7141).addRange(7168,7203).addRange(7245,7247).addRange(7258,7293).addRange(7296,7304).addRange(7312,7354).addRange(7357,7359).addRange(7401,7404).addRange(7406,7411).addRange(7413,7414).addRange(7424,7615).addRange(7680,7957).addRange(7960,7965).addRange(7968,8005).addRange(8008,8013).addRange(8016,8023).addRange(8031,8061).addRange(8064,8116).addRange(8118,8124).addRange(8130,8132).addRange(8134,8140).addRange(8144,8147).addRange(8150,8155).addRange(8160,8172).addRange(8178,8180).addRange(8182,8188).addRange(8336,8348).addRange(8458,8467).addRange(8472,8477).addRange(8490,8505).addRange(8508,8511).addRange(8517,8521).addRange(8544,8584).addRange(11264,11492).addRange(11499,11502).addRange(11506,11507).addRange(11520,11557).addRange(11568,11623).addRange(11648,11670),t.addRange(11680,11686).addRange(11688,11694).addRange(11696,11702).addRange(11704,11710).addRange(11712,11718).addRange(11720,11726).addRange(11728,11734).addRange(11736,11742).addRange(12293,12295).addRange(12321,12329).addRange(12337,12341).addRange(12344,12348).addRange(12353,12438).addRange(12443,12447).addRange(12449,12538).addRange(12540,12543).addRange(12549,12591).addRange(12593,12686).addRange(12704,12735).addRange(12784,12799).addRange(13312,19903).addRange(19968,42124).addRange(42192,42237).addRange(42240,42508).addRange(42512,42527).addRange(42538,42539).addRange(42560,42606).addRange(42623,42653).addRange(42656,42735).addRange(42775,42783).addRange(42786,42888).addRange(42891,42954).addRange(42960,42961).addRange(42965,42969).addRange(42994,43009).addRange(43011,43013).addRange(43015,43018).addRange(43020,43042).addRange(43072,43123).addRange(43138,43187).addRange(43250,43255).addRange(43261,43262).addRange(43274,43301).addRange(43312,43334).addRange(43360,43388).addRange(43396,43442).addRange(43488,43492).addRange(43494,43503).addRange(43514,43518).addRange(43520,43560).addRange(43584,43586),t.addRange(43588,43595).addRange(43616,43638).addRange(43646,43695).addRange(43701,43702).addRange(43705,43709).addRange(43739,43741).addRange(43744,43754).addRange(43762,43764).addRange(43777,43782).addRange(43785,43790).addRange(43793,43798).addRange(43808,43814).addRange(43816,43822).addRange(43824,43866).addRange(43868,43881).addRange(43888,44002).addRange(44032,55203).addRange(55216,55238).addRange(55243,55291).addRange(63744,64109).addRange(64112,64217).addRange(64256,64262).addRange(64275,64279).addRange(64287,64296).addRange(64298,64310).addRange(64312,64316).addRange(64320,64321).addRange(64323,64324).addRange(64326,64433).addRange(64467,64829).addRange(64848,64911).addRange(64914,64967).addRange(65008,65019).addRange(65136,65140).addRange(65142,65276).addRange(65313,65338).addRange(65345,65370).addRange(65382,65470).addRange(65474,65479).addRange(65482,65487).addRange(65490,65495).addRange(65498,65500).addRange(65536,65547).addRange(65549,65574).addRange(65576,65594).addRange(65596,65597).addRange(65599,65613).addRange(65616,65629).addRange(65664,65786).addRange(65856,65908).addRange(66176,66204),t.addRange(66208,66256).addRange(66304,66335).addRange(66349,66378).addRange(66384,66421).addRange(66432,66461).addRange(66464,66499).addRange(66504,66511).addRange(66513,66517).addRange(66560,66717).addRange(66736,66771).addRange(66776,66811).addRange(66816,66855).addRange(66864,66915).addRange(66928,66938).addRange(66940,66954).addRange(66956,66962).addRange(66964,66965).addRange(66967,66977).addRange(66979,66993).addRange(66995,67001).addRange(67003,67004).addRange(67072,67382).addRange(67392,67413).addRange(67424,67431).addRange(67456,67461).addRange(67463,67504).addRange(67506,67514).addRange(67584,67589).addRange(67594,67637).addRange(67639,67640).addRange(67647,67669).addRange(67680,67702).addRange(67712,67742).addRange(67808,67826).addRange(67828,67829).addRange(67840,67861).addRange(67872,67897).addRange(67968,68023).addRange(68030,68031).addRange(68112,68115).addRange(68117,68119).addRange(68121,68149).addRange(68192,68220).addRange(68224,68252).addRange(68288,68295).addRange(68297,68324).addRange(68352,68405).addRange(68416,68437).addRange(68448,68466).addRange(68480,68497).addRange(68608,68680),t.addRange(68736,68786).addRange(68800,68850).addRange(68864,68899).addRange(69248,69289).addRange(69296,69297).addRange(69376,69404).addRange(69424,69445).addRange(69488,69505).addRange(69552,69572).addRange(69600,69622).addRange(69635,69687).addRange(69745,69746).addRange(69763,69807).addRange(69840,69864).addRange(69891,69926).addRange(69968,70002).addRange(70019,70066).addRange(70081,70084).addRange(70144,70161).addRange(70163,70187).addRange(70272,70278).addRange(70282,70285).addRange(70287,70301).addRange(70303,70312).addRange(70320,70366).addRange(70405,70412).addRange(70415,70416).addRange(70419,70440).addRange(70442,70448).addRange(70450,70451).addRange(70453,70457).addRange(70493,70497).addRange(70656,70708).addRange(70727,70730).addRange(70751,70753).addRange(70784,70831).addRange(70852,70853).addRange(71040,71086).addRange(71128,71131).addRange(71168,71215).addRange(71296,71338).addRange(71424,71450).addRange(71488,71494).addRange(71680,71723).addRange(71840,71903).addRange(71935,71942).addRange(71948,71955).addRange(71957,71958).addRange(71960,71983).addRange(72096,72103).addRange(72106,72144),t.addRange(72203,72242).addRange(72284,72329).addRange(72368,72440).addRange(72704,72712).addRange(72714,72750).addRange(72818,72847).addRange(72960,72966).addRange(72968,72969).addRange(72971,73008).addRange(73056,73061).addRange(73063,73064).addRange(73066,73097).addRange(73440,73458).addRange(73728,74649).addRange(74752,74862).addRange(74880,75075).addRange(77712,77808).addRange(77824,78894).addRange(82944,83526).addRange(92160,92728).addRange(92736,92766).addRange(92784,92862).addRange(92880,92909).addRange(92928,92975).addRange(92992,92995).addRange(93027,93047).addRange(93053,93071).addRange(93760,93823).addRange(93952,94026).addRange(94099,94111).addRange(94176,94177).addRange(94208,100343).addRange(100352,101589).addRange(101632,101640).addRange(110576,110579).addRange(110581,110587).addRange(110589,110590).addRange(110592,110882).addRange(110928,110930).addRange(110948,110951).addRange(110960,111355).addRange(113664,113770).addRange(113776,113788).addRange(113792,113800).addRange(113808,113817).addRange(119808,119892).addRange(119894,119964).addRange(119966,119967).addRange(119973,119974).addRange(119977,119980).addRange(119982,119993),t.addRange(119997,120003).addRange(120005,120069).addRange(120071,120074).addRange(120077,120084).addRange(120086,120092).addRange(120094,120121).addRange(120123,120126).addRange(120128,120132).addRange(120138,120144).addRange(120146,120485).addRange(120488,120512).addRange(120514,120538).addRange(120540,120570).addRange(120572,120596).addRange(120598,120628).addRange(120630,120654).addRange(120656,120686).addRange(120688,120712).addRange(120714,120744).addRange(120746,120770).addRange(120772,120779).addRange(122624,122654).addRange(123136,123180).addRange(123191,123197).addRange(123536,123565).addRange(123584,123627).addRange(124896,124902).addRange(124904,124907).addRange(124909,124910).addRange(124912,124926).addRange(124928,125124).addRange(125184,125251).addRange(126464,126467).addRange(126469,126495).addRange(126497,126498).addRange(126505,126514).addRange(126516,126519).addRange(126541,126543).addRange(126545,126546).addRange(126561,126562).addRange(126567,126570).addRange(126572,126578).addRange(126580,126583).addRange(126585,126588).addRange(126592,126601).addRange(126603,126619).addRange(126625,126627).addRange(126629,126633).addRange(126635,126651).addRange(131072,173791).addRange(173824,177976),t.addRange(177984,178205).addRange(178208,183969).addRange(183984,191456).addRange(194560,195101).addRange(196608,201546),e.exports=t},"/b8u":function(e,a,n){var t=n("BPiQ");e.exports=t&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},"/dLw":function(e,a,n){const t=n("dVj6")(36,43,94,96,124,126,172,180,184,215,247,749,885,1014,1154,1547,1758,1769,2038,2184,2801,2928,3199,3407,3449,3647,3859,3892,3894,3896,5741,6107,6464,8125,8260,8274,8468,8485,8487,8489,8494,8527,12292,12320,12880,43867,64297,64975,65122,65129,65284,65291,65342,65344,65372,65374,65952,68296,71487,92997,113820,119365,120513,120539,120571,120597,120629,120655,120687,120713,120745,120771,123215,123647,126124,126128,126254,129008);t.addRange(60,62).addRange(162,166).addRange(168,169).addRange(174,177).addRange(706,709).addRange(722,735).addRange(741,747).addRange(751,767).addRange(900,901).addRange(1421,1423).addRange(1542,1544).addRange(1550,1551).addRange(1789,1790).addRange(2046,2047).addRange(2546,2547).addRange(2554,2555).addRange(3059,3066).addRange(3841,3843).addRange(3861,3863).addRange(3866,3871).addRange(4030,4037).addRange(4039,4044).addRange(4046,4047).addRange(4053,4056).addRange(4254,4255).addRange(5008,5017).addRange(6622,6655).addRange(7009,7018).addRange(7028,7036).addRange(8127,8129).addRange(8141,8143).addRange(8157,8159).addRange(8173,8175).addRange(8189,8190).addRange(8314,8316).addRange(8330,8332).addRange(8352,8384).addRange(8448,8449).addRange(8451,8454).addRange(8456,8457).addRange(8470,8472).addRange(8478,8483).addRange(8506,8507).addRange(8512,8516).addRange(8522,8525).addRange(8586,8587).addRange(8592,8967).addRange(8972,9e3).addRange(9003,9254).addRange(9280,9290).addRange(9372,9449),t.addRange(9472,10087).addRange(10132,10180).addRange(10183,10213).addRange(10224,10626).addRange(10649,10711).addRange(10716,10747).addRange(10750,11123).addRange(11126,11157).addRange(11159,11263).addRange(11493,11498).addRange(11856,11857).addRange(11904,11929).addRange(11931,12019).addRange(12032,12245).addRange(12272,12283).addRange(12306,12307).addRange(12342,12343).addRange(12350,12351).addRange(12443,12444).addRange(12688,12689).addRange(12694,12703).addRange(12736,12771).addRange(12800,12830).addRange(12842,12871).addRange(12896,12927).addRange(12938,12976).addRange(12992,13311).addRange(19904,19967).addRange(42128,42182).addRange(42752,42774).addRange(42784,42785).addRange(42889,42890).addRange(43048,43051).addRange(43062,43065).addRange(43639,43641).addRange(43882,43883).addRange(64434,64450).addRange(64832,64847).addRange(65020,65023).addRange(65124,65126).addRange(65308,65310).addRange(65504,65510).addRange(65512,65518).addRange(65532,65533).addRange(65847,65855).addRange(65913,65929).addRange(65932,65934).addRange(65936,65948).addRange(66e3,66044).addRange(67703,67704).addRange(73685,73713),t.addRange(92988,92991).addRange(118608,118723).addRange(118784,119029).addRange(119040,119078).addRange(119081,119140).addRange(119146,119148).addRange(119171,119172).addRange(119180,119209).addRange(119214,119274).addRange(119296,119361).addRange(119552,119638).addRange(120832,121343).addRange(121399,121402).addRange(121453,121460).addRange(121462,121475).addRange(121477,121478).addRange(126704,126705).addRange(126976,127019).addRange(127024,127123).addRange(127136,127150).addRange(127153,127167).addRange(127169,127183).addRange(127185,127221).addRange(127245,127405).addRange(127462,127490).addRange(127504,127547).addRange(127552,127560).addRange(127568,127569).addRange(127584,127589).addRange(127744,128727).addRange(128733,128748).addRange(128752,128764).addRange(128768,128883).addRange(128896,128984).addRange(128992,129003).addRange(129024,129035).addRange(129040,129095).addRange(129104,129113).addRange(129120,129159).addRange(129168,129197).addRange(129200,129201).addRange(129280,129619).addRange(129632,129645).addRange(129648,129652).addRange(129656,129660).addRange(129664,129670).addRange(129680,129708).addRange(129712,129722).addRange(129728,129733).addRange(129744,129753).addRange(129760,129767),t.addRange(129776,129782).addRange(129792,129938).addRange(129940,129994),e.exports=t},"/hTd":function(e,a,n){"use strict";a.__esModule=!0,a.SessionStorage=void 0;var t=function(){function e(){}var a=e.prototype;return a.read=function(e,a){var n=this.getStateKey(e,a);try{var t=window.sessionStorage.getItem(n);return t?JSON.parse(t):0}catch(d){return window&&window.___GATSBY_REACT_ROUTER_SCROLL&&window.___GATSBY_REACT_ROUTER_SCROLL[n]?window.___GATSBY_REACT_ROUTER_SCROLL[n]:0}},a.save=function(e,a,n){var t=this.getStateKey(e,a),d=JSON.stringify(n);try{window.sessionStorage.setItem(t,d)}catch(r){window&&window.___GATSBY_REACT_ROUTER_SCROLL||(window.___GATSBY_REACT_ROUTER_SCROLL={}),window.___GATSBY_REACT_ROUTER_SCROLL[t]=JSON.parse(d)}},a.getStateKey=function(e,a){var n="@@scroll|"+e.pathname;return null==a?n:n+"|"+a},e}();a.SessionStorage=t},"/kDM":function(e,a,n){const t=n("dVj6")(1548,1563,1567);t.addRange(1984,2042).addRange(2045,2047).addRange(64830,64831),e.exports=t},"/lCS":function(e,a,n){var t=n("gFfm"),d=n("jbM+"),r=[["ary",128],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",32],["partialRight",64],["rearg",256]];e.exports=function(e,a){return t(r,(function(n){var t="_."+n[0];a&n[1]&&!d(e,t)&&e.push(t)})),e.sort()}},"/pZ2":function(e,a,n){const t=n("dVj6")();t.addRange(68288,68326).addRange(68331,68342),e.exports=t},"/qLS":function(e,a,n){const t=n("dVj6")();t.addRange(66176,66204),e.exports=t},"/soj":function(e,a,n){const t=n("dVj6")(12295,66369,66378);t.addRange(5870,5872).addRange(8544,8578).addRange(8581,8584).addRange(12321,12329).addRange(12344,12346).addRange(42726,42735).addRange(65856,65908).addRange(66513,66517).addRange(74752,74862),e.exports=t},"/yAK":function(e,a,n){const t=n("dVj6")();t.addRange(1329,1366).addRange(1369,1418).addRange(1421,1423).addRange(64275,64279),e.exports=t},"02tC":function(e,a,n){const t=n("dVj6")();t.addRange(93760,93850),e.exports=t},"03A+":function(e,a,n){var t=n("JTzB"),d=n("ExA7"),r=Object.prototype,o=r.hasOwnProperty,i=r.propertyIsEnumerable,s=t(function(){return arguments}())?t:function(e){return d(e)&&o.call(e,"callee")&&!i.call(e,"callee")};e.exports=s},"0ADi":function(e,a,n){var t=n("heNW"),d=n("EldB"),r=n("Kz5y");e.exports=function(e,a,n,o){var i=1&a,s=d(e);return function a(){for(var d=-1,g=arguments.length,c=-1,u=o.length,l=Array(u+g),R=this&&this!==r&&this instanceof a?s:e;++c>5]|=1<<(31&e)},d.prototype.has=function(e){return!!(this.bits[e>>5]&1<<(31&e))};var r=function(e,a,n){this.start=e,this.end=a,this.original=n,this.intro="",this.outro="",this.content=n,this.storeName=!1,this.edited=!1,Object.defineProperties(this,{previous:{writable:!0,value:null},next:{writable:!0,value:null}})};r.prototype.appendLeft=function(e){this.outro+=e},r.prototype.appendRight=function(e){this.intro=this.intro+e},r.prototype.clone=function(){var e=new r(this.start,this.end,this.original);return e.intro=this.intro,e.outro=this.outro,e.content=this.content,e.storeName=this.storeName,e.edited=this.edited,e},r.prototype.contains=function(e){return this.start=t.length)return"\t";var d=t.reduce((function(e,a){var n=/^ +/.exec(a)[0].length;return Math.min(n,e)}),1/0);return new Array(d+1).join(" ")}function g(e,a){var n=e.split(/[/\\]/),t=a.split(/[/\\]/);for(n.pop();n[0]===t[0];)n.shift(),t.shift();if(n.length)for(var d=n.length;d--;)n[d]="..";return n.concat(t).join("/")}i.prototype.toString=function(){return JSON.stringify(this)},i.prototype.toUrl=function(){return"data:application/json;charset=utf-8;base64,"+o(this.toString())};var c=Object.prototype.toString;function u(e){return"[object Object]"===c.call(e)}function l(e){for(var a=e.split("\n"),n=[],t=0,d=0;t>1;e=0&&d.push(t),this.rawSegments.push(d)}else this.pending&&this.rawSegments.push(this.pending);this.advance(a),this.pending=null},R.prototype.addUneditedChunk=function(e,a,n,t,d){for(var r=a.start,o=!0;r1){for(var n=0;n=e&&n<=a)throw new Error("Cannot move a selection inside itself");this._split(e),this._split(a),this._split(n);var t=this.byStart[e],d=this.byEnd[a],r=t.previous,o=d.next,i=this.byStart[n];if(!i&&d===this.lastChunk)return this;var s=i?i.previous:this.lastChunk;return r&&(r.next=o),o&&(o.previous=r),s&&(s.next=t),i&&(i.previous=d),t.previous||(this.firstChunk=d.next),d.next||(this.lastChunk=t.previous,this.lastChunk.next=null),t.previous=s,d.next=i||null,s||(this.firstChunk=t),i||(this.lastChunk=d),this},h.prototype.overwrite=function(e,a,n,t){if("string"!=typeof n)throw new TypeError("replacement content must be a string");for(;e<0;)e+=this.original.length;for(;a<0;)a+=this.original.length;if(a>this.original.length)throw new Error("end is out of bounds");if(e===a)throw new Error("Cannot overwrite a zero-length range – use appendLeft or prependRight instead");this._split(e),this._split(a),!0===t&&(f.storeName||(console.warn("The final argument to magicString.overwrite(...) should be an options object. See https://github.com/rich-harris/magic-string"),f.storeName=!0),t={storeName:!0});var d=void 0!==t&&t.storeName,o=void 0!==t&&t.contentOnly;if(d){var i=this.original.slice(e,a);Object.defineProperty(this.storedNames,i,{writable:!0,value:!0,enumerable:!0})}var s=this.byStart[e],g=this.byEnd[a];if(s){for(var c=s;c!==g;){if(c.next!==this.byStart[c.end])throw new Error("Cannot overwrite across a split point");(c=c.next).edit("",!1)}s.edit(n,d,o)}else{var u=new r(e,a,"").edit(n,d);g.next=u,u.previous=g}return this},h.prototype.prepend=function(e){if("string"!=typeof e)throw new TypeError("outro content must be a string");return this.intro=e+this.intro,this},h.prototype.prependLeft=function(e,a){if("string"!=typeof a)throw new TypeError("inserted content must be a string");this._split(e);var n=this.byEnd[e];return n?n.prependLeft(a):this.intro=a+this.intro,this},h.prototype.prependRight=function(e,a){if("string"!=typeof a)throw new TypeError("inserted content must be a string");this._split(e);var n=this.byStart[e];return n?n.prependRight(a):this.outro=a+this.outro,this},h.prototype.remove=function(e,a){for(;e<0;)e+=this.original.length;for(;a<0;)a+=this.original.length;if(e===a)return this;if(e<0||a>this.original.length)throw new Error("Character is out of bounds");if(e>a)throw new Error("end must be greater than start");this._split(e),this._split(a);for(var n=this.byStart[e];n;)n.intro="",n.outro="",n.edit(""),n=a>n.end?this.byStart[n.end]:null;return this},h.prototype.lastChar=function(){if(this.outro.length)return this.outro[this.outro.length-1];var e=this.lastChunk;do{if(e.outro.length)return e.outro[e.outro.length-1];if(e.content.length)return e.content[e.content.length-1];if(e.intro.length)return e.intro[e.intro.length-1]}while(e=e.previous);return this.intro.length?this.intro[this.intro.length-1]:""},h.prototype.lastLine=function(){var e=this.outro.lastIndexOf(p);if(-1!==e)return this.outro.substr(e+1);var a=this.outro,n=this.lastChunk;do{if(n.outro.length>0){if(-1!==(e=n.outro.lastIndexOf(p)))return n.outro.substr(e+1)+a;a=n.outro+a}if(n.content.length>0){if(-1!==(e=n.content.lastIndexOf(p)))return n.content.substr(e+1)+a;a=n.content+a}if(n.intro.length>0){if(-1!==(e=n.intro.lastIndexOf(p)))return n.intro.substr(e+1)+a;a=n.intro+a}}while(n=n.previous);return-1!==(e=this.intro.lastIndexOf(p))?this.intro.substr(e+1)+a:this.intro+a},h.prototype.slice=function(e,a){for(void 0===e&&(e=0),void 0===a&&(a=this.original.length);e<0;)e+=this.original.length;for(;a<0;)a+=this.original.length;for(var n="",t=this.firstChunk;t&&(t.start>e||t.end<=e);){if(t.start=a)return n;t=t.next}if(t&&t.edited&&t.start!==e)throw new Error("Cannot use replaced character "+e+" as slice start anchor.");for(var d=t;t;){!t.intro||d===t&&t.start!==e||(n+=t.intro);var r=t.start=a;if(r&&t.edited&&t.end!==a)throw new Error("Cannot use replaced character "+a+" as slice end anchor.");var o=d===t?e-t.start:0,i=r?t.content.length+a-t.end:t.content.length;if(n+=t.content.slice(o,i),!t.outro||r&&t.end!==a||(n+=t.outro),r)break;t=t.next}return n},h.prototype.snip=function(e,a){var n=this.clone();return n.remove(0,e),n.remove(a,n.original.length),n},h.prototype._split=function(e){if(!this.byStart[e]&&!this.byEnd[e])for(var a=this.lastSearchedChunk,n=e>a.end;a;){if(a.contains(e))return this._splitChunk(a,e);a=n?this.byStart[a.end]:this.byEnd[a.start]}},h.prototype._splitChunk=function(e,a){if(e.edited&&e.content.length){var n=l(this.original)(a);throw new Error("Cannot split a chunk that has already been edited ("+n.line+":"+n.column+' – "'+e.original+'")')}var t=e.split(a);return this.byEnd[a]=e,this.byStart[a]=t,this.byEnd[t.end]=t,e===this.lastChunk&&(this.lastChunk=t),this.lastSearchedChunk=e,!0},h.prototype.toString=function(){for(var e=this.intro,a=this.firstChunk;a;)e+=a.toString(),a=a.next;return e+this.outro},h.prototype.isEmpty=function(){var e=this.firstChunk;do{if(e.intro.length&&e.intro.trim()||e.content.length&&e.content.trim()||e.outro.length&&e.outro.trim())return!1}while(e=e.next);return!0},h.prototype.length=function(){var e=this.firstChunk,a=0;do{a+=e.intro.length+e.content.length+e.outro.length}while(e=e.next);return a},h.prototype.trimLines=function(){return this.trim("[\\r\\n]")},h.prototype.trim=function(e){return this.trimStart(e).trimEnd(e)},h.prototype.trimEndAborted=function(e){var a=new RegExp((e||"\\s")+"+$");if(this.outro=this.outro.replace(a,""),this.outro.length)return!0;var n=this.lastChunk;do{var t=n.end,d=n.trimEnd(a);if(n.end!==t&&(this.lastChunk===n&&(this.lastChunk=n.next),this.byEnd[n.end]=n,this.byStart[n.next.start]=n.next,this.byEnd[n.next.end]=n.next),d)return!0;n=n.previous}while(n);return!1},h.prototype.trimEnd=function(e){return this.trimEndAborted(e),this},h.prototype.trimStartAborted=function(e){var a=new RegExp("^"+(e||"\\s")+"+");if(this.intro=this.intro.replace(a,""),this.intro.length)return!0;var n=this.firstChunk;do{var t=n.end,d=n.trimStart(a);if(n.end!==t&&(n===this.lastChunk&&(this.lastChunk=n.next),this.byEnd[n.end]=n,this.byStart[n.next.start]=n.next,this.byEnd[n.next.end]=n.next),d)return!0;n=n.next}while(n);return!1},h.prototype.trimStart=function(e){return this.trimStartAborted(e),this};var m=Object.prototype.hasOwnProperty,b=function(e){void 0===e&&(e={}),this.intro=e.intro||"",this.separator=void 0!==e.separator?e.separator:"\n",this.sources=[],this.uniqueSources=[],this.uniqueSourceIndexByFilename={}};b.prototype.addSource=function(e){if(e instanceof h)return this.addSource({content:e,filename:e.filename,separator:this.separator});if(!u(e)||!e.content)throw new Error("bundle.addSource() takes an object with a `content` property, which should be an instance of MagicString, and an optional `filename`");if(["filename","indentExclusionRanges","separator"].forEach((function(a){m.call(e,a)||(e[a]=e.content[a])})),void 0===e.separator&&(e.separator=this.separator),e.filename)if(m.call(this.uniqueSourceIndexByFilename,e.filename)){var a=this.uniqueSources[this.uniqueSourceIndexByFilename[e.filename]];if(e.content.original!==a.content)throw new Error("Illegal source: same filename ("+e.filename+"), different contents")}else this.uniqueSourceIndexByFilename[e.filename]=this.uniqueSources.length,this.uniqueSources.push({filename:e.filename,content:e.content.original});return this.sources.push(e),this},b.prototype.append=function(e,a){return this.addSource({content:new h(e),separator:a&&a.separator||""}),this},b.prototype.clone=function(){var e=new b({intro:this.intro,separator:this.separator});return this.sources.forEach((function(a){e.addSource({filename:a.filename,content:a.content.clone(),separator:a.separator})})),e},b.prototype.generateDecodedMap=function(e){var a=this;void 0===e&&(e={});var n=[];this.sources.forEach((function(e){Object.keys(e.content.storedNames).forEach((function(e){~n.indexOf(e)||n.push(e)}))}));var t=new R(e.hires);return this.intro&&t.advance(this.intro),this.sources.forEach((function(e,d){d>0&&t.advance(a.separator);var r=e.filename?a.uniqueSourceIndexByFilename[e.filename]:-1,o=e.content,i=l(o.original);o.intro&&t.advance(o.intro),o.firstChunk.eachNext((function(a){var d=i(a.start);a.intro.length&&t.advance(a.intro),e.filename?a.edited?t.addEdit(r,a.content,d,a.storeName?n.indexOf(a.original):-1):t.addUneditedChunk(r,a,o.original,d,o.sourcemapLocations):t.advance(a.content),a.outro.length&&t.advance(a.outro)})),o.outro&&t.advance(o.outro)})),{file:e.file?e.file.split(/[/\\]/).pop():null,sources:this.uniqueSources.map((function(a){return e.file?g(e.file,a.filename):a.filename})),sourcesContent:this.uniqueSources.map((function(a){return e.includeContent?a.content:null})),names:n,mappings:t.raw}},b.prototype.generateMap=function(e){return new i(this.generateDecodedMap(e))},b.prototype.getIndentString=function(){var e={};return this.sources.forEach((function(a){var n=a.content.indentStr;null!==n&&(e[n]||(e[n]=0),e[n]+=1)})),Object.keys(e).sort((function(a,n){return e[a]-e[n]}))[0]||"\t"},b.prototype.indent=function(e){var a=this;if(arguments.length||(e=this.getIndentString()),""===e)return this;var n=!this.intro||"\n"===this.intro.slice(-1);return this.sources.forEach((function(t,d){var r=void 0!==t.separator?t.separator:a.separator,o=n||d>0&&/\r?\n$/.test(r);t.content.indent(e,{exclude:t.indentExclusionRanges,indentStart:o}),n="\n"===t.content.lastChar()})),this.intro&&(this.intro=e+this.intro.replace(/^[^\n]/gm,(function(a,n){return n>0?e+a:a}))),this},b.prototype.prepend=function(e){return this.intro=e+this.intro,this},b.prototype.toString=function(){var e=this,a=this.sources.map((function(a,n){var t=void 0!==a.separator?a.separator:e.separator;return(n>0?t:"")+a.content.toString()})).join("");return this.intro+a},b.prototype.isEmpty=function(){return(!this.intro.length||!this.intro.trim())&&!this.sources.some((function(e){return!e.content.isEmpty()}))},b.prototype.length=function(){return this.sources.reduce((function(e,a){return e+a.content.length()}),this.intro.length)},b.prototype.trimLines=function(){return this.trim("[\\r\\n]")},b.prototype.trim=function(e){return this.trimStart(e).trimEnd(e)},b.prototype.trimStart=function(e){var a=new RegExp("^"+(e||"\\s")+"+");if(this.intro=this.intro.replace(a,""),!this.intro){var n,t=0;do{if(!(n=this.sources[t++]))break}while(!n.content.trimStartAborted(e))}return this},b.prototype.trimEnd=function(e){var a,n=new RegExp((e||"\\s")+"+$"),t=this.sources.length-1;do{if(!(a=this.sources[t--])){this.intro=this.intro.replace(n,"");break}}while(!a.content.trimEndAborted(e));return this}}).call(this,n("HDXh").Buffer)},"2JK7":function(e,a,n){const t=n("dVj6")();t.addRange(120832,121483).addRange(121499,121503).addRange(121505,121519),e.exports=t},"2PVI":function(e,a,n){const t=n("dVj6")();t.addRange(5760,5788),e.exports=t},"2TvA":function(e,a,n){const t=n("dVj6")(908,2142,2482,2519,2620,2641,2654,2768,2972,3024,3031,3165,3517,3530,3542,3716,3749,3782,4295,4301,4696,4800,6464,8025,8027,8029,11559,11565,42963,64318,64975,65279,65952,67592,67644,67903,69837,70280,70480,70487,71945,73018,73648,119970,119995,120134,123647,126500,126503,126521,126523,126530,126535,126537,126539,126548,126551,126553,126555,126557,126559,126564,126590,129008,917505);t.addRange(0,887).addRange(890,895).addRange(900,906).addRange(910,929).addRange(931,1327).addRange(1329,1366).addRange(1369,1418).addRange(1421,1423).addRange(1425,1479).addRange(1488,1514).addRange(1519,1524).addRange(1536,1805).addRange(1807,1866).addRange(1869,1969).addRange(1984,2042).addRange(2045,2093).addRange(2096,2110).addRange(2112,2139).addRange(2144,2154).addRange(2160,2190).addRange(2192,2193).addRange(2200,2435).addRange(2437,2444).addRange(2447,2448).addRange(2451,2472).addRange(2474,2480).addRange(2486,2489).addRange(2492,2500).addRange(2503,2504).addRange(2507,2510).addRange(2524,2525).addRange(2527,2531).addRange(2534,2558).addRange(2561,2563).addRange(2565,2570).addRange(2575,2576).addRange(2579,2600).addRange(2602,2608).addRange(2610,2611).addRange(2613,2614).addRange(2616,2617).addRange(2622,2626).addRange(2631,2632).addRange(2635,2637).addRange(2649,2652).addRange(2662,2678).addRange(2689,2691).addRange(2693,2701).addRange(2703,2705).addRange(2707,2728).addRange(2730,2736),t.addRange(2738,2739).addRange(2741,2745).addRange(2748,2757).addRange(2759,2761).addRange(2763,2765).addRange(2784,2787).addRange(2790,2801).addRange(2809,2815).addRange(2817,2819).addRange(2821,2828).addRange(2831,2832).addRange(2835,2856).addRange(2858,2864).addRange(2866,2867).addRange(2869,2873).addRange(2876,2884).addRange(2887,2888).addRange(2891,2893).addRange(2901,2903).addRange(2908,2909).addRange(2911,2915).addRange(2918,2935).addRange(2946,2947).addRange(2949,2954).addRange(2958,2960).addRange(2962,2965).addRange(2969,2970).addRange(2974,2975).addRange(2979,2980).addRange(2984,2986).addRange(2990,3001).addRange(3006,3010).addRange(3014,3016).addRange(3018,3021).addRange(3046,3066).addRange(3072,3084).addRange(3086,3088).addRange(3090,3112).addRange(3114,3129).addRange(3132,3140).addRange(3142,3144).addRange(3146,3149).addRange(3157,3158).addRange(3160,3162).addRange(3168,3171).addRange(3174,3183).addRange(3191,3212).addRange(3214,3216).addRange(3218,3240).addRange(3242,3251).addRange(3253,3257),t.addRange(3260,3268).addRange(3270,3272).addRange(3274,3277).addRange(3285,3286).addRange(3293,3294).addRange(3296,3299).addRange(3302,3311).addRange(3313,3314).addRange(3328,3340).addRange(3342,3344).addRange(3346,3396).addRange(3398,3400).addRange(3402,3407).addRange(3412,3427).addRange(3430,3455).addRange(3457,3459).addRange(3461,3478).addRange(3482,3505).addRange(3507,3515).addRange(3520,3526).addRange(3535,3540).addRange(3544,3551).addRange(3558,3567).addRange(3570,3572).addRange(3585,3642).addRange(3647,3675).addRange(3713,3714).addRange(3718,3722).addRange(3724,3747).addRange(3751,3773).addRange(3776,3780).addRange(3784,3789).addRange(3792,3801).addRange(3804,3807).addRange(3840,3911).addRange(3913,3948).addRange(3953,3991).addRange(3993,4028).addRange(4030,4044).addRange(4046,4058).addRange(4096,4293).addRange(4304,4680).addRange(4682,4685).addRange(4688,4694).addRange(4698,4701).addRange(4704,4744).addRange(4746,4749).addRange(4752,4784).addRange(4786,4789).addRange(4792,4798).addRange(4802,4805),t.addRange(4808,4822).addRange(4824,4880).addRange(4882,4885).addRange(4888,4954).addRange(4957,4988).addRange(4992,5017).addRange(5024,5109).addRange(5112,5117).addRange(5120,5788).addRange(5792,5880).addRange(5888,5909).addRange(5919,5942).addRange(5952,5971).addRange(5984,5996).addRange(5998,6e3).addRange(6002,6003).addRange(6016,6109).addRange(6112,6121).addRange(6128,6137).addRange(6144,6169).addRange(6176,6264).addRange(6272,6314).addRange(6320,6389).addRange(6400,6430).addRange(6432,6443).addRange(6448,6459).addRange(6468,6509).addRange(6512,6516).addRange(6528,6571).addRange(6576,6601).addRange(6608,6618).addRange(6622,6683).addRange(6686,6750).addRange(6752,6780).addRange(6783,6793).addRange(6800,6809).addRange(6816,6829).addRange(6832,6862).addRange(6912,6988).addRange(6992,7038).addRange(7040,7155).addRange(7164,7223).addRange(7227,7241).addRange(7245,7304).addRange(7312,7354).addRange(7357,7367).addRange(7376,7418).addRange(7424,7957).addRange(7960,7965).addRange(7968,8005).addRange(8008,8013),t.addRange(8016,8023).addRange(8031,8061).addRange(8064,8116).addRange(8118,8132).addRange(8134,8147).addRange(8150,8155).addRange(8157,8175).addRange(8178,8180).addRange(8182,8190).addRange(8192,8292).addRange(8294,8305).addRange(8308,8334).addRange(8336,8348).addRange(8352,8384).addRange(8400,8432).addRange(8448,8587).addRange(8592,9254).addRange(9280,9290).addRange(9312,11123).addRange(11126,11157).addRange(11159,11507).addRange(11513,11557).addRange(11568,11623).addRange(11631,11632).addRange(11647,11670).addRange(11680,11686).addRange(11688,11694).addRange(11696,11702).addRange(11704,11710).addRange(11712,11718).addRange(11720,11726).addRange(11728,11734).addRange(11736,11742).addRange(11744,11869).addRange(11904,11929).addRange(11931,12019).addRange(12032,12245).addRange(12272,12283).addRange(12288,12351).addRange(12353,12438).addRange(12441,12543).addRange(12549,12591).addRange(12593,12686).addRange(12688,12771).addRange(12784,12830).addRange(12832,42124).addRange(42128,42182).addRange(42192,42539).addRange(42560,42743).addRange(42752,42954).addRange(42960,42961),t.addRange(42965,42969).addRange(42994,43052).addRange(43056,43065).addRange(43072,43127).addRange(43136,43205).addRange(43214,43225).addRange(43232,43347).addRange(43359,43388).addRange(43392,43469).addRange(43471,43481).addRange(43486,43518).addRange(43520,43574).addRange(43584,43597).addRange(43600,43609).addRange(43612,43714).addRange(43739,43766).addRange(43777,43782).addRange(43785,43790).addRange(43793,43798).addRange(43808,43814).addRange(43816,43822).addRange(43824,43883).addRange(43888,44013).addRange(44016,44025).addRange(44032,55203).addRange(55216,55238).addRange(55243,55291).addRange(55296,64109).addRange(64112,64217).addRange(64256,64262).addRange(64275,64279).addRange(64285,64310).addRange(64312,64316).addRange(64320,64321).addRange(64323,64324).addRange(64326,64450).addRange(64467,64911).addRange(64914,64967).addRange(65008,65049).addRange(65056,65106).addRange(65108,65126).addRange(65128,65131).addRange(65136,65140).addRange(65142,65276).addRange(65281,65470).addRange(65474,65479).addRange(65482,65487).addRange(65490,65495).addRange(65498,65500).addRange(65504,65510).addRange(65512,65518),t.addRange(65529,65533).addRange(65536,65547).addRange(65549,65574).addRange(65576,65594).addRange(65596,65597).addRange(65599,65613).addRange(65616,65629).addRange(65664,65786).addRange(65792,65794).addRange(65799,65843).addRange(65847,65934).addRange(65936,65948).addRange(66e3,66045).addRange(66176,66204).addRange(66208,66256).addRange(66272,66299).addRange(66304,66339).addRange(66349,66378).addRange(66384,66426).addRange(66432,66461).addRange(66463,66499).addRange(66504,66517).addRange(66560,66717).addRange(66720,66729).addRange(66736,66771).addRange(66776,66811).addRange(66816,66855).addRange(66864,66915).addRange(66927,66938).addRange(66940,66954).addRange(66956,66962).addRange(66964,66965).addRange(66967,66977).addRange(66979,66993).addRange(66995,67001).addRange(67003,67004).addRange(67072,67382).addRange(67392,67413).addRange(67424,67431).addRange(67456,67461).addRange(67463,67504).addRange(67506,67514).addRange(67584,67589).addRange(67594,67637).addRange(67639,67640).addRange(67647,67669).addRange(67671,67742).addRange(67751,67759).addRange(67808,67826).addRange(67828,67829).addRange(67835,67867),t.addRange(67871,67897).addRange(67968,68023).addRange(68028,68047).addRange(68050,68099).addRange(68101,68102).addRange(68108,68115).addRange(68117,68119).addRange(68121,68149).addRange(68152,68154).addRange(68159,68168).addRange(68176,68184).addRange(68192,68255).addRange(68288,68326).addRange(68331,68342).addRange(68352,68405).addRange(68409,68437).addRange(68440,68466).addRange(68472,68497).addRange(68505,68508).addRange(68521,68527).addRange(68608,68680).addRange(68736,68786).addRange(68800,68850).addRange(68858,68903).addRange(68912,68921).addRange(69216,69246).addRange(69248,69289).addRange(69291,69293).addRange(69296,69297).addRange(69376,69415).addRange(69424,69465).addRange(69488,69513).addRange(69552,69579).addRange(69600,69622).addRange(69632,69709).addRange(69714,69749).addRange(69759,69826).addRange(69840,69864).addRange(69872,69881).addRange(69888,69940).addRange(69942,69959).addRange(69968,70006).addRange(70016,70111).addRange(70113,70132).addRange(70144,70161).addRange(70163,70206).addRange(70272,70278).addRange(70282,70285).addRange(70287,70301).addRange(70303,70313).addRange(70320,70378),t.addRange(70384,70393).addRange(70400,70403).addRange(70405,70412).addRange(70415,70416).addRange(70419,70440).addRange(70442,70448).addRange(70450,70451).addRange(70453,70457).addRange(70459,70468).addRange(70471,70472).addRange(70475,70477).addRange(70493,70499).addRange(70502,70508).addRange(70512,70516).addRange(70656,70747).addRange(70749,70753).addRange(70784,70855).addRange(70864,70873).addRange(71040,71093).addRange(71096,71133).addRange(71168,71236).addRange(71248,71257).addRange(71264,71276).addRange(71296,71353).addRange(71360,71369).addRange(71424,71450).addRange(71453,71467).addRange(71472,71494).addRange(71680,71739).addRange(71840,71922).addRange(71935,71942).addRange(71948,71955).addRange(71957,71958).addRange(71960,71989).addRange(71991,71992).addRange(71995,72006).addRange(72016,72025).addRange(72096,72103).addRange(72106,72151).addRange(72154,72164).addRange(72192,72263).addRange(72272,72354).addRange(72368,72440).addRange(72704,72712).addRange(72714,72758).addRange(72760,72773).addRange(72784,72812).addRange(72816,72847).addRange(72850,72871).addRange(72873,72886).addRange(72960,72966),t.addRange(72968,72969).addRange(72971,73014).addRange(73020,73021).addRange(73023,73031).addRange(73040,73049).addRange(73056,73061).addRange(73063,73064).addRange(73066,73102).addRange(73104,73105).addRange(73107,73112).addRange(73120,73129).addRange(73440,73464).addRange(73664,73713).addRange(73727,74649).addRange(74752,74862).addRange(74864,74868).addRange(74880,75075).addRange(77712,77810).addRange(77824,78894).addRange(78896,78904).addRange(82944,83526).addRange(92160,92728).addRange(92736,92766).addRange(92768,92777).addRange(92782,92862).addRange(92864,92873).addRange(92880,92909).addRange(92912,92917).addRange(92928,92997).addRange(93008,93017).addRange(93019,93025).addRange(93027,93047).addRange(93053,93071).addRange(93760,93850).addRange(93952,94026).addRange(94031,94087).addRange(94095,94111).addRange(94176,94180).addRange(94192,94193).addRange(94208,100343).addRange(100352,101589).addRange(101632,101640).addRange(110576,110579).addRange(110581,110587).addRange(110589,110590).addRange(110592,110882).addRange(110928,110930).addRange(110948,110951).addRange(110960,111355).addRange(113664,113770).addRange(113776,113788),t.addRange(113792,113800).addRange(113808,113817).addRange(113820,113827).addRange(118528,118573).addRange(118576,118598).addRange(118608,118723).addRange(118784,119029).addRange(119040,119078).addRange(119081,119274).addRange(119296,119365).addRange(119520,119539).addRange(119552,119638).addRange(119648,119672).addRange(119808,119892).addRange(119894,119964).addRange(119966,119967).addRange(119973,119974).addRange(119977,119980).addRange(119982,119993).addRange(119997,120003).addRange(120005,120069).addRange(120071,120074).addRange(120077,120084).addRange(120086,120092).addRange(120094,120121).addRange(120123,120126).addRange(120128,120132).addRange(120138,120144).addRange(120146,120485).addRange(120488,120779).addRange(120782,121483).addRange(121499,121503).addRange(121505,121519).addRange(122624,122654).addRange(122880,122886).addRange(122888,122904).addRange(122907,122913).addRange(122915,122916).addRange(122918,122922).addRange(123136,123180).addRange(123184,123197).addRange(123200,123209).addRange(123214,123215).addRange(123536,123566).addRange(123584,123641).addRange(124896,124902).addRange(124904,124907).addRange(124909,124910).addRange(124912,124926).addRange(124928,125124).addRange(125127,125142),t.addRange(125184,125259).addRange(125264,125273).addRange(125278,125279).addRange(126065,126132).addRange(126209,126269).addRange(126464,126467).addRange(126469,126495).addRange(126497,126498).addRange(126505,126514).addRange(126516,126519).addRange(126541,126543).addRange(126545,126546).addRange(126561,126562).addRange(126567,126570).addRange(126572,126578).addRange(126580,126583).addRange(126585,126588).addRange(126592,126601).addRange(126603,126619).addRange(126625,126627).addRange(126629,126633).addRange(126635,126651).addRange(126704,126705).addRange(126976,127019).addRange(127024,127123).addRange(127136,127150).addRange(127153,127167).addRange(127169,127183).addRange(127185,127221).addRange(127232,127405).addRange(127462,127490).addRange(127504,127547).addRange(127552,127560).addRange(127568,127569).addRange(127584,127589).addRange(127744,128727).addRange(128733,128748).addRange(128752,128764).addRange(128768,128883).addRange(128896,128984).addRange(128992,129003).addRange(129024,129035).addRange(129040,129095).addRange(129104,129113).addRange(129120,129159).addRange(129168,129197).addRange(129200,129201).addRange(129280,129619).addRange(129632,129645).addRange(129648,129652).addRange(129656,129660),t.addRange(129664,129670).addRange(129680,129708).addRange(129712,129722).addRange(129728,129733).addRange(129744,129753).addRange(129760,129767).addRange(129776,129782).addRange(129792,129938).addRange(129940,129994).addRange(130032,130041).addRange(131072,173791).addRange(173824,177976).addRange(177984,178205).addRange(178208,183969).addRange(183984,191456).addRange(194560,195101).addRange(196608,201546).addRange(917536,917631).addRange(917760,917999).addRange(983040,1048573).addRange(1048576,1114109),e.exports=t},"2Zix":function(e,a,n){var t=n("NC/Y");e.exports=/MSIE|Trident/.test(t)},"2ajD":function(e,a){e.exports=function(e){return e!=e}},"2bX/":function(e,a,n){var t=n("0GbY"),d=n("Fib7"),r=n("OpvP"),o=n("/b8u"),i=Object;e.exports=o?function(e){return"symbol"==typeof e}:function(e){var a=t("Symbol");return d(a)&&r(a.prototype,i(e))}},"2gN3":function(e,a,n){var t=n("Kz5y")["__core-js_shared__"];e.exports=t},"2lMS":function(e,a){var n=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/;e.exports=function(e,a){var t=a.length;if(!t)return e;var d=t-1;return a[d]=(t>1?"& ":"")+a[d],a=a.join(t>2?", ":" "),e.replace(n,"{\n/* [wrapped with "+a+"] */\n")}},"2mql":function(e,a,n){"use strict";var t=n("TOwV"),d={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},r={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},o={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},i={};function s(e){return t.isMemo(e)?o:i[e.$$typeof]||d}i[t.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},i[t.Memo]=o;var g=Object.defineProperty,c=Object.getOwnPropertyNames,u=Object.getOwnPropertySymbols,l=Object.getOwnPropertyDescriptor,R=Object.getPrototypeOf,p=Object.prototype;e.exports=function e(a,n,t){if("string"!=typeof n){if(p){var d=R(n);d&&d!==p&&e(a,d,t)}var o=c(n);u&&(o=o.concat(u(n)));for(var i=s(a),f=s(n),h=0;hvoid 0===e?e:"/"===e?"/":"/"===e.charAt(e.length-1)?e.slice(0,-1):e;const o=new Map;let i=[];const s=e=>{const a=decodeURIComponent(e);return Object(d.a)(a,"/pr-preview/pr-991").split("#")[0].split("?")[0]};function g(e){return e.startsWith("/")||e.startsWith("https://")||e.startsWith("http://")?e:new URL(e,window.location.href+(window.location.href.endsWith("/")?"":"/")).pathname}const c=e=>{i=e},u=e=>{const a=p(e),n=i.map(e=>{let{path:a,matchPath:n}=e;return{path:n,originalPath:a}}),d=Object(t.pick)(n,a);return d?r(d.route.originalPath):null},l=e=>{const a=p(e),n=i.map(e=>{let{path:a,matchPath:n}=e;return{path:n,originalPath:a}}),d=Object(t.pick)(n,a);return d?d.params:{}},R=e=>{const a=s(g(e));if(o.has(a))return o.get(a);let n=u(a);return n||(n=p(e)),o.set(a,n),n},p=e=>{let a=s(g(e));return"/index.html"===a&&(a="/"),a=r(a),a}},"33Wh":function(e,a,n){var t=n("yoRg"),d=n("eDl+");e.exports=Object.keys||function(e){return t(e,d)}},"34Qh":function(e,a,n){const t=n("dVj6")(67871);t.addRange(67840,67867),e.exports=t},"3A9y":function(e,a){e.exports=function(e){return this.__data__.has(e)}},"3EZw":function(e,a,n){var t=n("6T1N");function d(e,a,n){var r=t(e,8,void 0,void 0,void 0,void 0,void 0,a=n?void 0:a);return r.placeholder=d.placeholder,r}d.placeholder={},e.exports=d},"3Eq5":function(e,a,n){var t=n("We1y"),d=n("cjT7");e.exports=function(e,a){var n=e[a];return d(n)?void 0:t(n)}},"3Fdi":function(e,a){var n=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return n.call(e)}catch(a){}try{return e+""}catch(a){}}return""}},"3L66":function(e,a,n){var t=n("MMmD"),d=n("ExA7");e.exports=function(e){return d(e)&&t(e)}},"3O+O":function(e,a,n){const t=n("dVj6")(453,456,459,498,8124,8140,8188);t.addRange(8072,8079).addRange(8088,8095).addRange(8104,8111),e.exports=t},"3cYt":function(e,a){e.exports=function(e){return function(a){return null==e?void 0:e[a]}}},"3pNy":function(e,a,n){var t=n("OBhP"),d=n("GDhZ");e.exports=function(e,a){return d(e,t(a,1))}},"3uz+":function(e,a,n){"use strict";a.__esModule=!0,a.useScrollRestoration=function(e){var a=(0,r.useLocation)(),n=(0,d.useContext)(t.ScrollContext),o=(0,d.useRef)();return(0,d.useLayoutEffect)((function(){if(o.current){var t=n.read(a,e);o.current.scrollTo(0,t||0)}}),[]),{ref:o,onScroll:function(){o.current&&n.save(a,e,o.current.scrollTop)}}};var t=n("Enzk"),d=n("q1tI"),r=n("YwZP")},"4/F7":function(e,a,n){const t=n("dVj6")(173,847,1564,12644,65279,65440);t.addRange(4447,4448).addRange(6068,6069).addRange(6155,6159).addRange(8203,8207).addRange(8234,8238).addRange(8288,8303).addRange(65024,65039).addRange(65520,65528).addRange(113824,113827).addRange(119155,119162).addRange(917504,921599),e.exports=t},"4/ic":function(e,a,n){var t=n("ZWtO");e.exports=function(e){return function(a){return t(a,e)}}},4172:function(e,a,n){const t=n("dVj6")(69837);t.addRange(69760,69826),e.exports=t},"44Ds":function(e,a,n){var t=n("e4Nc");function d(e,a){if("function"!=typeof e||null!=a&&"function"!=typeof a)throw new TypeError("Expected a function");var n=function(){var t=arguments,d=a?a.apply(this,t):t[0],r=n.cache;if(r.has(d))return r.get(d);var o=e.apply(this,t);return n.cache=r.set(d,o)||r,o};return n.cache=new(d.Cache||t),n}d.Cache=t,e.exports=d},"477v":function(e,a,n){const t=n("dVj6")();t.addRange(43392,43469).addRange(43472,43481).addRange(43486,43487),e.exports=t},"49sm":function(e,a){var n={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==n.call(e)}},"4Oe1":function(e,a,n){var t=n("YO3V");e.exports=function(e){return t(e)?void 0:e}},"4WOD":function(e,a,n){var t=n("Gi26"),d=n("Fib7"),r=n("ewvW"),o=n("93I0"),i=n("4Xet"),s=o("IE_PROTO"),g=Object,c=g.prototype;e.exports=i?g.getPrototypeOf:function(e){var a=r(e);if(t(a,s))return a[s];var n=a.constructor;return d(n)&&a instanceof n?n.prototype:a instanceof g?c:null}},"4Xet":function(e,a,n){var t=n("0Dky");e.exports=!t((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}))},"4YcT":function(e,a,n){const t=n("dVj6")();t.addRange(48,57).addRange(65,70).addRange(97,102).addRange(65296,65305).addRange(65313,65318).addRange(65345,65350),e.exports=t},"4kuk":function(e,a,n){var t=n("SfRM"),d=n("Hvzi"),r=n("u8Dt"),o=n("ekgI"),i=n("JSQU");function s(e){var a=-1,n=null==e?0:e.length;for(this.clear();++a0&&n>="0"&&n<="9"?"_"+n+t:""+n.toUpperCase()+t}function S(e,a){return void 0===a&&(a={}),function(e,a){void 0===a&&(a={});for(var n=a.splitRegexp,t=void 0===n?x:n,d=a.stripRegexp,r=void 0===d?w:d,o=a.transform,i=void 0===o?_:o,s=a.delimiter,g=void 0===s?" ":s,c=E(E(e,t,"$1\0$2"),r,"\0"),u=0,l=c.length;"\0"===c.charAt(u);)u++;for(;"\0"===c.charAt(l-1);)l--;return c.slice(u,l).split("\0").map(i).join(g)}(e,j({delimiter:"",transform:k},a))}var D=n("ZHd1"),A=n.n(D),C=n("FI//"),P=n.n(C),F=n("j/kN"),T=n.n(F),L=n("bFuJ"),B=n.n(L),N=n("Bcse"),I=n.n(N),M=n("xXH7"),z=n.n(M);n("PF2M"),n("IZzc");function q(e){var a=new Error(e);return a.source="ulid",a}var V="0123456789ABCDEFGHJKMNPQRSTVWXYZ",U=V.length,G=Math.pow(2,48)-1;function H(e){var a=Math.floor(e()*U);return a===U&&(a=U-1),V.charAt(a)}function W(e,a){if(isNaN(e))throw new Error(e+" must be a number");if(e>G)throw q("cannot encode time greater than "+G);if(e<0)throw q("time must be positive");if(!1===Number.isInteger(e))throw q("time must be an integer");for(var n=void 0,t="";a>0;a--)t=V.charAt(n=e%U)+t,e=(e-n)/U;return t}function K(e,a){for(var n="";e>0;e--)n=H(a)+n;return n}function Y(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],a=arguments[1];a||(a="undefined"!=typeof window?window:null);var t=a&&(a.crypto||a.msCrypto);if(t)return function(){var e=new Uint8Array(1);return t.getRandomValues(e),e[0]/255};try{var d=n("v6W9");return function(){return d.randomBytes(1).readUInt8()/255}}catch(r){}if(e){try{console.error("secure crypto unusable, falling back to insecure Math.random()!")}catch(r){}return function(){return Math.random()}}throw q("secure crypto unusable, insecure Math.random not allowed")}var Z,$=(Z||(Z=Y()),function(e){return isNaN(e)&&(e=Date.now()),W(e,10)+K(16,Z)}),X={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","Ấ":"A","Ắ":"A","Ẳ":"A","Ẵ":"A","Ặ":"A","Æ":"AE","Ầ":"A","Ằ":"A","Ȃ":"A","Ç":"C","Ḉ":"C","È":"E","É":"E","Ê":"E","Ë":"E","Ế":"E","Ḗ":"E","Ề":"E","Ḕ":"E","Ḝ":"E","Ȇ":"E","Ì":"I","Í":"I","Î":"I","Ï":"I","Ḯ":"I","Ȋ":"I","Ð":"D","Ñ":"N","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","Ố":"O","Ṍ":"O","Ṓ":"O","Ȏ":"O","Ù":"U","Ú":"U","Û":"U","Ü":"U","Ý":"Y","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","ấ":"a","ắ":"a","ẳ":"a","ẵ":"a","ặ":"a","æ":"ae","ầ":"a","ằ":"a","ȃ":"a","ç":"c","ḉ":"c","è":"e","é":"e","ê":"e","ë":"e","ế":"e","ḗ":"e","ề":"e","ḕ":"e","ḝ":"e","ȇ":"e","ì":"i","í":"i","î":"i","ï":"i","ḯ":"i","ȋ":"i","ð":"d","ñ":"n","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","ố":"o","ṍ":"o","ṓ":"o","ȏ":"o","ù":"u","ú":"u","û":"u","ü":"u","ý":"y","ÿ":"y","Ā":"A","ā":"a","Ă":"A","ă":"a","Ą":"A","ą":"a","Ć":"C","ć":"c","Ĉ":"C","ĉ":"c","Ċ":"C","ċ":"c","Č":"C","č":"c","C̆":"C","c̆":"c","Ď":"D","ď":"d","Đ":"D","đ":"d","Ē":"E","ē":"e","Ĕ":"E","ĕ":"e","Ė":"E","ė":"e","Ę":"E","ę":"e","Ě":"E","ě":"e","Ĝ":"G","Ǵ":"G","ĝ":"g","ǵ":"g","Ğ":"G","ğ":"g","Ġ":"G","ġ":"g","Ģ":"G","ģ":"g","Ĥ":"H","ĥ":"h","Ħ":"H","ħ":"h","Ḫ":"H","ḫ":"h","Ĩ":"I","ĩ":"i","Ī":"I","ī":"i","Ĭ":"I","ĭ":"i","Į":"I","į":"i","İ":"I","ı":"i","IJ":"IJ","ij":"ij","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","Ḱ":"K","ḱ":"k","K̆":"K","k̆":"k","Ĺ":"L","ĺ":"l","Ļ":"L","ļ":"l","Ľ":"L","ľ":"l","Ŀ":"L","ŀ":"l","Ł":"l","ł":"l","Ḿ":"M","ḿ":"m","M̆":"M","m̆":"m","Ń":"N","ń":"n","Ņ":"N","ņ":"n","Ň":"N","ň":"n","ʼn":"n","N̆":"N","n̆":"n","Ō":"O","ō":"o","Ŏ":"O","ŏ":"o","Ő":"O","ő":"o","Œ":"OE","œ":"oe","P̆":"P","p̆":"p","Ŕ":"R","ŕ":"r","Ŗ":"R","ŗ":"r","Ř":"R","ř":"r","R̆":"R","r̆":"r","Ȓ":"R","ȓ":"r","Ś":"S","ś":"s","Ŝ":"S","ŝ":"s","Ş":"S","Ș":"S","ș":"s","ş":"s","Š":"S","š":"s","Ţ":"T","ţ":"t","ț":"t","Ț":"T","Ť":"T","ť":"t","Ŧ":"T","ŧ":"t","T̆":"T","t̆":"t","Ũ":"U","ũ":"u","Ū":"U","ū":"u","Ŭ":"U","ŭ":"u","Ů":"U","ů":"u","Ű":"U","ű":"u","Ų":"U","ų":"u","Ȗ":"U","ȗ":"u","V̆":"V","v̆":"v","Ŵ":"W","ŵ":"w","Ẃ":"W","ẃ":"w","X̆":"X","x̆":"x","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Y̆":"Y","y̆":"y","Ź":"Z","ź":"z","Ż":"Z","ż":"z","Ž":"Z","ž":"z","ſ":"s","ƒ":"f","Ơ":"O","ơ":"o","Ư":"U","ư":"u","Ǎ":"A","ǎ":"a","Ǐ":"I","ǐ":"i","Ǒ":"O","ǒ":"o","Ǔ":"U","ǔ":"u","Ǖ":"U","ǖ":"u","Ǘ":"U","ǘ":"u","Ǚ":"U","ǚ":"u","Ǜ":"U","ǜ":"u","Ứ":"U","ứ":"u","Ṹ":"U","ṹ":"u","Ǻ":"A","ǻ":"a","Ǽ":"AE","ǽ":"ae","Ǿ":"O","ǿ":"o","Þ":"TH","þ":"th","Ṕ":"P","ṕ":"p","Ṥ":"S","ṥ":"s","X́":"X","x́":"x","Ѓ":"Г","ѓ":"г","Ќ":"К","ќ":"к","A̋":"A","a̋":"a","E̋":"E","e̋":"e","I̋":"I","i̋":"i","Ǹ":"N","ǹ":"n","Ồ":"O","ồ":"o","Ṑ":"O","ṑ":"o","Ừ":"U","ừ":"u","Ẁ":"W","ẁ":"w","Ỳ":"Y","ỳ":"y","Ȁ":"A","ȁ":"a","Ȅ":"E","ȅ":"e","Ȉ":"I","ȉ":"i","Ȍ":"O","ȍ":"o","Ȑ":"R","ȑ":"r","Ȕ":"U","ȕ":"u","B̌":"B","b̌":"b","Č̣":"C","č̣":"c","Ê̌":"E","ê̌":"e","F̌":"F","f̌":"f","Ǧ":"G","ǧ":"g","Ȟ":"H","ȟ":"h","J̌":"J","ǰ":"j","Ǩ":"K","ǩ":"k","M̌":"M","m̌":"m","P̌":"P","p̌":"p","Q̌":"Q","q̌":"q","Ř̩":"R","ř̩":"r","Ṧ":"S","ṧ":"s","V̌":"V","v̌":"v","W̌":"W","w̌":"w","X̌":"X","x̌":"x","Y̌":"Y","y̌":"y","A̧":"A","a̧":"a","B̧":"B","b̧":"b","Ḑ":"D","ḑ":"d","Ȩ":"E","ȩ":"e","Ɛ̧":"E","ɛ̧":"e","Ḩ":"H","ḩ":"h","I̧":"I","i̧":"i","Ɨ̧":"I","ɨ̧":"i","M̧":"M","m̧":"m","O̧":"O","o̧":"o","Q̧":"Q","q̧":"q","U̧":"U","u̧":"u","X̧":"X","x̧":"x","Z̧":"Z","z̧":"z"},Q=Object.keys(X).join("|"),J=new RegExp(Q,"g"),ee=new RegExp(Q,""),ae=function(e){return e.replace(J,(function(e){return X[e]}))},ne=ae,te=function(e){return!!e.match(ee)},de=ae;ne.has=te,ne.remove=de;var re="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},oe=Object.assign||function(e){for(var a=1;a2&&void 0!==arguments[2]?arguments[2]:{};if(!a)return e;var t=n.keys,d=n.threshold,r=void 0===d?ie.MATCHES:d,o=e.reduce((function(e,d,o){var i=ce(d,t,a,n),s=i.rankedItem,g=i.rank,c=i.keyIndex,u=i.keyThreshold;return g>=(void 0===u?r:u)&&e.push({rankedItem:s,item:d,rank:g,index:o,keyIndex:c}),e}),[]);return o.sort(le).map((function(e){return e.item}))}function ce(e,a,n,t){return a?function(e,a){return a.reduce((function(a,n){var t=function(e,a){"object"===(void 0===a?"undefined":re(a))&&(a=a.key);var n=void 0;n="function"==typeof a?a(e):-1!==a.indexOf(".")?a.split(".").reduce((function(e,a){return e?e[a]:null}),e):e[a];return null!=n?[].concat(n):null}(e,n);return t&&t.forEach((function(e){a.push({itemValue:e,attributes:pe(n)})})),a}),[])}(e,a).reduce((function(e,a,d){var r=e.rank,o=e.keyIndex,i=e.keyThreshold,s=a.itemValue,g=a.attributes,c=ue(s,n,t),u=g.minRanking,l=g.maxRanking,R=g.threshold;return c=ie.MATCHES?c=u:c>l&&(c=l),c>r&&(r=c,o=d,i=R),{rankedItem:s,rank:r,keyIndex:o,keyThreshold:i}}),{rank:ie.NO_MATCH,keyIndex:-1,keyThreshold:t.threshold}):{rankedItem:e,rank:ue(e,n,t),keyIndex:-1,keyThreshold:t.threshold}}function ue(e,a,n){if(e=Re(e,n),(a=Re(a,n)).length>e.length)return ie.NO_MATCH;if(e===a)return ie.CASE_SENSITIVE_EQUAL;var t,d,r=function(e){var a=e.toLowerCase()!==e,n=e.indexOf("-")>=0,t=e.indexOf("_")>=0;if(!a&&!t&&n)return se.KEBAB;if(!a&&t&&!n)return se.SNAKE;if(a&&!n&&!t){return e[0].toUpperCase()===e[0]?se.PASCAL:se.CAMEL}return se.NO_CASE}(e),o=function(e,a,n){var t=e.toLowerCase().indexOf(a.toLowerCase());switch(n){case se.SNAKE:return"_"===e[t-1];case se.KEBAB:return"-"===e[t-1];case se.PASCAL:case se.CAMEL:return-1!==t&&e[t]===e[t].toUpperCase();default:return!1}}(e,a,r),i=function(e,a,n){var t=null;switch(n){case se.SNAKE:t="_";break;case se.KEBAB:t="-";break;case se.PASCAL:case se.CAMEL:t=/(?=[A-Z])/;break;default:t=null}var d=e.split(t);return a.toLowerCase().split("").reduce((function(e,a,n){var t=d[n];return e&&t&&t[0].toLowerCase()===a}),!0)}(e,a,r);return(e=e.toLowerCase())===(a=a.toLowerCase())?ie.EQUAL+r:0===e.indexOf(a)?ie.STARTS_WITH+r:-1!==e.indexOf(" "+a)?ie.WORD_STARTS_WITH+r:o?ie.STRING_CASE+r:r>0&&i?ie.STRING_CASE_ACRONYM+r:-1!==e.indexOf(a)?ie.CONTAINS+r:1===a.length?ie.NO_MATCH:-1!==(t=e,d="",t.split(" ").forEach((function(e){e.split("-").forEach((function(e){d+=e.substr(0,1)}))})),d).indexOf(a)?ie.ACRONYM+r:function(e,a){var n=0,t=0;function d(e,a,t){for(var d=t;d-1))return ie.NO_MATCH}return function(e){var t=n/a.length;return ie.MATCHES+t*(1/e)}(t-r)}(e,a)}function le(e,a){var n=e.rankedItem,t=e.rank,d=e.keyIndex,r=a.rankedItem,o=a.rank,i=a.keyIndex;return t===o?d===i?String(n).localeCompare(r):do?-1:1}function Re(e,a){return e=""+e,a.keepDiacritics||(e=ne(e)),e}function pe(e){return"string"==typeof e&&(e={key:e}),oe({maxRanking:1/0,minRanking:-1/0},e)}ge.rankings=ie,ge.caseRankings=se;var fe=ge,he=n("+mUh"),me=n.n(he),be=n("m2xi"),ye=n.n(be);"undefined"!=typeof Link&&Link&&Link===Object(Link)&&Object.isExtensible(Link)&&!Object.prototype.hasOwnProperty.call(Link,"__filemeta")&&Object.defineProperty(Link,"__filemeta",{configurable:!0,value:{name:"Link",filename:"node_modules/docz/dist/index.esm.js"}});const ve={layout:e=>{let{children:a}=e;return o.a.createElement(o.a.Fragment,null,a)},notFound:()=>o.a.createElement(o.a.Fragment,null,"Not found"),playground:e=>{let{component:a,code:n}=e;return o.a.createElement("div",null,a,o.a.createElement("pre",null,n))}},je=Object(r.createContext)(ve),Oe=e=>{let{components:a={},children:n}=e;return o.a.createElement(je.Provider,{value:Object.assign(Object.assign({},ve),a)},n)},_e=()=>Object(r.useContext)(je);const xe=function(e){var a;const n=Object(r.createContext)(e),d=new Set;return{context:n,set:e=>(e=>{d.forEach(a=>a(e))})(e),Provider:(a=function(a){function r(){var n;return(n=a.apply(this,arguments)||this).state=n.props.initial||e||{},n}Object(t.a)(r,a),r.getDerivedStateFromProps=function(e,a){return c()(e.initial,a)?null:e.initial};var i=r.prototype;return i.componentDidMount=function(){d.add(e=>this.setState(e))},i.componentWillUnmount=function(){d.clear()},i.render=function(){return o.a.createElement(n.Provider,{value:this.state},this.props.children)},r}(r.Component),a.displayName="DoczStateProvider",a)}}({}),we=()=>{const e=Object(r.useContext)(xe.context),{transform:a,config:n,themeConfig:t={}}=e,d=s()(t,n?n.themeConfig:{}),o=a?a(d):d;return Object.assign(Object.assign({},n),{themeConfig:o})},Ee=e=>{let{componentName:a,fileName:n}=e;const t=_e(),{props:d}=Object(r.useContext)(xe.context),o=d&&d.length>0&&d.find(e=>((e,a)=>!![n,"/"+e+".","/"+l()(e)+".","/"+S(e)+"."].find(e=>a.key.includes(e)))(a,e)),i=h()("value",o)||[],s=b()(i),g=i.find(e=>e.displayName===a),c=Object(r.useMemo)(()=>A()({createElement:r.createElement,elements:t}),[t]);return Object(r.useMemo)(()=>{const e=h()("props",g||s);return p()(e=>{const a=h()("description",e);return a?v()("description",c(a).tree,e):e})(e)},[c,g||s])},ke=()=>{const e=Object(r.useContext)(xe.context);return h()("currentEntry.value",e)},Se=e=>{const{type:a,payload:n}=JSON.parse(e.data),t=a.startsWith("state.")&&a.split(".")[1];t&&xe.set(e=>Object.assign(Object.assign({},e),{[t]:n}))},De=e=>{Object(r.useEffect)(()=>{if(!e)return;const a=new WebSocket(e);return a.onmessage=Se,()=>a.close()},[])};function Ae(e,a,n){return ea?n?-1:1:0}const Ce=()=>{const{entries:e=[]}=Object(r.useContext)(xe.context),a=e.map(e=>{let{value:a}=e;return a});return P()(a,(e,a)=>Ae(e.name,a.name))},Pe=e=>!e.menu,Fe=(e,a)=>a.filter((e=>a=>a.menu===e)(e)),Te=e=>{const a=e.filter(Pe),n=(t=e,d="menu",Array.from(new Set(t.reduce((e,a)=>{const n=h()(d)(a);return n?e.concat([n]):e},[])))).map((e=>a=>({name:a,menu:Fe(a,e)}))(e));var t,d;return T()("name",n,a)},Le=e=>{const a=(e=>"string"==typeof e?{name:e}:e)(e);return Object.assign(Object.assign({},a),{id:a.id||$(),parent:h()("parent",a)||h()("parent",e),menu:Array.isArray(a.menu)?a.menu.map(Le):a.menu})},Be=z()(Le,e=>e.href||e.route?I()("menu",e):e),Ne=(e,a)=>{const n=e.map(Be),t=a.map(Be);return T()("name",n,t).map(e=>{if(!e.menu)return e;const a=t.find(a=>a.name===e.name),n=a&&a.menu;return Object.assign(Object.assign({},e),{menu:n?Ne(e.menu,n):e.menu||a.menu})})},Ie=function(e,a){void 0===a&&(a=[]);const n="string"!=typeof e?h()("name",e):e,t=a.findIndex(e=>e===n);return-1!==t?t:1/0},Me=(e,a)=>e.namea.name?1:0,ze=function(e,a){void 0===a&&(a=[]);var n;return P()(e,(void 0===(n=a)&&(n=[]),(e,a)=>{const t=n.map(e=>e.name||e);return Ae(Ie(e,t),Ie(a,t))}),Me).map(e=>{if(!e.menu)return e;const n=a.find(a=>a.name===e.name),t=n&&n.menu;return Object.assign(Object.assign({},e),{menu:t?ze(e.menu,t):P()(e.menu,Me)})})},qe=e=>{const{query:a=""}=e||{},{entries:n,config:t}=Object(r.useContext)(xe.context);if(!n)return null;const d=n.map(e=>{let{value:a}=e;return a}),o=Te(d),i=Object(r.useMemo)(()=>{const a=Ne(o,t.menu),n=ze(a,t.menu);return d=n,(r=e&&e.filter)?d.filter(r).map(e=>e.menu?Object.assign(Object.assign({},e),{menu:e.menu.filter(r)}):e):d;var d,r},[n,t]);return a&&a.length>0?((e,a)=>{const n=a.map(e=>[e].concat(e.menu||[])),t=B()(2,n),d=Array.from(new Set(t));return fe(d,e,{keys:["name"]})})(a,i):i},Ve=(e,a)=>{const n=Object(r.useRef)(a);return Object(r.useEffect)(()=>{n.current=e}),n.current},Ue="object"==typeof window,Ge=(e,a)=>({innerHeight:Ue?window.innerHeight:a,innerWidth:Ue?window.innerWidth:e,outerHeight:Ue?window.outerHeight:a,outerWidth:Ue?window.outerWidth:e}),He=function(e,a,n){void 0===e&&(e=300),void 0===a&&(a=1/0),void 0===n&&(n=1/0);const{0:t,1:d}=Object(r.useState)(Ge(n,n)),o=me()(e,()=>d(Ge(n,n)));return Object(r.useEffect)(()=>(window.addEventListener("resize",o),()=>{window.removeEventListener("resize",o)}),[]),t},We=e=>{let{className:a,children:n,style:t,wrapper:d,__scope:r,__position:i,__code:s,language:g,useScoping:c}=e;const u=_e(),l=u.playground;return l?o.a.createElement(l,{components:u,component:n,className:a,style:t,wrapper:d,scope:r,position:i,code:s,language:g,useScoping:c}):null},Ke=/(?:React\.)?(?:PropTypes\.)?objectOf\((?:React\.)?(?:PropTypes\.)?(\w+)\)/,Ye=e=>{switch(e.name.toLowerCase()){case"instanceof":return"Class("+e.value+")";case"enum":return e.computed?e.value:e.value?e.value.map(e=>""+e.value).join(" │ "):e.raw;case"union":return e.value?e.value.map(e=>""+Ye(e)).join(" │ "):e.raw;case"array":return e.raw;case"arrayof":return"Array<"+Ye(e.value)+">";case"custom":if(-1!==e.raw.indexOf("function")||-1!==e.raw.indexOf("=>"))return"Custom(Function)";if(-1!==e.raw.toLowerCase().indexOf("objectof")){const a=e.raw.match(Ke);return a&&a[1]?"ObjectOf("+ye()(a[1])+")":"ObjectOf"}return"Custom";case"bool":return"Boolean";case"func":return"Function";case"shape":const a=e.value,n={};return Object.keys(a).forEach(e=>{n[e]=Ye(a[e])}),JSON.stringify(n,null,2);default:return e.name}},Ze=e=>Ye(e),$e=e=>{const a=h()("name",e.flowType||e.type);if(!a)return null;const n=a.startsWith('"')||"enum"===a,t=n?"enum":a,d=h()("type.value",e);return t?n&&"string"==typeof d||!e.flowType&&!n&&!d||e.flowType&&!e.flowType.elements?t:e.flowType?Ze(e.flowType):Ze(e.type):null},Xe=e=>{var{title:a,isToggle:n,isRaw:t,of:d}=e,r=O(e,["title","isToggle","isRaw","of"]);const i=_e().props,s=h()("__filemeta.filename",d),g=h()("__filemeta.name",d)||h()("displayName",d)||h()("name",d),c=Ee({componentName:g,fileName:s});return i?o.a.createElement(i,Object.assign({title:a,isRaw:t,isToggle:n,props:c,getPropType:$e,of:d},r)):null};function Qe(e,a){return void 0===a&&(a=e=>e),n=>{const t=Object(r.memo)(t=>{const{db:d,currentEntry:r,children:i}=t,s=Object.assign(Object.assign({},d),{currentEntry:r,themeConfig:e,transform:a});return o.a.createElement(xe.Provider,{initial:s},o.a.createElement(n,null,i))});return t.displayName=n.displayName||"DoczTheme",t}}void 0!==He&&He&&He===Object(He)&&Object.isExtensible(He)&&!Object.prototype.hasOwnProperty.call(He,"__filemeta")&&Object.defineProperty(He,"__filemeta",{configurable:!0,value:{name:"useWindowSize",filename:"node_modules/docz/dist/index.esm.js"}}),void 0!==Ve&&Ve&&Ve===Object(Ve)&&Object.isExtensible(Ve)&&!Object.prototype.hasOwnProperty.call(Ve,"__filemeta")&&Object.defineProperty(Ve,"__filemeta",{configurable:!0,value:{name:"usePrevious",filename:"node_modules/docz/dist/index.esm.js"}}),void 0!==qe&&qe&&qe===Object(qe)&&Object.isExtensible(qe)&&!Object.prototype.hasOwnProperty.call(qe,"__filemeta")&&Object.defineProperty(qe,"__filemeta",{configurable:!0,value:{name:"useMenus",filename:"node_modules/docz/dist/index.esm.js"}}),void 0!==Ce&&Ce&&Ce===Object(Ce)&&Object.isExtensible(Ce)&&!Object.prototype.hasOwnProperty.call(Ce,"__filemeta")&&Object.defineProperty(Ce,"__filemeta",{configurable:!0,value:{name:"useDocs",filename:"node_modules/docz/dist/index.esm.js"}}),void 0!==De&&De&&De===Object(De)&&Object.isExtensible(De)&&!Object.prototype.hasOwnProperty.call(De,"__filemeta")&&Object.defineProperty(De,"__filemeta",{configurable:!0,value:{name:"useDataServer",filename:"node_modules/docz/dist/index.esm.js"}}),void 0!==ke&&ke&&ke===Object(ke)&&Object.isExtensible(ke)&&!Object.prototype.hasOwnProperty.call(ke,"__filemeta")&&Object.defineProperty(ke,"__filemeta",{configurable:!0,value:{name:"useCurrentDoc",filename:"node_modules/docz/dist/index.esm.js"}}),void 0!==we&&we&&we===Object(we)&&Object.isExtensible(we)&&!Object.prototype.hasOwnProperty.call(we,"__filemeta")&&Object.defineProperty(we,"__filemeta",{configurable:!0,value:{name:"useConfig",filename:"node_modules/docz/dist/index.esm.js"}}),void 0!==_e&&_e&&_e===Object(_e)&&Object.isExtensible(_e)&&!Object.prototype.hasOwnProperty.call(_e,"__filemeta")&&Object.defineProperty(_e,"__filemeta",{configurable:!0,value:{name:"useComponents",filename:"node_modules/docz/dist/index.esm.js"}}),void 0!==Ee&&Ee&&Ee===Object(Ee)&&Object.isExtensible(Ee)&&!Object.prototype.hasOwnProperty.call(Ee,"__filemeta")&&Object.defineProperty(Ee,"__filemeta",{configurable:!0,value:{name:"useComponentProps",filename:"node_modules/docz/dist/index.esm.js"}}),void 0!==Qe&&Qe&&Qe===Object(Qe)&&Object.isExtensible(Qe)&&!Object.prototype.hasOwnProperty.call(Qe,"__filemeta")&&Object.defineProperty(Qe,"__filemeta",{configurable:!0,value:{name:"theme",filename:"node_modules/docz/dist/index.esm.js"}}),void 0!==xe&&xe&&xe===Object(xe)&&Object.isExtensible(xe)&&!Object.prototype.hasOwnProperty.call(xe,"__filemeta")&&Object.defineProperty(xe,"__filemeta",{configurable:!0,value:{name:"doczState",filename:"node_modules/docz/dist/index.esm.js"}}),void 0!==Xe&&Xe&&Xe===Object(Xe)&&Object.isExtensible(Xe)&&!Object.prototype.hasOwnProperty.call(Xe,"__filemeta")&&Object.defineProperty(Xe,"__filemeta",{configurable:!0,value:{name:"Props",filename:"node_modules/docz/dist/index.esm.js"}}),void 0!==We&&We&&We===Object(We)&&Object.isExtensible(We)&&!Object.prototype.hasOwnProperty.call(We,"__filemeta")&&Object.defineProperty(We,"__filemeta",{configurable:!0,value:{name:"Playground",filename:"node_modules/docz/dist/index.esm.js"}}),void 0!==Oe&&Oe&&Oe===Object(Oe)&&Object.isExtensible(Oe)&&!Object.prototype.hasOwnProperty.call(Oe,"__filemeta")&&Object.defineProperty(Oe,"__filemeta",{configurable:!0,value:{name:"ComponentsProvider",filename:"node_modules/docz/dist/index.esm.js"}})},"56YH":function(e,a,n){var t=n("NBRE")();e.exports=t},"5EYo":function(e,a,n){const t=n("dVj6")();t.addRange(42240,42539),e.exports=t},"5TAg":function(e,a,n){const t=n("dVj6")();t.addRange(5024,5109).addRange(5112,5117).addRange(43888,43967),e.exports=t},"5Tg0":function(e,a,n){(function(e){var t=n("Kz5y"),d=a&&!a.nodeType&&a,r=d&&"object"==typeof e&&e&&!e.nodeType&&e,o=r&&r.exports===d?t.Buffer:void 0,i=o?o.allocUnsafe:void 0;e.exports=function(e,a){if(a)return e.slice();var n=e.length,t=i?i(n):new e.constructor(n);return e.copy(t),t}}).call(this,n("YuTi")(e))},"5bsx":function(e,a,n){const t=n("dVj6")();t.addRange(7168,7223).addRange(7227,7241).addRange(7245,7247),e.exports=t},"5eRf":function(e,a,n){const t=n("dVj6")();t.addRange(92736,92766).addRange(92768,92777).addRange(92782,92783),e.exports=t},"5mMq":function(e,a,n){"use strict";n.r(a),n.d(a,"_frontmatter",(function(){return s})),n.d(a,"default",(function(){return u}));var t=n("wx14"),d=n("Ff2n"),r=(n("q1tI"),n("7ljp")),o=n("hhGP");n("qKvR");const i=["components"],s={};void 0!==s&&s&&s===Object(s)&&Object.isExtensible(s)&&!Object.prototype.hasOwnProperty.call(s,"__filemeta")&&Object.defineProperty(s,"__filemeta",{configurable:!0,value:{name:"_frontmatter",filename:"src/components/install/jb/go.mdx"}});const g={_frontmatter:s},c=o.a;function u(e){let{components:a}=e,n=Object(d.a)(e,i);return Object(r.b)(c,Object(t.a)({},g,n,{components:a,mdxType:"MDXLayout"}),Object(r.b)("p",null,"If you happen to have a local ",Object(r.b)("a",{parentName:"p",href:"https://golang.org"},"Go")," toolchain available, you can build from source using ",Object(r.b)("inlineCode",{parentName:"p"},"go install"),":"),Object(r.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"bash"},Object(r.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(r.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(r.b)("span",{parentName:"span",className:"mtk1"},"$ "),Object(r.b)("span",{parentName:"span",className:"mtk9"},"cd"),Object(r.b)("span",{parentName:"span",className:"mtk1"}," /tmp")),"\n",Object(r.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(r.b)("span",{parentName:"span",className:"mtk1"},"$ go install github.com/jsonnet-bundler/jsonnet-bundler/cmd/jb@latest")))),Object(r.b)("style",{className:"vscode-highlight-styles"},"\n \n .material-theme-darker {\nbackground-color: #212121;\ncolor: #EEFFFF;\n}\n\n.material-theme-darker .mtk1 { color: #FFFFFF; }\n.material-theme-darker .mtk2 { color: #212121; }\n.material-theme-darker .mtk3 { color: #545454; }\n.material-theme-darker .mtk4 { color: #F78C6C; }\n.material-theme-darker .mtk5 { color: #89DDFF; }\n.material-theme-darker .mtk6 { color: #C3E88D; }\n.material-theme-darker .mtk7 { color: #FFCB6B; }\n.material-theme-darker .mtk8 { color: #EEFFFF; }\n.material-theme-darker .mtk9 { color: #82AAFF; }\n.material-theme-darker .mtk10 { color: #FF5370; }\n.material-theme-darker .mtk11 { color: #F07178; }\n.material-theme-darker .mtk12 { color: #C792EA; }\n.material-theme-darker .mtk13 { color: #EEFFFF90; }\n.material-theme-darker .mtk14 { color: #65737E; }\n.material-theme-darker .mtk15 { color: #B2CCD6; }\n.material-theme-darker .mtk16 { color: #C17E70; }\n.material-theme-darker .mtki { font-style: italic; }\n.material-theme-darker .mtkb { font-weight: bold; }\n.material-theme-darker .mtku { text-decoration: underline; text-underline-position: under; }\n"))}void 0!==u&&u&&u===Object(u)&&Object.isExtensible(u)&&!Object.prototype.hasOwnProperty.call(u,"__filemeta")&&Object.defineProperty(u,"__filemeta",{configurable:!0,value:{name:"MDXContent",filename:"src/components/install/jb/go.mdx"}}),u.isMDXComponent=!0},"5sOR":function(e,a,n){var t=n("N4mw"),d=n("99Ms"),r=n("T8tx");e.exports=function(e,a,n,o,i,s,g,c,u,l){var R=8&a;a|=R?32:64,4&(a&=~(R?64:32))||(a&=-4);var p=[e,a,i,R?s:void 0,R?g:void 0,R?void 0:s,R?void 0:g,c,u,l],f=n.apply(void 0,p);return t(e)&&d(f,p),f.placeholder=o,r(f,e,a)}},"5scg":function(e,a,n){const t=n("dVj6")();t.addRange(67072,67382).addRange(67392,67413).addRange(67424,67431),e.exports=t},"5tk3":function(e,a,n){const t=n("dVj6")();t.addRange(70656,70747).addRange(70749,70753),e.exports=t},"5xM+":function(e,a,n){const t=n("dVj6")(166,169,174,176,1154,1758,1769,2038,2554,2928,3066,3199,3407,3449,3859,3892,3894,3896,5741,6464,8468,8485,8487,8489,8494,8522,8527,8659,12292,12320,12880,43065,64975,65508,65512,65952,68296,71487,92997,113820,119365,123215,126124,126254,129008);t.addRange(1421,1422).addRange(1550,1551).addRange(1789,1790).addRange(3059,3064).addRange(3841,3843).addRange(3861,3863).addRange(3866,3871).addRange(4030,4037).addRange(4039,4044).addRange(4046,4047).addRange(4053,4056).addRange(4254,4255).addRange(5008,5017).addRange(6622,6655).addRange(7009,7018).addRange(7028,7036).addRange(8448,8449).addRange(8451,8454).addRange(8456,8457).addRange(8470,8471).addRange(8478,8483).addRange(8506,8507).addRange(8524,8525).addRange(8586,8587).addRange(8597,8601).addRange(8604,8607).addRange(8609,8610).addRange(8612,8613).addRange(8615,8621).addRange(8623,8653).addRange(8656,8657).addRange(8661,8691).addRange(8960,8967).addRange(8972,8991).addRange(8994,9e3).addRange(9003,9083).addRange(9085,9114).addRange(9140,9179).addRange(9186,9254).addRange(9280,9290).addRange(9372,9449).addRange(9472,9654).addRange(9656,9664).addRange(9666,9719).addRange(9728,9838).addRange(9840,10087).addRange(10132,10175).addRange(10240,10495).addRange(11008,11055).addRange(11077,11078).addRange(11085,11123),t.addRange(11126,11157).addRange(11159,11263).addRange(11493,11498).addRange(11856,11857).addRange(11904,11929).addRange(11931,12019).addRange(12032,12245).addRange(12272,12283).addRange(12306,12307).addRange(12342,12343).addRange(12350,12351).addRange(12688,12689).addRange(12694,12703).addRange(12736,12771).addRange(12800,12830).addRange(12842,12871).addRange(12896,12927).addRange(12938,12976).addRange(12992,13311).addRange(19904,19967).addRange(42128,42182).addRange(43048,43051).addRange(43062,43063).addRange(43639,43641).addRange(64832,64847).addRange(65021,65023).addRange(65517,65518).addRange(65532,65533).addRange(65847,65855).addRange(65913,65929).addRange(65932,65934).addRange(65936,65948).addRange(66e3,66044).addRange(67703,67704).addRange(73685,73692).addRange(73697,73713).addRange(92988,92991).addRange(118608,118723).addRange(118784,119029).addRange(119040,119078).addRange(119081,119140).addRange(119146,119148).addRange(119171,119172).addRange(119180,119209).addRange(119214,119274).addRange(119296,119361).addRange(119552,119638).addRange(120832,121343).addRange(121399,121402).addRange(121453,121460).addRange(121462,121475),t.addRange(121477,121478).addRange(126976,127019).addRange(127024,127123).addRange(127136,127150).addRange(127153,127167).addRange(127169,127183).addRange(127185,127221).addRange(127245,127405).addRange(127462,127490).addRange(127504,127547).addRange(127552,127560).addRange(127568,127569).addRange(127584,127589).addRange(127744,127994).addRange(128e3,128727).addRange(128733,128748).addRange(128752,128764).addRange(128768,128883).addRange(128896,128984).addRange(128992,129003).addRange(129024,129035).addRange(129040,129095).addRange(129104,129113).addRange(129120,129159).addRange(129168,129197).addRange(129200,129201).addRange(129280,129619).addRange(129632,129645).addRange(129648,129652).addRange(129656,129660).addRange(129664,129670).addRange(129680,129708).addRange(129712,129722).addRange(129728,129733).addRange(129744,129753).addRange(129760,129767).addRange(129776,129782).addRange(129792,129938).addRange(129940,129994),e.exports=t},"5yr3":function(e,a,n){"use strict";const t=function(e){return e=e||Object.create(null),{on:function(a,n){(e[a]||(e[a]=[])).push(n)},off:function(a,n){e[a]&&e[a].splice(e[a].indexOf(n)>>>0,1)},emit:function(a,n){(e[a]||[]).slice().map((function(e){e(n)})),(e["*"]||[]).slice().map((function(e){e(a,n)}))}}}();a.a=t},"6+Eo":function(e,a,n){var t=n("XGnz"),d=n("Sxd8");e.exports=function(e,a){return(null==e?0:e.length)?(a=void 0===a?1:d(a),t(e,a)):[]}},"61NE":function(e,a,n){const t=n("dVj6")();t.addRange(67648,67669).addRange(67671,67679),e.exports=t},"64uU":function(e,a,n){const t=n("dVj6")();t.addRange(4160,4169).addRange(6480,6509).addRange(6512,6516),e.exports=t},"67WC":function(e,a,n){"use strict";var t,d,r,o=n("SxGu"),i=n("g6v/"),s=n("2oRo"),g=n("Fib7"),c=n("hh1v"),u=n("Gi26"),l=n("9d/t"),R=n("DVFp"),p=n("kRJp"),f=n("yy0I"),h=n("7dAM"),m=n("OpvP"),b=n("4WOD"),y=n("0rvr"),v=n("tiKp"),j=n("kOOl"),O=n("afO8"),_=O.enforce,x=O.get,w=s.Int8Array,E=w&&w.prototype,k=s.Uint8ClampedArray,S=k&&k.prototype,D=w&&b(w),A=E&&b(E),C=Object.prototype,P=s.TypeError,F=v("toStringTag"),T=j("TYPED_ARRAY_TAG"),L=o&&!!y&&"Opera"!==l(s.opera),B=!1,N={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},I={BigInt64Array:8,BigUint64Array:8},M=function(e){var a=b(e);if(c(a)){var n=x(a);return n&&u(n,"TypedArrayConstructor")?n.TypedArrayConstructor:M(a)}},z=function(e){if(!c(e))return!1;var a=l(e);return u(N,a)||u(I,a)};for(t in N)(r=(d=s[t])&&d.prototype)?_(r).TypedArrayConstructor=d:L=!1;for(t in I)(r=(d=s[t])&&d.prototype)&&(_(r).TypedArrayConstructor=d);if((!L||!g(D)||D===Function.prototype)&&(D=function(){throw P("Incorrect invocation")},L))for(t in N)s[t]&&y(s[t],D);if((!L||!A||A===C)&&(A=D.prototype,L))for(t in N)s[t]&&y(s[t].prototype,A);if(L&&b(S)!==A&&y(S,A),i&&!u(A,F))for(t in B=!0,h(A,F,{configurable:!0,get:function(){return c(this)?this[T]:void 0}}),N)s[t]&&p(s[t],T,t);e.exports={NATIVE_ARRAY_BUFFER_VIEWS:L,TYPED_ARRAY_TAG:B&&T,aTypedArray:function(e){if(z(e))return e;throw P("Target is not a typed array")},aTypedArrayConstructor:function(e){if(g(e)&&(!y||m(D,e)))return e;throw P(R(e)+" is not a typed array constructor")},exportTypedArrayMethod:function(e,a,n,t){if(i){if(n)for(var d in N){var r=s[d];if(r&&u(r.prototype,e))try{delete r.prototype[e]}catch(o){try{r.prototype[e]=a}catch(g){}}}A[e]&&!n||f(A,e,n?a:L&&E[e]||a,t)}},exportTypedArrayStaticMethod:function(e,a,n){var t,d;if(i){if(y){if(n)for(t in N)if((d=s[t])&&u(d,e))try{delete d[e]}catch(r){}if(D[e]&&!n)return;try{return f(D,e,n?a:L&&D[e]||a)}catch(r){}}for(t in N)!(d=s[t])||d[e]&&!n||f(d,e,a)}},getTypedArrayConstructor:M,isView:function(e){if(!c(e))return!1;var a=l(e);return"DataView"===a||u(N,a)||u(I,a)},isTypedArray:z,TypedArray:D,TypedArrayPrototype:A}},"67s2":function(e,a,n){e.exports=n("oasZ")},"6DvP":function(e,a,n){const t=n("dVj6")();t.addRange(65792,65793).addRange(77712,77810),e.exports=t},"6Ik7":function(e,a,n){const t=n("dVj6")();t.addRange(42656,42743).addRange(92160,92728),e.exports=t},"6JNq":function(e,a,n){var t=n("Gi26"),d=n("Vu81"),r=n("Bs8V"),o=n("m/L8");e.exports=function(e,a,n){for(var i=d(a),s=o.f,g=r.f,c=0;c=0||(d[n]=e[n]);return d}(e,a);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(t=0;t=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(d[n]=e[n])}return d}var c=d.a.createContext({}),u=function(e){return function(a){var n=l(a.components);return d.a.createElement(e,o({},a,{components:n}))}},l=function(e){var a=d.a.useContext(c),n=a;return e&&(n="function"==typeof e?e(a):s(s({},a),e)),n},R=function(e){var a=l(e.components);return d.a.createElement(c.Provider,{value:a},e.children)},p={inlineCode:"code",wrapper:function(e){var a=e.children;return d.a.createElement(d.a.Fragment,{},a)}},f=d.a.forwardRef((function(e,a){var n=e.components,t=e.mdxType,r=e.originalType,o=e.parentName,i=g(e,["components","mdxType","originalType","parentName"]),c=l(n),u=t,R=c["".concat(o,".").concat(u)]||c[u]||p[u]||r;return n?d.a.createElement(R,s(s({ref:a},i),{},{components:n})):d.a.createElement(R,s({ref:a},i))}));function h(e,a){var n=arguments,t=a&&a.mdxType;if("string"==typeof e||t){var r=n.length,o=new Array(r);o[0]=f;var i={};for(var s in a)hasOwnProperty.call(a,s)&&(i[s]=a[s]);i.originalType=e,i.mdxType="string"==typeof e?e:t,o[1]=i;for(var g=2;g0){if(++a>=800)return arguments[0]}else a=0;return e.apply(void 0,arguments)}}},"8Gun":function(e,a,n){const t=n("dVj6")();t.addRange(5920,5942),e.exports=t},"8OQS":function(e,a){e.exports=function(e,a){if(null==e)return{};var n,t,d={},r=Object.keys(e);for(t=0;t=0||(d[n]=e[n]);return d},e.exports.__esModule=!0,e.exports.default=e.exports},"8PCV":function(e,a,n){const t=n("dVj6")();t.addRange(73728,74649).addRange(74752,74862).addRange(74864,74868).addRange(74880,75075),e.exports=t},"8Ppc":function(e,a,n){"use strict";var t,d=this&&this.__extends||(t=function(e,a){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,a){e.__proto__=a}||function(e,a){for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])})(e,a)},function(e,a){if("function"!=typeof a&&null!==a)throw new TypeError("Class extends value "+String(a)+" is not a constructor or null");function n(){this.constructor=e}t(e,a),e.prototype=null===a?Object.create(a):(n.prototype=a.prototype,new n)}),r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var a,n=1,t=arguments.length;n-1){a._history.stack=s.slice(0,g+1);var c=a._history.stack.length;if(c>100){var u=c-100;a._history.stack=s.slice(u,c),a._history.offset=Math.max(a._history.offset-u,0)}}var l=Date.now();if(n){var R=a._history.stack[a._history.offset];if(R&&l-R.timestamp<3e3){var p=/[^a-z0-9]([a-z0-9]+)$/i,f=null===(t=a._getLines(R.value,R.selectionStart).pop())||void 0===t?void 0:t.match(p),h=null===(d=a._getLines(e.value,e.selectionStart).pop())||void 0===d?void 0:d.match(p);if((null==f?void 0:f[1])&&(null===(o=null==h?void 0:h[1])||void 0===o?void 0:o.startsWith(f[1])))return void(a._history.stack[a._history.offset]=r(r({},e),{timestamp:l}))}}a._history.stack.push(r(r({},e),{timestamp:l})),a._history.offset++},a._updateInput=function(e){var n=a._input;n&&(n.value=e.value,n.selectionStart=e.selectionStart,n.selectionEnd=e.selectionEnd,a.props.onValueChange(e.value))},a._applyEdits=function(e){var n=a._input,t=a._history.stack[a._history.offset];t&&n&&(a._history.stack[a._history.offset]=r(r({},t),{selectionStart:n.selectionStart,selectionEnd:n.selectionEnd})),a._recordChange(e),a._updateInput(e)},a._undoEdit=function(){var e=a._history,n=e.stack,t=e.offset,d=n[t-1];d&&(a._updateInput(d),a._history.offset=Math.max(t-1,0))},a._redoEdit=function(){var e=a._history,n=e.stack,t=e.offset,d=n[t+1];d&&(a._updateInput(d),a._history.offset=Math.min(t+1,n.length-1))},a._handleKeyDown=function(e){var n=a.props,t=n.tabSize,d=n.insertSpaces,r=n.ignoreTabKey,o=n.onKeyDown;if(!o||(o(e),!e.defaultPrevented)){27===e.keyCode&&e.currentTarget.blur();var i=e.currentTarget,s=i.value,g=i.selectionStart,c=i.selectionEnd,R=(d?" ":"\t").repeat(t);if(9===e.keyCode&&!r&&a.state.capture)if(e.preventDefault(),e.shiftKey){var p=(b=a._getLines(s,g)).length-1,f=a._getLines(s,c).length-1,h=s.split("\n").map((function(e,a){return a>=p&&a<=f&&e.startsWith(R)?e.substring(R.length):e})).join("\n");if(s!==h){var m=b[p];a._applyEdits({value:h,selectionStart:(null==m?void 0:m.startsWith(R))?g-R.length:g,selectionEnd:c-(s.length-h.length)})}}else if(g!==c){var b,y=(b=a._getLines(s,g)).length-1,v=a._getLines(s,c).length-1;m=b[y];a._applyEdits({value:s.split("\n").map((function(e,a){return a>=y&&a<=v?R+e:e})).join("\n"),selectionStart:m&&/\S/.test(m)?g+R.length:g,selectionEnd:c+R.length*(v-y+1)})}else{var j=g+R.length;a._applyEdits({value:s.substring(0,g)+R+s.substring(c),selectionStart:j,selectionEnd:j})}else if(8===e.keyCode){var O=g!==c;if(s.substring(0,g).endsWith(R)&&!O){e.preventDefault();j=g-R.length;a._applyEdits({value:s.substring(0,g-R.length)+s.substring(c),selectionStart:j,selectionEnd:j})}}else if(13===e.keyCode){if(g===c){var _=a._getLines(s,g).pop(),x=null==_?void 0:_.match(/^\s+/);if(null==x?void 0:x[0]){e.preventDefault();var w="\n"+x[0];j=g+w.length;a._applyEdits({value:s.substring(0,g)+w+s.substring(c),selectionStart:j,selectionEnd:j})}}}else if(57===e.keyCode||219===e.keyCode||222===e.keyCode||192===e.keyCode){var E=void 0;57===e.keyCode&&e.shiftKey?E=["(",")"]:219===e.keyCode?E=e.shiftKey?["{","}"]:["[","]"]:222===e.keyCode?E=e.shiftKey?['"','"']:["'","'"]:192!==e.keyCode||e.shiftKey||(E=["`","`"]),g!==c&&E&&(e.preventDefault(),a._applyEdits({value:s.substring(0,g)+E[0]+s.substring(g,c)+E[1]+s.substring(c),selectionStart:g,selectionEnd:c+2}))}else!(l?e.metaKey&&90===e.keyCode:e.ctrlKey&&90===e.keyCode)||e.shiftKey||e.altKey?(l?e.metaKey&&90===e.keyCode&&e.shiftKey:u?e.ctrlKey&&89===e.keyCode:e.ctrlKey&&90===e.keyCode&&e.shiftKey)&&!e.altKey?(e.preventDefault(),a._redoEdit()):77!==e.keyCode||!e.ctrlKey||l&&!e.shiftKey||(e.preventDefault(),a.setState((function(e){return{capture:!e.capture}}))):(e.preventDefault(),a._undoEdit())}},a._handleChange=function(e){var n=e.currentTarget,t=n.value,d=n.selectionStart,r=n.selectionEnd;a._recordChange({value:t,selectionStart:d,selectionEnd:r},!0),a.props.onValueChange(t)},a._history={stack:[],offset:-1},a._input=null,a}return d(a,e),a.prototype.componentDidMount=function(){this._recordCurrentState()},Object.defineProperty(a.prototype,"session",{get:function(){return{history:this._history}},set:function(e){this._history=e.history},enumerable:!1,configurable:!0}),a.prototype.render=function(){var e=this,a=this.props,n=a.value,t=a.style,d=a.padding,o=a.highlight,i=a.textareaId,s=a.textareaClassName,u=a.autoFocus,l=a.disabled,f=a.form,m=a.maxLength,b=a.minLength,y=a.name,v=a.placeholder,j=a.readOnly,O=a.required,_=a.onClick,x=a.onFocus,w=a.onBlur,E=a.onKeyUp,k=(a.onKeyDown,a.onValueChange,a.tabSize,a.insertSpaces,a.ignoreTabKey,a.preClassName),S=g(a,["value","style","padding","highlight","textareaId","textareaClassName","autoFocus","disabled","form","maxLength","minLength","name","placeholder","readOnly","required","onClick","onFocus","onBlur","onKeyUp","onKeyDown","onValueChange","tabSize","insertSpaces","ignoreTabKey","preClassName"]),D={paddingTop:d,paddingRight:d,paddingBottom:d,paddingLeft:d},A=o(n);return c.createElement("div",r({},S,{style:r(r({},h.container),t)}),c.createElement("textarea",{ref:function(a){return e._input=a},style:r(r(r({},h.editor),h.textarea),D),className:R+(s?" ".concat(s):""),id:i,value:n,onChange:this._handleChange,onKeyDown:this._handleKeyDown,onClick:_,onKeyUp:E,onFocus:x,onBlur:w,disabled:l,form:f,maxLength:m,minLength:b,name:y,placeholder:v,readOnly:j,required:O,autoFocus:u,autoCapitalize:"off",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"data-gramm":!1}),c.createElement("pre",r({className:k,"aria-hidden":"true",style:r(r(r({},h.editor),h.highlight),D)},"string"==typeof A?{dangerouslySetInnerHTML:{__html:A+"
"}}:{children:A})),c.createElement("style",{type:"text/css",dangerouslySetInnerHTML:{__html:p}}))},a.defaultProps={tabSize:2,insertSpaces:!0,ignoreTabKey:!1,padding:0},a}(c.Component);a.default=f;var h={container:{position:"relative",textAlign:"left",boxSizing:"border-box",padding:0,overflow:"hidden"},textarea:{position:"absolute",top:0,left:0,height:"100%",width:"100%",resize:"none",color:"inherit",overflow:"hidden",MozOsxFontSmoothing:"grayscale",WebkitFontSmoothing:"antialiased",WebkitTextFillColor:"transparent"},highlight:{position:"relative",pointerEvents:"none"},editor:{margin:0,border:0,background:"none",boxSizing:"inherit",display:"inherit",fontFamily:"inherit",fontSize:"inherit",fontStyle:"inherit",fontVariantLigatures:"inherit",fontWeight:"inherit",letterSpacing:"inherit",lineHeight:"inherit",tabSize:"inherit",textIndent:"inherit",textRendering:"inherit",textTransform:"inherit",whiteSpace:"pre-wrap",wordBreak:"keep-all",overflowWrap:"break-word"}}},"8fW5":function(e,a,n){const t=n("dVj6")();t.addRange(72816,72847).addRange(72850,72871).addRange(72873,72886),e.exports=t},"8goA":function(e,a,n){const t=n("dVj6")();t.addRange(67648,67669).addRange(67671,67679),e.exports=t},"8nCx":function(e,a,n){const t=n("dVj6")(1548,1563,1567);t.addRange(1632,1641).addRange(69248,69289).addRange(69291,69293).addRange(69296,69297),e.exports=t},"9/o/":function(e,a,n){const t=n("dVj6")(5919);t.addRange(5888,5909).addRange(5941,5942),e.exports=t},"93I0":function(e,a,n){var t=n("VpIT"),d=n("kOOl"),r=t("keys");e.exports=function(e){return r[e]||(r[e]=d(e))}},"94VI":function(e,a){a.polyfill=e=>e},"96ys":function(e,a,n){const t=n("dVj6")();t.addRange(72384,72440),e.exports=t},"99Ms":function(e,a,n){var t=n("s0N+"),d=n("88Gu")(t);e.exports=d},"9H8i":function(e,a,n){const t=n("dVj6")(5919);t.addRange(5888,5909),e.exports=t},"9H9O":function(e,a,n){const t=n("dVj6")(12293,12295);t.addRange(11904,11929).addRange(11931,12019).addRange(12032,12245).addRange(12321,12329).addRange(12344,12347).addRange(13312,19903).addRange(19968,40959).addRange(63744,64109).addRange(64112,64217).addRange(94178,94179).addRange(94192,94193).addRange(131072,173791).addRange(173824,177976).addRange(177984,178205).addRange(178208,183969).addRange(183984,191456).addRange(194560,195101).addRange(196608,201546),e.exports=t},"9LXj":function(e,a,n){const t=n("dVj6")();t.addRange(2534,2543).addRange(4160,4169).addRange(69888,69940).addRange(69942,69959),e.exports=t},"9NKt":function(e,a){e.exports="14.0.0"},"9Nap":function(e,a,n){var t=n("/9aa");e.exports=function(e){if("string"==typeof e||t(e))return e;var a=e+"";return"0"==a&&1/e==-1/0?"-0":a}},"9NmV":function(e,a){var n="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",t="["+n+"]",d="\\d+",r="[\\u2700-\\u27bf]",o="[a-z\\xdf-\\xf6\\xf8-\\xff]",i="[^\\ud800-\\udfff"+n+d+"\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde]",s="(?:\\ud83c[\\udde6-\\uddff]){2}",g="[\\ud800-\\udbff][\\udc00-\\udfff]",c="[A-Z\\xc0-\\xd6\\xd8-\\xde]",u="(?:"+o+"|"+i+")",l="(?:"+c+"|"+i+")",R="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?",p="[\\ufe0e\\ufe0f]?"+R+("(?:\\u200d(?:"+["[^\\ud800-\\udfff]",s,g].join("|")+")[\\ufe0e\\ufe0f]?"+R+")*"),f="(?:"+[r,s,g].join("|")+")"+p,h=RegExp([c+"?"+o+"+(?:['’](?:d|ll|m|re|s|t|ve))?(?="+[t,c,"$"].join("|")+")",l+"+(?:['’](?:D|LL|M|RE|S|T|VE))?(?="+[t,c+u,"$"].join("|")+")",c+"?"+u+"+(?:['’](?:d|ll|m|re|s|t|ve))?",c+"+(?:['’](?:D|LL|M|RE|S|T|VE))?","\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",d,f].join("|"),"g");e.exports=function(e){return e.match(h)||[]}},"9Ubl":function(e,a,n){"use strict";n.r(a);var t=n("XHv3"),d=n("q1tI");a.default={PlatformInstall:t.b,Tanka:t.c,Jb:t.a,React:d}},"9VM+":function(e,a,n){const t=n("dVj6")(1600);t.addRange(69424,69465),e.exports=t},"9Xx/":function(e,a,n){"use strict";n.d(a,"c",(function(){return s})),n.d(a,"d",(function(){return g})),n.d(a,"a",(function(){return r})),n.d(a,"b",(function(){return o}));var t=Object.assign||function(e){for(var a=1;a1&&void 0!==arguments[1]?arguments[1]:{},g=s.state,c=s.replace,u=void 0!==c&&c;if("number"==typeof a)e.history.go(a);else{g=t({},g,{key:Date.now()+""});try{o||u?e.history.replaceState(g,null,a):e.history.pushState(g,null,a)}catch(R){e.location[u?"replace":"assign"](a)}}r=d(e),o=!0;var l=new Promise((function(e){return i=e}));return n.forEach((function(e){return e({location:r,action:"PUSH"})})),l}}},o=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/",a=e.indexOf("?"),n={pathname:a>-1?e.substr(0,a):e,search:a>-1?e.substr(a):""},t=0,d=[n],r=[null];return{get location(){return d[t]},addEventListener:function(e,a){},removeEventListener:function(e,a){},history:{get entries(){return d},get index(){return t},get state(){return r[t]},pushState:function(e,a,n){var o=n.split("?"),i=o[0],s=o[1],g=void 0===s?"":s;t++,d.push({pathname:i,search:g.length?"?"+g:g}),r.push(e)},replaceState:function(e,a,n){var o=n.split("?"),i=o[0],s=o[1],g=void 0===s?"":s;d[t]={pathname:i,search:g},r[t]=e},go:function(e){var a=t+e;a<0||a>r.length-1||(t=a)}}}},i=!("undefined"==typeof window||!window.document||!window.document.createElement),s=r(i?window:o()),g=s.navigate},"9Z7h":function(e,a,n){const t=n("dVj6")();t.addRange(72096,72103).addRange(72106,72151).addRange(72154,72164),e.exports=t},"9d/t":function(e,a,n){var t=n("AO7/"),d=n("Fib7"),r=n("xrYK"),o=n("tiKp")("toStringTag"),i=Object,s="Arguments"==r(function(){return arguments}());e.exports=t?r:function(e){var a,n,t;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=function(e,a){try{return e[a]}catch(n){}}(a=i(e),o))?n:s?r(a):"Object"==(t=r(a))&&d(a.callee)?"Arguments":t}},"9ggG":function(e,a,n){var t=n("Z0cm"),d=n("/9aa"),r=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,o=/^\w*$/;e.exports=function(e,a){if(t(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!d(e))||(o.test(e)||!r.test(e)||null!=a&&e in Object(a))}},"9hXx":function(e,a,n){"use strict";a.__esModule=!0,a.default=void 0;a.default=function(e,a){if(!Array.isArray(a))return"manifest.webmanifest";var n=a.find((function(a){return e.startsWith(a.start_url)}));return n?"manifest_"+n.lang+".webmanifest":"manifest.webmanifest"}},"9jCe":function(e,a,n){const t=n("dVj6")(2620,2641,2654);t.addRange(2385,2386).addRange(2404,2405).addRange(2561,2563).addRange(2565,2570).addRange(2575,2576).addRange(2579,2600).addRange(2602,2608).addRange(2610,2611).addRange(2613,2614).addRange(2616,2617).addRange(2622,2626).addRange(2631,2632).addRange(2635,2637).addRange(2649,2652).addRange(2662,2678).addRange(43056,43065),e.exports=t},"9mTJ":function(e,a,n){const t=n("dVj6")();t.addRange(3585,3642).addRange(3648,3675),e.exports=t},"9nmK":function(e,a,n){"use strict";Object.defineProperty(a,"__esModule",{value:!0});var t=function(){function e(e,a){for(var n=0;n ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( *)(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:/^ *(?:comment *(?:\n|\s*$)|closed *(?:\n{2,}|\s*$)|closing *(?:\n{2,}|\s*$))/,def:/^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,table:f,lheading:/^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/,paragraph:/^([^\n]+(?:\n?(?!hr|heading|lheading| {0,3}>|tag)[^\n]+)+)/,text:/^[^\n]+/};function t(e){this.tokens=[],this.tokens.links={},this.options=e||m.defaults,this.rules=n.normal,this.options.gfm&&(this.options.tables?this.rules=n.tables:this.rules=n.gfm)}n._label=/(?:\\[\[\]]|[^\[\]])+/,n._title=/(?:"(?:\\"|[^"]|"[^"\n]*")*"|'\n?(?:[^'\n]+\n?)*'|\([^()]*\))/,n.def=u(n.def).replace("label",n._label).replace("title",n._title).getRegex(),n.bullet=/(?:[*+-]|\d+\.)/,n.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/,n.item=u(n.item,"gm").replace(/bull/g,n.bullet).getRegex(),n.list=u(n.list).replace(/bull/g,n.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+n.def.source+")").getRegex(),n._tag="(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b",n.html=u(n.html).replace("comment",//).replace("closed",/<(tag)[\s\S]+?<\/\1>/).replace("closing",/\s]*)*?\/?>/).replace(/tag/g,n._tag).getRegex(),n.paragraph=u(n.paragraph).replace("hr",n.hr).replace("heading",n.heading).replace("lheading",n.lheading).replace("tag","<"+n._tag).getRegex(),n.blockquote=u(n.blockquote).replace("paragraph",n.paragraph).getRegex(),n.normal=h({},n),n.gfm=h({},n.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\n? *\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}),n.gfm.paragraph=u(n.paragraph).replace("(?!","(?!"+n.gfm.fences.source.replace("\\1","\\2")+"|"+n.list.source.replace("\\1","\\3")+"|").getRegex(),n.tables=h({},n.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/}),t.rules=n,t.lex=function(e,a){return new t(a).lex(e)},t.prototype.lex=function(e){return e=e.replace(/\r\n|\r/g,"\n").replace(/\t/g," ").replace(/\u00a0/g," ").replace(/\u2424/g,"\n"),this.token(e,!0)},t.prototype.token=function(e,a){var t,d,r,o,i,s,g,c,u,l,R;for(e=e.replace(/^ +$/gm,"");e;)if((r=this.rules.newline.exec(e))&&(e=e.substring(r[0].length),r[0].length>1&&this.tokens.push({type:"space"})),r=this.rules.code.exec(e))e=e.substring(r[0].length),r=r[0].replace(/^ {4}/gm,""),this.tokens.push({type:"code",text:this.options.pedantic?r:r.replace(/\n+$/,"")});else if(r=this.rules.fences.exec(e))e=e.substring(r[0].length),this.tokens.push({type:"code",lang:r[2],text:r[3]||""});else if(r=this.rules.heading.exec(e))e=e.substring(r[0].length),this.tokens.push({type:"heading",depth:r[1].length,text:r[2]});else if(a&&(r=this.rules.nptable.exec(e))){for(e=e.substring(r[0].length),s={type:"table",header:r[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:r[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:r[3].replace(/\n$/,"").split("\n")},c=0;c ?/gm,""),this.token(r,a),this.tokens.push({type:"blockquote_end"});else if(r=this.rules.list.exec(e)){for(e=e.substring(r[0].length),R=(o=r[2]).length>1,this.tokens.push({type:"list_start",ordered:R,start:R?+o:""}),t=!1,l=(r=r[0].match(this.rules.item)).length,c=0;c1&&i.length>1||(e=r.slice(c+1).join("\n")+e,c=l-1)),d=t||/\n\n(?!\s*$)/.test(s),c!==l-1&&(t="\n"===s.charAt(s.length-1),d||(d=t)),this.tokens.push({type:d?"loose_item_start":"list_item_start"}),this.token(s,!1),this.tokens.push({type:"list_item_end"});this.tokens.push({type:"list_end"})}else if(r=this.rules.html.exec(e))e=e.substring(r[0].length),this.tokens.push({type:this.options.sanitize?"paragraph":"html",pre:!this.options.sanitizer&&("pre"===r[1]||"script"===r[1]||"style"===r[1]),text:r[0]});else if(a&&(r=this.rules.def.exec(e)))e=e.substring(r[0].length),r[3]&&(r[3]=r[3].substring(1,r[3].length-1)),u=r[1].toLowerCase(),this.tokens.links[u]||(this.tokens.links[u]={href:r[2],title:r[3]});else if(a&&(r=this.rules.table.exec(e))){for(e=e.substring(r[0].length),s={type:"table",header:r[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:r[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:r[3].replace(/(?: *\| *)?\n$/,"").split("\n")},c=0;c])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:f,tag:/^|^<\/?[a-zA-Z0-9\-]+(?:"[^"]*"|'[^']*'|\s[^<'">\/\s]*)*?\/?>/,link:/^!?\[(inside)\]\(href\)/,reflink:/^!?\[(inside)\]\s*\[([^\]]*)\]/,nolink:/^!?\[((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\]/,strong:/^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/,em:/^_([^\s_](?:[^_]|__)+?[^\s_])_\b|^\*((?:\*\*|[^*])+?)\*(?!\*)/,code:/^(`+)\s*([\s\S]*?[^`]?)\s*\1(?!`)/,br:/^ {2,}\n(?!\s*$)/,del:f,text:/^[\s\S]+?(?=[\\/g,">").replace(/"/g,""").replace(/'/g,"'")}function c(e){return e.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi,(function(e,a){return"colon"===(a=a.toLowerCase())?":":"#"===a.charAt(0)?"x"===a.charAt(1)?String.fromCharCode(parseInt(a.substring(2),16)):String.fromCharCode(+a.substring(1)):""}))}function u(e,a){return e=e.source,a=a||"",{replace:function(a,n){return n=(n=n.source||n).replace(/(^|[^\[])\^/g,"$1"),e=e.replace(a,n),this},getRegex:function(){return new RegExp(e,a)}}}function l(e,a){return R[" "+e]||(/^[^:]+:\/*[^/]*$/.test(e)?R[" "+e]=e+"/":R[" "+e]=e.replace(/[^/]*$/,"")),e=R[" "+e],"//"===a.slice(0,2)?e.replace(/:[\s\S]*/,":")+a:"/"===a.charAt(0)?e.replace(/(:\/*[^/]*)[\s\S]*/,"$1")+a:e+a}d._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,d._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,d.autolink=u(d.autolink).replace("scheme",d._scheme).replace("email",d._email).getRegex(),d._inside=/(?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]]|\](?=[^\[]*\]))*/,d._href=/\s*?(?:\s+['"]([\s\S]*?)['"])?\s*/,d.link=u(d.link).replace("inside",d._inside).replace("href",d._href).getRegex(),d.reflink=u(d.reflink).replace("inside",d._inside).getRegex(),d.normal=h({},d),d.pedantic=h({},d.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/}),d.gfm=h({},d.normal,{escape:u(d.escape).replace("])","~|])").getRegex(),url:u(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("email",d._email).getRegex(),_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:u(d.text).replace("]|","~]|").replace("|","|https?://|ftp://|www\\.|[a-zA-Z0-9.!#$%&'*+/=?^_`{\\|}~-]+@|").getRegex()}),d.breaks=h({},d.gfm,{br:u(d.br).replace("{2,}","*").getRegex(),text:u(d.gfm.text).replace("{2,}","*").getRegex()}),r.rules=d,r.output=function(e,a,n){return new r(a,n).output(e)},r.prototype.output=function(e){for(var a,n,t,d,r="";e;)if(d=this.rules.escape.exec(e))e=e.substring(d[0].length),r+=d[1];else if(d=this.rules.autolink.exec(e))e=e.substring(d[0].length),t="@"===d[2]?"mailto:"+(n=g(this.mangle(d[1]))):n=g(d[1]),r+=this.renderer.link(t,null,n);else if(this.inLink||!(d=this.rules.url.exec(e))){if(d=this.rules.tag.exec(e))!this.inLink&&/^/i.test(d[0])&&(this.inLink=!1),e=e.substring(d[0].length),r+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(d[0]):g(d[0]):d[0];else if(d=this.rules.link.exec(e))e=e.substring(d[0].length),this.inLink=!0,r+=this.outputLink(d,{href:d[2],title:d[3]}),this.inLink=!1;else if((d=this.rules.reflink.exec(e))||(d=this.rules.nolink.exec(e))){if(e=e.substring(d[0].length),a=(d[2]||d[1]).replace(/\s+/g," "),!(a=this.links[a.toLowerCase()])||!a.href){r+=d[0].charAt(0),e=d[0].substring(1)+e;continue}this.inLink=!0,r+=this.outputLink(d,a),this.inLink=!1}else if(d=this.rules.strong.exec(e))e=e.substring(d[0].length),r+=this.renderer.strong(this.output(d[2]||d[1]));else if(d=this.rules.em.exec(e))e=e.substring(d[0].length),r+=this.renderer.em(this.output(d[2]||d[1]));else if(d=this.rules.code.exec(e))e=e.substring(d[0].length),r+=this.renderer.codespan(g(d[2].trim(),!0));else if(d=this.rules.br.exec(e))e=e.substring(d[0].length),r+=this.renderer.br();else if(d=this.rules.del.exec(e))e=e.substring(d[0].length),r+=this.renderer.del(this.output(d[1]));else if(d=this.rules.text.exec(e))e=e.substring(d[0].length),r+=this.renderer.text(g(this.smartypants(d[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else d[0]=this.rules._backpedal.exec(d[0])[0],e=e.substring(d[0].length),"@"===d[2]?t="mailto:"+(n=g(d[0])):(n=g(d[0]),t="www."===d[1]?"http://"+n:n),r+=this.renderer.link(t,null,n);return r},r.prototype.outputLink=function(e,a){var n=g(a.href),t=a.title?g(a.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(n,t,this.output(e[1])):this.renderer.image(n,t,g(e[1]))},r.prototype.smartypants=function(e){return this.options.smartypants?e.replace(/---/g,"—").replace(/--/g,"–").replace(/(^|[-\u2014/(\[{"\s])'/g,"$1‘").replace(/'/g,"’").replace(/(^|[-\u2014/(\[{\u2018\s])"/g,"$1“").replace(/"/g,"”").replace(/\.{3}/g,"…"):e},r.prototype.mangle=function(e){if(!this.options.mangle)return e;for(var a,n="",t=e.length,d=0;d.5&&(a="x"+a.toString(16)),n+="&#"+a+";";return n},o.prototype.code=function(e,a,n){if(this.options.highlight){var t=this.options.highlight(e,a);null!=t&&t!==e&&(n=!0,e=t)}return a?'
'+(n?e:g(e,!0))+"\n
\n":"
"+(n?e:g(e,!0))+"\n
"},o.prototype.blockquote=function(e){return"
\n"+e+"
\n"},o.prototype.html=function(e){return e},o.prototype.heading=function(e,a,n){return"'+e+"\n"},o.prototype.hr=function(){return this.options.xhtml?"
\n":"
\n"},o.prototype.list=function(e,a,n){var t=a?"ol":"ul";return"<"+t+(a&&1!==n?' start="'+n+'"':"")+">\n"+e+"\n"},o.prototype.listitem=function(e){return"
  • "+e+"
  • \n"},o.prototype.paragraph=function(e){return"

    "+e+"

    \n"},o.prototype.table=function(e,a){return"\n\n"+e+"\n\n"+a+"\n
    \n"},o.prototype.tablerow=function(e){return"\n"+e+"\n"},o.prototype.tablecell=function(e,a){var n=a.header?"th":"td";return(a.align?"<"+n+' style="text-align:'+a.align+'">':"<"+n+">")+e+"\n"},o.prototype.strong=function(e){return""+e+""},o.prototype.em=function(e){return""+e+""},o.prototype.codespan=function(e){return""+e+""},o.prototype.br=function(){return this.options.xhtml?"
    ":"
    "},o.prototype.del=function(e){return""+e+""},o.prototype.link=function(e,a,n){if(this.options.sanitize){try{var t=decodeURIComponent(c(e)).replace(/[^\w:]/g,"").toLowerCase()}catch(r){return n}if(0===t.indexOf("javascript:")||0===t.indexOf("vbscript:")||0===t.indexOf("data:"))return n}this.options.baseUrl&&!p.test(e)&&(e=l(this.options.baseUrl,e));var d='
    "},o.prototype.image=function(e,a,n){this.options.baseUrl&&!p.test(e)&&(e=l(this.options.baseUrl,e));var t=''+n+'":">"},o.prototype.text=function(e){return e},i.prototype.strong=i.prototype.em=i.prototype.codespan=i.prototype.del=i.prototype.text=function(e){return e},i.prototype.link=i.prototype.image=function(e,a,n){return""+n},i.prototype.br=function(){return""},s.parse=function(e,a){return new s(a).parse(e)},s.prototype.parse=function(e){this.inline=new r(e.links,this.options),this.inlineText=new r(e.links,h({},this.options,{renderer:new i})),this.tokens=e.reverse();for(var a="";this.next();)a+=this.tok();return a},s.prototype.next=function(){return this.token=this.tokens.pop()},s.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},s.prototype.parseText=function(){for(var e=this.token.text;"text"===this.peek().type;)e+="\n"+this.next().text;return this.inline.output(e)},s.prototype.tok=function(){switch(this.token.type){case"space":return"";case"hr":return this.renderer.hr();case"heading":return this.renderer.heading(this.inline.output(this.token.text),this.token.depth,c(this.inlineText.output(this.token.text)));case"code":return this.renderer.code(this.token.text,this.token.lang,this.token.escaped);case"table":var e,a,n,t,d="",r="";for(n="",e=0;eAn error occurred:

    "+g(u.message+"",!0)+"
    ";throw u}}f.exec=f,m.options=m.setOptions=function(e){return h(m.defaults,e),m},m.defaults={gfm:!0,tables:!0,breaks:!1,pedantic:!1,sanitize:!1,sanitizer:null,mangle:!0,smartLists:!1,silent:!1,highlight:null,langPrefix:"lang-",smartypants:!1,headerPrefix:"",renderer:new o,xhtml:!1,baseUrl:null},m.Parser=s,m.parser=s.parse,m.Renderer=o,m.TextRenderer=i,m.Lexer=t,m.lexer=t.lex,m.InlineLexer=r,m.inlineLexer=r.output,m.parse=m,e.exports=m}(this||"undefined"!=typeof window&&window)}).call(this,n("yLpj"))},Dm2Y:function(e,a,n){const t=n("dVj6")();t.addRange(5792,5866).addRange(5870,5880),e.exports=t},Dpr8:function(e,a,n){const t=n("dVj6")();t.addRange(123136,123180).addRange(123184,123197).addRange(123200,123209).addRange(123214,123215),e.exports=t},DusV:function(e,a,n){const t=n("dVj6")(171,8216,8223,8249,11778,11780,11785,11788,11804,11808);t.addRange(8219,8220),e.exports=t},"Dw+G":function(e,a,n){var t=n("juv8"),d=n("mTTR");e.exports=function(e,a){return e&&t(a,d(a),e)}},DzJC:function(e,a,n){var t=n("sEfC"),d=n("GoyQ");e.exports=function(e,a,n){var r=!0,o=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return d(n)&&(r="leading"in n?!!n.leading:r,o="trailing"in n?!!n.trailing:o),t(e,a,{leading:r,maxWait:a,trailing:o})}},E2jh:function(e,a,n){var t,d=n("2gN3"),r=(t=/[^.]+$/.exec(d&&d.keys&&d.keys.IE_PROTO||""))?"Symbol(src)_1."+t:"";e.exports=function(e){return!!r&&r in e}},E9LY:function(e,a,n){var t=n("4zBA"),d=n("0Dky"),r=n("Fib7"),o=n("Gi26"),i=n("g6v/"),s=n("Xnc8").CONFIGURABLE,g=n("iSVu"),c=n("afO8"),u=c.enforce,l=c.get,R=String,p=Object.defineProperty,f=t("".slice),h=t("".replace),m=t([].join),b=i&&!d((function(){return 8!==p((function(){}),"length",{value:8}).length})),y=String(String).split("String"),v=e.exports=function(e,a,n){"Symbol("===f(R(a),0,7)&&(a="["+h(R(a),/^Symbol\(([^)]*)\)/,"$1")+"]"),n&&n.getter&&(a="get "+a),n&&n.setter&&(a="set "+a),(!o(e,"name")||s&&e.name!==a)&&(i?p(e,"name",{value:a,configurable:!0}):e.name=a),b&&n&&o(n,"arity")&&e.length!==n.arity&&p(e,"length",{value:n.arity});try{n&&o(n,"constructor")&&n.constructor?i&&p(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch(d){}var t=u(e);return o(t,"source")||(t.source=m(y,"string"==typeof a?a:"")),e};Function.prototype.toString=v((function(){return r(this)&&l(this).source||g(this)}),"toString")},EA7m:function(e,a,n){var t=n("zZ0H"),d=n("Ioao"),r=n("wclG");e.exports=function(e,a){return r(d(e,a,t),e+"")}},EEGq:function(e,a,n){var t=n("juv8"),d=n("oCl/");e.exports=function(e,a){return t(e,d(e),a)}},EJMw:function(e,a,n){const t=n("dVj6")();t.addRange(92928,92997).addRange(93008,93017).addRange(93019,93025).addRange(93027,93047).addRange(93053,93071),e.exports=t},ELeP:function(e,a,n){const t=n("dVj6")(123647);t.addRange(123584,123641),e.exports=t},EN1A:function(e,a,n){"use strict";n.d(a,"a",(function(){return R}));var t=n("rePB"),d=n("qKvR"),r=(n("q1tI"),n("52AM")),o=n("PT20");function i(e,a){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),n.push.apply(n,t)}return n}function s(e){for(var a=1;aObject(d.d)("div",{css:c},Object(d.d)("div",{css:g},Object(d.d)("h1",{css:u},"Define. Reuse. Override."),Object(d.d)("p",null,"Grafana Tanka is the robust configuration utility for your"," ",Object(d.d)("a",{href:"https://kubernetes.io"},"Kubernetes")," cluster, powered by the unique ",Object(d.d)("a",{href:"https://jsonnet.org"},"Jsonnet")," language"),Object(d.d)("div",{css:l},Object(d.d)(f,{to:"/install"},"Install"),Object(d.d)(f,{to:"/tutorial/overview"},"Tutorial"))),Object(d.d)("div",{css:Object(d.c)(s(s({},g),{},{flexBasis:"calc(50% - 2em)",overflowX:"hidden",pre:{marginTop:0,marginBottom:0}}),"","")},Object(d.d)(o.default,null),Object(d.d)("small",null,"Kubernetes Deployment. That's all it takes.")));void 0!==R&&R&&R===Object(R)&&Object.isExtensible(R)&&!Object.prototype.hasOwnProperty.call(R,"__filemeta")&&Object.defineProperty(R,"__filemeta",{configurable:!0,value:{name:"Catcher",filename:"src/components/home/index.js"}}),void 0!==R&&R&&R===Object(R)&&Object.isExtensible(R)&&!Object.prototype.hasOwnProperty.call(R,"__filemeta")&&Object.defineProperty(R,"__filemeta",{configurable:!0,value:{name:"Catcher",filename:"src/components/home/index.js"}});var p={name:"r1396k",styles:"margin-left:1em;text-decoration:none;color:white;background:#0B5FFF;padding:.5em;justify-content:center;display:flex;flex-grow:1;border-radius:5px;border:2px solid #0B5FFF;:hover{background:white;color:#0B5FFF;}"};const f=e=>{let{to:a,children:n}=e;return Object(d.d)(r.b,{css:p,to:a},n)}},EO6k:function(e,a,n){e.exports=n("msqZ")},ERuW:function(e,a,n){var t=n("JbSc"),d=Object.prototype.hasOwnProperty;e.exports=function(e){for(var a=e.name+"",n=t[a],r=d.call(t,a)?n.length:0;r--;){var o=n[r],i=o.func;if(null==i||i==e)return o.name}return a}},EVgB:function(e,a,n){const t=n("dVj6")();t.addRange(66688,66717).addRange(66720,66729),e.exports=t},"Eb/5":function(e,a,n){"use strict";Object.defineProperty(a,"__esModule",{value:!0});a.LARGER_DISPLAY_WIDTH="1600px",a.LARGE_DISPLAY_WIDTH="1280px",a.DEFAULT_WIDTH="980px",a.TABLET_WIDTH="768px",a.MOBILE_WIDTH="480px",a.LARGER_DISPLAY_MEDIA_QUERY="@media only screen and (max-width:1600px)",a.LARGE_DISPLAY_MEDIA_QUERY="@media only screen and (max-width:1280px)",a.DEFAULT_MEDIA_QUERY="@media only screen and (max-width:980px)",a.TABLET_MEDIA_QUERY="@media only screen and (max-width:768px)",a.MOBILE_MEDIA_QUERY="@media only screen and (max-width:480px)",a.MIN_LARGER_DISPLAY_MEDIA_QUERY="@media (min-width:1600px)",a.MIN_LARGE_DISPLAY_MEDIA_QUERY="@media (min-width:1280px)",a.MIN_DEFAULT_MEDIA_QUERY="@media (min-width:980px)",a.MIN_TABLET_MEDIA_QUERY="@media (min-width:768px)",a.MIN_MOBILE_MEDIA_QUERY="@media (min-width:480px)"},EkIy:function(e,a,n){const t=n("dVj6")();t.addRange(43264,43311),e.exports=t},EldB:function(e,a,n){var t=n("dTAl"),d=n("GoyQ");e.exports=function(e){return function(){var a=arguments;switch(a.length){case 0:return new e;case 1:return new e(a[0]);case 2:return new e(a[0],a[1]);case 3:return new e(a[0],a[1],a[2]);case 4:return new e(a[0],a[1],a[2],a[3]);case 5:return new e(a[0],a[1],a[2],a[3],a[4]);case 6:return new e(a[0],a[1],a[2],a[3],a[4],a[5]);case 7:return new e(a[0],a[1],a[2],a[3],a[4],a[5],a[6])}var n=t(e.prototype),r=e.apply(n,a);return d(r)?r:n}}},Enzk:function(e,a,n){"use strict";var t=n("284h"),d=n("TqRt");a.__esModule=!0,a.ScrollHandler=a.ScrollContext=void 0;var r=d(n("PJYZ")),o=d(n("VbXa")),i=t(n("q1tI")),s=d(n("17x9")),g=n("/hTd"),c=i.createContext(new g.SessionStorage);a.ScrollContext=c,c.displayName="GatsbyScrollContext";var u=function(e){function a(){for(var a,n=arguments.length,t=new Array(n),d=0;d=0||(d[n]=e[n]);return d}(e,a);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(t=0;t=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(d[n]=e[n])}return d}n.d(a,"a",(function(){return t}))},Fib7:function(e,a,n){var t=n("jqES"),d=t.all;e.exports=t.IS_HTMLDDA?function(e){return"function"==typeof e||e===d}:function(e){return"function"==typeof e}},Fl1y:function(e,a){e.exports=function(e,a){return null==e||e!=e?a:e}},FvNL:function(e,a,n){const t=n("dVj6")(64975,126500,126503,126521,126523,126530,126535,126537,126539,126548,126551,126553,126555,126557,126559,126564,126590);t.addRange(1536,1540).addRange(1542,1547).addRange(1549,1562).addRange(1564,1566).addRange(1568,1599).addRange(1601,1610).addRange(1622,1647).addRange(1649,1756).addRange(1758,1791).addRange(1872,1919).addRange(2160,2190).addRange(2192,2193).addRange(2200,2273).addRange(2275,2303).addRange(64336,64450).addRange(64467,64829).addRange(64832,64911).addRange(64914,64967).addRange(65008,65023).addRange(65136,65140).addRange(65142,65276).addRange(69216,69246).addRange(126464,126467).addRange(126469,126495).addRange(126497,126498).addRange(126505,126514).addRange(126516,126519).addRange(126541,126543).addRange(126545,126546).addRange(126561,126562).addRange(126567,126570).addRange(126572,126578).addRange(126580,126583).addRange(126585,126588).addRange(126592,126601).addRange(126603,126619).addRange(126625,126627).addRange(126629,126633).addRange(126635,126651).addRange(126704,126705),e.exports=t},G1tY:function(e,a,n){const t=n("dVj6")();t.addRange(93952,94026).addRange(94031,94087).addRange(94095,94111),e.exports=t},G6z8:function(e,a,n){var t=n("fR/l"),d=n("oCl/"),r=n("mTTR");e.exports=function(e){return t(e,r,d)}},GC2F:function(e,a,n){var t=n("+M1K"),d=RangeError;e.exports=function(e,a){var n=t(e);if(n%a)throw d("Wrong offset");return n}},GDhZ:function(e,a,n){var t=n("wF/u"),d=n("mwIZ"),r=n("hgQt"),o=n("9ggG"),i=n("CMye"),s=n("IOzZ"),g=n("9Nap");e.exports=function(e,a){return o(e)&&i(a)?s(g(e),a):function(n){var o=d(n,e);return void 0===o&&o===a?r(n,e):t(a,o,3)}}},GI2u:function(e,a,n){const t=n("dVj6")();t.addRange(2404,2405).addRange(43056,43065).addRange(70320,70378).addRange(70384,70393),e.exports=t},GNiM:function(e,a,n){var t=n("I01J"),d=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,r=/\\(\\)?/g,o=t((function(e){var a=[];return 46===e.charCodeAt(0)&&a.push(""),e.replace(d,(function(e,n,t,d){a.push(t?d.replace(r,"$1"):n||e)})),a}));e.exports=o},GS9R:function(e,a,n){const t=n("dVj6")();t.addRange(57344,63743).addRange(983040,1048573).addRange(1048576,1114109),e.exports=t},GcGr:function(e,a,n){const t=n("dVj6")();t.addRange(68352,68405).addRange(68409,68415),e.exports=t},Gi0A:function(e,a,n){var t=n("QqLw"),d=n("ExA7");e.exports=function(e){return d(e)&&"[object Map]"==t(e)}},Gi26:function(e,a,n){var t=n("4zBA"),d=n("ewvW"),r=t({}.hasOwnProperty);e.exports=Object.hasOwn||function(e,a){return r(d(e),a)}},GoyQ:function(e,a){e.exports=function(e){var a=typeof e;return null!=e&&("object"==a||"function"==a)}},GsYE:function(e,a,n){const t=n("dVj6")();t.addRange(71424,71450).addRange(71453,71467).addRange(71472,71494),e.exports=t},Gytx:function(e,a){e.exports=function(e,a,n,t){var d=n?n.call(t,e,a):void 0;if(void 0!==d)return!!d;if(e===a)return!0;if("object"!=typeof e||!e||"object"!=typeof a||!a)return!1;var r=Object.keys(e),o=Object.keys(a);if(r.length!==o.length)return!1;for(var i=Object.prototype.hasOwnProperty.bind(a),s=0;s0?o-4:o;for(n=0;n>16&255,s[c++]=a>>8&255,s[c++]=255&a;2===i&&(a=d[e.charCodeAt(n)]<<2|d[e.charCodeAt(n+1)]>>4,s[c++]=255&a);1===i&&(a=d[e.charCodeAt(n)]<<10|d[e.charCodeAt(n+1)]<<4|d[e.charCodeAt(n+2)]>>2,s[c++]=a>>8&255,s[c++]=255&a);return s},a.fromByteArray=function(e){for(var a,n=e.length,d=n%3,r=[],o=0,i=n-d;oi?i:o+16383));1===d?(a=e[n-1],r.push(t[a>>2]+t[a<<4&63]+"==")):2===d&&(a=(e[n-2]<<8)+e[n-1],r.push(t[a>>10]+t[a>>4&63]+t[a<<2&63]+"="));return r.join("")};for(var t=[],d=[],r="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",i=0,s=o.length;i0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");return-1===n&&(n=a),[n,n===a?0:4-n%4]}function c(e,a,n){for(var d,r,o=[],i=a;i>18&63]+t[r>>12&63]+t[r>>6&63]+t[63&r]);return o.join("")}d["-".charCodeAt(0)]=62,d["_".charCodeAt(0)]=63},H8j4:function(e,a,n){var t=n("QkVE");e.exports=function(e,a){var n=t(this,e),d=n.size;return n.set(e,a),this.size+=n.size==d?0:1,this}},HDXh:function(e,a,n){"use strict";(function(e){n("PF2M"),n("IZzc");var t=n("H7XF"),d=n("kVK+"),r=n("49sm");function o(){return s.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function i(e,a){if(o()=o())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o().toString(16)+" bytes");return 0|e}function p(e,a){if(s.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var t=!1;;)switch(a){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return z(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return q(e).length;default:if(t)return z(e).length;a=(""+a).toLowerCase(),t=!0}}function f(e,a,n){var t=!1;if((void 0===a||a<0)&&(a=0),a>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(a>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return D(this,a,n);case"utf8":case"utf-8":return E(this,a,n);case"ascii":return k(this,a,n);case"latin1":case"binary":return S(this,a,n);case"base64":return w(this,a,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return A(this,a,n);default:if(t)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),t=!0}}function h(e,a,n){var t=e[a];e[a]=e[n],e[n]=t}function m(e,a,n,t,d){if(0===e.length)return-1;if("string"==typeof n?(t=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=d?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(d)return-1;n=e.length-1}else if(n<0){if(!d)return-1;n=0}if("string"==typeof a&&(a=s.from(a,t)),s.isBuffer(a))return 0===a.length?-1:b(e,a,n,t,d);if("number"==typeof a)return a&=255,s.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?d?Uint8Array.prototype.indexOf.call(e,a,n):Uint8Array.prototype.lastIndexOf.call(e,a,n):b(e,[a],n,t,d);throw new TypeError("val must be string, number or Buffer")}function b(e,a,n,t,d){var r,o=1,i=e.length,s=a.length;if(void 0!==t&&("ucs2"===(t=String(t).toLowerCase())||"ucs-2"===t||"utf16le"===t||"utf-16le"===t)){if(e.length<2||a.length<2)return-1;o=2,i/=2,s/=2,n/=2}function g(e,a){return 1===o?e[a]:e.readUInt16BE(a*o)}if(d){var c=-1;for(r=n;ri&&(n=i-s),r=n;r>=0;r--){for(var u=!0,l=0;ld&&(t=d):t=d;var r=a.length;if(r%2!=0)throw new TypeError("Invalid hex string");t>r/2&&(t=r/2);for(var o=0;o>8,d=n%256,r.push(d),r.push(t);return r}(a,e.length-n),e,n,t)}function w(e,a,n){return 0===a&&n===e.length?t.fromByteArray(e):t.fromByteArray(e.slice(a,n))}function E(e,a,n){n=Math.min(e.length,n);for(var t=[],d=a;d239?4:g>223?3:g>191?2:1;if(d+u<=n)switch(u){case 1:g<128&&(c=g);break;case 2:128==(192&(r=e[d+1]))&&(s=(31&g)<<6|63&r)>127&&(c=s);break;case 3:r=e[d+1],o=e[d+2],128==(192&r)&&128==(192&o)&&(s=(15&g)<<12|(63&r)<<6|63&o)>2047&&(s<55296||s>57343)&&(c=s);break;case 4:r=e[d+1],o=e[d+2],i=e[d+3],128==(192&r)&&128==(192&o)&&128==(192&i)&&(s=(15&g)<<18|(63&r)<<12|(63&o)<<6|63&i)>65535&&s<1114112&&(c=s)}null===c?(c=65533,u=1):c>65535&&(c-=65536,t.push(c>>>10&1023|55296),c=56320|1023&c),t.push(c),d+=u}return function(e){var a=e.length;if(a<=4096)return String.fromCharCode.apply(String,e);var n="",t=0;for(;t0&&(e=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(e+=" ... ")),""},s.prototype.compare=function(e,a,n,t,d){if(!s.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===a&&(a=0),void 0===n&&(n=e?e.length:0),void 0===t&&(t=0),void 0===d&&(d=this.length),a<0||n>e.length||t<0||d>this.length)throw new RangeError("out of range index");if(t>=d&&a>=n)return 0;if(t>=d)return-1;if(a>=n)return 1;if(this===e)return 0;for(var r=(d>>>=0)-(t>>>=0),o=(n>>>=0)-(a>>>=0),i=Math.min(r,o),g=this.slice(t,d),c=e.slice(a,n),u=0;ud)&&(n=d),e.length>0&&(n<0||a<0)||a>this.length)throw new RangeError("Attempt to write outside buffer bounds");t||(t="utf8");for(var r=!1;;)switch(t){case"hex":return y(this,e,a,n);case"utf8":case"utf-8":return v(this,e,a,n);case"ascii":return j(this,e,a,n);case"latin1":case"binary":return O(this,e,a,n);case"base64":return _(this,e,a,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return x(this,e,a,n);default:if(r)throw new TypeError("Unknown encoding: "+t);t=(""+t).toLowerCase(),r=!0}},s.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function k(e,a,n){var t="";n=Math.min(e.length,n);for(var d=a;dt)&&(n=t);for(var d="",r=a;rn)throw new RangeError("Trying to access beyond buffer length")}function P(e,a,n,t,d,r){if(!s.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(a>d||ae.length)throw new RangeError("Index out of range")}function F(e,a,n,t){a<0&&(a=65535+a+1);for(var d=0,r=Math.min(e.length-n,2);d>>8*(t?d:1-d)}function T(e,a,n,t){a<0&&(a=4294967295+a+1);for(var d=0,r=Math.min(e.length-n,4);d>>8*(t?d:3-d)&255}function L(e,a,n,t,d,r){if(n+t>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function B(e,a,n,t,r){return r||L(e,0,n,4),d.write(e,a,n,t,23,4),n+4}function N(e,a,n,t,r){return r||L(e,0,n,8),d.write(e,a,n,t,52,8),n+8}s.prototype.slice=function(e,a){var n,t=this.length;if((e=~~e)<0?(e+=t)<0&&(e=0):e>t&&(e=t),(a=void 0===a?t:~~a)<0?(a+=t)<0&&(a=0):a>t&&(a=t),a0&&(d*=256);)t+=this[e+--a]*d;return t},s.prototype.readUInt8=function(e,a){return a||C(e,1,this.length),this[e]},s.prototype.readUInt16LE=function(e,a){return a||C(e,2,this.length),this[e]|this[e+1]<<8},s.prototype.readUInt16BE=function(e,a){return a||C(e,2,this.length),this[e]<<8|this[e+1]},s.prototype.readUInt32LE=function(e,a){return a||C(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},s.prototype.readUInt32BE=function(e,a){return a||C(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},s.prototype.readIntLE=function(e,a,n){e|=0,a|=0,n||C(e,a,this.length);for(var t=this[e],d=1,r=0;++r=(d*=128)&&(t-=Math.pow(2,8*a)),t},s.prototype.readIntBE=function(e,a,n){e|=0,a|=0,n||C(e,a,this.length);for(var t=a,d=1,r=this[e+--t];t>0&&(d*=256);)r+=this[e+--t]*d;return r>=(d*=128)&&(r-=Math.pow(2,8*a)),r},s.prototype.readInt8=function(e,a){return a||C(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},s.prototype.readInt16LE=function(e,a){a||C(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},s.prototype.readInt16BE=function(e,a){a||C(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},s.prototype.readInt32LE=function(e,a){return a||C(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},s.prototype.readInt32BE=function(e,a){return a||C(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},s.prototype.readFloatLE=function(e,a){return a||C(e,4,this.length),d.read(this,e,!0,23,4)},s.prototype.readFloatBE=function(e,a){return a||C(e,4,this.length),d.read(this,e,!1,23,4)},s.prototype.readDoubleLE=function(e,a){return a||C(e,8,this.length),d.read(this,e,!0,52,8)},s.prototype.readDoubleBE=function(e,a){return a||C(e,8,this.length),d.read(this,e,!1,52,8)},s.prototype.writeUIntLE=function(e,a,n,t){(e=+e,a|=0,n|=0,t)||P(this,e,a,n,Math.pow(2,8*n)-1,0);var d=1,r=0;for(this[a]=255&e;++r=0&&(r*=256);)this[a+d]=e/r&255;return a+n},s.prototype.writeUInt8=function(e,a,n){return e=+e,a|=0,n||P(this,e,a,1,255,0),s.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[a]=255&e,a+1},s.prototype.writeUInt16LE=function(e,a,n){return e=+e,a|=0,n||P(this,e,a,2,65535,0),s.TYPED_ARRAY_SUPPORT?(this[a]=255&e,this[a+1]=e>>>8):F(this,e,a,!0),a+2},s.prototype.writeUInt16BE=function(e,a,n){return e=+e,a|=0,n||P(this,e,a,2,65535,0),s.TYPED_ARRAY_SUPPORT?(this[a]=e>>>8,this[a+1]=255&e):F(this,e,a,!1),a+2},s.prototype.writeUInt32LE=function(e,a,n){return e=+e,a|=0,n||P(this,e,a,4,4294967295,0),s.TYPED_ARRAY_SUPPORT?(this[a+3]=e>>>24,this[a+2]=e>>>16,this[a+1]=e>>>8,this[a]=255&e):T(this,e,a,!0),a+4},s.prototype.writeUInt32BE=function(e,a,n){return e=+e,a|=0,n||P(this,e,a,4,4294967295,0),s.TYPED_ARRAY_SUPPORT?(this[a]=e>>>24,this[a+1]=e>>>16,this[a+2]=e>>>8,this[a+3]=255&e):T(this,e,a,!1),a+4},s.prototype.writeIntLE=function(e,a,n,t){if(e=+e,a|=0,!t){var d=Math.pow(2,8*n-1);P(this,e,a,n,d-1,-d)}var r=0,o=1,i=0;for(this[a]=255&e;++r>0)-i&255;return a+n},s.prototype.writeIntBE=function(e,a,n,t){if(e=+e,a|=0,!t){var d=Math.pow(2,8*n-1);P(this,e,a,n,d-1,-d)}var r=n-1,o=1,i=0;for(this[a+r]=255&e;--r>=0&&(o*=256);)e<0&&0===i&&0!==this[a+r+1]&&(i=1),this[a+r]=(e/o>>0)-i&255;return a+n},s.prototype.writeInt8=function(e,a,n){return e=+e,a|=0,n||P(this,e,a,1,127,-128),s.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[a]=255&e,a+1},s.prototype.writeInt16LE=function(e,a,n){return e=+e,a|=0,n||P(this,e,a,2,32767,-32768),s.TYPED_ARRAY_SUPPORT?(this[a]=255&e,this[a+1]=e>>>8):F(this,e,a,!0),a+2},s.prototype.writeInt16BE=function(e,a,n){return e=+e,a|=0,n||P(this,e,a,2,32767,-32768),s.TYPED_ARRAY_SUPPORT?(this[a]=e>>>8,this[a+1]=255&e):F(this,e,a,!1),a+2},s.prototype.writeInt32LE=function(e,a,n){return e=+e,a|=0,n||P(this,e,a,4,2147483647,-2147483648),s.TYPED_ARRAY_SUPPORT?(this[a]=255&e,this[a+1]=e>>>8,this[a+2]=e>>>16,this[a+3]=e>>>24):T(this,e,a,!0),a+4},s.prototype.writeInt32BE=function(e,a,n){return e=+e,a|=0,n||P(this,e,a,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),s.TYPED_ARRAY_SUPPORT?(this[a]=e>>>24,this[a+1]=e>>>16,this[a+2]=e>>>8,this[a+3]=255&e):T(this,e,a,!1),a+4},s.prototype.writeFloatLE=function(e,a,n){return B(this,e,a,!0,n)},s.prototype.writeFloatBE=function(e,a,n){return B(this,e,a,!1,n)},s.prototype.writeDoubleLE=function(e,a,n){return N(this,e,a,!0,n)},s.prototype.writeDoubleBE=function(e,a,n){return N(this,e,a,!1,n)},s.prototype.copy=function(e,a,n,t){if(n||(n=0),t||0===t||(t=this.length),a>=e.length&&(a=e.length),a||(a=0),t>0&&t=this.length)throw new RangeError("sourceStart out of bounds");if(t<0)throw new RangeError("sourceEnd out of bounds");t>this.length&&(t=this.length),e.length-a=0;--d)e[d+a]=this[d+n];else if(r<1e3||!s.TYPED_ARRAY_SUPPORT)for(d=0;d>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(r=a;r55295&&n<57344){if(!d){if(n>56319){(a-=3)>-1&&r.push(239,191,189);continue}if(o+1===t){(a-=3)>-1&&r.push(239,191,189);continue}d=n;continue}if(n<56320){(a-=3)>-1&&r.push(239,191,189),d=n;continue}n=65536+(d-55296<<10|n-56320)}else d&&(a-=3)>-1&&r.push(239,191,189);if(d=null,n<128){if((a-=1)<0)break;r.push(n)}else if(n<2048){if((a-=2)<0)break;r.push(n>>6|192,63&n|128)}else if(n<65536){if((a-=3)<0)break;r.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((a-=4)<0)break;r.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return r}function q(e){return t.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(I,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function V(e,a,n,t){for(var d=0;d=a.length||d>=e.length);++d)a[d+n]=e[d];return d}}).call(this,n("yLpj"))},HDyB:function(e,a,n){var t=n("nmnc"),d=n("JHRd"),r=n("ljhN"),o=n("or5M"),i=n("7fqy"),s=n("rEGp"),g=t?t.prototype:void 0,c=g?g.valueOf:void 0;e.exports=function(e,a,n,t,g,u,l){switch(n){case"[object DataView]":if(e.byteLength!=a.byteLength||e.byteOffset!=a.byteOffset)return!1;e=e.buffer,a=a.buffer;case"[object ArrayBuffer]":return!(e.byteLength!=a.byteLength||!u(new d(e),new d(a)));case"[object Boolean]":case"[object Date]":case"[object Number]":return r(+e,+a);case"[object Error]":return e.name==a.name&&e.message==a.message;case"[object RegExp]":case"[object String]":return e==a+"";case"[object Map]":var R=i;case"[object Set]":var p=1&t;if(R||(R=s),e.size!=a.size&&!p)return!1;var f=l.get(e);if(f)return f==a;t|=2,l.set(e,a);var h=o(R(e),R(a),t,g,u,l);return l.delete(e),h;case"[object Symbol]":if(c)return c.call(e)==c.call(a)}return!1}},HGcO:function(e,a,n){const t=n("dVj6")();t.addRange(994,1007).addRange(11392,11507).addRange(11513,11519),e.exports=t},HIQX:function(e,a,n){"use strict";n.r(a),n.d(a,"_frontmatter",(function(){return s})),n.d(a,"default",(function(){return u}));var t=n("wx14"),d=n("Ff2n"),r=(n("q1tI"),n("7ljp")),o=n("hhGP");n("qKvR");const i=["components"],s={};void 0!==s&&s&&s===Object(s)&&Object.isExtensible(s)&&!Object.prototype.hasOwnProperty.call(s,"__filemeta")&&Object.defineProperty(s,"__filemeta",{configurable:!0,value:{name:"_frontmatter",filename:"src/components/install/tk/go.mdx"}});const g={_frontmatter:s},c=o.a;function u(e){let{components:a}=e,n=Object(d.a)(e,i);return Object(r.b)(c,Object(t.a)({},g,n,{components:a,mdxType:"MDXLayout"}),Object(r.b)("p",null,"If you happen to have a local ",Object(r.b)("a",{parentName:"p",href:"https://golang.org"},"Go")," toolchain, you can also build Tanka from source using ",Object(r.b)("inlineCode",{parentName:"p"},"go install"),":"),Object(r.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"bash"},Object(r.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(r.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(r.b)("span",{parentName:"span",className:"mtk1"},"$ "),Object(r.b)("span",{parentName:"span",className:"mtk9"},"cd"),Object(r.b)("span",{parentName:"span",className:"mtk1"}," /tmp")),"\n",Object(r.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(r.b)("span",{parentName:"span",className:"mtk1"},"$ go install github.com/grafana/tanka/cmd/tk@latest")))),Object(r.b)("p",null,"If that does not work for whatever reason (Go modules, etc), clone and compile manually:"),Object(r.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"bash"},Object(r.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(r.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(r.b)("span",{parentName:"span",className:"mtk1"},"$ git clone https://github.com/grafana/tanka")),"\n",Object(r.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(r.b)("span",{parentName:"span",className:"mtk1"},"$ "),Object(r.b)("span",{parentName:"span",className:"mtk9"},"cd"),Object(r.b)("span",{parentName:"span",className:"mtk1"}," tanka")),"\n",Object(r.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(r.b)("span",{parentName:"span",className:"mtk1"},"$ make install")))),Object(r.b)("style",{className:"vscode-highlight-styles"},"\n \n .material-theme-darker {\nbackground-color: #212121;\ncolor: #EEFFFF;\n}\n\n.material-theme-darker .mtk1 { color: #FFFFFF; }\n.material-theme-darker .mtk2 { color: #212121; }\n.material-theme-darker .mtk3 { color: #545454; }\n.material-theme-darker .mtk4 { color: #F78C6C; }\n.material-theme-darker .mtk5 { color: #89DDFF; }\n.material-theme-darker .mtk6 { color: #C3E88D; }\n.material-theme-darker .mtk7 { color: #FFCB6B; }\n.material-theme-darker .mtk8 { color: #EEFFFF; }\n.material-theme-darker .mtk9 { color: #82AAFF; }\n.material-theme-darker .mtk10 { color: #FF5370; }\n.material-theme-darker .mtk11 { color: #F07178; }\n.material-theme-darker .mtk12 { color: #C792EA; }\n.material-theme-darker .mtk13 { color: #EEFFFF90; }\n.material-theme-darker .mtk14 { color: #65737E; }\n.material-theme-darker .mtk15 { color: #B2CCD6; }\n.material-theme-darker .mtk16 { color: #C17E70; }\n.material-theme-darker .mtki { font-style: italic; }\n.material-theme-darker .mtkb { font-weight: bold; }\n.material-theme-darker .mtku { text-decoration: underline; text-underline-position: under; }\n"))}void 0!==u&&u&&u===Object(u)&&Object.isExtensible(u)&&!Object.prototype.hasOwnProperty.call(u,"__filemeta")&&Object.defineProperty(u,"__filemeta",{configurable:!0,value:{name:"MDXContent",filename:"src/components/install/tk/go.mdx"}}),u.isMDXComponent=!0},HLRT:function(e,a,n){const t=n("dVj6")();t.addRange(746,747).addRange(12549,12591).addRange(12704,12735),e.exports=t},HOxn:function(e,a,n){var t=n("Cwc5")(n("Kz5y"),"Promise");e.exports=t},HUGt:function(e,a,n){const t=n("dVj6")(1548,1567,1600,1648,7672,7674);t.addRange(1563,1564).addRange(1611,1621).addRange(1792,1805).addRange(1807,1866).addRange(1869,1871).addRange(2144,2154),e.exports=t},HYAF:function(e,a,n){var t=n("cjT7"),d=TypeError;e.exports=function(e){if(t(e))throw d("Can't call method on "+e);return e}},HYoX:function(e,a,n){const t=n("dVj6")();t.addRange(3328,3340).addRange(3342,3344).addRange(3346,3396).addRange(3398,3400).addRange(3402,3407).addRange(3412,3427).addRange(3430,3455),e.exports=t},HpTs:function(e,a,n){const t=n("dVj6")(32,160,5760,8239,8287,12288);t.addRange(8192,8202).addRange(8232,8233),e.exports=t},Hu3I:function(e,a,n){const t=n("dVj6")();t.addRange(68e3,68023).addRange(68028,68047).addRange(68050,68095),e.exports=t},Hv6T:function(e,a,n){const t=n("dVj6")(71945);t.addRange(71936,71942).addRange(71948,71955).addRange(71957,71958).addRange(71960,71989).addRange(71991,71992).addRange(71995,72006).addRange(72016,72025),e.exports=t},Hvzi:function(e,a){e.exports=function(e){var a=this.has(e)&&delete this.__data__[e];return this.size-=a?1:0,a}},HwGp:function(e,a,n){const t=n("dVj6")();t.addRange(43056,43065).addRange(71168,71236).addRange(71248,71257),e.exports=t},"I+eb":function(e,a,n){var t=n("2oRo"),d=n("Bs8V").f,r=n("kRJp"),o=n("yy0I"),i=n("Y3Q8"),s=n("6JNq"),g=n("lMq5");e.exports=function(e,a){var n,c,u,l,R,p=e.target,f=e.global,h=e.stat;if(n=f?t:h?t[p]||i(p,{}):(t[p]||{}).prototype)for(c in a){if(l=a[c],u=e.dontCallGetSet?(R=d(n,c))&&R.value:n[c],!g(f?c:p+(h?".":"#")+c,e.forced)&&void 0!==u){if(typeof l==typeof u)continue;s(l,u)}(e.sham||u&&u.sham)&&r(l,"sham",!0),o(n,c,l,e)}}},I01J:function(e,a,n){var t=n("44Ds");e.exports=function(e){var a=t(e,(function(e){return 500===n.size&&n.clear(),e})),n=a.cache;return a}},I8vh:function(e,a,n){var t=n("WSbT"),d=Math.max,r=Math.min;e.exports=function(e,a){var n=t(e);return n<0?d(n+a,0):r(n,a)}},IAU5:function(e,a,n){const t=n("dVj6")(123647);t.addRange(123584,123641),e.exports=t},IAl6:function(e,a,n){(function(e,t){var d;(function(){"use strict";var r={function:!0,object:!0},o=r[typeof window]&&window||this,i=r[typeof a]&&a&&!a.nodeType&&a,s=r[typeof e]&&e&&!e.nodeType,g=i&&s&&"object"==typeof t&&t;!g||g.global!==g&&g.window!==g&&g.self!==g||(o=g);var c=Object.prototype.hasOwnProperty;function u(){var e=Number(arguments[0]);if(!isFinite(e)||e<0||e>1114111||Math.floor(e)!=e)throw RangeError("Invalid code point: "+e);if(e<=65535)return String.fromCharCode(e);var a=55296+((e-=65536)>>10),n=e%1024+56320;return String.fromCharCode(a,n)}var l={};function R(e,a){if(-1==a.indexOf("|")){if(e==a)return;throw Error("Invalid node type: "+e+"; expected type: "+a)}if(!(a=c.call(l,a)?l[a]:l[a]=RegExp("^(?:"+a+")$")).test(e))throw Error("Invalid node type: "+e+"; expected types: "+a)}function p(e){var a=e.type;if(c.call(y,a))return y[a](e);throw Error("Invalid node type: "+a)}function f(e,a){for(var n,t=-1,d=a.length,r="";++t=48&&a[t+1].codePoint<=57?r+="\\000":r+=e(n);return r}function h(e){return R(e.type,"anchor|characterClassEscape|characterClassRange|dot|value"),p(e)}function m(e){return R(e.type,"identifier"),e.value}function b(e){return R(e.type,"anchor|characterClass|characterClassEscape|empty|group|quantifier|reference|unicodePropertyEscape|value|dot"),p(e)}var y={alternative:function(e){return R(e.type,"alternative"),f(b,e.body)},anchor:function(e){switch(R(e.type,"anchor"),e.kind){case"start":return"^";case"end":return"$";case"boundary":return"\\b";case"not-boundary":return"\\B";default:throw Error("Invalid assertion")}},characterClass:function(e){return R(e.type,"characterClass"),"["+(e.negative?"^":"")+f(h,e.body)+"]"},characterClassEscape:function(e){return R(e.type,"characterClassEscape"),"\\"+e.value},characterClassRange:function(e){R(e.type,"characterClassRange");var a=e.min,n=e.max;if("characterClassRange"==a.type||"characterClassRange"==n.type)throw Error("Invalid character class range");return h(a)+"-"+h(n)},disjunction:function(e){R(e.type,"disjunction");for(var a=e.body,n=-1,t=a.length,d="";++n");break;case"ignore":a+="?:";break;case"lookahead":a+="?=";break;case"negativeLookahead":a+="?!";break;case"lookbehind":a+="?<=";break;case"negativeLookbehind":a+="?";throw new Error("Unknown reference type")},unicodePropertyEscape:function(e){return R(e.type,"unicodePropertyEscape"),"\\"+(e.negative?"P":"p")+"{"+e.value+"}"},value:function(e){R(e.type,"value");var a=e.kind,n=e.codePoint;if("number"!=typeof n)throw new Error("Invalid code point: "+n);switch(a){case"controlLetter":return"\\c"+u(n+64);case"hexadecimalEscape":return"\\x"+("00"+n.toString(16).toUpperCase()).slice(-2);case"identifier":return"\\"+u(n);case"null":return"\\"+n;case"octal":return"\\"+("000"+n.toString(8)).slice(-3);case"singleEscape":switch(n){case 8:return"\\b";case 9:return"\\t";case 10:return"\\n";case 11:return"\\v";case 12:return"\\f";case 13:return"\\r";case 45:return"\\-";default:throw Error("Invalid code point: "+n)}case"symbol":return u(n);case"unicodeEscape":return"\\u"+("0000"+n.toString(16).toUpperCase()).slice(-4);case"unicodeCodePointEscape":return"\\u{"+n.toString(16).toUpperCase()+"}";default:throw Error("Unsupported node kind: "+a)}}},v={generate:p};void 0===(d=function(){return v}.call(a,n,a,e))||(e.exports=d),o.regjsgen=v}).call(this)}).call(this,n("YuTi")(e),n("yLpj"))},IK5f:function(e,a,n){const t=n("dVj6")();t.addRange(68736,68786).addRange(68800,68850).addRange(68858,68863),e.exports=t},IMPD:function(e,a,n){const t=n("dVj6")(181,257,259,261,263,265,267,269,271,273,275,277,279,281,283,285,287,289,291,293,295,297,299,301,303,305,307,309,311,314,316,318,320,322,324,326,331,333,335,337,339,341,343,345,347,349,351,353,355,357,359,361,363,365,367,369,371,373,375,378,380,387,389,392,396,402,405,414,417,419,421,424,429,432,436,438,441,445,447,452,460,462,464,466,468,470,472,474,479,481,483,485,487,489,491,493,499,501,505,507,509,511,513,515,517,519,521,523,525,527,529,531,533,535,537,539,541,543,547,549,551,553,555,557,559,561,563,572,578,583,585,587,589,601,611,623,629,637,640,658,837,881,883,887,912,985,987,989,991,993,995,997,999,1001,1003,1005,1013,1016,1019,1121,1123,1125,1127,1129,1131,1133,1135,1137,1139,1141,1143,1145,1147,1149,1151,1153,1163,1165,1167,1169,1171,1173,1175,1177,1179,1181,1183,1185,1187,1189,1191,1193,1195,1197,1199,1201,1203,1205,1207,1209,1211,1213,1215,1218,1220,1222,1224,1226,1228,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315,1317,1319,1321,1323,1325,1327,7545,7549,7566,7681,7683,7685,7687,7689,7691,7693,7695,7697,7699,7701,7703,7705,7707,7709,7711,7713,7715,7717,7719,7721,7723,7725,7727,7729,7731,7733,7735,7737,7739,7741,7743,7745,7747,7749,7751,7753,7755,7757,7759,7761,7763,7765,7767,7769,7771,7773,7775,7777,7779,7781,7783,7785,7787,7789,7791,7793,7795,7797,7799,7801,7803,7805,7807,7809,7811,7813,7815,7817,7819,7821,7823,7825,7827,7841,7843,7845,7847,7849,7851,7853,7855,7857,7859,7861,7863,7865,7867,7869,7871,7873,7875,7877,7879,7881,7883,7885,7887,7889,7891,7893,7895,7897,7899,7901,7903,7905,7907,7909,7911,7913,7915,7917,7919,7921,7923,7925,7927,7929,7931,7933,8126,8526,8580,11361,11368,11370,11372,11379,11382,11393,11395,11397,11399,11401,11403,11405,11407,11409,11411,11413,11415,11417,11419,11421,11423,11425,11427,11429,11431,11433,11435,11437,11439,11441,11443,11445,11447,11449,11451,11453,11455,11457,11459,11461,11463,11465,11467,11469,11471,11473,11475,11477,11479,11481,11483,11485,11487,11489,11491,11500,11502,11507,11559,11565,42561,42563,42565,42567,42569,42571,42573,42575,42577,42579,42581,42583,42585,42587,42589,42591,42593,42595,42597,42599,42601,42603,42605,42625,42627,42629,42631,42633,42635,42637,42639,42641,42643,42645,42647,42649,42651,42787,42789,42791,42793,42795,42797,42799,42803,42805,42807,42809,42811,42813,42815,42817,42819,42821,42823,42825,42827,42829,42831,42833,42835,42837,42839,42841,42843,42845,42847,42849,42851,42853,42855,42857,42859,42861,42863,42874,42876,42879,42881,42883,42885,42887,42892,42897,42903,42905,42907,42909,42911,42913,42915,42917,42919,42921,42933,42935,42937,42939,42941,42943,42945,42947,42952,42954,42961,42967,42969,42998,43859);t.addRange(97,122).addRange(223,246).addRange(248,255).addRange(328,329).addRange(382,384).addRange(409,410).addRange(454,455).addRange(457,458).addRange(476,477).addRange(495,497).addRange(575,576).addRange(591,596).addRange(598,599).addRange(603,604).addRange(608,609).addRange(613,614).addRange(616,620).addRange(625,626).addRange(642,643).addRange(647,652).addRange(669,670).addRange(891,893).addRange(940,974).addRange(976,977).addRange(981,983).addRange(1007,1011).addRange(1072,1119).addRange(1230,1231).addRange(1377,1415).addRange(5112,5117).addRange(7296,7304).addRange(7829,7835).addRange(7935,7943).addRange(7952,7957).addRange(7968,7975).addRange(7984,7991).addRange(8e3,8005).addRange(8016,8023).addRange(8032,8039).addRange(8048,8061).addRange(8064,8071).addRange(8080,8087).addRange(8096,8103).addRange(8112,8116).addRange(8118,8119).addRange(8130,8132).addRange(8134,8135).addRange(8144,8147).addRange(8150,8151).addRange(8160,8167).addRange(8178,8180),t.addRange(8182,8183).addRange(8560,8575).addRange(9424,9449).addRange(11312,11359).addRange(11365,11366).addRange(11520,11557).addRange(42899,42900).addRange(43888,43967).addRange(64256,64262).addRange(64275,64279).addRange(65345,65370).addRange(66600,66639).addRange(66776,66811).addRange(66967,66977).addRange(66979,66993).addRange(66995,67001).addRange(67003,67004).addRange(68800,68850).addRange(71872,71903).addRange(93792,93823).addRange(125218,125251),e.exports=t},IOVJ:function(e,a,n){"use strict";var t=n("rePB"),d=n("dI71"),r=n("q1tI"),o=n.n(r),i=n("emEt"),s=n("xtsi"),g=n("30RF");function c(e,a){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),n.push.apply(n,t)}return n}function u(e){for(var a=1;a{let{result:n}=a;return{element:n,props:e}}).pop()},a}(o.a.Component);a.a=l},IOzZ:function(e,a){e.exports=function(e,a){return function(n){return null!=n&&(n[e]===a&&(void 0!==a||e in Object(n)))}}},ITVs:function(e){e.exports=JSON.parse('{"a":"10.3.1"}')},IZLa:function(e,a,n){const t=n("dVj6")();t.addRange(64976,65007).addRange(65534,65535).addRange(131070,131071).addRange(196606,196607).addRange(262142,262143).addRange(327678,327679).addRange(393214,393215).addRange(458750,458751).addRange(524286,524287).addRange(589822,589823).addRange(655358,655359).addRange(720894,720895).addRange(786430,786431).addRange(851966,851967).addRange(917502,917503).addRange(983038,983039).addRange(1048574,1048575).addRange(1114110,1114111),e.exports=t},IZzc:function(e,a,n){"use strict";var t=n("2oRo"),d=n("RiVN"),r=n("0Dky"),o=n("We1y"),i=n("rdv8"),s=n("67WC"),g=n("BNF5"),c=n("2Zix"),u=n("LQDL"),l=n("USzg"),R=s.aTypedArray,p=s.exportTypedArrayMethod,f=t.Uint16Array,h=f&&d(f.prototype.sort),m=!(!h||r((function(){h(new f(2),null)}))&&r((function(){h(new f(2),{})}))),b=!!h&&!r((function(){if(u)return u<74;if(g)return g<67;if(c)return!0;if(l)return l<602;var e,a,n=new f(516),t=Array(516);for(e=0;e<516;e++)a=e%4,n[e]=515-e,t[e]=e-2*a+3;for(h(n,(function(e,a){return(e/4|0)-(a/4|0)})),e=0;e<516;e++)if(n[e]!==t[e])return!0}));p("sort",(function(e){return void 0!==e&&o(e),b?h(this,e):i(R(this),function(e){return function(a,n){return void 0!==e?+e(a,n)||0:n!=n?-1:a!=a?1:0===a&&0===n?1/a>0&&1/n<0?1:-1:a>n}}(e))}),!b||m)},Ig5p:function(e,a,n){e.exports={ary:n("v8vJ"),assign:n("WwFo"),clone:n("uM7l"),curry:n("3EZw"),forEach:n("gFfm"),isArray:n("Z0cm"),isError:n("PtqM"),isFunction:n("lSCD"),isWeakMap:n("gz5L"),iteratee:n("cWj/"),keys:n("A90E"),rearg:n("be4H"),toInteger:n("Sxd8"),toPath:n("0Bgb")}},IiUL:function(e,a,n){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.FrameContextConsumer=a.FrameContext=void 0;var t=n("Z6fC");Object.defineProperty(a,"FrameContext",{enumerable:!0,get:function(){return t.FrameContext}}),Object.defineProperty(a,"FrameContextConsumer",{enumerable:!0,get:function(){return t.FrameContextConsumer}});var d,r=n("c+H2"),o=(d=r)&&d.__esModule?d:{default:d};a.default=o.default},Ioao:function(e,a,n){var t=n("heNW"),d=Math.max;e.exports=function(e,a,n){return a=d(void 0===a?e.length-1:a,0),function(){for(var r=arguments,o=-1,i=d(r.length-a,0),s=Array(i);++o1114111||d(g)!=g)throw RangeError("Invalid code point: "+g);g<=65535?r.push(g):(e=55296+((g-=65536)>>10),a=g%1024+56320,r.push(e,a)),(o+1==i||r.length>n)&&(s+=t.apply(null,r),r.length=0)}return s}),o={parse:function(e,a,n){function t(a){return a.raw=e.substring(a.range[0],a.range[1]),a}function d(e,a){return e.range[0]=a,t(e)}function o(e,a){return t({type:"anchor",kind:e,range:[Q-a,Q]})}function i(e,a,n,d){return t({type:"value",kind:e,codePoint:a,range:[n,d]})}function s(e,a,n,t){return t=t||0,i(e,a,Q-(n.length+t),Q)}function g(e){var a,n=e[0],t=n.charCodeAt(0);return $&&1===n.length&&t>=55296&&t<=56319&&(a=m().charCodeAt(0))>=56320&&a<=57343?i("symbol",1024*(t-55296)+a-56320+65536,++Q-2,Q):i("symbol",t,Q-1,Q)}function c(e,a,n,d){return null==d&&(n=Q-1,d=Q),t({type:"quantifier",min:e,max:a,greedy:!0,body:null,range:[n,d]})}function u(e,a,n,d){return t({type:"characterClass",kind:e.kind,body:e.body,negative:a,range:[n,d]})}function l(e,a,n,d){return e.codePoint>a.codePoint&&W("invalid range in character class",e.raw+"-"+a.raw,n,d),t({type:"characterClassRange",min:e,max:a,range:[n,d]})}function R(e){return"alternative"===e.type?e.body:[e]}function p(a){a=a||1;var n=e.substring(Q,Q+a);return Q+=a||1,n}function f(e){h(e)||W("character",e)}function h(a){if(e.indexOf(a,Q)===Q)return p(a.length)}function m(){return e[Q]}function b(a){return e.indexOf(a,Q)===Q}function y(a){return e[Q+1]===a}function v(a){var n=e.substring(Q).match(a);return n&&(n.range=[],n.range[0]=Q,p(n[0].length),n.range[1]=Q),n}function j(){var e=[],a=Q;for(e.push(O());h("|");)e.push(O());return 1===e.length?e[0]:function(e,a,n){return t({type:"disjunction",body:e,range:[a,n]})}(e,a,Q)}function O(){for(var e,a=[],n=Q;e=_();)a.push(e);return 1===a.length?a[0]:function(e,a,n){return t({type:"alternative",body:e,range:[a,n]})}(a,n,Q)}function _(){if(Q>=e.length||b("|")||b(")"))return null;var a=h("^")?o("start",1):h("$")?o("end",1):h("\\b")?o("boundary",2):h("\\B")?o("not-boundary",2):x("(?=","lookahead","(?!","negativeLookahead");if(a)return a;var r,s=function(){var e;if(e=v(/^[^^$\\.*+?()[\]{}|]/))return g(e);if(!$&&(e=v(/^(?:]|})/)))return g(e);if(h("."))return t({type:"dot",range:[Q-1,Q]});if(h("\\")){if(!(e=D())){if(!$&&"c"==m())return i("symbol",92,Q-1,Q);W("atomEscape")}return e}if(e=N())return e;if(n.lookbehind&&(e=x("(?<=","lookbehind","(?");var d=w("normal",a.range[0]-3);return d.name=a,d}return x("(?:","ignore","(","normal")}();return s||(pos_backup=Q,(r=E()||!1)&&(Q=pos_backup,W("Expected atom")),!$&&(res=v(/^{/))?s=g(res):W("Expected atom")),(r=E()||!1)?(r.body=R(s),d(r,s.range[0]),r):s}function x(e,a,n,t){var d=null,r=Q;if(h(e))d=a;else{if(!h(n))return!1;d=t}return w(d,r)}function w(e,a){var n=j();n||W("Expected disjunction"),f(")");var d=function(e,a,n,d){return t({type:"group",behavior:e,body:a,range:[n,d]})}(e,R(n),a,Q);return"normal"==e&&Z&&Y++,d}function E(){var e,a,n,t,d=Q;return h("*")?a=c(0):h("+")?a=c(1):h("?")?a=c(0,1):(e=v(/^\{([0-9]+)\}/))?a=c(n=parseInt(e[1],10),n,e.range[0],e.range[1]):(e=v(/^\{([0-9]+),\}/))?a=c(n=parseInt(e[1],10),void 0,e.range[0],e.range[1]):(e=v(/^\{([0-9]+),([0-9]+)\}/))&&((n=parseInt(e[1],10))>(t=parseInt(e[2],10))&&W("numbers out of order in {} quantifier","",d,Q),a=c(n,t,e.range[0],e.range[1])),a&&h("?")&&(a.greedy=!1,a.range[1]+=1),a}function k(e){var a,n;if($&&"unicodeEscape"==e.kind&&(a=e.codePoint)>=55296&&a<=56319&&b("\\")&&y("u")){var d=Q;Q++;var r=S();"unicodeEscape"==r.kind&&(n=r.codePoint)>=56320&&n<=57343?(e.range[1]=r.range[1],e.codePoint=1024*(a-55296)+n-56320+65536,e.type="value",e.kind="unicodeCodePointEscape",t(e)):Q=d}return e}function S(){return D(!0)}function D(e){var a,r=Q;if(a=function(){var e,a,n;if(e=v(/^(?!0)\d+/)){a=e[0];var r=parseInt(e[0],10);return r<=Y?(n=e[0],t({type:"reference",matchIndex:parseInt(n,10),range:[Q-1-n.length,Q]})):(K.push(r),p(-e[0].length),(e=v(/^[0-7]{1,3}/))?s("octal",parseInt(e[0],8),e[0],1):d(e=g(v(/^[89]/)),e.range[0]-1))}return!!(e=v(/^[0-7]{1,3}/))&&(a=e[0],/^0{1,3}$/.test(a)?s("null",0,"0",a.length):s("octal",parseInt(a,8),a,1))}()||function(){if(n.namedGroups&&v(/^k<(?=.*?>)/)){var e=T();return f(">"),function(e){return t({type:"reference",name:e,range:[e.range[0]-3,Q]})}(e)}}())return a;if(e){if(h("b"))return s("singleEscape",8,"\\b");if(h("B"))W("\\B not possible inside of CharacterClass","",r);else{if(!$&&(a=v(/^c([0-9])/)))return s("controlLetter",a[1]+16,a[1],2);if(!$&&(a=v(/^c_/)))return s("controlLetter",31,"_",2)}if($&&h("-"))return s("singleEscape",45,"\\-")}return a=A()||P()}function A(){var e;return(e=v(/^[dDsSwW]/))?t({type:"characterClassEscape",value:e[0],range:[Q-2,Q]}):!(!n.unicodePropertyEscape||!$&&!X||!(e=v(/^([pP])\{([^\}]+)\}/)))&&t({type:"unicodePropertyEscape",negative:"P"===e[1],value:e[2],range:[e.range[0]-1,e.range[1]],raw:e[0]})}function C(){var e;return(e=v(/^u([0-9a-fA-F]{4})/))?k(s("unicodeEscape",parseInt(e[1],16),e[1],2)):$&&(e=v(/^u\{([0-9a-fA-F]+)\}/))?s("unicodeCodePointEscape",parseInt(e[1],16),e[1],4):void 0}function P(){var e,a,t,d=Q;if(e=v(/^[fnrtv]/)){var r=0;switch(e[0]){case"t":r=9;break;case"n":r=10;break;case"v":r=11;break;case"f":r=12;break;case"r":r=13}return s("singleEscape",r,"\\"+e[0])}return(e=v(/^c([a-zA-Z])/))?s("controlLetter",e[1].charCodeAt(0)%32,e[1],2):(e=v(/^x([0-9a-fA-F]{2})/))?s("hexadecimalEscape",parseInt(e[1],16),e[1],2):(e=C())?((!e||e.codePoint>1114111)&&W("Invalid escape sequence",null,d,Q),e):(t=m(),$&&/[\^\$\.\*\+\?\(\)\\\[\]\{\}\|\/]/.test(t)||!$&&"c"!==t?"k"===t&&n.lookbehind?null:s("identifier",(a=p()).charCodeAt(0),a,1):null)}function F(a){var n=m(),t=Q;if("\\"===n){p();var d=C();return d&&a(d.codePoint)||W("Invalid escape sequence",null,t,Q),r(d.codePoint)}var o=n.charCodeAt(0);if(o>=55296&&o<=56319){var i=(n+=e[Q+1]).charCodeAt(1);i>=56320&&i<=57343&&(o=1024*(o-55296)+i-56320+65536)}if(a(o))return p(),o>65535&&p(),n}function T(){var e,a=Q,n=F(L);for(n||W("Invalid identifier");e=F(B);)n+=e;return t({type:"identifier",value:n,range:[a,Q]})}function L(e){return 36===e||95===e||e>=65&&e<=90||e>=97&&e<=122||e>=128&&/[\$A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEF\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7B9\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDF00-\uDF1C\uDF27\uDF30-\uDF45]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF1A]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFF1]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/.test(r(e))}function B(e){return L(e)||e>=48&&e<=57||e>=128&&/[0-9_\xB7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u200C\u200D\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA620-\uA629\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD801[\uDCA0-\uDCA9]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD803[\uDD24-\uDD27\uDD30-\uDD39\uDF46-\uDF50]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC66-\uDC6F\uDC7F-\uDC82\uDCB0-\uDCBA\uDCF0-\uDCF9\uDD00-\uDD02\uDD27-\uDD34\uDD36-\uDD3F\uDD45\uDD46\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDDC9-\uDDCC\uDDD0-\uDDD9\uDE2C-\uDE37\uDE3E\uDEDF-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF3B\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC35-\uDC46\uDC50-\uDC59\uDC5E\uDCB0-\uDCC3\uDCD0-\uDCD9\uDDAF-\uDDB5\uDDB8-\uDDC0\uDDDC\uDDDD\uDE30-\uDE40\uDE50-\uDE59\uDEAB-\uDEB7\uDEC0-\uDEC9\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDC2C-\uDC3A\uDCE0-\uDCE9\uDE01-\uDE0A\uDE33-\uDE39\uDE3B-\uDE3E\uDE47\uDE51-\uDE5B\uDE8A-\uDE99]|\uD807[\uDC2F-\uDC36\uDC38-\uDC3F\uDC50-\uDC59\uDC92-\uDCA7\uDCA9-\uDCB6\uDD31-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD45\uDD47\uDD50-\uDD59\uDD8A-\uDD8E\uDD90\uDD91\uDD93-\uDD97\uDDA0-\uDDA9\uDEF3-\uDEF6]|\uD81A[\uDE60-\uDE69\uDEF0-\uDEF4\uDF30-\uDF36\uDF50-\uDF59]|\uD81B[\uDF51-\uDF7E\uDF8F-\uDF92]|\uD82F[\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDCD0-\uDCD6\uDD44-\uDD4A\uDD50-\uDD59]|\uDB40[\uDD00-\uDDEF]/.test(r(e))}function N(){var e,a=Q;return(e=v(/^\[\^/))?(e=I(),f("]"),u(e,!0,a,Q)):h("[")?(e=I(),f("]"),u(e,!1,a,Q)):null}function I(){var e,a;return b("]")?{kind:"union",body:[]}:X?function(){var e,a=[],n=q(!0);for(a.push(n),e="classRange"===n.type?"union":b("&")?"intersection":b("-")?"subtraction":"union";!b("]");)"intersection"===e?(f("&"),f("&"),b("&")&&W("&& cannot be followed by &. Wrap it in parentheses: &&(&).")):"subtraction"===e&&(f("-"),f("-")),n=q("union"===e),a.push(n);return{kind:e,body:a}}():((a=z())||W("classAtom"),(e=b("]")?[a]:M(a))||W("nonEmptyClassRanges"),{kind:"union",body:e})}function M(e){var a,n,t,d,r;if(b("-")&&!y("]")){a=e.range[0],r=g(h("-")),(d=z())||W("classAtom"),n=Q;var o=I();return o||W("classRanges"),"codePoint"in e&&"codePoint"in d?t=[l(e,d,a,n)]:$?W("invalid character class"):t=[e,r,d],"empty"===o.type?t:t.concat(o.body)}return(t=function(){var e=z();return e||W("classAtom"),b("]")?e:M(e)}())||W("nonEmptyClassRangesNoDash"),[e].concat(t)}function z(){return h("-")?g("-"):function(){var e;return(e=v(/^[^\\\]-]/))?g(e[0]):h("\\")?((e=S())||W("classEscape"),k(e)):void 0}()}function q(e){var a,n,d=Q;if(h("\\"))if(n=A())a=n;else{if(n=G())return n;W("Invalid escape","\\"+m(),d)}else if(n=U())a=n;else{if(n=function(){var e=[],a=Q;if(!h("("))return null;do{e.push(H())}while(h("|"));return f(")"),function(e,a,n){return t({type:"classStrings",strings:e,range:[a,n]})}(e,a,Q)}()||N())return n;W("Invalid character",m())}if(e&&b("-")&&!y("-")){if(f("-"),n=V())return l(a,n,d,Q);W("Invalid range end",m())}return a}function V(){if(h("\\")){if(res=G())return res;W("Invalid escape","\\"+m(),from)}return U()}function U(){var e;if(e=v(/^[^()[\]{}/\-\\|]/))return g(e)}function G(){return h("b")?s("singleEscape",8,"\\b"):h("B")?void W("\\B not possible inside of ClassContents","",Q-2):(res=v(/^[&\-!#%,:;<=>@_`~]/))?s("identifier",res[0].codePointAt(0),res[0]):(res=P())?res:null}function H(){for(var e,a=[],n=Q;e=V();)a.push(e);return function(e,a,n){return t({type:"classString",characters:e,range:[a,n]})}(a,n,Q)}function W(a,n,t,d){t=null==t?Q:t,d=null==d?t:d;var r=Math.max(0,t-10),o=Math.min(d+10,e.length),i=" "+e.substring(r,o),s=" "+new Array(t-r+1).join(" ")+"^";throw SyntaxError(a+" at position "+t+(n?": "+n:"")+"\n"+i+"\n"+s)}n||(n={});var K=[],Y=0,Z=!0,$=-1!==(a||"").indexOf("u"),X=-1!==(a||"").indexOf("v"),Q=0;if(X&&!n.unicodeSet)throw new Error('The "v" flag is only supported when the .unicodeSet option is enabled.');if($&&X)throw new Error('The "u" and "v" flags are mutually exclusive.');""===(e=String(e))&&(e="(?:)");var J=j();J.range[1]!==e.length&&W("Could not parse entire input - got stuck","",J.range[1]);for(var ee=0;eed?0:d+a),(n=n>d?d:n)<0&&(n+=d),d=a>n?0:n-a>>>0,a>>>=0;for(var r=Array(d);++t=200){var f=a?null:i(e);if(f)return s(f);l=!1,c=o,p=new t}else p=a?[]:R;e:for(;++g0&&t[0]<4?1:+(t[0]+t[1])),!d&&o&&(!(t=o.match(/Edge\/(\d+)/))||t[1]>=74)&&(t=o.match(/Chrome\/(\d+)/))&&(d=+t[1]),e.exports=d},LXxW:function(e,a){e.exports=function(e,a){for(var n=-1,t=null==e?0:e.length,d=0,r=[];++na.score?-1:e.index-a.index}))},h=function(e){return e.replace(/(^\/+|\/+$)/g,"").split("/")},m=function(e){for(var a=arguments.length,n=Array(a>1?a-1:0),t=1;t0})))&&n.length>0?"?"+n.join("&"):"")},b=["uri","path"],y=function(e,a){var n=Object.keys(e);return n.length===Object.keys(a).length&&n.every((function(n){return a.hasOwnProperty(n)&&e[n]===a[n]}))}},LZTu:function(e,a,n){const t=n("dVj6")(3517,3530,3542);t.addRange(3457,3459).addRange(3461,3478).addRange(3482,3505).addRange(3507,3515).addRange(3520,3526).addRange(3535,3540).addRange(3544,3551).addRange(3558,3567).addRange(3570,3572).addRange(70113,70132),e.exports=t},LZZ3:function(e,a,n){const t=n("dVj6")(41,93,125,3899,3901,5788,8262,8318,8334,8969,8971,9002,10089,10091,10093,10095,10097,10099,10101,10182,10215,10217,10219,10221,10223,10628,10630,10632,10634,10636,10638,10640,10642,10644,10646,10648,10713,10715,10749,11811,11813,11815,11817,11862,11864,11866,11868,12297,12299,12301,12303,12305,12309,12311,12313,12315,64830,65048,65078,65080,65082,65084,65086,65088,65090,65092,65096,65114,65116,65118,65289,65341,65373,65376,65379);t.addRange(12318,12319),e.exports=t},LcsW:function(e,a,n){var t=n("kekF")(Object.getPrototypeOf,Object);e.exports=t},LeKB:function(e,a,n){e.exports=[{plugin:n("BOnt"),options:{plugins:[]}},{plugin:n("flL/"),options:{plugins:[],extensions:[".md",".mdx"],remarkPlugins:[[null,{type:"yaml",marker:"-"}],null],rehypePlugins:[null,null],gatsbyRemarkPlugins:[{resolve:"gatsby-remark-images",options:{sizeByPixelDensity:!0,withWebp:!0}},{resolve:"gatsby-remark-vscode",options:{logLevel:"debug",colorTheme:"Material Theme Darker",injectStyles:!1,extensionDataDirectory:"/home/runner/work/tanka/tanka/docs/.vscext",extensions:[{identifier:"heptio.jsonnet",version:"0.1.0"},{identifier:"Equinusocio.vsc-material-theme",version:"30.0.0"}]}}],defaultLayouts:{default:"/home/runner/work/tanka/tanka/docs/node_modules/gatsby-theme-docz/src/base/Layout.js"},lessBabel:!1,mediaTypes:["text/markdown","text/x-markdown"],root:"/home/runner/work/tanka/tanka/docs"}},{plugin:n("anp4"),options:{plugins:[]}},{plugin:n("XdyY"),options:{plugins:[],gatsbyRemarkPlugins:[{resolve:"gatsby-remark-images",options:{sizeByPixelDensity:!0,withWebp:!0}},{resolve:"gatsby-remark-vscode",options:{logLevel:"debug",colorTheme:"Material Theme Darker",injectStyles:!1,extensionDataDirectory:"/home/runner/work/tanka/tanka/docs/.vscext",extensions:[{identifier:"heptio.jsonnet",version:"0.1.0"},{identifier:"Equinusocio.vsc-material-theme",version:"30.0.0"}]}}]}},{plugin:n("npZl"),options:{plugins:[],name:"Grafana Tanka",short_name:"Tanka",start_url:"/",display:"standalone",icon:"img/logo_black.svg",background_color:"#ffffff",theme_color:"#000000",legacy:!0,theme_color_in_head:!0,cache_busting_mode:"query",crossOrigin:"anonymous",include_favicon:!0,cacheDigest:"815afb474b603167d9aafa836ab02617"}},{plugin:n("e/UW"),options:{plugins:[],precachePages:["/","/install","/tutorial/overview"]}}]},LqhL:function(e,a,n){const t=n("dVj6")();t.addRange(72816,72847).addRange(72850,72871).addRange(72873,72886),e.exports=t},LsHQ:function(e,a,n){var t=n("EA7m"),d=n("mv/X");e.exports=function(e){return t((function(a,n){var t=-1,r=n.length,o=r>1?n[r-1]:void 0,i=r>2?n[2]:void 0;for(o=e.length>3&&"function"==typeof o?(r--,o):void 0,i&&d(n[0],n[1],i)&&(o=r<3?void 0:o,r=1),a=Object(a);++t{Object(t.apiRunner)("onServiceWorkerUpdateFound",{serviceWorker:e});const a=e.installing;console.log("installingWorker",a),a.addEventListener("statechange",()=>{switch(a.state){case"installed":navigator.serviceWorker.controller?(window.___swUpdated=!0,Object(t.apiRunner)("onServiceWorkerUpdateReady",{serviceWorker:e}),window.___failedResources&&(console.log("resources failed, SW updated - reloading"),window.location.reload())):(console.log("Content is now available offline!"),Object(t.apiRunner)("onServiceWorkerInstalled",{serviceWorker:e}));break;case"redundant":console.error("The installing service worker became redundant."),Object(t.apiRunner)("onServiceWorkerRedundant",{serviceWorker:e});break;case"activated":Object(t.apiRunner)("onServiceWorkerActive",{serviceWorker:e})}})})})).catch((function(e){console.error("Error during service worker registration:",e)}))},NTOk:function(e,a,n){const t=n("dVj6")();t.addRange(7248,7295),e.exports=t},NcVZ:function(e,a,n){const t=n("dVj6")();t.addRange(70016,70111),e.exports=t},"Ng/I":function(e,a,n){const t=n("dVj6")();t.addRange(69840,69864).addRange(69872,69881),e.exports=t},NhNr:function(e,a,n){const t=n("dVj6")();t.addRange(43072,43127),e.exports=t},NpMe:function(e,a,n){const t=n("dVj6")();t.addRange(69424,69465),e.exports=t},Npjl:function(e,a){e.exports=function(e,a){return null==e?void 0:e[a]}},NsGk:function(e,a,n){a.components={"component---cache-caches-gatsby-plugin-offline-app-shell-js":()=>n.e(2).then(n.t.bind(null,"zXQ9",7)),"component---docs-completion-md":()=>n.e(3).then(n.bind(null,"pdrC")),"component---docs-config-md":()=>n.e(4).then(n.bind(null,"9oCR")),"component---docs-diff-strategy-md":()=>n.e(5).then(n.bind(null,"tUVA")),"component---docs-directory-structure-md":()=>n.e(6).then(n.bind(null,"6SEy")),"component---docs-env-vars-md":()=>n.e(7).then(n.bind(null,"YnQe")),"component---docs-exporting-md":()=>n.e(8).then(n.bind(null,"AXtd")),"component---docs-faq-md":()=>n.e(9).then(n.bind(null,"RGCZ")),"component---docs-formatting-md":()=>n.e(10).then(n.bind(null,"zzAL")),"component---docs-garbage-collection-md":()=>n.e(11).then(n.bind(null,"GAVx")),"component---docs-helm-mdx":()=>n.e(12).then(n.bind(null,"YJCz")),"component---docs-inline-environments-mdx":()=>n.e(13).then(n.bind(null,"d0WO")),"component---docs-installation-mdx":()=>n.e(14).then(n.bind(null,"5gTo")),"component---docs-introduction-mdx":()=>n.e(15).then(n.bind(null,"iQkD")),"component---docs-jsonnet-injecting-values-md":()=>n.e(16).then(n.bind(null,"3fvT")),"component---docs-jsonnet-main-md":()=>n.e(17).then(n.bind(null,"hUCp")),"component---docs-jsonnet-native-functions-md":()=>n.e(18).then(n.bind(null,"3rzr")),"component---docs-jsonnet-overview-md":()=>n.e(19).then(n.bind(null,"5bP6")),"component---docs-known-issues-md":()=>n.e(20).then(n.bind(null,"+sT5")),"component---docs-kustomize-mdx":()=>n.e(21).then(n.bind(null,"uQoz")),"component---docs-libraries-import-paths-md":()=>n.e(22).then(n.bind(null,"OlZl")),"component---docs-libraries-install-publish-md":()=>n.e(23).then(n.bind(null,"pI5B")),"component---docs-libraries-overriding-md":()=>n.e(24).then(n.bind(null,"7Pa4")),"component---docs-namespaces-md":()=>n.e(25).then(n.bind(null,"+UK2")),"component---docs-server-side-apply-md":()=>n.e(26).then(n.bind(null,"BC+V")),"component---docs-targets-md":()=>n.e(27).then(n.bind(null,"txtL")),"component---docs-tutorial-abstraction-mdx":()=>n.e(28).then(n.bind(null,"pcXi")),"component---docs-tutorial-environments-mdx":()=>n.e(29).then(n.bind(null,"RnbX")),"component---docs-tutorial-jsonnet-mdx":()=>n.e(30).then(n.bind(null,"H1MS")),"component---docs-tutorial-k-lib-mdx":()=>n.e(31).then(n.bind(null,"3kBX")),"component---docs-tutorial-overview-mdx":()=>n.e(32).then(n.bind(null,"hwtK")),"component---docs-tutorial-parameterizing-mdx":()=>n.e(33).then(n.bind(null,"qTU8")),"component---docs-tutorial-refresher-mdx":()=>n.e(34).then(n.bind(null,"Xb6S")),"component---src-components-home-snippet-mdx":()=>Promise.resolve().then(n.bind(null,"PT20")),"component---src-components-install-jb-arch-mdx":()=>Promise.resolve().then(n.bind(null,"N+J+")),"component---src-components-install-jb-binary-mdx":()=>Promise.resolve().then(n.bind(null,"Tp2l")),"component---src-components-install-jb-go-mdx":()=>Promise.resolve().then(n.bind(null,"5mMq")),"component---src-components-install-jb-osx-mdx":()=>Promise.resolve().then(n.bind(null,"of3k")),"component---src-components-install-tk-arch-mdx":()=>Promise.resolve().then(n.bind(null,"z8l3")),"component---src-components-install-tk-binary-mdx":()=>Promise.resolve().then(n.bind(null,"XiyU")),"component---src-components-install-tk-go-mdx":()=>Promise.resolve().then(n.bind(null,"HIQX")),"component---src-components-install-tk-osx-mdx":()=>Promise.resolve().then(n.bind(null,"sUPn"))}},NykK:function(e,a,n){var t=n("nmnc"),d=n("AP2z"),r=n("KfNM"),o=t?t.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":o&&o in Object(e)?d(e):r(e)}},O0oS:function(e,a,n){var t=n("Cwc5"),d=function(){try{var e=t(Object,"defineProperty");return e({},"",{}),e}catch(a){}}();e.exports=d},O741:function(e,a,n){var t=n("Fib7"),d=String,r=TypeError;e.exports=function(e){if("object"==typeof e||t(e))return e;throw r("Can't set "+d(e)+" as a prototype")}},O7RO:function(e,a,n){var t=n("CMye"),d=n("7GkX");e.exports=function(e){for(var a=d(e),n=a.length;n--;){var r=a[n],o=e[r];a[n]=[r,o,t(o)]}return a}},OBhP:function(e,a,n){var t=n("fmRc"),d=n("gFfm"),r=n("MrPd"),o=n("WwFo"),i=n("Dw+G"),s=n("5Tg0"),g=n("Q1l4"),c=n("VOtZ"),u=n("EEGq"),l=n("qZTm"),R=n("G6z8"),p=n("QqLw"),f=n("yHx3"),h=n("wrZu"),m=n("+iFO"),b=n("Z0cm"),y=n("DSRE"),v=n("zEVN"),j=n("GoyQ"),O=n("1+5i"),_=n("7GkX"),x=n("mTTR"),w={};w["[object Arguments]"]=w["[object Array]"]=w["[object ArrayBuffer]"]=w["[object DataView]"]=w["[object Boolean]"]=w["[object Date]"]=w["[object Float32Array]"]=w["[object Float64Array]"]=w["[object Int8Array]"]=w["[object Int16Array]"]=w["[object Int32Array]"]=w["[object Map]"]=w["[object Number]"]=w["[object Object]"]=w["[object RegExp]"]=w["[object Set]"]=w["[object String]"]=w["[object Symbol]"]=w["[object Uint8Array]"]=w["[object Uint8ClampedArray]"]=w["[object Uint16Array]"]=w["[object Uint32Array]"]=!0,w["[object Error]"]=w["[object Function]"]=w["[object WeakMap]"]=!1,e.exports=function e(a,n,E,k,S,D){var A,C=1&n,P=2&n,F=4&n;if(E&&(A=S?E(a,k,S,D):E(a)),void 0!==A)return A;if(!j(a))return a;var T=b(a);if(T){if(A=f(a),!C)return g(a,A)}else{var L=p(a),B="[object Function]"==L||"[object GeneratorFunction]"==L;if(y(a))return s(a,C);if("[object Object]"==L||"[object Arguments]"==L||B&&!S){if(A=P||B?{}:m(a),!C)return P?u(a,i(A,a)):c(a,o(A,a))}else{if(!w[L])return S?a:{};A=h(a,L,C)}}D||(D=new t);var N=D.get(a);if(N)return N;D.set(a,A),O(a)?a.forEach((function(t){A.add(e(t,n,E,t,a,D))})):v(a)&&a.forEach((function(t,d){A.set(d,e(t,n,E,d,a,D))}));var I=T?void 0:(F?P?R:l:P?x:_)(a);return d(I||a,(function(t,d){I&&(t=a[d=t]),r(A,d,e(t,n,E,d,a,D))})),A}},OMsT:function(e,a,n){const t=n("dVj6")(94,96,168,175,180,184,749,885,2184,8125,43867,65342,65344,65507);t.addRange(706,709).addRange(722,735).addRange(741,747).addRange(751,767).addRange(900,901).addRange(8127,8129).addRange(8141,8143).addRange(8157,8159).addRange(8173,8175).addRange(8189,8190).addRange(12443,12444).addRange(42752,42774).addRange(42784,42785).addRange(42889,42890).addRange(43882,43883).addRange(64434,64450).addRange(127995,127999),e.exports=t},OQG6:function(e,a,n){const t=n("dVj6")();t.addRange(3585,3642).addRange(3648,3675),e.exports=t},OQyL:function(e,a,n){const t=n("dVj6")(45,1418,1470,5120,6150,11799,11802,11840,11869,12316,12336,12448,65112,65123,65293,69293);t.addRange(8208,8213).addRange(11834,11835).addRange(65073,65074),e.exports=t},OTnk:function(e,a,n){const t=n("dVj6")();t.addRange(66560,66639),e.exports=t},OZnc:function(e,a,n){const t=n("dVj6")();t.addRange(5120,5759).addRange(6320,6389).addRange(72368,72383),e.exports=t},ObV2:function(e,a,n){const t=n("dVj6")(7401,7410,7418);t.addRange(2404,2405).addRange(3302,3311).addRange(43056,43061).addRange(72096,72103).addRange(72106,72151).addRange(72154,72164),e.exports=t},"Of+w":function(e,a,n){var t=n("Cwc5")(n("Kz5y"),"WeakMap");e.exports=t},Ohg8:function(e,a,n){const t=n("dVj6")(173,1564,1757,1807,2274,6158,65279,69821,69837,917505);t.addRange(1536,1541).addRange(2192,2193).addRange(8203,8207).addRange(8234,8238).addRange(8288,8292).addRange(8294,8303).addRange(65529,65531).addRange(78896,78904).addRange(113824,113827).addRange(119155,119162).addRange(917536,917631),e.exports=t},OpvP:function(e,a,n){var t=n("4zBA");e.exports=t({}.isPrototypeOf)},P0BJ:function(e,a,n){const t=n("dVj6")();t.addRange(5920,5940),e.exports=t},PE4B:function(e,a,n){"use strict";var t=function(e){return function(e){return!!e&&"object"==typeof e}(e)&&!function(e){var a=Object.prototype.toString.call(e);return"[object RegExp]"===a||"[object Date]"===a||function(e){return e.$$typeof===d}(e)}(e)};var d="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function r(e,a){return!1!==a.clone&&a.isMergeableObject(e)?c((n=e,Array.isArray(n)?[]:{}),e,a):e;var n}function o(e,a,n){return e.concat(a).map((function(e){return r(e,n)}))}function i(e){return Object.keys(e).concat(function(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter((function(a){return Object.propertyIsEnumerable.call(e,a)})):[]}(e))}function s(e,a){try{return a in e}catch(n){return!1}}function g(e,a,n){var t={};return n.isMergeableObject(e)&&i(e).forEach((function(a){t[a]=r(e[a],n)})),i(a).forEach((function(d){(function(e,a){return s(e,a)&&!(Object.hasOwnProperty.call(e,a)&&Object.propertyIsEnumerable.call(e,a))})(e,d)||(s(e,d)&&n.isMergeableObject(a[d])?t[d]=function(e,a){if(!a.customMerge)return c;var n=a.customMerge(e);return"function"==typeof n?n:c}(d,n)(e[d],a[d],n):t[d]=r(a[d],n))})),t}function c(e,a,n){(n=n||{}).arrayMerge=n.arrayMerge||o,n.isMergeableObject=n.isMergeableObject||t,n.cloneUnlessOtherwiseSpecified=r;var d=Array.isArray(a);return d===Array.isArray(e)?d?n.arrayMerge(e,a,n):g(e,a,n):r(a,n)}c.all=function(e,a){if(!Array.isArray(e))throw new Error("first argument should be an array");return e.reduce((function(e,n){return c(e,n,a)}),{})};var u=c;e.exports=u},PF2M:function(e,a,n){"use strict";var t=n("2oRo"),d=n("xluM"),r=n("67WC"),o=n("B/qT"),i=n("GC2F"),s=n("ewvW"),g=n("0Dky"),c=t.RangeError,u=t.Int8Array,l=u&&u.prototype,R=l&&l.set,p=r.aTypedArray,f=r.exportTypedArrayMethod,h=!g((function(){var e=new Uint8ClampedArray(2);return d(R,e,{length:1,0:3},1),3!==e[1]})),m=h&&r.NATIVE_ARRAY_BUFFER_VIEWS&&g((function(){var e=new u(2);return e.set(1),e.set("2",1),0!==e[0]||2!==e[1]}));f("set",(function(e){p(this);var a=i(arguments.length>1?arguments[1]:void 0,1),n=s(e);if(h)return d(R,this,n,a);var t=this.length,r=o(n),g=0;if(r+a>t)throw c("Wrong length");for(;g1),a})),i(e,c(e),n),g&&(n=d(n,7,s));for(var u=a.length;u--;)r(n,a[u]);return n}));e.exports=u},Q1l4:function(e,a){e.exports=function(e,a){var n=-1,t=e.length;for(a||(a=Array(t));++nc;)if((i=s[c++])!=i)return!0}else for(;g>c;c++)if((e||c in s)&&s[c]===n)return e||c||0;return!e&&-1}};e.exports={includes:o(!0),indexOf:o(!1)}},TYy9:function(e,a,n){var t=n("XGnz");e.exports=function(e){return(null==e?0:e.length)?t(e,1):[]}},Ta7t:function(e,a,n){var t=n("I8vh"),d=n("B/qT"),r=n("hBjN"),o=Array,i=Math.max;e.exports=function(e,a,n){for(var s=d(e),g=t(a,s),c=t(void 0===n?s:n,s),u=o(i(c-g,0)),l=0;g0?d(t(e),9007199254740991):0}},"UNi/":function(e,a){e.exports=function(e,a){for(var n=-1,t=Array(e);++n{e.ignoreCase?_.set(e.fromPath,e):O.set(e.fromPath,e)});const w=(e,a)=>{x(e.pathname)||Object(r.apiRunner)("onPreRouteUpdate",{location:e,prevLocation:a})},E=(e,a)=>{x(e.pathname)||Object(r.apiRunner)("onRouteUpdate",{location:e,prevLocation:a})},k=function(e,a){if(void 0===a&&(a={}),"number"==typeof e)return void y.c.navigate(e);let{pathname:n}=Object(v.parsePath)(e),t=O.get(n);if(t||(t=_.get(n.toLowerCase())),t&&(e=t.toPath,n=Object(v.parsePath)(e).pathname),window.___swUpdated)return void(window.location=n);const d=setTimeout(()=>{m.a.emit("onDelayedLoadPageResources",{pathname:n}),Object(r.apiRunner)("onRouteUpdateDelayed",{location:window.location})},1e3);f.default.loadPage(n).then(t=>{if(!t||t.status===f.PageResourceStatus.Error)return window.history.replaceState({},"",location.href),window.location=n,void clearTimeout(d);t&&t.page.webpackCompilationHash!==window.___webpackCompilationHash&&("serviceWorker"in navigator&&null!==navigator.serviceWorker.controller&&"activated"===navigator.serviceWorker.controller.state&&navigator.serviceWorker.controller.postMessage({gatsbyApi:"clearPathResources"}),window.location=n),Object(c.navigate)(e,a),clearTimeout(d)})};function S(e,a){let{location:n}=a;const{pathname:t,hash:d}=n,o=Object(r.apiRunner)("shouldUpdateScroll",{prevRouterProps:e,pathname:t,routerProps:{location:n},getSavedScrollPosition:e=>[0,this._stateStorage.read(e,e.key)]});if(o.length>0)return o[o.length-1];if(e){const{location:{pathname:a}}=e;if(a===t)return d?decodeURI(d.slice(1)):[0,0]}return!0}let D=function(e){function a(a){var n;return(n=e.call(this,a)||this).announcementRef=i.a.createRef(),n}Object(d.a)(a,e);var n=a.prototype;return n.componentDidUpdate=function(e,a){requestAnimationFrame(()=>{let e="new page at "+this.props.location.pathname;document.title&&(e=document.title);const a=document.querySelectorAll("#gatsby-focus-wrapper h1");a&&a.length&&(e=a[0].textContent);const n="Navigated to "+e;if(this.announcementRef.current){this.announcementRef.current.innerText!==n&&(this.announcementRef.current.innerText=n)}})},n.render=function(){return Object(j.d)("div",Object(t.a)({},b,{ref:this.announcementRef}))},a}(i.a.Component);const A=(e,a)=>{var n,t;return e.href!==a.href||(null==e||null===(n=e.state)||void 0===n?void 0:n.key)!==(null==a||null===(t=a.state)||void 0===t?void 0:t.key)};let C=function(e){function a(a){var n;return n=e.call(this,a)||this,w(a.location,null),n}Object(d.a)(a,e);var n=a.prototype;return n.componentDidMount=function(){E(this.props.location,null)},n.shouldComponentUpdate=function(e){return!!A(e.location,this.props.location)&&(w(this.props.location,e.location),!0)},n.componentDidUpdate=function(e){A(e.location,this.props.location)&&E(this.props.location,e.location)},n.render=function(){return Object(j.d)(i.a.Fragment,null,this.props.children,Object(j.d)(D,{location:location}))},a}(i.a.Component);var P=n("IOVJ"),F=n("NsGk"),T=n.n(F),L=n("rePB");function B(e,a){for(var n in e)if(!(n in a))return!0;for(var t in a)if(e[t]!==a[t])return!0;return!1}function N(e,a){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),n.push.apply(n,t)}return n}function I(e){for(var a=1;a{a&&a.status!==f.PageResourceStatus.Error?this.setState({location:I({},window.location),pageResources:a}):(window.history.replaceState({},"",location.href),window.location=e)})},n.shouldComponentUpdate=function(e,a){return a.pageResources?this.state.pageResources!==a.pageResources||(this.state.pageResources.component!==a.pageResources.component||(this.state.pageResources.json!==a.pageResources.json||(!(this.state.location.key===a.location.key||!a.pageResources.page||!a.pageResources.page.matchPath&&!a.pageResources.page.path)||function(e,a,n){return B(e.props,a)||B(e.state,n)}(this,e,a)))):(this.loadResources(e.location.pathname),!1)},n.render=function(){return this.props.children(this.state)},a}(i.a.Component),z=n("cSJ8"),q=n("JeVI");const V=new f.ProdLoader(T.a,q);Object(f.setLoader)(V),V.setApiRunner(r.apiRunner),window.asyncRequires=T.a,window.___emitter=m.a,window.___loader=f.publicLoader,y.c.listen(e=>{e.location.action=e.action}),window.___push=e=>k(e,{replace:!1}),window.___replace=e=>k(e,{replace:!0}),window.___navigate=(e,a)=>k(e,a),x(window.location.pathname),Object(r.apiRunnerAsync)("onClientEntry").then(()=>{Object(r.apiRunner)("registerServiceWorker").length>0&&n("NSX3");const e=e=>Object(j.d)(c.BaseContext.Provider,{value:{baseuri:"/",basepath:"/"}},Object(j.d)(P.a,e)),a=i.a.createContext({});let o=function(e){function n(){return e.apply(this,arguments)||this}return Object(d.a)(n,e),n.prototype.render=function(){const{children:e}=this.props;return Object(j.d)(c.Location,null,n=>{let{location:t}=n;return Object(j.d)(M,{location:t},n=>{let{pageResources:t,location:d}=n;const r=Object(f.getStaticQueryResults)();return Object(j.d)(p.StaticQueryContext.Provider,{value:r},Object(j.d)(a.Provider,{value:{pageResources:t,location:d}},e))})})},n}(i.a.Component),s=function(n){function r(){return n.apply(this,arguments)||this}return Object(d.a)(r,n),r.prototype.render=function(){return Object(j.d)(a.Consumer,null,a=>{let{pageResources:n,location:d}=a;return Object(j.d)(C,{location:d},Object(j.d)(u.ScrollContext,{location:d,shouldUpdateScroll:S},Object(j.d)(c.Router,{basepath:"/pr-preview/pr-991",location:d,id:"gatsby-focus-wrapper"},Object(j.d)(e,Object(t.a)({path:"/404.html"===n.page.path?Object(z.a)(d.pathname,"/pr-preview/pr-991"):encodeURI(n.page.matchPath||n.page.path)},this.props,{location:d,pageResources:n},n.json)))))})},r}(i.a.Component);const{pagePath:l,location:h}=window;l&&"/pr-preview/pr-991"+l!==h.pathname&&!(V.findMatchPath(Object(z.a)(h.pathname,"/pr-preview/pr-991"))||"/404.html"===l||l.match(/^\/404\/?$/)||l.match(/^\/offline-plugin-app-shell-fallback\/?$/))&&Object(c.navigate)("/pr-preview/pr-991"+l+h.search+h.hash,{replace:!0}),f.publicLoader.loadPage(h.pathname).then(e=>{if(!e||e.status===f.PageResourceStatus.Error)throw new Error("page resources for "+h.pathname+" not found. Not rendering React");window.___webpackCompilationHash=e.page.webpackCompilationHash;const a=Object(r.apiRunner)("wrapRootElement",{element:Object(j.d)(s,null)},Object(j.d)(s,null),e=>{let{result:a}=e;return{element:a}}).pop(),n=()=>Object(j.d)(o,null,a),t=Object(r.apiRunner)("replaceHydrateFunction",void 0,g.a.hydrate)[0];R()(()=>{t(Object(j.d)(n,null),"undefined"!=typeof window?document.getElementById("___gatsby"):void 0,()=>{Object(r.apiRunner)("onInitialClientRender")})})})})},Uyem:function(e,a,n){const t=n("dVj6")();t.addRange(67712,67742).addRange(67751,67759),e.exports=t},"V+/M":function(e,a,n){const t=n("dVj6")(110592);t.addRange(12449,12538).addRange(12541,12543).addRange(12784,12799).addRange(13008,13054).addRange(13056,13143).addRange(65382,65391).addRange(65393,65437).addRange(110576,110579).addRange(110581,110587).addRange(110589,110590).addRange(110880,110882).addRange(110948,110951),e.exports=t},V3uO:function(e,a,n){const t=n("dVj6")(1471,1479,1648,1809,2045,2362,2364,2381,2433,2492,2494,2509,2519,2558,2620,2641,2677,2748,2765,2817,2876,2893,2946,3006,3008,3021,3031,3072,3076,3132,3201,3260,3263,3266,3270,3390,3405,3415,3457,3530,3535,3542,3551,3633,3761,3893,3895,3897,4038,4226,4237,4253,6086,6109,6159,6313,6450,6683,6742,6752,6754,6783,6972,6978,7142,7149,7405,7412,8204,11647,43010,43014,43019,43052,43263,43443,43493,43587,43596,43644,43696,43713,43766,44005,44008,44013,64286,66045,66272,68159,69633,69744,69826,70003,70095,70196,70206,70367,70462,70464,70487,70726,70750,70832,70842,70845,71087,71229,71339,71341,71351,71984,71998,72003,72160,72263,72767,73018,73031,73109,73111,94031,94180,119141,121461,121476,123566);t.addRange(768,879).addRange(1155,1161).addRange(1425,1469).addRange(1473,1474).addRange(1476,1477).addRange(1552,1562).addRange(1611,1631).addRange(1750,1756).addRange(1759,1764).addRange(1767,1768).addRange(1770,1773).addRange(1840,1866).addRange(1958,1968).addRange(2027,2035).addRange(2070,2073).addRange(2075,2083).addRange(2085,2087).addRange(2089,2093).addRange(2137,2139).addRange(2200,2207).addRange(2250,2273).addRange(2275,2306).addRange(2369,2376).addRange(2385,2391).addRange(2402,2403).addRange(2497,2500).addRange(2530,2531).addRange(2561,2562).addRange(2625,2626).addRange(2631,2632).addRange(2635,2637).addRange(2672,2673).addRange(2689,2690).addRange(2753,2757).addRange(2759,2760).addRange(2786,2787).addRange(2810,2815).addRange(2878,2879).addRange(2881,2884).addRange(2901,2903).addRange(2914,2915).addRange(3134,3136).addRange(3142,3144).addRange(3146,3149).addRange(3157,3158).addRange(3170,3171).addRange(3276,3277).addRange(3285,3286).addRange(3298,3299).addRange(3328,3329).addRange(3387,3388),t.addRange(3393,3396).addRange(3426,3427).addRange(3538,3540).addRange(3636,3642).addRange(3655,3662).addRange(3764,3772).addRange(3784,3789).addRange(3864,3865).addRange(3953,3966).addRange(3968,3972).addRange(3974,3975).addRange(3981,3991).addRange(3993,4028).addRange(4141,4144).addRange(4146,4151).addRange(4153,4154).addRange(4157,4158).addRange(4184,4185).addRange(4190,4192).addRange(4209,4212).addRange(4229,4230).addRange(4957,4959).addRange(5906,5908).addRange(5938,5939).addRange(5970,5971).addRange(6002,6003).addRange(6068,6069).addRange(6071,6077).addRange(6089,6099).addRange(6155,6157).addRange(6277,6278).addRange(6432,6434).addRange(6439,6440).addRange(6457,6459).addRange(6679,6680).addRange(6744,6750).addRange(6757,6764).addRange(6771,6780).addRange(6832,6862).addRange(6912,6915).addRange(6964,6970).addRange(7019,7027).addRange(7040,7041).addRange(7074,7077).addRange(7080,7081).addRange(7083,7085).addRange(7144,7145).addRange(7151,7153).addRange(7212,7219).addRange(7222,7223).addRange(7376,7378),t.addRange(7380,7392).addRange(7394,7400).addRange(7416,7417).addRange(7616,7679).addRange(8400,8432).addRange(11503,11505).addRange(11744,11775).addRange(12330,12335).addRange(12441,12442).addRange(42607,42610).addRange(42612,42621).addRange(42654,42655).addRange(42736,42737).addRange(43045,43046).addRange(43204,43205).addRange(43232,43249).addRange(43302,43309).addRange(43335,43345).addRange(43392,43394).addRange(43446,43449).addRange(43452,43453).addRange(43561,43566).addRange(43569,43570).addRange(43573,43574).addRange(43698,43700).addRange(43703,43704).addRange(43710,43711).addRange(43756,43757).addRange(65024,65039).addRange(65056,65071).addRange(65438,65439).addRange(66422,66426).addRange(68097,68099).addRange(68101,68102).addRange(68108,68111).addRange(68152,68154).addRange(68325,68326).addRange(68900,68903).addRange(69291,69292).addRange(69446,69456).addRange(69506,69509).addRange(69688,69702).addRange(69747,69748).addRange(69759,69761).addRange(69811,69814).addRange(69817,69818).addRange(69888,69890).addRange(69927,69931).addRange(69933,69940).addRange(70016,70017).addRange(70070,70078),t.addRange(70089,70092).addRange(70191,70193).addRange(70198,70199).addRange(70371,70378).addRange(70400,70401).addRange(70459,70460).addRange(70502,70508).addRange(70512,70516).addRange(70712,70719).addRange(70722,70724).addRange(70835,70840).addRange(70847,70848).addRange(70850,70851).addRange(71090,71093).addRange(71100,71101).addRange(71103,71104).addRange(71132,71133).addRange(71219,71226).addRange(71231,71232).addRange(71344,71349).addRange(71453,71455).addRange(71458,71461).addRange(71463,71467).addRange(71727,71735).addRange(71737,71738).addRange(71995,71996).addRange(72148,72151).addRange(72154,72155).addRange(72193,72202).addRange(72243,72248).addRange(72251,72254).addRange(72273,72278).addRange(72281,72283).addRange(72330,72342).addRange(72344,72345).addRange(72752,72758).addRange(72760,72765).addRange(72850,72871).addRange(72874,72880).addRange(72882,72883).addRange(72885,72886).addRange(73009,73014).addRange(73020,73021).addRange(73023,73029).addRange(73104,73105).addRange(73459,73460).addRange(92912,92916).addRange(92976,92982).addRange(94095,94098).addRange(113821,113822).addRange(118528,118573),t.addRange(118576,118598).addRange(119143,119145).addRange(119150,119154).addRange(119163,119170).addRange(119173,119179).addRange(119210,119213).addRange(119362,119364).addRange(121344,121398).addRange(121403,121452).addRange(121499,121503).addRange(121505,121519).addRange(122880,122886).addRange(122888,122904).addRange(122907,122913).addRange(122915,122916).addRange(122918,122922).addRange(123184,123190).addRange(123628,123631).addRange(125136,125142).addRange(125252,125258).addRange(917536,917631).addRange(917760,917999),e.exports=t},V6Ve:function(e,a,n){var t=n("kekF")(Object.keys,Object);e.exports=t},V6iA:function(e,a,n){const t=n("dVj6")();t.addRange(11904,11929).addRange(11931,12019).addRange(12032,12245),e.exports=t},V8Tt:function(e,a,n){const t=n("dVj6")();t.addRange(66208,66256),e.exports=t},V9aw:function(e,a){e.exports=function(e){return e.placeholder}},VArt:function(e,a,n){const t=n("dVj6")();t.addRange(92784,92862).addRange(92864,92873),e.exports=t},"VHj/":function(e,a,n){const t=n("dVj6")();t.addRange(66304,66339).addRange(66349,66351),e.exports=t},VOtZ:function(e,a,n){var t=n("juv8"),d=n("MvSz");e.exports=function(e,a){return t(e,d(e),a)}},VaNO:function(e,a){e.exports=function(e){return this.__data__.has(e)}},VbXa:function(e,a,n){var t=n("SksO");e.exports=function(e,a){e.prototype=Object.create(a.prototype),e.prototype.constructor=e,t(e,a)},e.exports.__esModule=!0,e.exports.default=e.exports},VdHZ:function(e,a,n){const t=n("dVj6")(94180);t.addRange(12294,12295).addRange(12321,12329).addRange(12344,12346).addRange(13312,19903).addRange(19968,40959).addRange(63744,64109).addRange(64112,64217).addRange(94208,100343).addRange(100352,101589).addRange(101632,101640).addRange(110960,111355).addRange(131072,173791).addRange(173824,177976).addRange(177984,178205).addRange(178208,183969).addRange(183984,191456).addRange(194560,195101).addRange(196608,201546),e.exports=t},VpIT:function(e,a,n){var t=n("xDBR"),d=n("xs3f");(e.exports=function(e,a){return d[e]||(d[e]=void 0!==a?a:{})})("versions",[]).push({version:"3.30.2",mode:t?"pure":"global",copyright:"© 2014-2023 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.30.2/LICENSE",source:"https://github.com/zloirock/core-js"})},VqP8:function(e,a,n){const t=n("dVj6")(12336,12539,13055);t.addRange(11904,11929).addRange(11931,12019).addRange(12032,12245).addRange(12289,12291).addRange(12293,12305).addRange(12307,12319).addRange(12321,12333).addRange(12343,12351).addRange(12688,12703).addRange(12736,12771).addRange(12832,12871).addRange(12928,12976).addRange(12992,13003).addRange(13144,13168).addRange(13179,13183).addRange(13280,13310).addRange(13312,19903).addRange(19968,40959).addRange(42752,42759).addRange(63744,64109).addRange(64112,64217).addRange(65093,65094).addRange(65377,65381).addRange(94178,94179).addRange(94192,94193).addRange(119648,119665).addRange(127568,127569).addRange(131072,173791).addRange(173824,177976).addRange(177984,178205).addRange(178208,183969).addRange(183984,191456).addRange(194560,195101).addRange(196608,201546),e.exports=t},Vu81:function(e,a,n){var t=n("0GbY"),d=n("4zBA"),r=n("JBy8"),o=n("dBg+"),i=n("glrk"),s=d([].concat);e.exports=t("Reflect","ownKeys")||function(e){var a=r.f(i(e)),n=o.f;return n?s(a,n(e)):a}},WAkd:function(e,a,n){const t=n("dVj6")();t.addRange(67968,67999),e.exports=t},WFqU:function(e,a,n){(function(a){var n="object"==typeof a&&a&&a.Object===Object&&a;e.exports=n}).call(this,n("yLpj"))},WGqn:function(e,a,n){const t=n("dVj6")(8239);t.addRange(6144,6169).addRange(6176,6264).addRange(6272,6314).addRange(71264,71276),e.exports=t},WPcv:function(e,a,n){const t=n("dVj6")();t.addRange(65536,65547).addRange(65549,65574).addRange(65576,65594).addRange(65596,65597).addRange(65599,65613).addRange(65616,65629).addRange(65664,65786),e.exports=t},WR1s:function(e,a,n){const t=n("dVj6")(66927);t.addRange(66864,66915),e.exports=t},WSbT:function(e,a,n){var t=n("tC4l");e.exports=function(e){var a=+e;return a!=a||0===a?0:t(a)}},WWur:function(e,a,n){"use strict";const t=function(e){let{target:a=document.body}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=document.createElement("textarea"),t=document.activeElement;n.value=e,n.setAttribute("readonly",""),n.style.contain="strict",n.style.position="absolute",n.style.left="-9999px",n.style.fontSize="12pt";const d=document.getSelection();let r=!1;d.rangeCount>0&&(r=d.getRangeAt(0)),a.append(n),n.select(),n.selectionStart=0,n.selectionEnd=e.length;let o=!1;try{o=document.execCommand("copy")}catch(i){}return n.remove(),r&&(d.removeAllRanges(),d.addRange(r)),t&&t.focus(),o};e.exports=t,e.exports.default=t},Wbzz:function(e,a,n){"use strict";n.r(a),n.d(a,"graphql",(function(){return m})),n.d(a,"StaticQueryContext",(function(){return R})),n.d(a,"StaticQuery",(function(){return f})),n.d(a,"useStaticQuery",(function(){return h})),n.d(a,"prefetchPathname",(function(){return l}));var t=n("q1tI"),d=n.n(t),r=n("+ZDr"),o=n.n(r);n.d(a,"Link",(function(){return o.a})),n.d(a,"withAssetPrefix",(function(){return r.withAssetPrefix})),n.d(a,"withPrefix",(function(){return r.withPrefix})),n.d(a,"parsePath",(function(){return r.parsePath})),n.d(a,"navigate",(function(){return r.navigate})),n.d(a,"push",(function(){return r.push})),n.d(a,"replace",(function(){return r.replace})),n.d(a,"navigateTo",(function(){return r.navigateTo}));var i=n("7hJ6");n.d(a,"useScrollRestoration",(function(){return i.useScrollRestoration}));var s=n("lw3w"),g=n.n(s);n.d(a,"PageRenderer",(function(){return g.a}));var c=n("emEt"),u=n("qKvR");const l=c.default.enqueue,R=d.a.createContext({});function p(e){let{staticQueryData:a,data:n,query:t,render:r}=e;const o=n?n.data:a[t]&&a[t].data;return Object(u.d)(d.a.Fragment,null,o&&r(o),!o&&Object(u.d)("div",null,"Loading (StaticQuery)"))}const f=e=>{const{data:a,query:n,render:t,children:d}=e;return Object(u.d)(R.Consumer,null,e=>Object(u.d)(p,{data:a,query:n,render:t||d,staticQueryData:e}))},h=e=>{var a;d.a.useContext;const n=d.a.useContext(R);if(isNaN(Number(e)))throw new Error("useStaticQuery was called with a string but expects to be called using `graphql`. Try this:\n\nimport { useStaticQuery, graphql } from 'gatsby';\n\nuseStaticQuery(graphql`"+e+"`);\n");if(null!==(a=n[e])&&void 0!==a&&a.data)return n[e].data;throw new Error("The result of this StaticQuery could not be fetched.\n\nThis is likely a bug in Gatsby and if refreshing the page does not fix it, please open an issue in https://github.com/gatsbyjs/gatsby/issues")};function m(){throw new Error("It appears like Gatsby is misconfigured. Gatsby related `graphql` calls are supposed to only be evaluated at compile time, and then compiled away. Unfortunately, something went wrong and the query was left in the compiled code.\n\nUnless your site has a complex or custom babel/Gatsby configuration this is likely a bug in Gatsby.")}},We1y:function(e,a,n){var t=n("Fib7"),d=n("DVFp"),r=TypeError;e.exports=function(e){if(t(e))return e;throw r(d(e)+" is not a function")}},WfgX:function(e,a,n){const t=n("dVj6")(70280);t.addRange(2662,2671).addRange(70272,70278).addRange(70282,70285).addRange(70287,70301).addRange(70303,70313),e.exports=t},Wp8k:function(e,a,n){const t=n("dVj6")();t.addRange(66640,66687),e.exports=t},"Wry+":function(e,a,n){const t=n("dVj6")();t.addRange(125184,125259).addRange(125264,125273).addRange(125278,125279),e.exports=t},WwFo:function(e,a,n){var t=n("juv8"),d=n("7GkX");e.exports=function(e,a){return e&&t(a,d(a),e)}},X29h:function(e,a,n){const t=n("dVj6")();t.addRange(2404,2405).addRange(2534,2543).addRange(43008,43052),e.exports=t},X2h1:function(e,a,n){const t=n("dVj6")(94176);t.addRange(94208,100343).addRange(100352,101119).addRange(101632,101640),e.exports=t},XDiy:function(e,a,n){},XGnz:function(e,a,n){var t=n("CH3K"),d=n("BiGR");e.exports=function e(a,n,r,o,i){var s=-1,g=a.length;for(r||(r=d),i||(i=[]);++s0&&r(c)?n>1?e(c,n-1,r,o,i):t(i,c):o||(i[i.length]=c)}return i}},XGwC:function(e,a){e.exports=function(e,a){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:a}}},XHv3:function(e,a,n){"use strict";n.d(a,"c",(function(){return R})),n.d(a,"a",(function(){return p})),n.d(a,"b",(function(){return b}));var t=n("qKvR"),d=n("q1tI"),r=n("sUPn"),o=n("z8l3"),i=n("HIQX"),s=n("XiyU"),g=n("of3k"),c=n("N+J+"),u=n("5mMq"),l=n("Tp2l");const R={macOS:Object(t.d)(r.default,null),ArchLinux:Object(t.d)(o.default,null),Binary:Object(t.d)(s.default,null),Go:Object(t.d)(i.default,null)};void 0!==R&&R&&R===Object(R)&&Object.isExtensible(R)&&!Object.prototype.hasOwnProperty.call(R,"__filemeta")&&Object.defineProperty(R,"__filemeta",{configurable:!0,value:{name:"Tanka",filename:"src/components/install/index.js"}}),void 0!==R&&R&&R===Object(R)&&Object.isExtensible(R)&&!Object.prototype.hasOwnProperty.call(R,"__filemeta")&&Object.defineProperty(R,"__filemeta",{configurable:!0,value:{name:"Tanka",filename:"src/components/install/index.js"}});const p={macOS:Object(t.d)(g.default,null),ArchLinux:Object(t.d)(c.default,null),Binary:Object(t.d)(l.default,null),Go:Object(t.d)(u.default,null)};void 0!==p&&p&&p===Object(p)&&Object.isExtensible(p)&&!Object.prototype.hasOwnProperty.call(p,"__filemeta")&&Object.defineProperty(p,"__filemeta",{configurable:!0,value:{name:"Jb",filename:"src/components/install/index.js"}}),void 0!==p&&p&&p===Object(p)&&Object.isExtensible(p)&&!Object.prototype.hasOwnProperty.call(p,"__filemeta")&&Object.defineProperty(p,"__filemeta",{configurable:!0,value:{name:"Jb",filename:"src/components/install/index.js"}});var f={name:"j7qwjs",styles:"display:flex;flex-direction:column;"},h={name:"1uj31nx",styles:"display:flex;margin-bottom:1em;margin-left:-.5em;flex-wrap:wrap;"},m={name:"441d6o",styles:"margin-top:-1em;border:1px solid #CED4DE;border-radius:3px;padding:.8em;"};const b=e=>{let{elems:a,def:n}=e;const{0:r,1:o}=Object(d.useState)(n);return Object(t.d)("div",{css:f},Object(t.d)("div",{css:h},Object.keys(a).map(e=>Object(t.d)("button",{key:e,css:Object(t.c)({background:"none",color:"inherit",fontSize:"1em",fontFamily:"inherit",padding:".4em .8em .4em .8em",marginLeft:".5em",marginBottom:".5em",border:"1px solid "+(e===r?"#0B5FFF":"#CED4DE"),borderRadius:"3px",outline:"none",":hover":{border:"1px solid #0B5FFF",cursor:"pointer"}},"",""),onClick:()=>{o(e)}},e))),Object(t.d)("div",{css:m},a[r]))};void 0!==b&&b&&b===Object(b)&&Object.isExtensible(b)&&!Object.prototype.hasOwnProperty.call(b,"__filemeta")&&Object.defineProperty(b,"__filemeta",{configurable:!0,value:{name:"PlatformInstall",filename:"src/components/install/index.js"}}),void 0!==b&&b&&b===Object(b)&&Object.isExtensible(b)&&!Object.prototype.hasOwnProperty.call(b,"__filemeta")&&Object.defineProperty(b,"__filemeta",{configurable:!0,value:{name:"PlatformInstall",filename:"src/components/install/index.js"}})},XYm9:function(e,a,n){var t=n("+K+b");e.exports=function(e,a){var n=a?t(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}},XcdB:function(e,a,n){const t=n("dVj6")();t.addRange(68224,68255),e.exports=t},XdyY:function(e,a,n){"use strict";n.r(a);n("w3mS")},XhaC:function(e,a){e.exports=new Set(["General_Category","Script","Script_Extensions","Alphabetic","Any","ASCII","ASCII_Hex_Digit","Assigned","Bidi_Control","Bidi_Mirrored","Case_Ignorable","Cased","Changes_When_Casefolded","Changes_When_Casemapped","Changes_When_Lowercased","Changes_When_NFKC_Casefolded","Changes_When_Titlecased","Changes_When_Uppercased","Dash","Default_Ignorable_Code_Point","Deprecated","Diacritic","Emoji","Emoji_Component","Emoji_Modifier","Emoji_Modifier_Base","Emoji_Presentation","Extended_Pictographic","Extender","Grapheme_Base","Grapheme_Extend","Hex_Digit","ID_Continue","ID_Start","Ideographic","IDS_Binary_Operator","IDS_Trinary_Operator","Join_Control","Logical_Order_Exception","Lowercase","Math","Noncharacter_Code_Point","Pattern_Syntax","Pattern_White_Space","Quotation_Mark","Radical","Regional_Indicator","Sentence_Terminal","Soft_Dotted","Terminal_Punctuation","Unified_Ideograph","Uppercase","Variation_Selector","White_Space","XID_Continue","XID_Start"])},Xhwf:function(e,a,n){(function(){var a,t;a=n("Z94/"),t={"minor second":16/15,"major second":9/8,"minor third":1.2,"major third":4/3,"augmented fourth":Math.sqrt(2),"perfect fifth":1.5,"minor sixth":1.6,golden:1.61803398875,phi:1.61803398875,"major sixth":5/3,"minor seventh":16/9,"major seventh":15/8,octave:2,"major tenth":2.5,"major eleventh":8/3,"major twelfth":3,"double octave":4},e.exports=function(e,n){var d;return null==e&&(e=0),null==n&&(n="golden"),d=a(n)?n:null!=t[n]?t[n]:t.golden,Math.pow(d,e)}}).call(this)},Xi7e:function(e,a,n){var t=n("KMkd"),d=n("adU4"),r=n("tMB7"),o=n("+6XX"),i=n("Z8oC");function s(e){var a=-1,n=null==e?0:e.length;for(this.clear();++ao;)for(var f,h=u(arguments[o++]),m=l?p(i(h),l(h)):i(h),b=m.length,y=0;b>y;)f=m[y++],t&&!r(R,h,f)||(n[f]=h[f]);return n}:l},YO3V:function(e,a,n){var t=n("NykK"),d=n("LcsW"),r=n("ExA7"),o=Function.prototype,i=Object.prototype,s=o.toString,g=i.hasOwnProperty,c=s.call(Object);e.exports=function(e){if(!r(e)||"[object Object]"!=t(e))return!1;var a=d(e);if(null===a)return!0;var n=g.call(a,"constructor")&&a.constructor;return"function"==typeof n&&n instanceof n&&s.call(n)==c}},YVoz:function(e,a,n){"use strict";e.exports=Object.assign},YXr4:function(e,a,n){const t=n("dVj6")(1548,1567,65010,65021);t.addRange(1563,1564).addRange(1632,1641).addRange(1920,1969),e.exports=t},Yoag:function(e,a,n){var t=n("dTAl"),d=n("RrRF");function r(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=4294967295,this.__views__=[]}r.prototype=t(d.prototype),r.prototype.constructor=r,e.exports=r},YuTi:function(e,a){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},YulU:function(e,a,n){const t=n("dVj6")();t.addRange(68352,68405).addRange(68409,68415),e.exports=t},YwZP:function(e,a,n){"use strict";n.r(a),n.d(a,"Link",(function(){return P})),n.d(a,"Location",(function(){return y})),n.d(a,"LocationProvider",(function(){return v})),n.d(a,"Match",(function(){return I})),n.d(a,"Redirect",(function(){return N})),n.d(a,"Router",(function(){return _})),n.d(a,"ServerLocation",(function(){return j})),n.d(a,"isRedirect",(function(){return T})),n.d(a,"redirectTo",(function(){return L})),n.d(a,"useLocation",(function(){return M})),n.d(a,"useNavigate",(function(){return z})),n.d(a,"useParams",(function(){return q})),n.d(a,"useMatch",(function(){return V})),n.d(a,"BaseContext",(function(){return O}));var t=n("q1tI"),d=n.n(t),r=n("QLaP"),o=n.n(r),i=n("nqlD"),s=n.n(i),g=n("94VI"),c=n("LYrO");n.d(a,"matchPath",(function(){return c.match}));var u=n("9Xx/");n.d(a,"createHistory",(function(){return u.a})),n.d(a,"createMemorySource",(function(){return u.b})),n.d(a,"navigate",(function(){return u.d})),n.d(a,"globalHistory",(function(){return u.c}));var l=Object.assign||function(e){for(var a=1;a=0||Object.prototype.hasOwnProperty.call(e,t)&&(n[t]=e[t]);return n}function p(e,a){if(!(e instanceof a))throw new TypeError("Cannot call a class as a function")}function f(e,a){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!a||"object"!=typeof a&&"function"!=typeof a?e:a}function h(e,a){if("function"!=typeof a&&null!==a)throw new TypeError("Super expression must either be null or a function, not "+typeof a);e.prototype=Object.create(a&&a.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),a&&(Object.setPrototypeOf?Object.setPrototypeOf(e,a):e.__proto__=a)}var m=function(e,a){var n=s()(a);return n.displayName=e,n},b=m("Location"),y=function(e){var a=e.children;return d.a.createElement(b.Consumer,null,(function(e){return e?a(e):d.a.createElement(v,null,a)}))},v=function(e){function a(){var n,t;p(this,a);for(var d=arguments.length,r=Array(d),o=0;o-1?(r=a.substring(0,t),o=a.substring(t)):r=a,d.a.createElement(b.Provider,{value:{location:{pathname:r,search:o,hash:""},navigate:function(){throw new Error("You can't call navigate on the server.")}}},n)},O=m("Base",{baseuri:"/",basepath:"/"}),_=function(e){return d.a.createElement(O.Consumer,null,(function(a){return d.a.createElement(y,null,(function(n){return d.a.createElement(x,l({},a,n,e))}))}))},x=function(e){function a(){return p(this,a),f(this,e.apply(this,arguments))}return h(a,e),a.prototype.render=function(){var e=this.props,a=e.location,n=e.navigate,t=e.basepath,r=e.primary,o=e.children,i=(e.baseuri,e.component),s=void 0===i?"div":i,g=R(e,["location","navigate","basepath","primary","children","baseuri","component"]),u=d.a.Children.toArray(o).reduce((function(e,a){var n=G(t)(a);return e.concat(n)}),[]),p=a.pathname,f=Object(c.pick)(u,p);if(f){var h=f.params,m=f.uri,b=f.route,y=f.route.value;t=b.default?t:b.path.replace(/\*$/,"");var v=l({},h,{uri:m,location:a,navigate:function(e,a){return n(Object(c.resolve)(e,m),a)}}),j=d.a.cloneElement(y,v,y.props.children?d.a.createElement(_,{location:a,primary:r},y.props.children):void 0),x=r?E:s,w=r?l({uri:m,location:a,component:s},g):g;return d.a.createElement(O.Provider,{value:{baseuri:m,basepath:t}},d.a.createElement(x,w,j))}return null},a}(d.a.PureComponent);x.defaultProps={primary:!0};var w=m("Focus"),E=function(e){var a=e.uri,n=e.location,t=e.component,r=R(e,["uri","location","component"]);return d.a.createElement(w.Consumer,null,(function(e){return d.a.createElement(D,l({},r,{component:t,requestFocus:e,uri:a,location:n}))}))},k=!0,S=0,D=function(e){function a(){var n,t;p(this,a);for(var d=arguments.length,r=Array(d),o=0;o{let{href:a,names:n,next:t,alone:r}=e;return Object(d.h)("a",{href:a,sx:{flexShrink:0,flexGrow:1,marginLeft:"7em",display:"flex",flexDirection:"column",textAlign:t&&!r?"right":"left",textDecoration:"none","&:visited":{color:"primary"}}},Object(d.h)("span",{sx:{color:"gray"}},t?"Next":"Previous"),Object(d.h)("span",{sx:{fontWeight:700}},n[a]))};a.a=e=>{let{prev:a,next:n}=e;const t=Object(i.g)().reduce((e,a)=>g(g({},e),{},{[a.route]:a.name}),{});return Object(d.h)(o.a.Fragment,null,Object(d.h)("hr",{sx:{marginTop:"4em"}}),Object(d.h)("div",{sx:{display:"flex",flexDirection:"row",marginLeft:"-7em",flexWrap:"wrap",justifyContent:"flex-start"}},a&&Object(d.h)(c,{alone:!n,names:t,href:a}),n&&Object(d.h)(c,{next:!0,alone:!a,names:t,href:n})))}},"Z/4g":function(e,a,n){const t=n("dVj6")();t.addRange(77712,77810),e.exports=t},Z0cm:function(e,a){var n=Array.isArray;e.exports=n},Z3Cz:function(e,a,n){const t=n("dVj6")(95,170,181,183,186,748,750,895,908,1369,1471,1479,1791,2042,2045,2482,2519,2556,2558,2620,2641,2654,2768,2929,2972,3024,3031,3165,3517,3530,3542,3716,3749,3782,3840,3893,3895,3897,4038,4295,4301,4696,4800,6103,6823,8025,8027,8029,8126,8276,8305,8319,8417,8450,8455,8469,8484,8486,8488,8526,11559,11565,11631,42963,43052,43259,64318,65343,66045,66272,67592,67644,68159,69415,69826,70006,70108,70206,70280,70480,70487,70855,71236,71945,72263,72349,73018,73648,119970,119995,120134,121461,121476,123214,126500,126503,126521,126523,126530,126535,126537,126539,126548,126551,126553,126555,126557,126559,126564,126590);t.addRange(48,57).addRange(65,90).addRange(97,122).addRange(192,214).addRange(216,246).addRange(248,705).addRange(710,721).addRange(736,740).addRange(768,884).addRange(886,887).addRange(890,893).addRange(902,906).addRange(910,929).addRange(931,1013).addRange(1015,1153).addRange(1155,1159).addRange(1162,1327).addRange(1329,1366).addRange(1376,1416).addRange(1425,1469).addRange(1473,1474).addRange(1476,1477).addRange(1488,1514).addRange(1519,1522).addRange(1552,1562).addRange(1568,1641).addRange(1646,1747).addRange(1749,1756).addRange(1759,1768).addRange(1770,1788).addRange(1808,1866).addRange(1869,1969).addRange(1984,2037).addRange(2048,2093).addRange(2112,2139).addRange(2144,2154).addRange(2160,2183).addRange(2185,2190).addRange(2200,2273).addRange(2275,2403).addRange(2406,2415).addRange(2417,2435).addRange(2437,2444).addRange(2447,2448).addRange(2451,2472).addRange(2474,2480).addRange(2486,2489).addRange(2492,2500).addRange(2503,2504).addRange(2507,2510).addRange(2524,2525),t.addRange(2527,2531).addRange(2534,2545).addRange(2561,2563).addRange(2565,2570).addRange(2575,2576).addRange(2579,2600).addRange(2602,2608).addRange(2610,2611).addRange(2613,2614).addRange(2616,2617).addRange(2622,2626).addRange(2631,2632).addRange(2635,2637).addRange(2649,2652).addRange(2662,2677).addRange(2689,2691).addRange(2693,2701).addRange(2703,2705).addRange(2707,2728).addRange(2730,2736).addRange(2738,2739).addRange(2741,2745).addRange(2748,2757).addRange(2759,2761).addRange(2763,2765).addRange(2784,2787).addRange(2790,2799).addRange(2809,2815).addRange(2817,2819).addRange(2821,2828).addRange(2831,2832).addRange(2835,2856).addRange(2858,2864).addRange(2866,2867).addRange(2869,2873).addRange(2876,2884).addRange(2887,2888).addRange(2891,2893).addRange(2901,2903).addRange(2908,2909).addRange(2911,2915).addRange(2918,2927).addRange(2946,2947).addRange(2949,2954).addRange(2958,2960).addRange(2962,2965).addRange(2969,2970).addRange(2974,2975).addRange(2979,2980).addRange(2984,2986).addRange(2990,3001),t.addRange(3006,3010).addRange(3014,3016).addRange(3018,3021).addRange(3046,3055).addRange(3072,3084).addRange(3086,3088).addRange(3090,3112).addRange(3114,3129).addRange(3132,3140).addRange(3142,3144).addRange(3146,3149).addRange(3157,3158).addRange(3160,3162).addRange(3168,3171).addRange(3174,3183).addRange(3200,3203).addRange(3205,3212).addRange(3214,3216).addRange(3218,3240).addRange(3242,3251).addRange(3253,3257).addRange(3260,3268).addRange(3270,3272).addRange(3274,3277).addRange(3285,3286).addRange(3293,3294).addRange(3296,3299).addRange(3302,3311).addRange(3313,3314).addRange(3328,3340).addRange(3342,3344).addRange(3346,3396).addRange(3398,3400).addRange(3402,3406).addRange(3412,3415).addRange(3423,3427).addRange(3430,3439).addRange(3450,3455).addRange(3457,3459).addRange(3461,3478).addRange(3482,3505).addRange(3507,3515).addRange(3520,3526).addRange(3535,3540).addRange(3544,3551).addRange(3558,3567).addRange(3570,3571).addRange(3585,3642).addRange(3648,3662).addRange(3664,3673).addRange(3713,3714),t.addRange(3718,3722).addRange(3724,3747).addRange(3751,3773).addRange(3776,3780).addRange(3784,3789).addRange(3792,3801).addRange(3804,3807).addRange(3864,3865).addRange(3872,3881).addRange(3902,3911).addRange(3913,3948).addRange(3953,3972).addRange(3974,3991).addRange(3993,4028).addRange(4096,4169).addRange(4176,4253).addRange(4256,4293).addRange(4304,4346).addRange(4348,4680).addRange(4682,4685).addRange(4688,4694).addRange(4698,4701).addRange(4704,4744).addRange(4746,4749).addRange(4752,4784).addRange(4786,4789).addRange(4792,4798).addRange(4802,4805).addRange(4808,4822).addRange(4824,4880).addRange(4882,4885).addRange(4888,4954).addRange(4957,4959).addRange(4969,4977).addRange(4992,5007).addRange(5024,5109).addRange(5112,5117).addRange(5121,5740).addRange(5743,5759).addRange(5761,5786).addRange(5792,5866).addRange(5870,5880).addRange(5888,5909).addRange(5919,5940).addRange(5952,5971).addRange(5984,5996).addRange(5998,6e3).addRange(6002,6003).addRange(6016,6099).addRange(6108,6109).addRange(6112,6121),t.addRange(6155,6157).addRange(6159,6169).addRange(6176,6264).addRange(6272,6314).addRange(6320,6389).addRange(6400,6430).addRange(6432,6443).addRange(6448,6459).addRange(6470,6509).addRange(6512,6516).addRange(6528,6571).addRange(6576,6601).addRange(6608,6618).addRange(6656,6683).addRange(6688,6750).addRange(6752,6780).addRange(6783,6793).addRange(6800,6809).addRange(6832,6845).addRange(6847,6862).addRange(6912,6988).addRange(6992,7001).addRange(7019,7027).addRange(7040,7155).addRange(7168,7223).addRange(7232,7241).addRange(7245,7293).addRange(7296,7304).addRange(7312,7354).addRange(7357,7359).addRange(7376,7378).addRange(7380,7418).addRange(7424,7957).addRange(7960,7965).addRange(7968,8005).addRange(8008,8013).addRange(8016,8023).addRange(8031,8061).addRange(8064,8116).addRange(8118,8124).addRange(8130,8132).addRange(8134,8140).addRange(8144,8147).addRange(8150,8155).addRange(8160,8172).addRange(8178,8180).addRange(8182,8188).addRange(8255,8256).addRange(8336,8348).addRange(8400,8412).addRange(8421,8432),t.addRange(8458,8467).addRange(8472,8477).addRange(8490,8505).addRange(8508,8511).addRange(8517,8521).addRange(8544,8584).addRange(11264,11492).addRange(11499,11507).addRange(11520,11557).addRange(11568,11623).addRange(11647,11670).addRange(11680,11686).addRange(11688,11694).addRange(11696,11702).addRange(11704,11710).addRange(11712,11718).addRange(11720,11726).addRange(11728,11734).addRange(11736,11742).addRange(11744,11775).addRange(12293,12295).addRange(12321,12335).addRange(12337,12341).addRange(12344,12348).addRange(12353,12438).addRange(12441,12447).addRange(12449,12538).addRange(12540,12543).addRange(12549,12591).addRange(12593,12686).addRange(12704,12735).addRange(12784,12799).addRange(13312,19903).addRange(19968,42124).addRange(42192,42237).addRange(42240,42508).addRange(42512,42539).addRange(42560,42607).addRange(42612,42621).addRange(42623,42737).addRange(42775,42783).addRange(42786,42888).addRange(42891,42954).addRange(42960,42961).addRange(42965,42969).addRange(42994,43047).addRange(43072,43123).addRange(43136,43205).addRange(43216,43225).addRange(43232,43255).addRange(43261,43309),t.addRange(43312,43347).addRange(43360,43388).addRange(43392,43456).addRange(43471,43481).addRange(43488,43518).addRange(43520,43574).addRange(43584,43597).addRange(43600,43609).addRange(43616,43638).addRange(43642,43714).addRange(43739,43741).addRange(43744,43759).addRange(43762,43766).addRange(43777,43782).addRange(43785,43790).addRange(43793,43798).addRange(43808,43814).addRange(43816,43822).addRange(43824,43866).addRange(43868,43881).addRange(43888,44010).addRange(44012,44013).addRange(44016,44025).addRange(44032,55203).addRange(55216,55238).addRange(55243,55291).addRange(63744,64109).addRange(64112,64217).addRange(64256,64262).addRange(64275,64279).addRange(64285,64296).addRange(64298,64310).addRange(64312,64316).addRange(64320,64321).addRange(64323,64324).addRange(64326,64433).addRange(64467,64829).addRange(64848,64911).addRange(64914,64967).addRange(65008,65019).addRange(65024,65039).addRange(65056,65071).addRange(65075,65076).addRange(65101,65103).addRange(65136,65140).addRange(65142,65276).addRange(65296,65305).addRange(65313,65338).addRange(65345,65370).addRange(65382,65470).addRange(65474,65479),t.addRange(65482,65487).addRange(65490,65495).addRange(65498,65500).addRange(65536,65547).addRange(65549,65574).addRange(65576,65594).addRange(65596,65597).addRange(65599,65613).addRange(65616,65629).addRange(65664,65786).addRange(65856,65908).addRange(66176,66204).addRange(66208,66256).addRange(66304,66335).addRange(66349,66378).addRange(66384,66426).addRange(66432,66461).addRange(66464,66499).addRange(66504,66511).addRange(66513,66517).addRange(66560,66717).addRange(66720,66729).addRange(66736,66771).addRange(66776,66811).addRange(66816,66855).addRange(66864,66915).addRange(66928,66938).addRange(66940,66954).addRange(66956,66962).addRange(66964,66965).addRange(66967,66977).addRange(66979,66993).addRange(66995,67001).addRange(67003,67004).addRange(67072,67382).addRange(67392,67413).addRange(67424,67431).addRange(67456,67461).addRange(67463,67504).addRange(67506,67514).addRange(67584,67589).addRange(67594,67637).addRange(67639,67640).addRange(67647,67669).addRange(67680,67702).addRange(67712,67742).addRange(67808,67826).addRange(67828,67829).addRange(67840,67861).addRange(67872,67897).addRange(67968,68023),t.addRange(68030,68031).addRange(68096,68099).addRange(68101,68102).addRange(68108,68115).addRange(68117,68119).addRange(68121,68149).addRange(68152,68154).addRange(68192,68220).addRange(68224,68252).addRange(68288,68295).addRange(68297,68326).addRange(68352,68405).addRange(68416,68437).addRange(68448,68466).addRange(68480,68497).addRange(68608,68680).addRange(68736,68786).addRange(68800,68850).addRange(68864,68903).addRange(68912,68921).addRange(69248,69289).addRange(69291,69292).addRange(69296,69297).addRange(69376,69404).addRange(69424,69456).addRange(69488,69509).addRange(69552,69572).addRange(69600,69622).addRange(69632,69702).addRange(69734,69749).addRange(69759,69818).addRange(69840,69864).addRange(69872,69881).addRange(69888,69940).addRange(69942,69951).addRange(69956,69959).addRange(69968,70003).addRange(70016,70084).addRange(70089,70092).addRange(70094,70106).addRange(70144,70161).addRange(70163,70199).addRange(70272,70278).addRange(70282,70285).addRange(70287,70301).addRange(70303,70312).addRange(70320,70378).addRange(70384,70393).addRange(70400,70403).addRange(70405,70412).addRange(70415,70416),t.addRange(70419,70440).addRange(70442,70448).addRange(70450,70451).addRange(70453,70457).addRange(70459,70468).addRange(70471,70472).addRange(70475,70477).addRange(70493,70499).addRange(70502,70508).addRange(70512,70516).addRange(70656,70730).addRange(70736,70745).addRange(70750,70753).addRange(70784,70853).addRange(70864,70873).addRange(71040,71093).addRange(71096,71104).addRange(71128,71133).addRange(71168,71232).addRange(71248,71257).addRange(71296,71352).addRange(71360,71369).addRange(71424,71450).addRange(71453,71467).addRange(71472,71481).addRange(71488,71494).addRange(71680,71738).addRange(71840,71913).addRange(71935,71942).addRange(71948,71955).addRange(71957,71958).addRange(71960,71989).addRange(71991,71992).addRange(71995,72003).addRange(72016,72025).addRange(72096,72103).addRange(72106,72151).addRange(72154,72161).addRange(72163,72164).addRange(72192,72254).addRange(72272,72345).addRange(72368,72440).addRange(72704,72712).addRange(72714,72758).addRange(72760,72768).addRange(72784,72793).addRange(72818,72847).addRange(72850,72871).addRange(72873,72886).addRange(72960,72966).addRange(72968,72969),t.addRange(72971,73014).addRange(73020,73021).addRange(73023,73031).addRange(73040,73049).addRange(73056,73061).addRange(73063,73064).addRange(73066,73102).addRange(73104,73105).addRange(73107,73112).addRange(73120,73129).addRange(73440,73462).addRange(73728,74649).addRange(74752,74862).addRange(74880,75075).addRange(77712,77808).addRange(77824,78894).addRange(82944,83526).addRange(92160,92728).addRange(92736,92766).addRange(92768,92777).addRange(92784,92862).addRange(92864,92873).addRange(92880,92909).addRange(92912,92916).addRange(92928,92982).addRange(92992,92995).addRange(93008,93017).addRange(93027,93047).addRange(93053,93071).addRange(93760,93823).addRange(93952,94026).addRange(94031,94087).addRange(94095,94111).addRange(94176,94177).addRange(94179,94180).addRange(94192,94193).addRange(94208,100343).addRange(100352,101589).addRange(101632,101640).addRange(110576,110579).addRange(110581,110587).addRange(110589,110590).addRange(110592,110882).addRange(110928,110930).addRange(110948,110951).addRange(110960,111355).addRange(113664,113770).addRange(113776,113788).addRange(113792,113800).addRange(113808,113817).addRange(113821,113822),t.addRange(118528,118573).addRange(118576,118598).addRange(119141,119145).addRange(119149,119154).addRange(119163,119170).addRange(119173,119179).addRange(119210,119213).addRange(119362,119364).addRange(119808,119892).addRange(119894,119964).addRange(119966,119967).addRange(119973,119974).addRange(119977,119980).addRange(119982,119993).addRange(119997,120003).addRange(120005,120069).addRange(120071,120074).addRange(120077,120084).addRange(120086,120092).addRange(120094,120121).addRange(120123,120126).addRange(120128,120132).addRange(120138,120144).addRange(120146,120485).addRange(120488,120512).addRange(120514,120538).addRange(120540,120570).addRange(120572,120596).addRange(120598,120628).addRange(120630,120654).addRange(120656,120686).addRange(120688,120712).addRange(120714,120744).addRange(120746,120770).addRange(120772,120779).addRange(120782,120831).addRange(121344,121398).addRange(121403,121452).addRange(121499,121503).addRange(121505,121519).addRange(122624,122654).addRange(122880,122886).addRange(122888,122904).addRange(122907,122913).addRange(122915,122916).addRange(122918,122922).addRange(123136,123180).addRange(123184,123197).addRange(123200,123209).addRange(123536,123566).addRange(123584,123641),t.addRange(124896,124902).addRange(124904,124907).addRange(124909,124910).addRange(124912,124926).addRange(124928,125124).addRange(125136,125142).addRange(125184,125259).addRange(125264,125273).addRange(126464,126467).addRange(126469,126495).addRange(126497,126498).addRange(126505,126514).addRange(126516,126519).addRange(126541,126543).addRange(126545,126546).addRange(126561,126562).addRange(126567,126570).addRange(126572,126578).addRange(126580,126583).addRange(126585,126588).addRange(126592,126601).addRange(126603,126619).addRange(126625,126627).addRange(126629,126633).addRange(126635,126651).addRange(130032,130041).addRange(131072,173791).addRange(173824,177976).addRange(177984,178205).addRange(178208,183969).addRange(183984,191456).addRange(194560,195101).addRange(196608,201546).addRange(917760,917999),e.exports=t},Z6fC:function(e,a,n){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.FrameContextConsumer=a.FrameContextProvider=a.FrameContext=void 0;var t,d=n("q1tI"),r=(t=d)&&t.__esModule?t:{default:t};var o=void 0,i=void 0;"undefined"!=typeof document&&(o=document),"undefined"!=typeof window&&(i=window);var s=a.FrameContext=r.default.createContext({document:o,window:i}),g=s.Provider,c=s.Consumer;a.FrameContextProvider=g,a.FrameContextConsumer=c},Z8oC:function(e,a,n){var t=n("y1pI");e.exports=function(e,a){var n=this.__data__,d=t(n,e);return d<0?(++this.size,n.push([e,a])):n[d][1]=a,this}},"Z94/":function(e,a){var n=Object.prototype.toString;e.exports=function(e){return"number"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&"[object Number]"==n.call(e)}},ZAyF:function(e,a,n){const t=n("dVj6")(11647);t.addRange(11568,11623).addRange(11631,11632),e.exports=t},ZCgT:function(e,a,n){var t=n("tLB3");e.exports=function(e){return e?(e=t(e))===1/0||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}},ZCpW:function(e,a,n){var t=n("lm/5"),d=n("O7RO"),r=n("IOzZ");e.exports=function(e){var a=d(e);return 1==a.length&&a[0][2]?r(a[0][0],a[0][1]):function(n){return n===e||t(n,e,a)}}},ZHd1:function(e,a,n){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.marksy=c,a.default=function(e){return c(e)};var t,d=(t=n("DlQD"))&&t.__esModule?t:{default:t},r=function(e){if(e&&e.__esModule)return e;var a={};if(null!=e)for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var t=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,n):{};t.get||t.set?Object.defineProperty(a,n,t):a[n]=e[n]}return a.default=e,a}(n("p+Yj"));function o(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function i(e,a,n){return(i=o()?Reflect.construct:function(e,a,n){var t=[null];t.push.apply(t,a);var d=new(Function.bind.apply(e,t));return n&&s(d,n.prototype),d}).apply(null,arguments)}function s(e,a){return(s=Object.setPrototypeOf||function(e,a){return e.__proto__=a,e})(e,a)}function g(e){return function(e){if(Array.isArray(e)){for(var a=0,n=new Array(e.length);a0&&void 0!==arguments[0]?arguments[0]:{},a={tree:null,elements:null,nextElementId:null,toc:null,currentIdLevel:0,currentId:[]},n=(0,r.default)(a,e,{code:function(n,t){if("marksy"===t){try{var d=a.nextElementId++,o=Object.keys(e.components).map((function(a){return e.components[a]}));return a.elements[d]=i(Function,["h"].concat(g(Object.keys(e.components)),["return ".concat(n)])).apply(void 0,[function(n){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},d=o.indexOf(n)>=0?Object.assign(t||{},{key:a.nextElementId++,context:a.context}):t,r=arguments.length,i=new Array(r>2?r-2:0),s=2;s1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return a.tree=[],a.elements={},a.toc=[],a.nextElementId=0,a.context=r,a.currentId=[],(0,d.default)(e,Object.assign({renderer:n,smartypants:!0},t)),{tree:a.tree,toc:a.toc}}}},ZKzb:function(e,a,n){const t=n("dVj6")();t.addRange(0,31).addRange(127,159),e.exports=t},ZSfS:function(e,a,n){const t=n("dVj6")();t.addRange(72272,72354),e.exports=t},ZWtO:function(e,a,n){var t=n("4uTw"),d=n("9Nap");e.exports=function(e,a){for(var n=0,r=(a=t(a,e)).length;null!=e&&n1&&S.reverse(),v&&b100&&(e=100),e<0&&(e=0);var d=0;if(0!==a){d=19.92978+-.3651759*e+.001737214*Math.pow(e,2)}var r=0;return t?(r=e/100,e="100%,"):(r=(100-e)/100,e="0%,"),"hsla("+a+","+d+"%,"+e+r+")"}},adU4:function(e,a,n){var t=n("y1pI"),d=Array.prototype.splice;e.exports=function(e){var a=this.__data__,n=t(a,e);return!(n<0)&&(n==a.length-1?a.pop():d.call(a,n,1),--this.size,!0)}},afO8:function(e,a,n){var t,d,r,o=n("zc4i"),i=n("2oRo"),s=n("hh1v"),g=n("kRJp"),c=n("Gi26"),u=n("xs3f"),l=n("93I0"),R=n("0BK2"),p=i.TypeError,f=i.WeakMap;if(o||u.state){var h=u.state||(u.state=new f);h.get=h.get,h.has=h.has,h.set=h.set,t=function(e,a){if(h.has(e))throw p("Object already initialized");return a.facade=e,h.set(e,a),a},d=function(e){return h.get(e)||{}},r=function(e){return h.has(e)}}else{var m=l("state");R[m]=!0,t=function(e,a){if(c(e,m))throw p("Object already initialized");return a.facade=e,g(e,m,a),a},d=function(e){return c(e,m)?e[m]:{}},r=function(e){return c(e,m)}}e.exports={set:t,get:d,has:r,enforce:function(e){return r(e)?d(e):t(e,{})},getterFor:function(e){return function(a){var n;if(!s(a)||(n=d(a)).type!==e)throw p("Incompatible receiver, "+e+" required");return n}}}},anp4:function(e,a,n){"use strict";var t=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:!0}),a.wrapRootElement=void 0;var d=t(n("q1tI")),r=n("rid2");a.wrapRootElement=function(e){var a=e.element;return d.default.createElement(r.HelmetProvider,null,a)}},asDA:function(e,a){e.exports=function(e,a,n,t){var d=-1,r=null==e?0:e.length;for(t&&r&&(n=e[++d]);++d0},e.prototype.connect_=function(){t&&!this.connected_&&(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),i?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},e.prototype.disconnect_=function(){t&&this.connected_&&(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},e.prototype.onTransitionEnd_=function(e){var a=e.propertyName,n=void 0===a?"":a;o.some((function(e){return!!~n.indexOf(e)}))&&this.refresh()},e.getInstance=function(){return this.instance_||(this.instance_=new e),this.instance_},e.instance_=null,e}(),g=function(e,a){for(var n=0,t=Object.keys(a);n0},e}(),j="undefined"!=typeof WeakMap?new WeakMap:new n,O=function e(a){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var n=s.getInstance(),t=new v(a,n,this);j.set(this,t)};["observe","unobserve","disconnect"].forEach((function(e){O.prototype[e]=function(){var a;return(a=j.get(this))[e].apply(a,arguments)}}));var _=void 0!==d.ResizeObserver?d.ResizeObserver:O;a.a=_}).call(this,n("yLpj"))},be4H:function(e,a,n){var t=n("6T1N"),d=n("xs/l"),r=d((function(e,a){return t(e,256,void 0,void 0,void 0,a)}));e.exports=r},bmMU:function(e,a,n){n("U3f4");var t="undefined"!=typeof Element,d="function"==typeof Map,r="function"==typeof Set,o="function"==typeof ArrayBuffer&&!!ArrayBuffer.isView;e.exports=function(e,a){try{return function e(a,n){if(a===n)return!0;if(a&&n&&"object"==typeof a&&"object"==typeof n){if(a.constructor!==n.constructor)return!1;var i,s,g,c;if(Array.isArray(a)){if((i=a.length)!=n.length)return!1;for(s=i;0!=s--;)if(!e(a[s],n[s]))return!1;return!0}if(d&&a instanceof Map&&n instanceof Map){if(a.size!==n.size)return!1;for(c=a.entries();!(s=c.next()).done;)if(!n.has(s.value[0]))return!1;for(c=a.entries();!(s=c.next()).done;)if(!e(s.value[1],n.get(s.value[0])))return!1;return!0}if(r&&a instanceof Set&&n instanceof Set){if(a.size!==n.size)return!1;for(c=a.entries();!(s=c.next()).done;)if(!n.has(s.value[0]))return!1;return!0}if(o&&ArrayBuffer.isView(a)&&ArrayBuffer.isView(n)){if((i=a.length)!=n.length)return!1;for(s=i;0!=s--;)if(a[s]!==n[s])return!1;return!0}if(a.constructor===RegExp)return a.source===n.source&&a.flags===n.flags;if(a.valueOf!==Object.prototype.valueOf&&"function"==typeof a.valueOf&&"function"==typeof n.valueOf)return a.valueOf()===n.valueOf();if(a.toString!==Object.prototype.toString&&"function"==typeof a.toString&&"function"==typeof n.toString)return a.toString()===n.toString();if((i=(g=Object.keys(a)).length)!==Object.keys(n).length)return!1;for(s=i;0!=s--;)if(!Object.prototype.hasOwnProperty.call(n,g[s]))return!1;if(t&&a instanceof Element)return!1;for(s=i;0!=s--;)if(("_owner"!==g[s]&&"__v"!==g[s]&&"__o"!==g[s]||!a.$$typeof)&&!e(a[g[s]],n[g[s]]))return!1;return!0}return a!=a&&n!=n}(e,a)}catch(n){if((n.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw n}}},bntx:function(e,a,n){const t=n("dVj6")(69759);t.addRange(69632,69709).addRange(69714,69749),e.exports=t},bqHw:function(e,a,n){const t=n("dVj6")(43310);t.addRange(4096,4255).addRange(43488,43518).addRange(43616,43647),e.exports=t},"c+H2":function(e,a,n){"use strict";Object.defineProperty(a,"__esModule",{value:!0});var t=Object.assign||function(e){for(var a=1;a
    '},a.default=l},c6wG:function(e,a,n){var t=n("dD9F"),d=n("sEf8"),r=n("mdPL"),o=r&&r.isTypedArray,i=o?d(o):t;e.exports=i},cDf5:function(e,a){function n(a){return e.exports=n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.__esModule=!0,e.exports.default=e.exports,n(a)}e.exports=n,e.exports.__esModule=!0,e.exports.default=e.exports},cSJ8:function(e,a,n){"use strict";function t(e,a){return void 0===a&&(a=""),a?e===a?"/":e.startsWith(a+"/")?e.slice(a.length):e:e}n.d(a,"a",(function(){return t}))},"cU+8":function(e,a,n){const t=n("dVj6")();t.addRange(71168,71236).addRange(71248,71257),e.exports=t},"cWj/":function(e,a,n){var t=n("OBhP"),d=n("ut/Y");e.exports=function(e){return d("function"==typeof e?e:t(e,1))}},cjT7:function(e,a){e.exports=function(e){return null==e}},coJu:function(e,a,n){var t=n("4zBA"),d=n("We1y");e.exports=function(e,a,n){try{return t(d(Object.getOwnPropertyDescriptor(e,a)[n]))}catch(r){}}},"cq/+":function(e,a,n){var t=n("mc0g")();e.exports=t},cu4x:function(e,a,n){"use strict";a.__esModule=!0,a.parsePath=function(e){var a=e||"/",n="",t="",d=a.indexOf("#");-1!==d&&(t=a.substr(d),a=a.substr(0,d));var r=a.indexOf("?");-1!==r&&(n=a.substr(r),a=a.substr(0,r));return{pathname:a,search:"?"===n?"":n,hash:"#"===t?"":t}}},cvCv:function(e,a){e.exports=function(e){return function(){return e}}},cyPN:function(e,a,n){const t=n("dVj6")();t.addRange(42240,42539),e.exports=t},"dBg+":function(e,a){a.f=Object.getOwnPropertySymbols},dC9X:function(e,a,n){const t=n("dVj6")(43359);t.addRange(43312,43347),e.exports=t},dD9F:function(e,a,n){var t=n("NykK"),d=n("shjB"),r=n("ExA7"),o={};o["[object Float32Array]"]=o["[object Float64Array]"]=o["[object Int8Array]"]=o["[object Int16Array]"]=o["[object Int32Array]"]=o["[object Uint8Array]"]=o["[object Uint8ClampedArray]"]=o["[object Uint16Array]"]=o["[object Uint32Array]"]=!0,o["[object Arguments]"]=o["[object Array]"]=o["[object ArrayBuffer]"]=o["[object Boolean]"]=o["[object DataView]"]=o["[object Date]"]=o["[object Error]"]=o["[object Function]"]=o["[object Map]"]=o["[object Number]"]=o["[object Object]"]=o["[object RegExp]"]=o["[object Set]"]=o["[object String]"]=o["[object WeakMap]"]=!1,e.exports=function(e){return r(e)&&d(e.length)&&!!o[t(e)]}},dI71:function(e,a,n){"use strict";function t(e,a){return(t=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,a){return e.__proto__=a,e})(e,a)}function d(e,a){e.prototype=Object.create(a.prototype),e.prototype.constructor=e,t(e,a)}n.d(a,"a",(function(){return d}))},dN2w:function(e,a,n){const t=n("dVj6")(170,186,8305,8319,8498,8526,42963);t.addRange(65,90).addRange(97,122).addRange(192,214).addRange(216,246).addRange(248,696).addRange(736,740).addRange(7424,7461).addRange(7468,7516).addRange(7522,7525).addRange(7531,7543).addRange(7545,7614).addRange(7680,7935).addRange(8336,8348).addRange(8490,8491).addRange(8544,8584).addRange(11360,11391).addRange(42786,42887).addRange(42891,42954).addRange(42960,42961).addRange(42965,42969).addRange(42994,43007).addRange(43824,43866).addRange(43868,43876).addRange(43878,43881).addRange(64256,64262).addRange(65313,65338).addRange(65345,65370).addRange(67456,67461).addRange(67463,67504).addRange(67506,67514).addRange(122624,122654),e.exports=t},dOYW:function(e,a,n){const t=n("dVj6")();t.addRange(82944,83526),e.exports=t},dP5d:function(e,a,n){const t=n("dVj6")(94180);t.addRange(101120,101589),e.exports=t},dQpi:function(e,a,n){var t=n("yGk4"),d=n("vN+2"),r=n("rEGp"),o=t&&1/r(new t([,-0]))[1]==1/0?function(e){return new t(e)}:d;e.exports=o},dTAl:function(e,a,n){var t=n("GoyQ"),d=Object.create,r=function(){function e(){}return function(a){if(!t(a))return{};if(d)return d(a);e.prototype=a;var n=new e;return e.prototype=void 0,n}}();e.exports=r},dVj6:function(e,a,n){(function(e,t){var d;!function(r){var o=a,i=(e&&e.exports,"object"==typeof t&&t);i.global!==i&&i.window;var s="A range’s `stop` value must be greater than or equal to the `start` value.",g="Invalid code point value. Code points range from U+000000 to U+10FFFF.",c=/\\x00([^0123456789]|$)/g,u={},l=u.hasOwnProperty,R=function(e,a){for(var n=-1,t=e.length;++n=n&&an)return e;if(a<=t&&n>=d)e.splice(r,2);else{if(a>=t&&n=t&&a<=d)e[r+1]=a;else if(n>=t&&n<=d)return e[r]=n+1,e;r+=2}}return e},O=function(e,a){var n,t,d=0,r=null,o=e.length;if(a<0||a>1114111)throw RangeError(g);for(;d=n&&aa)return e.splice(null!=r?r+2:0,0,a,a+1),e;if(a==t)return a+1==e[d+2]?(e.splice(d,4,n,e[d+3]),e):(e[d+1]=a+1,e);r=d,d+=2}return e.push(a,a+1),e},_=function(e,a){for(var n,t,d=0,r=e.slice(),o=a.length;d1114111||n<0||n>1114111)throw RangeError(g);for(var t,d,r=0,o=!1,i=e.length;rn)return e;t>=a&&t<=n&&(d>a&&d-1<=n?(e.splice(r,2),r-=2):(e.splice(r-1,2),r-=2))}else{if(t==n+1||t==n)return e[r]=a,e;if(t>n)return e.splice(r,0,a,n+1),e;if(a>=t&&a=t&&a=d&&(e[r]=a,e[r+1]=n+1,o=!0)}r+=2}return o||e.push(a,n+1),e},E=function(e,a){var n=0,t=e.length,d=e[n],r=e[t-1];if(t>=2&&(ar))return!1;for(;n=d&&a=40&&e<=43||46==e||47==e||63==e||e>=91&&e<=94||e>=123&&e<=125?"\\"+F(e):e>=32&&e<=126?F(e):e<=255?"\\x"+m(b(e),2):"\\u"+m(b(e),4)},L=function(e){return e<=65535?T(e):"\\u{"+e.toString(16).toUpperCase()+"}"},B=function(e){var a=e.length,n=e.charCodeAt(0);return n>=55296&&n<=56319&&a>1?1024*(n-55296)+e.charCodeAt(1)-56320+65536:n},N=function(e){var a,n,t="",d=0,r=e.length;if(S(e))return T(e[0]);for(;d=55296&&n<=56319&&(r.push(a,55296),t.push(55296,n+1)),n>=56320&&n<=57343&&(r.push(a,55296),t.push(55296,56320),d.push(56320,n+1)),n>57343&&(r.push(a,55296),t.push(55296,56320),d.push(56320,57344),n<=65535?r.push(57344,n+1):(r.push(57344,65536),o.push(65536,n+1)))):a>=55296&&a<=56319?(n>=55296&&n<=56319&&t.push(a,n+1),n>=56320&&n<=57343&&(t.push(a,56320),d.push(56320,n+1)),n>57343&&(t.push(a,56320),d.push(56320,57344),n<=65535?r.push(57344,n+1):(r.push(57344,65536),o.push(65536,n+1)))):a>=56320&&a<=57343?(n>=56320&&n<=57343&&d.push(a,n+1),n>57343&&(d.push(a,57344),n<=65535?r.push(57344,n+1):(r.push(57344,65536),o.push(65536,n+1)))):a>57343&&a<=65535?n<=65535?r.push(a,n+1):(r.push(a,65536),o.push(65536,n+1)):o.push(a,n+1),i+=2;return{loneHighSurrogates:t,loneLowSurrogates:d,bmp:r,astral:o}}(e),r=d.loneHighSurrogates,o=d.loneLowSurrogates,i=d.bmp,s=d.astral,g=!k(r),c=!k(o),u=M(s);return a&&(i=_(i,r),g=!1,i=_(i,o),c=!1),k(i)||t.push(N(i)),u.length&&t.push(function(e){var a=[];return R(e,(function(e){var n=e[0],t=e[1];a.push(N(n)+N(t))})),a.join("|")}(u)),g&&t.push(N(r)+"(?![\\uDC00-\\uDFFF])"),c&&t.push("(?:[^\\uD800-\\uDBFF]|^)"+N(o)),t.join("|")},q=function(e){return arguments.length>1&&(e=y.call(arguments)),this instanceof q?(this.data=[],e?this.add(e):this):(new q).add(e)};q.version="1.4.2";var V=q.prototype;!function(e,a){var n;for(n in a)l.call(a,n)&&(e[n]=a[n])}(V,{add:function(e){var a=this;return null==e?a:e instanceof q?(a.data=_(a.data,e.data),a):(arguments.length>1&&(e=y.call(arguments)),f(e)?(R(e,(function(e){a.add(e)})),a):(a.data=O(a.data,h(e)?e:B(e)),a))},remove:function(e){var a=this;return null==e?a:e instanceof q?(a.data=x(a.data,e.data),a):(arguments.length>1&&(e=y.call(arguments)),f(e)?(R(e,(function(e){a.remove(e)})),a):(a.data=v(a.data,h(e)?e:B(e)),a))},addRange:function(e,a){return this.data=w(this.data,h(e)?e:B(e),h(a)?a:B(a)),this},removeRange:function(e,a){var n=h(e)?e:B(e),t=h(a)?a:B(a);return this.data=j(this.data,n,t),this},intersection:function(e){var a=e instanceof q?D(e.data):e;return this.data=function(e,a){for(var n,t=0,d=a.length,r=[];t script[src],\n head > link[href],\n head > style[data-href]\n "),o=[].slice.call(r).filter((function(e){return"LINK"!==e.tagName||t.test(e.getAttribute("rel"))})).map((function(e){return e.src||e.href||e.getAttribute("data-href")})),i=[];d.forEach((function(e){var t=a(e);i.push.apply(i,t),n.active.postMessage({gatsbyApi:"setPathResources",path:e,resources:t})})),[].concat(o,i).forEach((function(e){var a=document.createElement("link");a.rel="prefetch",a.href=e,a.onload=a.remove,a.onerror=a.remove,document.head.appendChild(a)}))}},a.onRouteUpdate=function(e){var a=e.location,n=e.getResourceURLsForPathname;r(a.pathname.replace("/pr-preview/pr-991",""),n),"serviceWorker"in navigator&&null!==navigator.serviceWorker.controller&&navigator.serviceWorker.controller.postMessage({gatsbyApi:"enableOfflineShell"})},a.onPostPrefetchPathname=function(e){r(e.pathname,e.getResourceURLsForPathname)}},e4Nc:function(e,a,n){var t=n("fGT3"),d=n("k+1r"),r=n("JHgL"),o=n("pSRY"),i=n("H8j4");function s(e){var a=-1,n=null==e?0:e.length;for(this.clear();++a0&&(r+=";"),0!==s.length){for(var g=0,c=[],u=0,l=s;u1&&(p+=i(R[1]-a)+i(R[2]-n)+i(R[3]-t),a=R[1],n=R[2],t=R[3]),5===R.length&&(p+=i(R[4]-d),d=R[4]),c.push(p)}r+=c.join(",")}}return r}function i(e){var a="";e=e<0?-e<<1|1:e<<1;do{var n=31&e;(e>>>=5)>0&&(n|=32),a+=d[n]}while(e>0);return a}},eX0k:function(e,a,n){"use strict";var t=n("7BAC");e.exports=function(e,a,n){if(null!=n&&"string"!==t(n))throw new TypeError('expected "prop" to be undefined or a string');var d=t(e),r=t(a);return n&&("object"===d&&(e=e[n],d=t(e)),"object"===r&&(a=a[n],r=t(a))),"null"===d?"null"===r?0:"undefined"===r?-1:1:"undefined"===d?"null"===r?1:"undefined"===r?0:1:"null"===r||"undefined"===r||ea?1:0}},ebwN:function(e,a,n){var t=n("Cwc5")(n("Kz5y"),"Map");e.exports=t},"ec/7":function(e,a,n){const t=n("dVj6")(4696,4800);t.addRange(4608,4680).addRange(4682,4685).addRange(4688,4694).addRange(4698,4701).addRange(4704,4744).addRange(4746,4749).addRange(4752,4784).addRange(4786,4789).addRange(4792,4798).addRange(4802,4805).addRange(4808,4822).addRange(4824,4880).addRange(4882,4885).addRange(4888,4954).addRange(4957,4988).addRange(4992,5017).addRange(11648,11670).addRange(11680,11686).addRange(11688,11694).addRange(11696,11702).addRange(11704,11710).addRange(11712,11718).addRange(11720,11726).addRange(11728,11734).addRange(11736,11742).addRange(43777,43782).addRange(43785,43790).addRange(43793,43798).addRange(43808,43814).addRange(43816,43822).addRange(124896,124902).addRange(124904,124907).addRange(124909,124910).addRange(124912,124926),e.exports=t},edsp:function(e,a,n){const t=n("dVj6")(127488);t.addRange(12353,12438).addRange(12445,12447).addRange(110593,110879).addRange(110928,110930),e.exports=t},ekgI:function(e,a,n){var t=n("YESw"),d=Object.prototype.hasOwnProperty;e.exports=function(e){var a=this.__data__;return t?void 0!==a[e]:d.call(a,e)}},emEt:function(e,a,n){"use strict";n.r(a),n.d(a,"PageResourceStatus",(function(){return p})),n.d(a,"BaseLoader",(function(){return y})),n.d(a,"ProdLoader",(function(){return O})),n.d(a,"setLoader",(function(){return _})),n.d(a,"publicLoader",(function(){return x})),n.d(a,"getStaticQueryResults",(function(){return w}));var t=n("dI71");function d(e,a){(null==a||a>e.length)&&(a=e.length);for(var n=0,t=new Array(a);n{if("undefined"==typeof document)return void t();const d=document.createElement("link");d.setAttribute("rel","prefetch"),d.setAttribute("href",e),Object.keys(a).forEach(e=>{d.setAttribute(e,a[e])}),d.onload=n,d.onerror=t;(document.getElementsByTagName("head")[0]||document.getElementsByName("script")[0].parentNode).appendChild(d)})}:function(e){return new Promise((a,n)=>{const t=new XMLHttpRequest;t.open("GET",e,!0),t.onload=()=>{200===t.status?a():n()},t.send(null)})},s={};var g=function(e,a){return new Promise(n=>{s[e]?n():i(e,a).then(()=>{n(),s[e]=!0}).catch(()=>{})})},c=n("5yr3"),u=n("30RF");function l(e,a){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),n.push.apply(n,t)}return n}function R(e){for(var a=1;ae&&e.default||e,h=e=>{var a;return"/pr-preview/pr-991/page-data/"+("/"===e?"index":a=(a="/"===(a=e)[0]?a.slice(1):a).endsWith("/")?a.slice(0,-1):a)+"/page-data.json"};function m(e,a){return void 0===a&&(a="GET"),new Promise((n,t)=>{const d=new XMLHttpRequest;d.open(a,e,!0),d.onreadystatechange=()=>{4==d.readyState&&n(d)},d.send(null)})}const b=function(e,a){void 0===a&&(a=null);const n={componentChunkName:e.componentChunkName,path:e.path,webpackCompilationHash:e.webpackCompilationHash,matchPath:e.matchPath,staticQueryHashes:e.staticQueryHashes};return{component:a,json:e.result,page:n}};let y=function(){function e(e,a){this.inFlightNetworkRequests=new Map,this.pageDb=new Map,this.inFlightDb=new Map,this.staticQueryDb={},this.pageDataDb=new Map,this.prefetchTriggered=new Set,this.prefetchCompleted=new Set,this.loadComponent=e,Object(u.d)(a)}var a=e.prototype;return a.memoizedGet=function(e){let a=this.inFlightNetworkRequests.get(e);return a||(a=m(e,"GET"),this.inFlightNetworkRequests.set(e,a)),a.then(a=>(this.inFlightNetworkRequests.delete(e),a)).catch(a=>{throw this.inFlightNetworkRequests.delete(e),a})},a.setApiRunner=function(e){this.apiRunner=e,this.prefetchDisabled=e("disableCorePrefetching").some(e=>e)},a.fetchPageDataJson=function(e){const{pagePath:a,retries:n=0}=e,t=h(a);return this.memoizedGet(t).then(t=>{const{status:d,responseText:r}=t;if(200===d)try{const a=JSON.parse(r);if(void 0===a.path)throw new Error("not a valid pageData response");return Object.assign(e,{status:p.Success,payload:a})}catch(o){}return 404===d||200===d?"/404.html"===a?Object.assign(e,{status:p.Error}):this.fetchPageDataJson(Object.assign(e,{pagePath:"/404.html",notFound:!0})):500===d?Object.assign(e,{status:p.Error}):n<3?this.fetchPageDataJson(Object.assign(e,{retries:n+1})):Object.assign(e,{status:p.Error})})},a.loadPageDataJson=function(e){const a=Object(u.b)(e);if(this.pageDataDb.has(a)){const e=this.pageDataDb.get(a);return Promise.resolve(e)}return this.fetchPageDataJson({pagePath:a}).then(e=>(this.pageDataDb.set(a,e),e))},a.findMatchPath=function(e){return Object(u.a)(e)},a.loadPage=function(e){const a=Object(u.b)(e);if(this.pageDb.has(a)){const e=this.pageDb.get(a);return Promise.resolve(e.payload)}if(this.inFlightDb.has(a))return this.inFlightDb.get(a);const n=Promise.all([this.loadAppData(),this.loadPageDataJson(a)]).then(e=>{const n=e[1];if(n.status===p.Error)return{status:p.Error};let t=n.payload;const{componentChunkName:d,staticQueryHashes:r=[]}=t,o={},i=this.loadComponent(d).then(a=>{let d;return o.createdAt=new Date,a?(o.status=p.Success,!0===n.notFound&&(o.notFound=!0),t=Object.assign(t,{webpackCompilationHash:e[0]?e[0].webpackCompilationHash:""}),d=b(t,a)):o.status=p.Error,d}),s=Promise.all(r.map(e=>{if(this.staticQueryDb[e]){const a=this.staticQueryDb[e];return{staticQueryHash:e,jsonPayload:a}}return this.memoizedGet("/pr-preview/pr-991/page-data/sq/d/"+e+".json").then(a=>{const n=JSON.parse(a.responseText);return{staticQueryHash:e,jsonPayload:n}})})).then(e=>{const a={};return e.forEach(e=>{let{staticQueryHash:n,jsonPayload:t}=e;a[n]=t,this.staticQueryDb[n]=t}),a});return Promise.all([i,s]).then(e=>{let n,[t,d]=e;return t&&(n=R(R({},t),{},{staticQueryResults:d}),o.payload=n,c.a.emit("onPostLoadPageResources",{page:n,pageResources:n})),this.pageDb.set(a,o),n})});return n.then(e=>{this.inFlightDb.delete(a)}).catch(e=>{throw this.inFlightDb.delete(a),e}),this.inFlightDb.set(a,n),n},a.loadPageSync=function(e){const a=Object(u.b)(e);if(this.pageDb.has(a)){return this.pageDb.get(a).payload}},a.shouldPrefetch=function(e){return!!(()=>{if("connection"in navigator&&void 0!==navigator.connection){if((navigator.connection.effectiveType||"").includes("2g"))return!1;if(navigator.connection.saveData)return!1}return!0})()&&!this.pageDb.has(e)},a.prefetch=function(e){if(!this.shouldPrefetch(e))return!1;if(this.prefetchTriggered.has(e)||(this.apiRunner("onPrefetchPathname",{pathname:e}),this.prefetchTriggered.add(e)),this.prefetchDisabled)return!1;const a=Object(u.b)(e);return this.doPrefetch(a).then(()=>{this.prefetchCompleted.has(e)||(this.apiRunner("onPostPrefetchPathname",{pathname:e}),this.prefetchCompleted.add(e))}),!0},a.doPrefetch=function(e){const a=h(e);return g(a,{crossOrigin:"anonymous",as:"fetch"}).then(()=>this.loadPageDataJson(e))},a.hovering=function(e){this.loadPage(e)},a.getResourceURLsForPathname=function(e){const a=Object(u.b)(e),n=this.pageDataDb.get(a);if(n){const e=b(n.payload);return[].concat(r(v(e.page.componentChunkName)),[h(a)])}return null},a.isPageNotFound=function(e){const a=Object(u.b)(e),n=this.pageDb.get(a);return!n||n.notFound},a.loadAppData=function(e){return void 0===e&&(e=0),this.memoizedGet("/pr-preview/pr-991/page-data/app-data.json").then(a=>{const{status:n,responseText:t}=a;let d;if(200!==n&&e<3)return this.loadAppData(e+1);if(200===n)try{const e=JSON.parse(t);if(void 0===e.webpackCompilationHash)throw new Error("not a valid app-data response");d=e}catch(r){}return d})},e}();const v=e=>(window.___chunkMapping[e]||[]).map(e=>"/pr-preview/pr-991"+e);let j,O=function(e){function a(a,n){return e.call(this,e=>a.components[e]?a.components[e]().then(f).catch(()=>null):Promise.resolve(),n)||this}Object(t.a)(a,e);var n=a.prototype;return n.doPrefetch=function(a){return e.prototype.doPrefetch.call(this,a).then(e=>{if(e.status!==p.Success)return Promise.resolve();const a=e.payload,n=a.componentChunkName,t=v(n);return Promise.all(t.map(g)).then(()=>a)})},n.loadPageDataJson=function(a){return e.prototype.loadPageDataJson.call(this,a).then(e=>e.notFound?m(a,"HEAD").then(a=>200===a.status?{status:p.Error}:e):e)},a}(y);const _=e=>{j=e},x={getResourcesForPathname:e=>(console.warn("Warning: getResourcesForPathname is deprecated. Use loadPage instead"),j.i.loadPage(e)),getResourcesForPathnameSync:e=>(console.warn("Warning: getResourcesForPathnameSync is deprecated. Use loadPageSync instead"),j.i.loadPageSync(e)),enqueue:e=>j.prefetch(e),getResourceURLsForPathname:e=>j.getResourceURLsForPathname(e),loadPage:e=>j.loadPage(e),loadPageSync:e=>j.loadPageSync(e),prefetch:e=>j.prefetch(e),isPageNotFound:e=>j.isPageNotFound(e),hovering:e=>j.hovering(e),loadAppData:()=>j.loadAppData()};a.default=x;function w(){return j?j.staticQueryDb:{}}},ep7J:function(e,a,n){const t=n("dVj6")(9200,9203,9855,9875,9889,9934,9940,9962,9973,9978,9981,9989,10024,10060,10062,10071,10160,10175,11088,11093,126980,127183,127374,127489,127514,127535,127988,128064,128378,128420,128716,129008);t.addRange(8986,8987).addRange(9193,9196).addRange(9725,9726).addRange(9748,9749).addRange(9800,9811).addRange(9898,9899).addRange(9917,9918).addRange(9924,9925).addRange(9970,9971).addRange(9994,9995).addRange(10067,10069).addRange(10133,10135).addRange(11035,11036).addRange(127377,127386).addRange(127462,127487).addRange(127538,127542).addRange(127544,127546).addRange(127568,127569).addRange(127744,127776).addRange(127789,127797).addRange(127799,127868).addRange(127870,127891).addRange(127904,127946).addRange(127951,127955).addRange(127968,127984).addRange(127992,128062).addRange(128066,128252).addRange(128255,128317).addRange(128331,128334).addRange(128336,128359).addRange(128405,128406).addRange(128507,128591).addRange(128640,128709).addRange(128720,128722).addRange(128725,128727).addRange(128733,128735).addRange(128747,128748).addRange(128756,128764).addRange(128992,129003).addRange(129292,129338).addRange(129340,129349).addRange(129351,129535).addRange(129648,129652).addRange(129656,129660).addRange(129664,129670).addRange(129680,129708).addRange(129712,129722).addRange(129728,129733).addRange(129744,129753).addRange(129760,129767).addRange(129776,129782),e.exports=t},ewvW:function(e,a,n){var t=n("HYAF"),d=Object;e.exports=function(e){return d(t(e))}},ezlQ:function(e,a,n){const t=n("dVj6")(1471,1479,1648,1809,2045,2362,2364,2381,2433,2492,2509,2558,2620,2641,2677,2748,2765,2817,2876,2879,2893,2946,3008,3021,3072,3076,3132,3201,3260,3263,3270,3405,3457,3530,3542,3633,3761,3893,3895,3897,4038,4226,4237,4253,6086,6109,6159,6313,6450,6683,6742,6752,6754,6783,6964,6972,6978,7142,7149,7405,7412,8417,11647,42607,43010,43014,43019,43052,43263,43443,43493,43587,43596,43644,43696,43713,43766,44005,44008,44013,64286,66045,66272,68159,69633,69744,69826,70003,70095,70196,70206,70367,70464,70726,70750,70842,71229,71339,71341,71351,71998,72003,72160,72263,72767,73018,73031,73109,73111,94031,94180,121461,121476,123566);t.addRange(768,879).addRange(1155,1159).addRange(1425,1469).addRange(1473,1474).addRange(1476,1477).addRange(1552,1562).addRange(1611,1631).addRange(1750,1756).addRange(1759,1764).addRange(1767,1768).addRange(1770,1773).addRange(1840,1866).addRange(1958,1968).addRange(2027,2035).addRange(2070,2073).addRange(2075,2083).addRange(2085,2087).addRange(2089,2093).addRange(2137,2139).addRange(2200,2207).addRange(2250,2273).addRange(2275,2306).addRange(2369,2376).addRange(2385,2391).addRange(2402,2403).addRange(2497,2500).addRange(2530,2531).addRange(2561,2562).addRange(2625,2626).addRange(2631,2632).addRange(2635,2637).addRange(2672,2673).addRange(2689,2690).addRange(2753,2757).addRange(2759,2760).addRange(2786,2787).addRange(2810,2815).addRange(2881,2884).addRange(2901,2902).addRange(2914,2915).addRange(3134,3136).addRange(3142,3144).addRange(3146,3149).addRange(3157,3158).addRange(3170,3171).addRange(3276,3277).addRange(3298,3299).addRange(3328,3329).addRange(3387,3388).addRange(3393,3396).addRange(3426,3427),t.addRange(3538,3540).addRange(3636,3642).addRange(3655,3662).addRange(3764,3772).addRange(3784,3789).addRange(3864,3865).addRange(3953,3966).addRange(3968,3972).addRange(3974,3975).addRange(3981,3991).addRange(3993,4028).addRange(4141,4144).addRange(4146,4151).addRange(4153,4154).addRange(4157,4158).addRange(4184,4185).addRange(4190,4192).addRange(4209,4212).addRange(4229,4230).addRange(4957,4959).addRange(5906,5908).addRange(5938,5939).addRange(5970,5971).addRange(6002,6003).addRange(6068,6069).addRange(6071,6077).addRange(6089,6099).addRange(6155,6157).addRange(6277,6278).addRange(6432,6434).addRange(6439,6440).addRange(6457,6459).addRange(6679,6680).addRange(6744,6750).addRange(6757,6764).addRange(6771,6780).addRange(6832,6845).addRange(6847,6862).addRange(6912,6915).addRange(6966,6970).addRange(7019,7027).addRange(7040,7041).addRange(7074,7077).addRange(7080,7081).addRange(7083,7085).addRange(7144,7145).addRange(7151,7153).addRange(7212,7219).addRange(7222,7223).addRange(7376,7378).addRange(7380,7392),t.addRange(7394,7400).addRange(7416,7417).addRange(7616,7679).addRange(8400,8412).addRange(8421,8432).addRange(11503,11505).addRange(11744,11775).addRange(12330,12333).addRange(12441,12442).addRange(42612,42621).addRange(42654,42655).addRange(42736,42737).addRange(43045,43046).addRange(43204,43205).addRange(43232,43249).addRange(43302,43309).addRange(43335,43345).addRange(43392,43394).addRange(43446,43449).addRange(43452,43453).addRange(43561,43566).addRange(43569,43570).addRange(43573,43574).addRange(43698,43700).addRange(43703,43704).addRange(43710,43711).addRange(43756,43757).addRange(65024,65039).addRange(65056,65071).addRange(66422,66426).addRange(68097,68099).addRange(68101,68102).addRange(68108,68111).addRange(68152,68154).addRange(68325,68326).addRange(68900,68903).addRange(69291,69292).addRange(69446,69456).addRange(69506,69509).addRange(69688,69702).addRange(69747,69748).addRange(69759,69761).addRange(69811,69814).addRange(69817,69818).addRange(69888,69890).addRange(69927,69931).addRange(69933,69940).addRange(70016,70017).addRange(70070,70078).addRange(70089,70092).addRange(70191,70193),t.addRange(70198,70199).addRange(70371,70378).addRange(70400,70401).addRange(70459,70460).addRange(70502,70508).addRange(70512,70516).addRange(70712,70719).addRange(70722,70724).addRange(70835,70840).addRange(70847,70848).addRange(70850,70851).addRange(71090,71093).addRange(71100,71101).addRange(71103,71104).addRange(71132,71133).addRange(71219,71226).addRange(71231,71232).addRange(71344,71349).addRange(71453,71455).addRange(71458,71461).addRange(71463,71467).addRange(71727,71735).addRange(71737,71738).addRange(71995,71996).addRange(72148,72151).addRange(72154,72155).addRange(72193,72202).addRange(72243,72248).addRange(72251,72254).addRange(72273,72278).addRange(72281,72283).addRange(72330,72342).addRange(72344,72345).addRange(72752,72758).addRange(72760,72765).addRange(72850,72871).addRange(72874,72880).addRange(72882,72883).addRange(72885,72886).addRange(73009,73014).addRange(73020,73021).addRange(73023,73029).addRange(73104,73105).addRange(73459,73460).addRange(92912,92916).addRange(92976,92982).addRange(94095,94098).addRange(113821,113822).addRange(118528,118573).addRange(118576,118598).addRange(119143,119145),t.addRange(119163,119170).addRange(119173,119179).addRange(119210,119213).addRange(119362,119364).addRange(121344,121398).addRange(121403,121452).addRange(121499,121503).addRange(121505,121519).addRange(122880,122886).addRange(122888,122904).addRange(122907,122913).addRange(122915,122916).addRange(122918,122922).addRange(123184,123190).addRange(123628,123631).addRange(125136,125142).addRange(125252,125258).addRange(917760,917999),e.exports=t},fGT3:function(e,a,n){var t=n("4kuk"),d=n("Xi7e"),r=n("ebwN");e.exports=function(){this.size=0,this.__data__={hash:new t,map:new(r||d),string:new t}}},"fR/l":function(e,a,n){var t=n("CH3K"),d=n("Z0cm");e.exports=function(e,a,n){var r=a(e);return d(e)?r:t(r,n(e))}},fdhu:function(e,a,n){const t=n("dVj6")();t.addRange(5760,5788),e.exports=t},fjIA:function(e,a,n){const t=n("dVj6")(2482,2519);t.addRange(2432,2435).addRange(2437,2444).addRange(2447,2448).addRange(2451,2472).addRange(2474,2480).addRange(2486,2489).addRange(2492,2500).addRange(2503,2504).addRange(2507,2510).addRange(2524,2525).addRange(2527,2531).addRange(2534,2558),e.exports=t},"flL/":function(e,a,n){"use strict";n.r(a),n.d(a,"wrapRootElement",(function(){return E}));var t=n("rePB"),d=n("q1tI"),r=n.n(d),o=n("7ljp");const i=Object(d.createContext)({}),s=e=>{const a=Object(d.useContext)(i);return e||a};void 0!==s&&s&&s===Object(s)&&Object.isExtensible(s)&&!Object.prototype.hasOwnProperty.call(s,"__filemeta")&&Object.defineProperty(s,"__filemeta",{configurable:!0,value:{name:"useMDXScope",filename:"node_modules/gatsby-plugin-mdx/context.js"}}),void 0!==s&&s&&s===Object(s)&&Object.isExtensible(s)&&!Object.prototype.hasOwnProperty.call(s,"__filemeta")&&Object.defineProperty(s,"__filemeta",{configurable:!0,value:{name:"useMDXScope",filename:"node_modules/gatsby-plugin-mdx/context.js"}});const g=e=>{let{__mdxScope:a,children:n}=e;return r.a.createElement(i.Provider,{value:a},n)};void 0!==g&&g&&g===Object(g)&&Object.isExtensible(g)&&!Object.prototype.hasOwnProperty.call(g,"__filemeta")&&Object.defineProperty(g,"__filemeta",{configurable:!0,value:{name:"MDXScopeProvider",filename:"node_modules/gatsby-plugin-mdx/context.js"}}),void 0!==g&&g&&g===Object(g)&&Object.isExtensible(g)&&!Object.prototype.hasOwnProperty.call(g,"__filemeta")&&Object.defineProperty(g,"__filemeta",{configurable:!0,value:{name:"MDXScopeProvider",filename:"node_modules/gatsby-plugin-mdx/context.js"}});var c=n("gXpC"),u=n("CKVf").default,l=n("9Ubl").default,R=n("JTKy").default,p=n("PmL6").default;const f=Object.assign({},u,l,R,p);var h=f;void 0!==f&&f&&f===Object(f)&&Object.isExtensible(f)&&!Object.prototype.hasOwnProperty.call(f,"__filemeta")&&Object.defineProperty(f,"__filemeta",{configurable:!0,value:{name:"__DOCZ_DUMMY_EXPORT_DEFAULT",filename:"node_modules/gatsby-plugin-mdx/loaders/mdx-scopes.js"}}),void 0!==f&&f&&f===Object(f)&&Object.isExtensible(f)&&!Object.prototype.hasOwnProperty.call(f,"__filemeta")&&Object.defineProperty(f,"__filemeta",{configurable:!0,value:{name:"__DOCZ_DUMMY_EXPORT_DEFAULT",filename:"node_modules/gatsby-plugin-mdx/loaders/mdx-scopes.js"}}),void 0!==f&&f&&f===Object(f)&&Object.isExtensible(f)&&!Object.prototype.hasOwnProperty.call(f,"__filemeta")&&Object.defineProperty(f,"__filemeta",{configurable:!0,value:{name:"__DOCZ_DUMMY_EXPORT_DEFAULT",filename:"node_modules/gatsby-plugin-mdx/loaders/mdx-scopes.js"}});var m=n("qKvR");function b(e,a){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),n.push.apply(n,t)}return n}function y(e){for(var a=1;afunction(a){const{Component:n}=e.find(e=>{let{guard:n}=e;return!n||n(a)});return Object(m.d)(n,a)};c.plugins.forEach(e=>{let{guards:a={},components:n}=e;Object.entries(n).forEach(e=>{let[n,t]=e;v[n]?v.push({guard:a[n],Component:t}):v[n]=[{guard:a[n],Component:t}]})});const O=Object.entries(v).map(e=>{let[a,n]=e;return{[a]:j(n.concat({guard:void 0,Component:a}))}}).reduce((e,a)=>y(y({},e),a),{}),_=Object(o.c)(e=>{let{components:a,children:n}=e;return Object(m.d)(g,{__mdxScope:h},Object(m.d)(o.a,{components:y(y({},a),O)},n))}),x=e=>{let{element:a}=e;return Object(m.d)(_,null,a)};var w=x;void 0!==x&&x&&x===Object(x)&&Object.isExtensible(x)&&!Object.prototype.hasOwnProperty.call(x,"__filemeta")&&Object.defineProperty(x,"__filemeta",{configurable:!0,value:{name:"WrapRootElement",filename:"node_modules/gatsby-plugin-mdx/wrap-root-element.js"}}),void 0!==x&&x&&x===Object(x)&&Object.isExtensible(x)&&!Object.prototype.hasOwnProperty.call(x,"__filemeta")&&Object.defineProperty(x,"__filemeta",{configurable:!0,value:{name:"WrapRootElement",filename:"node_modules/gatsby-plugin-mdx/wrap-root-element.js"}});const E=w;void 0!==E&&E&&E===Object(E)&&Object.isExtensible(E)&&!Object.prototype.hasOwnProperty.call(E,"__filemeta")&&Object.defineProperty(E,"__filemeta",{configurable:!0,value:{name:"wrapRootElement",filename:"node_modules/gatsby-plugin-mdx/gatsby-browser.js"}}),void 0!==E&&E&&E===Object(E)&&Object.isExtensible(E)&&!Object.prototype.hasOwnProperty.call(E,"__filemeta")&&Object.defineProperty(E,"__filemeta",{configurable:!0,value:{name:"wrapRootElement",filename:"node_modules/gatsby-plugin-mdx/gatsby-browser.js"}})},fmRc:function(e,a,n){var t=n("Xi7e"),d=n("77Zs"),r=n("L8xA"),o=n("gCq4"),i=n("VaNO"),s=n("0Cz8");function g(e){var a=this.__data__=new t(e);this.size=a.size}g.prototype.clear=d,g.prototype.delete=r,g.prototype.get=o,g.prototype.has=i,g.prototype.set=s,e.exports=g},fo6e:function(e,a){var n=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;e.exports=function(e){return n.test(e)}},ftKO:function(e,a){e.exports=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this}},"ftu+":function(e,a,n){e.exports=n("aCJ4")},"g6v/":function(e,a,n){var t=n("0Dky");e.exports=!t((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},gCq4:function(e,a){e.exports=function(e){return this.__data__.get(e)}},gFfm:function(e,a){e.exports=function(e,a){for(var n=-1,t=null==e?0:e.length;++n{try{const e=Object(h.useStaticQuery)("1635659820");return JSON.parse(e.doczDb.db)}catch(e){return console.error(e),console.error("Error when parsing docz database"),{}}};void 0!==m&&m&&m===Object(m)&&Object.isExtensible(m)&&!Object.prototype.hasOwnProperty.call(m,"__filemeta")&&Object.defineProperty(m,"__filemeta",{configurable:!0,value:{name:"useDbQuery",filename:"node_modules/gatsby-theme-docz/src/hooks/useDbQuery.js"}}),void 0!==m&&m&&m===Object(m)&&Object.isExtensible(m)&&!Object.prototype.hasOwnProperty.call(m,"__filemeta")&&Object.defineProperty(m,"__filemeta",{configurable:!0,value:{name:"useDbQuery",filename:"node_modules/gatsby-theme-docz/src/hooks/useDbQuery.js"}});var b=n("qKvR");const y=e=>{let{children:a}=e;return Object(b.d)(R.a.Fragment,null,a)};var v=y;void 0!==y&&y&&y===Object(y)&&Object.isExtensible(y)&&!Object.prototype.hasOwnProperty.call(y,"__filemeta")&&Object.defineProperty(y,"__filemeta",{configurable:!0,value:{name:"Wrapper",filename:"node_modules/gatsby-theme-docz/src/wrapper.js"}}),void 0!==y&&y&&y===Object(y)&&Object.isExtensible(y)&&!Object.prototype.hasOwnProperty.call(y,"__filemeta")&&Object.defineProperty(y,"__filemeta",{configurable:!0,value:{name:"Wrapper",filename:"node_modules/gatsby-theme-docz/src/wrapper.js"}});var j=n("txSG"),O=n("hxO4"),_=n.n(O),x=n("jTvw"),w=n.n(x),E=n("ki+i"),k=n.n(E),S=n("Xhwf"),D=n.n(S),A=n("YVoz"),C=n.n(A);function P(e,a,n){return a in e?Object.defineProperty(e,a,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[a]=n,e}function F(e,a){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),n.push.apply(n,t)}return n}function T(e){for(var a=1;a"5px solid "+e.colors.blockquote.border,color:"blockquote.color",fontStyle:"italic","> p":{m:0}},code:{fontFamily:"monospace"},inlineCode:{fontFamily:"monospace"},pre:{my:4,p:3,variant:"prism",textAlign:"left",fontFamily:"monospace",borderRadius:"radius"},table:{width:"100%",my:4,borderCollapse:"separate",borderSpacing:0,[["th","td"]]:{textAlign:"left",py:"4px",pr:"4px",pl:0,borderColor:"muted",borderBottomStyle:"solid"}},th:{verticalAlign:"bottom",borderBottomWidth:"2px"},td:{verticalAlign:"top",borderBottomWidth:"1px"},hr:{border:0,borderBottom:e=>"1px solid "+e.colors.border}};var Re=le;function pe(e,a){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),n.push.apply(n,t)}return n}function fe(e){for(var a=1;a0&&void 0!==arguments[0]?arguments[0]:{},a=T({},N,{},e);a.baseFontSize=I(a.baseFontSize),a.rhythmUnit="px";var n=k()(a),t={};return n.options=a,t.space=M(n,a),t.fonts=U(0,a),t.fontSizes=G(0,a),t.fontWeights=W(0,a),t.lineHeights=H(0,a),T({},t,{styles:B,typography:n})}(w.a),me=_()(he,{initialColorMode:"light",showLiveError:!0,showLivePreview:!0,showPlaygroundEditor:!0,showDarkModeSwitch:!0,showMarkdownEditButton:!0,useScopingInPlayground:!1,colors:fe(fe({},ge),{},{modes:{dark:ce}}),fonts:{monospace:"Inconsolata"},fontSizes:[12,14,16,20,24,32,48,64],fontWeights:{body:400,heading:700,bold:700},lineHeights:{body:1.5,heading:1.125},letterSpacings:{body:"normal",caps:"0.2em"},space:[0,4,8,16,32,48,64,80,100],radii:{square:0,radius:4,rounded:10},styles:Re,prism:ue});var be=me;void 0!==me&&me&&me===Object(me)&&Object.isExtensible(me)&&!Object.prototype.hasOwnProperty.call(me,"__filemeta")&&Object.defineProperty(me,"__filemeta",{configurable:!0,value:{name:"__DOCZ_DUMMY_EXPORT_DEFAULT",filename:"node_modules/gatsby-theme-docz/src/theme/index.js"}}),void 0!==me&&me&&me===Object(me)&&Object.isExtensible(me)&&!Object.prototype.hasOwnProperty.call(me,"__filemeta")&&Object.defineProperty(me,"__filemeta",{configurable:!0,value:{name:"__DOCZ_DUMMY_EXPORT_DEFAULT",filename:"node_modules/gatsby-theme-docz/src/theme/index.js"}});const ye=e=>{const a=a=>a.id?Object(j.h)(e,a,Object(j.h)("a",{href:"#"+a.id,sx:{color:"inherit",textDecoration:"none",":hover":{textDecoration:"underline"}}},a.children)):Object(j.h)(e,a);return a.displayName=e,a},ve=ye("h2");void 0!==ve&&ve&&ve===Object(ve)&&Object.isExtensible(ve)&&!Object.prototype.hasOwnProperty.call(ve,"__filemeta")&&Object.defineProperty(ve,"__filemeta",{configurable:!0,value:{name:"h2",filename:"node_modules/gatsby-theme-docz/src/components/Headings/index.js"}}),void 0!==ve&&ve&&ve===Object(ve)&&Object.isExtensible(ve)&&!Object.prototype.hasOwnProperty.call(ve,"__filemeta")&&Object.defineProperty(ve,"__filemeta",{configurable:!0,value:{name:"h2",filename:"node_modules/gatsby-theme-docz/src/components/Headings/index.js"}});const je=ye("h3");void 0!==je&&je&&je===Object(je)&&Object.isExtensible(je)&&!Object.prototype.hasOwnProperty.call(je,"__filemeta")&&Object.defineProperty(je,"__filemeta",{configurable:!0,value:{name:"h3",filename:"node_modules/gatsby-theme-docz/src/components/Headings/index.js"}}),void 0!==je&&je&&je===Object(je)&&Object.isExtensible(je)&&!Object.prototype.hasOwnProperty.call(je,"__filemeta")&&Object.defineProperty(je,"__filemeta",{configurable:!0,value:{name:"h3",filename:"node_modules/gatsby-theme-docz/src/components/Headings/index.js"}});const Oe=ye("h4");void 0!==Oe&&Oe&&Oe===Object(Oe)&&Object.isExtensible(Oe)&&!Object.prototype.hasOwnProperty.call(Oe,"__filemeta")&&Object.defineProperty(Oe,"__filemeta",{configurable:!0,value:{name:"h4",filename:"node_modules/gatsby-theme-docz/src/components/Headings/index.js"}}),void 0!==Oe&&Oe&&Oe===Object(Oe)&&Object.isExtensible(Oe)&&!Object.prototype.hasOwnProperty.call(Oe,"__filemeta")&&Object.defineProperty(Oe,"__filemeta",{configurable:!0,value:{name:"h4",filename:"node_modules/gatsby-theme-docz/src/components/Headings/index.js"}});const _e=ye("h5");void 0!==_e&&_e&&_e===Object(_e)&&Object.isExtensible(_e)&&!Object.prototype.hasOwnProperty.call(_e,"__filemeta")&&Object.defineProperty(_e,"__filemeta",{configurable:!0,value:{name:"h5",filename:"node_modules/gatsby-theme-docz/src/components/Headings/index.js"}}),void 0!==_e&&_e&&_e===Object(_e)&&Object.isExtensible(_e)&&!Object.prototype.hasOwnProperty.call(_e,"__filemeta")&&Object.defineProperty(_e,"__filemeta",{configurable:!0,value:{name:"h5",filename:"node_modules/gatsby-theme-docz/src/components/Headings/index.js"}});const xe=ye("h6");void 0!==xe&&xe&&xe===Object(xe)&&Object.isExtensible(xe)&&!Object.prototype.hasOwnProperty.call(xe,"__filemeta")&&Object.defineProperty(xe,"__filemeta",{configurable:!0,value:{name:"h6",filename:"node_modules/gatsby-theme-docz/src/components/Headings/index.js"}}),void 0!==xe&&xe&&xe===Object(xe)&&Object.isExtensible(xe)&&!Object.prototype.hasOwnProperty.call(xe,"__filemeta")&&Object.defineProperty(xe,"__filemeta",{configurable:!0,value:{name:"h6",filename:"node_modules/gatsby-theme-docz/src/components/Headings/index.js"}});var we=function(){function e(e){var a=this;this._insertTag=function(e){var n;n=0===a.tags.length?a.insertionPoint?a.insertionPoint.nextSibling:a.prepend?a.container.firstChild:a.before:a.tags[a.tags.length-1].nextSibling,a.container.insertBefore(e,n),a.tags.push(e)},this.isSpeedy=void 0===e.speedy||e.speedy,this.tags=[],this.ctr=0,this.nonce=e.nonce,this.key=e.key,this.container=e.container,this.prepend=e.prepend,this.insertionPoint=e.insertionPoint,this.before=null}var a=e.prototype;return a.hydrate=function(e){e.forEach(this._insertTag)},a.insert=function(e){this.ctr%(this.isSpeedy?65e3:1)==0&&this._insertTag(function(e){var a=document.createElement("style");return a.setAttribute("data-emotion",e.key),void 0!==e.nonce&&a.setAttribute("nonce",e.nonce),a.appendChild(document.createTextNode("")),a.setAttribute("data-s",""),a}(this));var a=this.tags[this.tags.length-1];if(this.isSpeedy){var n=function(e){if(e.sheet)return e.sheet;for(var a=0;a2||ra(Xe)>3?"":" "}function ca(e,a){for(;--a&&aa()&&!(Xe<48||Xe>102||Xe>57&&Xe<65||Xe>70&&Xe<97););return da(e,ta()+(a<6&&32==na()&&32==aa()))}function ua(e,a){for(;aa()&&e+Xe!==57&&(e+Xe!==84||47!==na()););return"/*"+da(a,$e-1)+"*"+Te(47===e?e:aa())}function la(e){for(;!ra(na());)aa();return da(e,$e)}function Ra(e){return ia(function e(a,n,t,d,r,o,i,s,g){var c=0,u=0,l=i,R=0,p=0,f=0,h=1,m=1,b=1,y=0,v="",j=r,O=o,_=d,x=v;for(;m;)switch(f=y,y=aa()){case 40:if(108!=f&&58==qe(x,l-1)){-1!=ze(x+=Me(sa(y),"&","&\f"),"&\f")&&(b=-1);break}case 34:case 39:case 91:x+=sa(y);break;case 9:case 10:case 13:case 32:x+=ga(f);break;case 92:x+=ca(ta()-1,7);continue;case 47:switch(na()){case 42:case 47:He(fa(ua(aa(),ta()),n,t),g);break;default:x+="/"}break;case 123*h:s[c++]=Ue(x)*b;case 125*h:case 59:case 0:switch(y){case 0:case 125:m=0;case 59+u:-1==b&&(x=Me(x,/\f/g,"")),p>0&&Ue(x)-l&&He(p>32?ha(x+";",d,t,l-1):ha(Me(x," ","")+";",d,t,l-2),g);break;case 59:x+=";";default:if(He(_=pa(x,n,t,c,u,r,s,v,j=[],O=[],l),o),123===y)if(0===u)e(x,n,_,_,j,o,l,s,O);else switch(99===R&&110===qe(x,3)?100:R){case 100:case 108:case 109:case 115:e(a,_,_,d&&He(pa(a,_,_,0,0,r,s,v,r,j=[],l),O),r,O,l,s,d?j:O);break;default:e(x,_,_,_,[""],O,0,s,O)}}c=u=p=0,h=b=1,v=x="",l=i;break;case 58:l=1+Ue(x),p=f;default:if(h<1)if(123==y)--h;else if(125==y&&0==h++&&125==(Xe=$e>0?qe(Qe,--$e):0,Ye--,10===Xe&&(Ye=1,Ke--),Xe))continue;switch(x+=Te(y),y*h){case 38:b=u>0?1:(x+="\f",-1);break;case 44:s[c++]=(Ue(x)-1)*b,b=1;break;case 64:45===na()&&(x+=sa(aa())),R=na(),u=l=Ue(v=x+=la(ta())),y++;break;case 45:45===f&&2==Ue(x)&&(h=0)}}return o}("",null,null,null,[""],e=oa(e),0,[0],e))}function pa(e,a,n,t,d,r,o,i,s,g,c){for(var u=d-1,l=0===d?r:[""],R=Ge(l),p=0,f=0,h=0;p0?l[m]+" "+b:Me(b,/&\f/g,l[m])))&&(s[h++]=y);return Je(e,a,n,0===d?Ae:i,s,g,c)}function fa(e,a,n){return Je(e,a,n,De,Te(Xe),Ve(e,2,-2),0)}function ha(e,a,n,t){return Je(e,a,n,Ce,Ve(e,0,t),Ve(e,t+1,-1),t)}function ma(e,a){for(var n="",t=Ge(e),d=0;d-1&&!e.return)switch(e.type){case Ce:e.return=function e(a,n){switch(Be(a,n)){case 5103:return Se+"print-"+a+a;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return Se+a+a;case 5349:case 4246:case 4810:case 6968:case 2756:return Se+a+ke+a+Ee+a+a;case 6828:case 4268:return Se+a+Ee+a+a;case 6165:return Se+a+Ee+"flex-"+a+a;case 5187:return Se+a+Me(a,/(\w+).+(:[^]+)/,Se+"box-$1$2"+Ee+"flex-$1$2")+a;case 5443:return Se+a+Ee+"flex-item-"+Me(a,/flex-|-self/,"")+a;case 4675:return Se+a+Ee+"flex-line-pack"+Me(a,/align-content|flex-|-self/,"")+a;case 5548:return Se+a+Ee+Me(a,"shrink","negative")+a;case 5292:return Se+a+Ee+Me(a,"basis","preferred-size")+a;case 6060:return Se+"box-"+Me(a,"-grow","")+Se+a+Ee+Me(a,"grow","positive")+a;case 4554:return Se+Me(a,/([^-])(transform)/g,"$1"+Se+"$2")+a;case 6187:return Me(Me(Me(a,/(zoom-|grab)/,Se+"$1"),/(image-set)/,Se+"$1"),a,"")+a;case 5495:case 3959:return Me(a,/(image-set\([^]*)/,Se+"$1$`$1");case 4968:return Me(Me(a,/(.+:)(flex-)?(.*)/,Se+"box-pack:$3"+Ee+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+Se+a+a;case 4095:case 3583:case 4068:case 2532:return Me(a,/(.+)-inline(.+)/,Se+"$1$2")+a;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(Ue(a)-1-n>6)switch(qe(a,n+1)){case 109:if(45!==qe(a,n+4))break;case 102:return Me(a,/(.+:)(.+)-([^]+)/,"$1"+Se+"$2-$3$1"+ke+(108==qe(a,n+3)?"$3":"$2-$3"))+a;case 115:return~ze(a,"stretch")?e(Me(a,"stretch","fill-available"),n)+a:a}break;case 4949:if(115!==qe(a,n+1))break;case 6444:switch(qe(a,Ue(a)-3-(~ze(a,"!important")&&10))){case 107:return Me(a,":",":"+Se)+a;case 101:return Me(a,/(.+:)([^;!]+)(;|!.+)?/,"$1"+Se+(45===qe(a,14)?"inline-":"")+"box$3$1"+Se+"$2$3$1"+Ee+"$2box$3")+a}break;case 5936:switch(qe(a,n+11)){case 114:return Se+a+Ee+Me(a,/[svh]\w+-[tblr]{2}/,"tb")+a;case 108:return Se+a+Ee+Me(a,/[svh]\w+-[tblr]{2}/,"tb-rl")+a;case 45:return Se+a+Ee+Me(a,/[svh]\w+-[tblr]{2}/,"lr")+a}return Se+a+Ee+a+a}return a}(e.value,e.length);break;case Pe:return ma([ea(e,{value:Me(e.value,"@","@"+Se)})],t);case Ae:if(e.length)return We(e.props,(function(a){switch(Ie(a,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return ma([ea(e,{props:[Me(a,/:(read-\w+)/,":-moz-$1")]})],t);case"::placeholder":return ma([ea(e,{props:[Me(a,/:(plac\w+)/,":"+Se+"input-$1")]}),ea(e,{props:[Me(a,/:(plac\w+)/,":-moz-$1")]}),ea(e,{props:[Me(a,/:(plac\w+)/,Ee+"input-$1")]})],t)}return""}))}}],ka=function(e){var a=e.key;if("css"===a){var n=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(n,(function(e){-1!==e.getAttribute("data-emotion").indexOf(" ")&&(document.head.appendChild(e),e.setAttribute("data-s",""))}))}var t=e.stylisPlugins||Ea;var d,r,o={},i=[];d=e.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+a+' "]'),(function(e){for(var a=e.getAttribute("data-emotion").split(" "),n=1;n=4;++t,d-=4)a=1540483477*(65535&(a=255&e.charCodeAt(t)|(255&e.charCodeAt(++t))<<8|(255&e.charCodeAt(++t))<<16|(255&e.charCodeAt(++t))<<24))+(59797*(a>>>16)<<16),n=1540483477*(65535&(a^=a>>>24))+(59797*(a>>>16)<<16)^1540483477*(65535&n)+(59797*(n>>>16)<<16);switch(d){case 3:n^=(255&e.charCodeAt(t+2))<<16;case 2:n^=(255&e.charCodeAt(t+1))<<8;case 1:n=1540483477*(65535&(n^=255&e.charCodeAt(t)))+(59797*(n>>>16)<<16)}return(((n=1540483477*(65535&(n^=n>>>13))+(59797*(n>>>16)<<16))^n>>>15)>>>0).toString(36)}(d)+s,styles:d,next:Ia}},qa=!!l.useInsertionEffect&&l.useInsertionEffect,Va=qa||l.useLayoutEffect,Ua=l.createContext("undefined"!=typeof HTMLElement?ka({key:"css"}):null);Ua.Provider;var Ga=function(e){return Object(l.forwardRef)((function(a,n){var t=Object(l.useContext)(Ua);return e(a,t,n)}))};var Ha=l.createContext({});n("pVnL");var Wa=Ga((function(e,a){var n=e.styles,t=za([n],void 0,l.useContext(Ha)),d=l.useRef();return Va((function(){var e=a.key+"-global",n=new a.sheet.constructor({key:e,nonce:a.sheet.nonce,container:a.sheet.container,speedy:a.sheet.isSpeedy}),r=!1,o=document.querySelector('style[data-emotion="'+e+" "+t.name+'"]');return a.sheet.tags.length&&(n.before=a.sheet.tags[0]),null!==o&&(r=!0,o.setAttribute("data-emotion",e),n.hydrate([o])),d.current=[n,r],function(){n.flush()}}),[a]),Va((function(){var e=d.current,n=e[0];if(e[1])e[1]=!1;else{if(void 0!==t.next&&Da(a,t.next,!0),n.tags.length){var r=n.tags[n.tags.length-1].nextElementSibling;n.before=r,n.flush()}a.insert("",t,n,!1)}}),[a,t.name]),null}));var Ka={body:{margin:0,padding:0},".icon-link":{display:"none"},".with-overlay":{overflow:"hidden"}};"undefined"!=typeof body&&body&&body===Object(body)&&Object.isExtensible(body)&&!Object.prototype.hasOwnProperty.call(body,"__filemeta")&&Object.defineProperty(body,"__filemeta",{configurable:!0,value:{name:"body",filename:"node_modules/gatsby-theme-docz/src/theme/global.js"}}),"undefined"!=typeof body&&body&&body===Object(body)&&Object.isExtensible(body)&&!Object.prototype.hasOwnProperty.call(body,"__filemeta")&&Object.defineProperty(body,"__filemeta",{configurable:!0,value:{name:"body",filename:"node_modules/gatsby-theme-docz/src/theme/global.js"}});const Ya={display:"flex",alignItems:"center",justifyContent:"center"};void 0!==Ya&&Ya&&Ya===Object(Ya)&&Object.isExtensible(Ya)&&!Object.prototype.hasOwnProperty.call(Ya,"__filemeta")&&Object.defineProperty(Ya,"__filemeta",{configurable:!0,value:{name:"centerAlign",filename:"node_modules/gatsby-theme-docz/src/utils/mixins.js"}}),void 0!==Ya&&Ya&&Ya===Object(Ya)&&Object.isExtensible(Ya)&&!Object.prototype.hasOwnProperty.call(Ya,"__filemeta")&&Object.defineProperty(Ya,"__filemeta",{configurable:!0,value:{name:"centerAlign",filename:"node_modules/gatsby-theme-docz/src/utils/mixins.js"}});const Za={p:0,outline:"none",background:"transparent",border:"none",":hover":{cursor:"pointer"}};void 0!==Za&&Za&&Za===Object(Za)&&Object.isExtensible(Za)&&!Object.prototype.hasOwnProperty.call(Za,"__filemeta")&&Object.defineProperty(Za,"__filemeta",{configurable:!0,value:{name:"ghostButton",filename:"node_modules/gatsby-theme-docz/src/utils/mixins.js"}}),void 0!==Za&&Za&&Za===Object(Za)&&Object.isExtensible(Za)&&!Object.prototype.hasOwnProperty.call(Za,"__filemeta")&&Object.defineProperty(Za,"__filemeta",{configurable:!0,value:{name:"ghostButton",filename:"node_modules/gatsby-theme-docz/src/utils/mixins.js"}});const $a=e=>"@media screen and (max-width: "+(e/16+"em)"),Xa={mobile:630,tablet:920,desktop:1120};void 0!==Xa&&Xa&&Xa===Object(Xa)&&Object.isExtensible(Xa)&&!Object.prototype.hasOwnProperty.call(Xa,"__filemeta")&&Object.defineProperty(Xa,"__filemeta",{configurable:!0,value:{name:"breakpoints",filename:"node_modules/gatsby-theme-docz/src/theme/breakpoints.js"}}),void 0!==Xa&&Xa&&Xa===Object(Xa)&&Object.isExtensible(Xa)&&!Object.prototype.hasOwnProperty.call(Xa,"__filemeta")&&Object.defineProperty(Xa,"__filemeta",{configurable:!0,value:{name:"breakpoints",filename:"node_modules/gatsby-theme-docz/src/theme/breakpoints.js"}});const Qa={mobile:$a(Xa.mobile),tablet:$a(Xa.tablet),desktop:$a(Xa.desktop)};function Ja(e,a){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),n.push.apply(n,t)}return n}function en(e){for(var a=1;a"1px solid "+e.colors.border};void 0!==an&&an&&an===Object(an)&&Object.isExtensible(an)&&!Object.prototype.hasOwnProperty.call(an,"__filemeta")&&Object.defineProperty(an,"__filemeta",{configurable:!0,value:{name:"wrapper",filename:"node_modules/gatsby-theme-docz/src/components/Header/styles.js"}}),void 0!==an&&an&&an===Object(an)&&Object.isExtensible(an)&&!Object.prototype.hasOwnProperty.call(an,"__filemeta")&&Object.defineProperty(an,"__filemeta",{configurable:!0,value:{name:"wrapper",filename:"node_modules/gatsby-theme-docz/src/components/Header/styles.js"}});const nn=en(en({},Ya),{},{px:4,position:"relative",justifyContent:"space-between",height:80});void 0!==nn&&nn&&nn===Object(nn)&&Object.isExtensible(nn)&&!Object.prototype.hasOwnProperty.call(nn,"__filemeta")&&Object.defineProperty(nn,"__filemeta",{configurable:!0,value:{name:"innerContainer",filename:"node_modules/gatsby-theme-docz/src/components/Header/styles.js"}}),void 0!==nn&&nn&&nn===Object(nn)&&Object.isExtensible(nn)&&!Object.prototype.hasOwnProperty.call(nn,"__filemeta")&&Object.defineProperty(nn,"__filemeta",{configurable:!0,value:{name:"innerContainer",filename:"node_modules/gatsby-theme-docz/src/components/Header/styles.js"}});const tn={display:"none",position:"absolute",top:"calc(100% + 15px)",left:30,[Qa.tablet]:{display:"block"}};void 0!==tn&&tn&&tn===Object(tn)&&Object.isExtensible(tn)&&!Object.prototype.hasOwnProperty.call(tn,"__filemeta")&&Object.defineProperty(tn,"__filemeta",{configurable:!0,value:{name:"menuIcon",filename:"node_modules/gatsby-theme-docz/src/components/Header/styles.js"}}),void 0!==tn&&tn&&tn===Object(tn)&&Object.isExtensible(tn)&&!Object.prototype.hasOwnProperty.call(tn,"__filemeta")&&Object.defineProperty(tn,"__filemeta",{configurable:!0,value:{name:"menuIcon",filename:"node_modules/gatsby-theme-docz/src/components/Header/styles.js"}});const dn=en(en({},Za),{},{color:"header.text",opacity:.5,cursor:"pointer"});void 0!==dn&&dn&&dn===Object(dn)&&Object.isExtensible(dn)&&!Object.prototype.hasOwnProperty.call(dn,"__filemeta")&&Object.defineProperty(dn,"__filemeta",{configurable:!0,value:{name:"menuButton",filename:"node_modules/gatsby-theme-docz/src/components/Header/styles.js"}}),void 0!==dn&&dn&&dn===Object(dn)&&Object.isExtensible(dn)&&!Object.prototype.hasOwnProperty.call(dn,"__filemeta")&&Object.defineProperty(dn,"__filemeta",{configurable:!0,value:{name:"menuButton",filename:"node_modules/gatsby-theme-docz/src/components/Header/styles.js"}});const rn=en(en({},Ya),{},{outline:"none",p:"12px",border:"none",borderRadius:9999,bg:"header.button.bg",color:"header.button.color",fontSize:0,fontWeight:600,cursor:"pointer"});void 0!==rn&&rn&&rn===Object(rn)&&Object.isExtensible(rn)&&!Object.prototype.hasOwnProperty.call(rn,"__filemeta")&&Object.defineProperty(rn,"__filemeta",{configurable:!0,value:{name:"headerButton",filename:"node_modules/gatsby-theme-docz/src/components/Header/styles.js"}}),void 0!==rn&&rn&&rn===Object(rn)&&Object.isExtensible(rn)&&!Object.prototype.hasOwnProperty.call(rn,"__filemeta")&&Object.defineProperty(rn,"__filemeta",{configurable:!0,value:{name:"headerButton",filename:"node_modules/gatsby-theme-docz/src/components/Header/styles.js"}});const on=en(en({},Ya),{},{position:"absolute",bottom:-40,right:30,bg:"transparent",color:"muted",fontSize:1,textDecoration:"none",borderRadius:"radius"});function sn(){return(sn=Object.assign||function(e){for(var a=1;a=0||(d[n]=e[n]);return d}(e,a);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(t=0;t=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(d[n]=e[n])}return d}void 0!==on&&on&&on===Object(on)&&Object.isExtensible(on)&&!Object.prototype.hasOwnProperty.call(on,"__filemeta")&&Object.defineProperty(on,"__filemeta",{configurable:!0,value:{name:"editButton",filename:"node_modules/gatsby-theme-docz/src/components/Header/styles.js"}}),void 0!==on&&on&&on===Object(on)&&Object.isExtensible(on)&&!Object.prototype.hasOwnProperty.call(on,"__filemeta")&&Object.defineProperty(on,"__filemeta",{configurable:!0,value:{name:"editButton",filename:"node_modules/gatsby-theme-docz/src/components/Header/styles.js"}});var cn=Object(l.forwardRef)((function(e,a){var n=e.color,t=void 0===n?"currentColor":n,d=e.size,r=void 0===d?24:d,o=gn(e,["color","size"]);return R.a.createElement("svg",sn({ref:a,xmlns:"http://www.w3.org/2000/svg",width:r,height:r,viewBox:"0 0 24 24",fill:"none",stroke:t,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},o),R.a.createElement("polyline",{points:"6 9 12 15 18 9"}))}));cn.displayName="ChevronDown";var un=cn;function ln(){return(ln=Object.assign||function(e){for(var a=1;a=0||(d[n]=e[n]);return d}(e,a);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(t=0;t=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(d[n]=e[n])}return d}var pn=Object(l.forwardRef)((function(e,a){var n=e.color,t=void 0===n?"currentColor":n,d=e.size,r=void 0===d?24:d,o=Rn(e,["color","size"]);return R.a.createElement("svg",ln({ref:a,xmlns:"http://www.w3.org/2000/svg",width:r,height:r,viewBox:"0 0 24 24",fill:"none",stroke:t,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},o),R.a.createElement("polyline",{points:"18 15 12 9 6 15"}))}));pn.displayName="ChevronUp";var fn=pn;function hn(){return(hn=Object.assign||function(e){for(var a=1;a=0||(d[n]=e[n]);return d}(e,a);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(t=0;t=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(d[n]=e[n])}return d}var bn=Object(l.forwardRef)((function(e,a){var n=e.color,t=void 0===n?"currentColor":n,d=e.size,r=void 0===d?24:d,o=mn(e,["color","size"]);return R.a.createElement("svg",hn({ref:a,xmlns:"http://www.w3.org/2000/svg",width:r,height:r,viewBox:"0 0 24 24",fill:"none",stroke:t,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},o),R.a.createElement("path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"}),R.a.createElement("rect",{x:"8",y:"2",width:"8",height:"4",rx:"1",ry:"1"}))}));bn.displayName="Clipboard";var yn=bn;function vn(){return(vn=Object.assign||function(e){for(var a=1;a=0||(d[n]=e[n]);return d}(e,a);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(t=0;t=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(d[n]=e[n])}return d}var On=Object(l.forwardRef)((function(e,a){var n=e.color,t=void 0===n?"currentColor":n,d=e.size,r=void 0===d?24:d,o=jn(e,["color","size"]);return R.a.createElement("svg",vn({ref:a,xmlns:"http://www.w3.org/2000/svg",width:r,height:r,viewBox:"0 0 24 24",fill:"none",stroke:t,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},o),R.a.createElement("polyline",{points:"16 18 22 12 16 6"}),R.a.createElement("polyline",{points:"8 6 2 12 8 18"}))}));On.displayName="Code";var _n=On;function xn(){return(xn=Object.assign||function(e){for(var a=1;a=0||(d[n]=e[n]);return d}(e,a);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(t=0;t=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(d[n]=e[n])}return d}var En=Object(l.forwardRef)((function(e,a){var n=e.color,t=void 0===n?"currentColor":n,d=e.size,r=void 0===d?24:d,o=wn(e,["color","size"]);return R.a.createElement("svg",xn({ref:a,xmlns:"http://www.w3.org/2000/svg",width:r,height:r,viewBox:"0 0 24 24",fill:"none",stroke:t,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},o),R.a.createElement("path",{d:"M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z"}))}));En.displayName="Edit2";var kn=En;function Sn(){return(Sn=Object.assign||function(e){for(var a=1;a=0||(d[n]=e[n]);return d}(e,a);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(t=0;t=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(d[n]=e[n])}return d}var An=Object(l.forwardRef)((function(e,a){var n=e.color,t=void 0===n?"currentColor":n,d=e.size,r=void 0===d?24:d,o=Dn(e,["color","size"]);return R.a.createElement("svg",Sn({ref:a,xmlns:"http://www.w3.org/2000/svg",width:r,height:r,viewBox:"0 0 24 24",fill:"none",stroke:t,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},o),R.a.createElement("path",{d:"M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22"}))}));An.displayName="GitHub";var Cn=An;function Pn(){return(Pn=Object.assign||function(e){for(var a=1;a=0||(d[n]=e[n]);return d}(e,a);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(t=0;t=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(d[n]=e[n])}return d}var Tn=Object(l.forwardRef)((function(e,a){var n=e.color,t=void 0===n?"currentColor":n,d=e.size,r=void 0===d?24:d,o=Fn(e,["color","size"]);return R.a.createElement("svg",Pn({ref:a,xmlns:"http://www.w3.org/2000/svg",width:r,height:r,viewBox:"0 0 24 24",fill:"none",stroke:t,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},o),R.a.createElement("line",{x1:"3",y1:"12",x2:"21",y2:"12"}),R.a.createElement("line",{x1:"3",y1:"6",x2:"21",y2:"6"}),R.a.createElement("line",{x1:"3",y1:"18",x2:"21",y2:"18"}))}));Tn.displayName="Menu";var Ln=Tn;function Bn(){return(Bn=Object.assign||function(e){for(var a=1;a=0||(d[n]=e[n]);return d}(e,a);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(t=0;t=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(d[n]=e[n])}return d}var In=Object(l.forwardRef)((function(e,a){var n=e.color,t=void 0===n?"currentColor":n,d=e.size,r=void 0===d?24:d,o=Nn(e,["color","size"]);return R.a.createElement("svg",Bn({ref:a,xmlns:"http://www.w3.org/2000/svg",width:r,height:r,viewBox:"0 0 24 24",fill:"none",stroke:t,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},o),R.a.createElement("circle",{cx:"11",cy:"11",r:"8"}),R.a.createElement("line",{x1:"21",y1:"21",x2:"16.65",y2:"16.65"}))}));In.displayName="Search";var Mn=In;function zn(){return(zn=Object.assign||function(e){for(var a=1;a=0||(d[n]=e[n]);return d}(e,a);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(t=0;t=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(d[n]=e[n])}return d}var Vn=Object(l.forwardRef)((function(e,a){var n=e.color,t=void 0===n?"currentColor":n,d=e.size,r=void 0===d?24:d,o=qn(e,["color","size"]);return R.a.createElement("svg",zn({ref:a,xmlns:"http://www.w3.org/2000/svg",width:r,height:r,viewBox:"0 0 24 24",fill:"none",stroke:t,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},o),R.a.createElement("circle",{cx:"12",cy:"12",r:"5"}),R.a.createElement("line",{x1:"12",y1:"1",x2:"12",y2:"3"}),R.a.createElement("line",{x1:"12",y1:"21",x2:"12",y2:"23"}),R.a.createElement("line",{x1:"4.22",y1:"4.22",x2:"5.64",y2:"5.64"}),R.a.createElement("line",{x1:"18.36",y1:"18.36",x2:"19.78",y2:"19.78"}),R.a.createElement("line",{x1:"1",y1:"12",x2:"3",y2:"12"}),R.a.createElement("line",{x1:"21",y1:"12",x2:"23",y2:"12"}),R.a.createElement("line",{x1:"4.22",y1:"19.78",x2:"5.64",y2:"18.36"}),R.a.createElement("line",{x1:"18.36",y1:"5.64",x2:"19.78",y2:"4.22"}))}));Vn.displayName="Sun";var Un=Vn;"undefined"!=typeof ChevronDown&&ChevronDown&&ChevronDown===Object(ChevronDown)&&Object.isExtensible(ChevronDown)&&!Object.prototype.hasOwnProperty.call(ChevronDown,"__filemeta")&&Object.defineProperty(ChevronDown,"__filemeta",{configurable:!0,value:{name:"ChevronDown",filename:"node_modules/gatsby-theme-docz/src/components/Icons/index.js"}}),"undefined"!=typeof ChevronDown&&ChevronDown&&ChevronDown===Object(ChevronDown)&&Object.isExtensible(ChevronDown)&&!Object.prototype.hasOwnProperty.call(ChevronDown,"__filemeta")&&Object.defineProperty(ChevronDown,"__filemeta",{configurable:!0,value:{name:"ChevronDown",filename:"node_modules/gatsby-theme-docz/src/components/Icons/index.js"}}),"undefined"!=typeof ChevronUp&&ChevronUp&&ChevronUp===Object(ChevronUp)&&Object.isExtensible(ChevronUp)&&!Object.prototype.hasOwnProperty.call(ChevronUp,"__filemeta")&&Object.defineProperty(ChevronUp,"__filemeta",{configurable:!0,value:{name:"ChevronUp",filename:"node_modules/gatsby-theme-docz/src/components/Icons/index.js"}}),"undefined"!=typeof ChevronUp&&ChevronUp&&ChevronUp===Object(ChevronUp)&&Object.isExtensible(ChevronUp)&&!Object.prototype.hasOwnProperty.call(ChevronUp,"__filemeta")&&Object.defineProperty(ChevronUp,"__filemeta",{configurable:!0,value:{name:"ChevronUp",filename:"node_modules/gatsby-theme-docz/src/components/Icons/index.js"}}),"undefined"!=typeof Clipboard&&Clipboard&&Clipboard===Object(Clipboard)&&Object.isExtensible(Clipboard)&&!Object.prototype.hasOwnProperty.call(Clipboard,"__filemeta")&&Object.defineProperty(Clipboard,"__filemeta",{configurable:!0,value:{name:"Clipboard",filename:"node_modules/gatsby-theme-docz/src/components/Icons/index.js"}}),"undefined"!=typeof Clipboard&&Clipboard&&Clipboard===Object(Clipboard)&&Object.isExtensible(Clipboard)&&!Object.prototype.hasOwnProperty.call(Clipboard,"__filemeta")&&Object.defineProperty(Clipboard,"__filemeta",{configurable:!0,value:{name:"Clipboard",filename:"node_modules/gatsby-theme-docz/src/components/Icons/index.js"}}),"undefined"!=typeof Code&&Code&&Code===Object(Code)&&Object.isExtensible(Code)&&!Object.prototype.hasOwnProperty.call(Code,"__filemeta")&&Object.defineProperty(Code,"__filemeta",{configurable:!0,value:{name:"Code",filename:"node_modules/gatsby-theme-docz/src/components/Icons/index.js"}}),"undefined"!=typeof Code&&Code&&Code===Object(Code)&&Object.isExtensible(Code)&&!Object.prototype.hasOwnProperty.call(Code,"__filemeta")&&Object.defineProperty(Code,"__filemeta",{configurable:!0,value:{name:"Code",filename:"node_modules/gatsby-theme-docz/src/components/Icons/index.js"}}),"undefined"!=typeof Edit&&Edit&&Edit===Object(Edit)&&Object.isExtensible(Edit)&&!Object.prototype.hasOwnProperty.call(Edit,"__filemeta")&&Object.defineProperty(Edit,"__filemeta",{configurable:!0,value:{name:"Edit",filename:"node_modules/gatsby-theme-docz/src/components/Icons/index.js"}}),"undefined"!=typeof Edit&&Edit&&Edit===Object(Edit)&&Object.isExtensible(Edit)&&!Object.prototype.hasOwnProperty.call(Edit,"__filemeta")&&Object.defineProperty(Edit,"__filemeta",{configurable:!0,value:{name:"Edit",filename:"node_modules/gatsby-theme-docz/src/components/Icons/index.js"}}),"undefined"!=typeof Github&&Github&&Github===Object(Github)&&Object.isExtensible(Github)&&!Object.prototype.hasOwnProperty.call(Github,"__filemeta")&&Object.defineProperty(Github,"__filemeta",{configurable:!0,value:{name:"Github",filename:"node_modules/gatsby-theme-docz/src/components/Icons/index.js"}}),"undefined"!=typeof Github&&Github&&Github===Object(Github)&&Object.isExtensible(Github)&&!Object.prototype.hasOwnProperty.call(Github,"__filemeta")&&Object.defineProperty(Github,"__filemeta",{configurable:!0,value:{name:"Github",filename:"node_modules/gatsby-theme-docz/src/components/Icons/index.js"}}),"undefined"!=typeof Menu&&Menu&&Menu===Object(Menu)&&Object.isExtensible(Menu)&&!Object.prototype.hasOwnProperty.call(Menu,"__filemeta")&&Object.defineProperty(Menu,"__filemeta",{configurable:!0,value:{name:"Menu",filename:"node_modules/gatsby-theme-docz/src/components/Icons/index.js"}}),"undefined"!=typeof Menu&&Menu&&Menu===Object(Menu)&&Object.isExtensible(Menu)&&!Object.prototype.hasOwnProperty.call(Menu,"__filemeta")&&Object.defineProperty(Menu,"__filemeta",{configurable:!0,value:{name:"Menu",filename:"node_modules/gatsby-theme-docz/src/components/Icons/index.js"}}),"undefined"!=typeof Search&&Search&&Search===Object(Search)&&Object.isExtensible(Search)&&!Object.prototype.hasOwnProperty.call(Search,"__filemeta")&&Object.defineProperty(Search,"__filemeta",{configurable:!0,value:{name:"Search",filename:"node_modules/gatsby-theme-docz/src/components/Icons/index.js"}}),"undefined"!=typeof Search&&Search&&Search===Object(Search)&&Object.isExtensible(Search)&&!Object.prototype.hasOwnProperty.call(Search,"__filemeta")&&Object.defineProperty(Search,"__filemeta",{configurable:!0,value:{name:"Search",filename:"node_modules/gatsby-theme-docz/src/components/Icons/index.js"}}),"undefined"!=typeof Sun&&Sun&&Sun===Object(Sun)&&Object.isExtensible(Sun)&&!Object.prototype.hasOwnProperty.call(Sun,"__filemeta")&&Object.defineProperty(Sun,"__filemeta",{configurable:!0,value:{name:"Sun",filename:"node_modules/gatsby-theme-docz/src/components/Icons/index.js"}}),"undefined"!=typeof Sun&&Sun&&Sun===Object(Sun)&&Object.isExtensible(Sun)&&!Object.prototype.hasOwnProperty.call(Sun,"__filemeta")&&Object.defineProperty(Sun,"__filemeta",{configurable:!0,value:{name:"Sun",filename:"node_modules/gatsby-theme-docz/src/components/Icons/index.js"}});const Gn={letterSpacing:"-0.02em",fontWeight:600,fontSize:4};void 0!==Gn&&Gn&&Gn===Object(Gn)&&Object.isExtensible(Gn)&&!Object.prototype.hasOwnProperty.call(Gn,"__filemeta")&&Object.defineProperty(Gn,"__filemeta",{configurable:!0,value:{name:"logo",filename:"node_modules/gatsby-theme-docz/src/components/Logo/styles.js"}}),void 0!==Gn&&Gn&&Gn===Object(Gn)&&Object.isExtensible(Gn)&&!Object.prototype.hasOwnProperty.call(Gn,"__filemeta")&&Object.defineProperty(Gn,"__filemeta",{configurable:!0,value:{name:"logo",filename:"node_modules/gatsby-theme-docz/src/components/Logo/styles.js"}});const Hn={fontWeight:600,color:"header.text",textDecoration:"none",":hover":{color:"primary"}};void 0!==Hn&&Hn&&Hn===Object(Hn)&&Object.isExtensible(Hn)&&!Object.prototype.hasOwnProperty.call(Hn,"__filemeta")&&Object.defineProperty(Hn,"__filemeta",{configurable:!0,value:{name:"link",filename:"node_modules/gatsby-theme-docz/src/components/Logo/styles.js"}}),void 0!==Hn&&Hn&&Hn===Object(Hn)&&Object.isExtensible(Hn)&&!Object.prototype.hasOwnProperty.call(Hn,"__filemeta")&&Object.defineProperty(Hn,"__filemeta",{configurable:!0,value:{name:"link",filename:"node_modules/gatsby-theme-docz/src/components/Logo/styles.js"}});var Wn=n("zA3n"),Kn=n.n(Wn);function Yn(e,a){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),n.push.apply(n,t)}return n}function Zn(e){for(var a=1;a{const e=Object(p.e)();return Object(j.h)(j.c,{alignItems:"center",sx:Gn,"data-testid":"logo"},Object(j.h)(p.b,{to:"/",sx:Zn(Zn({},Hn),{},{display:"flex",flexDirection:"column",lineHeight:"1.2"})},Object(j.h)("div",{sx:{display:"inline-block"}},Object(j.h)("img",{src:Kn.a,alt:"That's my logo",sx:{maxHeight:"1.2em",marginRight:"0.2em",display:"inline-block",float:"left"}}),Object(j.h)("span",{sx:{display:"inline-block"}},"Grafana Tanka"),Object(j.h)("span",{sx:{fontSize:"0.7em",display:"block"}},e.description))))};void 0!==$n&&$n&&$n===Object($n)&&Object.isExtensible($n)&&!Object.prototype.hasOwnProperty.call($n,"__filemeta")&&Object.defineProperty($n,"__filemeta",{configurable:!0,value:{name:"Logo",filename:"src/gatsby-theme-docz/components/Logo/index.js"}}),void 0!==$n&&$n&&$n===Object($n)&&Object.isExtensible($n)&&!Object.prototype.hasOwnProperty.call($n,"__filemeta")&&Object.defineProperty($n,"__filemeta",{configurable:!0,value:{name:"Logo",filename:"src/gatsby-theme-docz/components/Logo/index.js"}});const Xn=["edit"],Qn=e=>{const{onOpen:a}=e,{repository:n,themeConfig:{showDarkModeSwitch:t,showMarkdownEditButton:d}}=Object(p.e)(),r=Object(p.f)(),{edit:o=!0}=r,s=Object(i.a)(r,Xn),[g,c]=Object(j.i)();return Object(j.h)("div",{sx:an,"data-testid":"header"},Object(j.h)(j.a,{sx:tn},Object(j.h)("button",{sx:dn,onClick:a},Object(j.h)(Ln,{size:25}))),Object(j.h)("div",{sx:nn},Object(j.h)($n,null),Object(j.h)(j.c,null,n&&Object(j.h)(j.a,{sx:{mr:2}},Object(j.h)("a",{href:n,sx:rn,target:"_blank",rel:"noopener noreferrer"},Object(j.h)(Cn,{size:15}))),t&&Object(j.h)("button",{sx:rn,onClick:()=>{c("light"===g?"dark":"light")},"aria-label":"Switch to "+g+" mode"},Object(j.h)(Un,{size:15}))),d&&o&&s.link&&Object(j.h)("a",{sx:on,href:s.link,target:"_blank",rel:"noopener noreferrer"},Object(j.h)(kn,{width:14}),Object(j.h)(j.a,{sx:{pl:2}},"Edit page"))))};void 0!==Qn&&Qn&&Qn===Object(Qn)&&Object.isExtensible(Qn)&&!Object.prototype.hasOwnProperty.call(Qn,"__filemeta")&&Object.defineProperty(Qn,"__filemeta",{configurable:!0,value:{name:"Header",filename:"node_modules/gatsby-theme-docz/src/components/Header/index.js"}}),void 0!==Qn&&Qn&&Qn===Object(Qn)&&Object.isExtensible(Qn)&&!Object.prototype.hasOwnProperty.call(Qn,"__filemeta")&&Object.defineProperty(Qn,"__filemeta",{configurable:!0,value:{name:"Header",filename:"node_modules/gatsby-theme-docz/src/components/Header/index.js"}});const Jn={body:{overflow:"hidden"}};void 0!==Jn&&Jn&&Jn===Object(Jn)&&Object.isExtensible(Jn)&&!Object.prototype.hasOwnProperty.call(Jn,"__filemeta")&&Object.defineProperty(Jn,"__filemeta",{configurable:!0,value:{name:"global",filename:"node_modules/gatsby-theme-docz/src/components/Sidebar/styles.js"}}),void 0!==Jn&&Jn&&Jn===Object(Jn)&&Object.isExtensible(Jn)&&!Object.prototype.hasOwnProperty.call(Jn,"__filemeta")&&Object.defineProperty(Jn,"__filemeta",{configurable:!0,value:{name:"global",filename:"node_modules/gatsby-theme-docz/src/components/Sidebar/styles.js"}});const et=e=>{let{open:a}=e;return{zIndex:999,position:"fixed",top:81,right:0,bottom:0,left:0,background:"rgba(0,0,0,0.6)",transition:"all .2s ease-out",visibility:a?"visible":"hidden",opacity:a?1:0}};void 0!==et&&et&&et===Object(et)&&Object.isExtensible(et)&&!Object.prototype.hasOwnProperty.call(et,"__filemeta")&&Object.defineProperty(et,"__filemeta",{configurable:!0,value:{name:"overlay",filename:"node_modules/gatsby-theme-docz/src/components/Sidebar/styles.js"}}),void 0!==et&&et&&et===Object(et)&&Object.isExtensible(et)&&!Object.prototype.hasOwnProperty.call(et,"__filemeta")&&Object.defineProperty(et,"__filemeta",{configurable:!0,value:{name:"overlay",filename:"node_modules/gatsby-theme-docz/src/components/Sidebar/styles.js"}});const at=e=>{let{open:a}=e;return{py:4,px:4,flexDirection:"column",position:"sticky",top:0,zIndex:1,minWidth:0,maxHeight:"100vh",borderRight:e=>"1px solid "+e.colors.border,overflow:"auto",WebkitOverflowScrolling:"touch",bg:"sidebar.bg",[Qa.tablet]:{zIndex:9999,display:"block",position:"fixed",top:81,left:0,bottom:0,width:256,px:4,bg:"background",transition:"transform .2s ease-out",transform:a?"translateX(0)":"translateX(-100%)"}}};void 0!==at&&at&&at===Object(at)&&Object.isExtensible(at)&&!Object.prototype.hasOwnProperty.call(at,"__filemeta")&&Object.defineProperty(at,"__filemeta",{configurable:!0,value:{name:"wrapper",filename:"node_modules/gatsby-theme-docz/src/components/Sidebar/styles.js"}}),void 0!==at&&at&&at===Object(at)&&Object.isExtensible(at)&&!Object.prototype.hasOwnProperty.call(at,"__filemeta")&&Object.defineProperty(at,"__filemeta",{configurable:!0,value:{name:"wrapper",filename:"node_modules/gatsby-theme-docz/src/components/Sidebar/styles.js"}});const nt={mb:3,display:"inline-flex",alignItems:"center"};void 0!==nt&&nt&&nt===Object(nt)&&Object.isExtensible(nt)&&!Object.prototype.hasOwnProperty.call(nt,"__filemeta")&&Object.defineProperty(nt,"__filemeta",{configurable:!0,value:{name:"wrapper",filename:"node_modules/gatsby-theme-docz/src/components/NavSearch/styles.js"}}),void 0!==nt&&nt&&nt===Object(nt)&&Object.isExtensible(nt)&&!Object.prototype.hasOwnProperty.call(nt,"__filemeta")&&Object.defineProperty(nt,"__filemeta",{configurable:!0,value:{name:"wrapper",filename:"node_modules/gatsby-theme-docz/src/components/NavSearch/styles.js"}});const tt={outline:"none",background:"none",border:"none",color:"text",fontSize:1};void 0!==tt&&tt&&tt===Object(tt)&&Object.isExtensible(tt)&&!Object.prototype.hasOwnProperty.call(tt,"__filemeta")&&Object.defineProperty(tt,"__filemeta",{configurable:!0,value:{name:"input",filename:"node_modules/gatsby-theme-docz/src/components/NavSearch/styles.js"}}),void 0!==tt&&tt&&tt===Object(tt)&&Object.isExtensible(tt)&&!Object.prototype.hasOwnProperty.call(tt,"__filemeta")&&Object.defineProperty(tt,"__filemeta",{configurable:!0,value:{name:"input",filename:"node_modules/gatsby-theme-docz/src/components/NavSearch/styles.js"}});const dt={color:"border",mr:2};void 0!==dt&&dt&&dt===Object(dt)&&Object.isExtensible(dt)&&!Object.prototype.hasOwnProperty.call(dt,"__filemeta")&&Object.defineProperty(dt,"__filemeta",{configurable:!0,value:{name:"icon",filename:"node_modules/gatsby-theme-docz/src/components/NavSearch/styles.js"}}),void 0!==dt&&dt&&dt===Object(dt)&&Object.isExtensible(dt)&&!Object.prototype.hasOwnProperty.call(dt,"__filemeta")&&Object.defineProperty(dt,"__filemeta",{configurable:!0,value:{name:"icon",filename:"node_modules/gatsby-theme-docz/src/components/NavSearch/styles.js"}});const rt=e=>Object(j.h)("div",{sx:nt,"data-testid":"nav-search"},Object(j.h)(Mn,{size:20,sx:dt}),Object(j.h)("input",Object(r.a)({},e,{sx:tt})));function ot(e,a){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),n.push.apply(n,t)}return n}function it(e){for(var a=1;a{const n=a.find(a=>a.route===e),t=g()("headings",n);return t?t.filter(e=>2===e.depth):[]})(s,d),u=n.route===o.route&&c&&c.length>0,R="undefined"==typeof window?"":window.location?decodeURI(window.location.hash):"";return Object(j.h)(l.Fragment,null,Object(j.h)(h.Link,Object(r.a)({},t,{to:s,sx:st,activeClassName:"active",ref:a})),u&&c.map(e=>Object(j.h)(h.Link,{key:e.slug,to:s+"#"+e.slug,sx:gt,className:R==="#"+e.slug?"active":""},e.value)))}));void 0!==ut&&ut&&ut===Object(ut)&&Object.isExtensible(ut)&&!Object.prototype.hasOwnProperty.call(ut,"__filemeta")&&Object.defineProperty(ut,"__filemeta",{configurable:!0,value:{name:"NavLink",filename:"node_modules/gatsby-theme-docz/src/components/NavLink/index.js"}}),void 0!==ut&&ut&&ut===Object(ut)&&Object.isExtensible(ut)&&!Object.prototype.hasOwnProperty.call(ut,"__filemeta")&&Object.defineProperty(ut,"__filemeta",{configurable:!0,value:{name:"NavLink",filename:"node_modules/gatsby-theme-docz/src/components/NavLink/index.js"}});const lt={my:3};void 0!==lt&<&<===Object(lt)&&Object.isExtensible(lt)&&!Object.prototype.hasOwnProperty.call(lt,"__filemeta")&&Object.defineProperty(lt,"__filemeta",{configurable:!0,value:{name:"wrapper",filename:"node_modules/gatsby-theme-docz/src/components/NavGroup/styles.js"}}),void 0!==lt&<&<===Object(lt)&&Object.isExtensible(lt)&&!Object.prototype.hasOwnProperty.call(lt,"__filemeta")&&Object.defineProperty(lt,"__filemeta",{configurable:!0,value:{name:"wrapper",filename:"node_modules/gatsby-theme-docz/src/components/NavGroup/styles.js"}});const Rt={ml:2};void 0!==Rt&&Rt&&Rt===Object(Rt)&&Object.isExtensible(Rt)&&!Object.prototype.hasOwnProperty.call(Rt,"__filemeta")&&Object.defineProperty(Rt,"__filemeta",{configurable:!0,value:{name:"sublinkWrapper",filename:"node_modules/gatsby-theme-docz/src/components/NavGroup/styles.js"}}),void 0!==Rt&&Rt&&Rt===Object(Rt)&&Object.isExtensible(Rt)&&!Object.prototype.hasOwnProperty.call(Rt,"__filemeta")&&Object.defineProperty(Rt,"__filemeta",{configurable:!0,value:{name:"sublinkWrapper",filename:"node_modules/gatsby-theme-docz/src/components/NavGroup/styles.js"}});const pt={mb:1,fontSize:2,fontWeight:500,color:"sidebar.navGroup",cursor:"pointer",display:"flex",justifyContent:"space-between",alignItems:"center"};void 0!==pt&&pt&&pt===Object(pt)&&Object.isExtensible(pt)&&!Object.prototype.hasOwnProperty.call(pt,"__filemeta")&&Object.defineProperty(pt,"__filemeta",{configurable:!0,value:{name:"title",filename:"node_modules/gatsby-theme-docz/src/components/NavGroup/styles.js"}}),void 0!==pt&&pt&&pt===Object(pt)&&Object.isExtensible(pt)&&!Object.prototype.hasOwnProperty.call(pt,"__filemeta")&&Object.defineProperty(pt,"__filemeta",{configurable:!0,value:{name:"title",filename:"node_modules/gatsby-theme-docz/src/components/NavGroup/styles.js"}});const ft=e=>{let{active:a}=e;return{ml:1,flexShrink:0,alignSelf:"baseline",transform:"rotateX("+(a?180:0)+"deg)",transformOrigin:"center",transition:"transform .3s ease-in-out"}};void 0!==ft&&ft&&ft===Object(ft)&&Object.isExtensible(ft)&&!Object.prototype.hasOwnProperty.call(ft,"__filemeta")&&Object.defineProperty(ft,"__filemeta",{configurable:!0,value:{name:"chevron",filename:"node_modules/gatsby-theme-docz/src/components/NavGroup/styles.js"}}),void 0!==ft&&ft&&ft===Object(ft)&&Object.isExtensible(ft)&&!Object.prototype.hasOwnProperty.call(ft,"__filemeta")&&Object.defineProperty(ft,"__filemeta",{configurable:!0,value:{name:"chevron",filename:"node_modules/gatsby-theme-docz/src/components/NavGroup/styles.js"}});const ht=e=>{let{item:a,sidebarRef:n}=e;const t=Object(p.f)(),d=Object(l.useRef)(),{name:r,menu:o}=a,{0:i,1:s}=Object(l.useState)(t.menu===r);return Object(l.useEffect)(()=>{n.current&&d.current&&n.current.scrollTo(0,d.current.offsetTop)},[]),Object(j.h)("div",{sx:lt,"data-testid":"nav-group"},Object(j.h)("div",{sx:pt,onClick:()=>s(!i)},a.name,Object(j.h)(un,{sx:ft({active:i})})),Object(j.h)("div",{sx:Rt,"data-testid":"nav-group-links"},o&&i&&o.map(e=>t.route===e.route?Object(j.h)(ut,{key:e.id,item:e,ref:d},e.name):Object(j.h)(ut,{key:e.id,item:e},e.name))))};void 0!==ht&&ht&&ht===Object(ht)&&Object.isExtensible(ht)&&!Object.prototype.hasOwnProperty.call(ht,"__filemeta")&&Object.defineProperty(ht,"__filemeta",{configurable:!0,value:{name:"NavGroup",filename:"node_modules/gatsby-theme-docz/src/components/NavGroup/index.js"}}),void 0!==ht&&ht&&ht===Object(ht)&&Object.isExtensible(ht)&&!Object.prototype.hasOwnProperty.call(ht,"__filemeta")&&Object.defineProperty(ht,"__filemeta",{configurable:!0,value:{name:"NavGroup",filename:"node_modules/gatsby-theme-docz/src/components/NavGroup/index.js"}});const mt=Object(l.forwardRef)((function(e,a){const{0:n,1:t}=Object(l.useState)(""),d=Object(p.h)({query:n}),r=Object(p.f)(),o=Object(l.useRef)();return Object(l.useEffect)(()=>{a.current&&o.current&&a.current.scrollTo(0,o.current.offsetTop)},[]),Object(j.h)(l.Fragment,null,Object(j.h)(j.a,{onClick:e.onClick,sx:et(e)},e.open&&Object(j.h)(Wa,{styles:Jn})),Object(j.h)(j.a,{ref:a,sx:at(e),"data-testid":"sidebar"},Object(j.h)(rt,{placeholder:"Type to search...",value:n,onChange:e=>{t(e.target.value)}}),d&&d.map(e=>e.route?e.route===r.route?Object(j.h)(ut,{key:e.id,item:e,ref:o},e.name):Object(j.h)(ut,{key:e.id,item:e},e.name):Object(j.h)(ht,{key:e.id,item:e,sidebarRef:a}))))}));void 0!==mt&&mt&&mt===Object(mt)&&Object.isExtensible(mt)&&!Object.prototype.hasOwnProperty.call(mt,"__filemeta")&&Object.defineProperty(mt,"__filemeta",{configurable:!0,value:{name:"Sidebar",filename:"node_modules/gatsby-theme-docz/src/components/Sidebar/index.js"}}),void 0!==mt&&mt&&mt===Object(mt)&&Object.isExtensible(mt)&&!Object.prototype.hasOwnProperty.call(mt,"__filemeta")&&Object.defineProperty(mt,"__filemeta",{configurable:!0,value:{name:"Sidebar",filename:"node_modules/gatsby-theme-docz/src/components/Sidebar/index.js"}});const bt={backgroundColor:"background",position:"relative",maxWidth:960,py:5,px:4,variant:"styles.Container",[Qa.tablet]:{py:4,px:4,pt:5}};void 0!==bt&&bt&&bt===Object(bt)&&Object.isExtensible(bt)&&!Object.prototype.hasOwnProperty.call(bt,"__filemeta")&&Object.defineProperty(bt,"__filemeta",{configurable:!0,value:{name:"container",filename:"node_modules/gatsby-theme-docz/src/components/MainContainer/styles.js"}}),void 0!==bt&&bt&&bt===Object(bt)&&Object.isExtensible(bt)&&!Object.prototype.hasOwnProperty.call(bt,"__filemeta")&&Object.defineProperty(bt,"__filemeta",{configurable:!0,value:{name:"container",filename:"node_modules/gatsby-theme-docz/src/components/MainContainer/styles.js"}});const yt=["children"],vt=e=>{let{children:a}=e,n=Object(i.a)(e,yt);return Object(j.h)(j.b,Object(r.a)({sx:bt},n),a)};void 0!==vt&&vt&&vt===Object(vt)&&Object.isExtensible(vt)&&!Object.prototype.hasOwnProperty.call(vt,"__filemeta")&&Object.defineProperty(vt,"__filemeta",{configurable:!0,value:{name:"MainContainer",filename:"node_modules/gatsby-theme-docz/src/components/MainContainer/index.js"}}),void 0!==vt&&vt&&vt===Object(vt)&&Object.isExtensible(vt)&&!Object.prototype.hasOwnProperty.call(vt,"__filemeta")&&Object.defineProperty(vt,"__filemeta",{configurable:!0,value:{name:"MainContainer",filename:"node_modules/gatsby-theme-docz/src/components/MainContainer/index.js"}});const jt={display:"flex",flexDirection:"column",minHeight:"100vh"};void 0!==jt&&jt&&jt===Object(jt)&&Object.isExtensible(jt)&&!Object.prototype.hasOwnProperty.call(jt,"__filemeta")&&Object.defineProperty(jt,"__filemeta",{configurable:!0,value:{name:"main",filename:"node_modules/gatsby-theme-docz/src/components/Layout/styles.js"}}),void 0!==jt&&jt&&jt===Object(jt)&&Object.isExtensible(jt)&&!Object.prototype.hasOwnProperty.call(jt,"__filemeta")&&Object.defineProperty(jt,"__filemeta",{configurable:!0,value:{name:"main",filename:"node_modules/gatsby-theme-docz/src/components/Layout/styles.js"}});const Ot={py:0,flex:1,display:"grid",gridTemplateColumns:"250px minmax(0, 1fr)",minHeight:"100vh",[Qa.tablet]:{display:"block"}};void 0!==Ot&&Ot&&Ot===Object(Ot)&&Object.isExtensible(Ot)&&!Object.prototype.hasOwnProperty.call(Ot,"__filemeta")&&Object.defineProperty(Ot,"__filemeta",{configurable:!0,value:{name:"wrapper",filename:"node_modules/gatsby-theme-docz/src/components/Layout/styles.js"}}),void 0!==Ot&&Ot&&Ot===Object(Ot)&&Object.isExtensible(Ot)&&!Object.prototype.hasOwnProperty.call(Ot,"__filemeta")&&Object.defineProperty(Ot,"__filemeta",{configurable:!0,value:{name:"wrapper",filename:"node_modules/gatsby-theme-docz/src/components/Layout/styles.js"}});const _t=e=>{let{children:a}=e;const{0:n,1:t}=Object(l.useState)(!1),d=Object(l.useRef)();return Object(j.h)(j.d,{sx:{"& > div":{flex:"1 1 auto"}},"data-testid":"layout"},Object(j.h)(Wa,{styles:Ka}),Object(j.h)(j.e,{sx:jt},Object(j.h)(Qn,{onOpen:()=>t(e=>!e)}),Object(j.h)("div",{sx:Ot},Object(j.h)(mt,{ref:d,open:n,onFocus:()=>t(!0),onBlur:()=>t(!1),onClick:()=>t(!1)}),Object(j.h)(vt,{"data-testid":"main-container"},a))))};void 0!==_t&&_t&&_t===Object(_t)&&Object.isExtensible(_t)&&!Object.prototype.hasOwnProperty.call(_t,"__filemeta")&&Object.defineProperty(_t,"__filemeta",{configurable:!0,value:{name:"Layout",filename:"node_modules/gatsby-theme-docz/src/components/Layout/index.js"}}),void 0!==_t&&_t&&_t===Object(_t)&&Object.isExtensible(_t)&&!Object.prototype.hasOwnProperty.call(_t,"__filemeta")&&Object.defineProperty(_t,"__filemeta",{configurable:!0,value:{name:"Layout",filename:"node_modules/gatsby-theme-docz/src/components/Layout/index.js"}});var xt=n("8Ppc"),wt=n.n(xt),Et=(n("U3f4"),function(){var e=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,a=0,n={},t={util:{encode:function e(a){return a instanceof d?new d(a.type,e(a.content),a.alias):Array.isArray(a)?a.map(e):a.replace(/&/g,"&").replace(/=u.reach);_+=O.value.length,O=O.next){var x=O.value;if(n.length>a.length)return;if(!(x instanceof d)){var w,E=1;if(b){if(!(w=r(j,_,a,m))||w.index>=a.length)break;var k=w.index,S=w.index+w[0].length,D=_;for(D+=O.value.length;k>=D;)O=O.next,D+=O.value.length;if(D-=O.value.length,_=D,O.value instanceof d)continue;for(var A=O;A!==n.tail&&(Du.reach&&(u.reach=T);var L=O.prev;P&&(L=i(n,L,P),_+=P.length),s(n,L,E);var B=new d(l,h?t.tokenize(C,h):C,y,C);if(O=i(n,L,B),F&&i(n,O,F),E>1){var N={cause:l+","+p,reach:T};e(a,n,o,O.prev,_,N),u&&N.reach>u.reach&&(u.reach=N.reach)}}}}}}(e,c,a,c.head,0),function(e){var a=[],n=e.head.next;for(;n!==e.tail;)a.push(n.value),n=n.next;return a}(c)},hooks:{all:{},add:function(e,a){var n=t.hooks.all;n[e]=n[e]||[],n[e].push(a)},run:function(e,a){var n=t.hooks.all[e];if(n&&n.length)for(var d,r=0;d=n[r++];)d(a)}},Token:d};function d(e,a,n,t){this.type=e,this.content=a,this.alias=n,this.length=0|(t||"").length}function r(e,a,n,t){e.lastIndex=a;var d=e.exec(n);if(d&&t&&d[1]){var r=d[1].length;d.index+=r,d[0]=d[0].slice(r)}return d}function o(){var e={value:null,prev:null,next:null},a={value:null,prev:e,next:null};e.next=a,this.head=e,this.tail=a,this.length=0}function i(e,a,n){var t=a.next,d={value:n,prev:a,next:t};return a.next=d,t.prev=d,e.length++,d}function s(e,a,n){for(var t=a.next,d=0;d"+r.content+""},t}()),kt=Et;Et.default=Et,kt.languages.markup={comment:{pattern://,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern://i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},kt.languages.markup.tag.inside["attr-value"].inside.entity=kt.languages.markup.entity,kt.languages.markup.doctype.inside["internal-subset"].inside=kt.languages.markup,kt.hooks.add("wrap",(function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))})),Object.defineProperty(kt.languages.markup.tag,"addInlined",{value:function(e,a){var n={};n["language-"+a]={pattern:/(^$)/i,lookbehind:!0,inside:kt.languages[a]},n.cdata=/^$/i;var t={"included-cdata":{pattern://i,inside:n}};t["language-"+a]={pattern:/[\s\S]+/,inside:kt.languages[a]};var d={};d[e]={pattern:RegExp(/(<__[^>]*>)(?:))*\]\]>|(?!)/.source.replace(/__/g,(function(){return e})),"i"),lookbehind:!0,greedy:!0,inside:t},kt.languages.insertBefore("markup","cdata",d)}}),Object.defineProperty(kt.languages.markup.tag,"addAttribute",{value:function(e,a){kt.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+e+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[a,"language-"+a],inside:kt.languages[a]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),kt.languages.html=kt.languages.markup,kt.languages.mathml=kt.languages.markup,kt.languages.svg=kt.languages.markup,kt.languages.xml=kt.languages.extend("markup",{}),kt.languages.ssml=kt.languages.xml,kt.languages.atom=kt.languages.xml,kt.languages.rss=kt.languages.xml,function(e){var a="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",n={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},t={bash:n,environment:{pattern:RegExp("\\$"+a),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+a),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+a),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:t},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:n}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:t},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:t.entity}}],environment:{pattern:RegExp("\\$?"+a),alias:"constant"},variable:t.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},n.inside=e.languages.bash;for(var d=["comment","function-name","for-or-select","assign-left","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],r=t.variable[1].inside,o=0;o]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},kt.languages.c=kt.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),kt.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),kt.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},kt.languages.c.string],char:kt.languages.c.char,comment:kt.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:kt.languages.c}}}}),kt.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete kt.languages.c.boolean,function(e){var a=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,n=/\b(?!)\w+(?:\s*\.\s*\w+)*\b/.source.replace(//g,(function(){return a.source}));e.languages.cpp=e.languages.extend("c",{"class-name":[{pattern:RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?!)\w+/.source.replace(//g,(function(){return a.source}))),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:a,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),e.languages.insertBefore("cpp","string",{module:{pattern:RegExp(/(\b(?:import|module)\s+)/.source+"(?:"+/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source+"|"+/(?:\s*:\s*)?|:\s*/.source.replace(//g,(function(){return n}))+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),e.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:e.languages.cpp}}}}),e.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),e.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend("cpp",{})}}),e.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp["base-clause"])}(kt),function(e){var a=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-](?:[^;{\s]|\s+(?![\s{]))*(?:;|(?=\s*\{))/,inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+a.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+a.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+a.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:a,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var n=e.languages.markup;n&&(n.tag.addInlined("style","css"),n.tag.addAttribute("style","css"))}(kt),function(e){var a,n=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;e.languages.css.selector={pattern:e.languages.css.selector.pattern,lookbehind:!0,inside:a={"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,"pseudo-class":/:[-\w]+/,class:/\.[-\w]+/,id:/#[-\w]+/,attribute:{pattern:RegExp("\\[(?:[^[\\]\"']|"+n.source+")*\\]"),greedy:!0,inside:{punctuation:/^\[|\]$/,"case-sensitivity":{pattern:/(\s)[si]$/i,lookbehind:!0,alias:"keyword"},namespace:{pattern:/^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/,lookbehind:!0,inside:{punctuation:/\|$/}},"attr-name":{pattern:/^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/,lookbehind:!0},"attr-value":[n,{pattern:/(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/,lookbehind:!0}],operator:/[|~*^$]?=/}},"n-th":[{pattern:/(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,lookbehind:!0,inside:{number:/[\dn]+/,operator:/[+-]/}},{pattern:/(\(\s*)(?:even|odd)(?=\s*\))/i,lookbehind:!0}],combinator:/>|\+|~|\|\|/,punctuation:/[(),]/}},e.languages.css.atrule.inside["selector-function-argument"].inside=a,e.languages.insertBefore("css","property",{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,lookbehind:!0}});var t={pattern:/(\b\d+)(?:%|[a-z]+(?![\w-]))/,lookbehind:!0},d={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0};e.languages.insertBefore("css","function",{operator:{pattern:/(\s)[+\-*\/](?=\s)/,lookbehind:!0},hexcode:{pattern:/\B#[\da-f]{3,8}\b/i,alias:"color"},color:[{pattern:/(^|[^\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|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|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\w-])/i,lookbehind:!0},{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:t,number:d,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:t,number:d})}(kt),kt.languages.javascript=kt.languages.extend("clike",{"class-name":[kt.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),kt.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,kt.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:kt.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:kt.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:kt.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:kt.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:kt.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),kt.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:kt.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),kt.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),kt.languages.markup&&(kt.languages.markup.tag.addInlined("script","javascript"),kt.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),kt.languages.js=kt.languages.javascript,function(e){var a=/#(?!\{).+/,n={pattern:/#\{[^}]+\}/,alias:"variable"};e.languages.coffeescript=e.languages.extend("javascript",{comment:a,string:[{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,inside:{interpolation:n}}],keyword:/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,"class-member":{pattern:/@(?!\d)\w+/,alias:"variable"}}),e.languages.insertBefore("coffeescript","comment",{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:"comment"},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:"regex",inside:{comment:a,interpolation:n}}}),e.languages.insertBefore("coffeescript","string",{"inline-javascript":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},script:{pattern:/[\s\S]+/,alias:"language-javascript",inside:e.languages.javascript}}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,greedy:!0,alias:"string"},{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string",inside:{interpolation:n}}]}),e.languages.insertBefore("coffeescript","keyword",{property:/(?!\d)\w+(?=\s*:(?!:))/}),delete e.languages.coffeescript["template-string"],e.languages.coffee=e.languages.coffeescript}(kt),function(e){var a=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,t="(?:"+n.source+"(?:[ \t]+"+a.source+")?|"+a.source+"(?:[ \t]+"+n.source+")?)",d=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-])(?:[ \t]*(?:(?![#:])|:))*/.source.replace(//g,(function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source})),r=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function o(e,a){a=(a||"").replace(/m/g,"")+"m";var n=/([:\-,[{]\s*(?:\s<>[ \t]+)?)(?:<>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<>/g,(function(){return t})).replace(/<>/g,(function(){return e}));return RegExp(n,a)}e.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<>/g,(function(){return t}))),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<>[ \t]+)?)<>(?=\s*:\s)/.source.replace(/<>/g,(function(){return t})).replace(/<>/g,(function(){return"(?:"+d+"|"+r+")"}))),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:o(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:o(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:o(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:o(r),lookbehind:!0,greedy:!0},number:{pattern:o(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:n,important:a,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(kt),function(e){var a=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function n(e){return e=e.replace(//g,(function(){return a})),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+e+")")}var t=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,d=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,(function(){return t})),r=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source;e.languages.markdown=e.languages.extend("markup",{}),e.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+d+r+"(?:"+d+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+d+r+")(?:"+d+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(t),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+d+")"+r+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+d+"$"),inside:{"table-header":{pattern:RegExp(t),alias:"important",inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:n(/\b__(?:(?!_)|_(?:(?!_))+_)+__\b|\*\*(?:(?!\*)|\*(?:(?!\*))+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:n(/\b_(?:(?!_)|__(?:(?!_))+__)+_\b|\*(?:(?!\*)|\*\*(?:(?!\*))+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:n(/(~~?)(?:(?!~))+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:n(/!?\[(?:(?!\]))+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\]))+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach((function(a){["url","bold","italic","strike","code-snippet"].forEach((function(n){a!==n&&(e.languages.markdown[a].inside.content.inside[n]=e.languages.markdown[n])}))})),e.hooks.add("after-tokenize",(function(e){"markdown"!==e.language&&"md"!==e.language||function e(a){if(a&&"string"!=typeof a)for(var n=0,t=a.length;n",quot:'"'},s=String.fromCodePoint||String.fromCharCode;e.languages.md=e.languages.markdown}(kt),kt.languages.graphql={comment:/#.*/,description:{pattern:/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i,greedy:!0,alias:"string",inside:{"language-markdown":{pattern:/(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/,lookbehind:!0,inside:kt.languages.markdown}}},string:{pattern:/"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},number:/(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,boolean:/\b(?:false|true)\b/,variable:/\$[a-z_]\w*/i,directive:{pattern:/@[a-z_]\w*/i,alias:"function"},"attr-name":{pattern:/\b[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i,greedy:!0},"atom-input":{pattern:/\b[A-Z]\w*Input\b/,alias:"class-name"},scalar:/\b(?:Boolean|Float|ID|Int|String)\b/,constant:/\b[A-Z][A-Z_\d]*\b/,"class-name":{pattern:/(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*|:\s*|\[)[A-Z_]\w*/,lookbehind:!0},fragment:{pattern:/(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-mutation":{pattern:/(\bmutation\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-query":{pattern:/(\bquery\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},keyword:/\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/,operator:/[!=|&]|\.{3}/,"property-query":/\w+(?=\s*\()/,object:/\w+(?=\s*\{)/,punctuation:/[!(){}\[\]:=,]/,property:/\w+/},kt.hooks.add("after-tokenize",(function(e){if("graphql"===e.language)for(var a=e.tokens.filter((function(e){return"string"!=typeof e&&"comment"!==e.type&&"scalar"!==e.type})),n=0;n0)){var i=l(/^\{$/,/^\}$/);if(-1===i)continue;for(var s=n;s=0&&R(g,"variable-input")}}}}function c(e){return a[n+e]}function u(e,a){a=a||0;for(var n=0;n?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/},function(e){var a=e.languages.javascript["template-string"],n=a.pattern.source,t=a.inside.interpolation,d=t.inside["interpolation-punctuation"],r=t.pattern.source;function o(a,t){if(e.languages[a])return{pattern:RegExp("((?:"+t+")\\s*)"+n),lookbehind:!0,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},"embedded-code":{pattern:/[\s\S]+/,alias:a}}}}function i(e,a){return"___"+a.toUpperCase()+"_"+e+"___"}function s(a,n,t){var d={code:a,grammar:n,language:t};return e.hooks.run("before-tokenize",d),d.tokens=e.tokenize(d.code,d.grammar),e.hooks.run("after-tokenize",d),d.tokens}function g(a){var n={};n["interpolation-punctuation"]=d;var r=e.tokenize(a,n);if(3===r.length){var o=[1,1];o.push.apply(o,s(r[1],e.languages.javascript,"javascript")),r.splice.apply(r,o)}return new e.Token("interpolation",r,t.alias,a)}function c(a,n,t){var d=e.tokenize(a,{interpolation:{pattern:RegExp(r),lookbehind:!0}}),o=0,c={},u=s(d.map((function(e){if("string"==typeof e)return e;for(var n,d=e.content;-1!==a.indexOf(n=i(o++,t)););return c[n]=d,n})).join(""),n,t),l=Object.keys(c);return o=0,function e(a){for(var n=0;n=l.length)return;var t=a[n];if("string"==typeof t||"string"==typeof t.content){var d=l[o],r="string"==typeof t?t:t.content,i=r.indexOf(d);if(-1!==i){++o;var s=r.substring(0,i),u=g(c[d]),R=r.substring(i+d.length),p=[];if(s&&p.push(s),p.push(u),R){var f=[R];e(f),p.push.apply(p,f)}"string"==typeof t?(a.splice.apply(a,[n,1].concat(p)),n+=p.length-1):t.content=p}}else{var h=t.content;Array.isArray(h)?e(h):e([h])}}}(u),new e.Token(t,u,"language-"+t,a)}e.languages.javascript["template-string"]=[o("css",/\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)/.source),o("html",/\bhtml|\.\s*(?:inner|outer)HTML\s*\+?=/.source),o("svg",/\bsvg/.source),o("markdown",/\b(?:markdown|md)/.source),o("graphql",/\b(?:gql|graphql(?:\s*\.\s*experimental)?)/.source),o("sql",/\bsql/.source),a].filter(Boolean);var u={javascript:!0,js:!0,typescript:!0,ts:!0,jsx:!0,tsx:!0};function l(e){return"string"==typeof e?e:Array.isArray(e)?e.map(l).join(""):l(e.content)}e.hooks.add("after-tokenize",(function(a){a.language in u&&function a(n){for(var t=0,d=n.length;t]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript["literal-property"];var a=e.languages.extend("typescript",{});delete a["class-name"],e.languages.typescript["class-name"].inside=a,e.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:a}}}}),e.languages.ts=e.languages.typescript}(kt),function(e){function a(e,a){return RegExp(e.replace(//g,(function(){return/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/.source})),a)}e.languages.insertBefore("javascript","function-variable",{"method-variable":{pattern:RegExp("(\\.\\s*)"+e.languages.javascript["function-variable"].pattern.source),lookbehind:!0,alias:["function-variable","method","function","property-access"]}}),e.languages.insertBefore("javascript","function",{method:{pattern:RegExp("(\\.\\s*)"+e.languages.javascript.function.source),lookbehind:!0,alias:["function","property-access"]}}),e.languages.insertBefore("javascript","constant",{"known-class-name":[{pattern:/\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\b/,alias:"class-name"},{pattern:/\b(?:[A-Z]\w*)Error\b/,alias:"class-name"}]}),e.languages.insertBefore("javascript","keyword",{imports:{pattern:a(/(\bimport\b\s*)(?:(?:\s*,\s*(?:\*\s*as\s+|\{[^{}]*\}))?|\*\s*as\s+|\{[^{}]*\})(?=\s*\bfrom\b)/.source),lookbehind:!0,inside:e.languages.javascript},exports:{pattern:a(/(\bexport\b\s*)(?:\*(?:\s*as\s+)?(?=\s*\bfrom\b)|\{[^{}]*\})/.source),lookbehind:!0,inside:e.languages.javascript}}),e.languages.javascript.keyword.unshift({pattern:/\b(?:as|default|export|from|import)\b/,alias:"module"},{pattern:/\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\b/,alias:"control-flow"},{pattern:/\bnull\b/,alias:["null","nil"]},{pattern:/\bundefined\b/,alias:"nil"}),e.languages.insertBefore("javascript","operator",{spread:{pattern:/\.{3}/,alias:"operator"},arrow:{pattern:/=>/,alias:"operator"}}),e.languages.insertBefore("javascript","punctuation",{"property-access":{pattern:a(/(\.\s*)#?/.source),lookbehind:!0},"maybe-class-name":{pattern:/(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/,lookbehind:!0},dom:{pattern:/\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\b/,alias:"variable"},console:{pattern:/\bconsole(?=\s*\.)/,alias:"class-name"}});for(var n=["function","function-variable","method","method-variable","property-access"],t=0;t*\.{3}(?:[^{}]|)*\})/.source;function r(e,a){return e=e.replace(//g,(function(){return n})).replace(//g,(function(){return t})).replace(//g,(function(){return d})),RegExp(e,a)}d=r(d).source,e.languages.jsx=e.languages.extend("markup",a),e.languages.jsx.tag.pattern=r(/<\/?(?:[\w.:-]+(?:+(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+|))?|))**\/?)?>/.source),e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,e.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,e.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.jsx.tag.inside.comment=a.comment,e.languages.insertBefore("inside","attr-name",{spread:{pattern:r(//.source),inside:e.languages.jsx}},e.languages.jsx.tag),e.languages.insertBefore("inside","special-attr",{script:{pattern:r(/=/.source),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:e.languages.jsx}}},e.languages.jsx.tag);var o=function(e){return e?"string"==typeof e?e:"string"==typeof e.content?e.content:e.content.map(o).join(""):""},i=function(a){for(var n=[],t=0;t0&&n[n.length-1].tagName===o(d.content[0].content[1])&&n.pop():"/>"===d.content[d.content.length-1].content||n.push({tagName:o(d.content[0].content[1]),openedBraces:0}):n.length>0&&"punctuation"===d.type&&"{"===d.content?n[n.length-1].openedBraces++:n.length>0&&n[n.length-1].openedBraces>0&&"punctuation"===d.type&&"}"===d.content?n[n.length-1].openedBraces--:r=!0),(r||"string"==typeof d)&&n.length>0&&0===n[n.length-1].openedBraces){var s=o(d);t0&&("string"==typeof a[t-1]||"plain-text"===a[t-1].type)&&(s=o(a[t-1])+s,a.splice(t-1,1),t--),a[t]=new e.Token("plain-text",s,null,s)}d.content&&"string"!=typeof d.content&&i(d.content)}};e.hooks.add("after-tokenize",(function(e){"jsx"!==e.language&&"tsx"!==e.language||i(e.tokens)}))}(kt),function(e){e.languages.diff={coord:[/^(?:\*{3}|-{3}|\+{3}).*$/m,/^@@.*@@$/m,/^\d.*$/m]};var a={"deleted-sign":"-","deleted-arrow":"<","inserted-sign":"+","inserted-arrow":">",unchanged:" ",diff:"!"};Object.keys(a).forEach((function(n){var t=a[n],d=[];/^\w+$/.test(n)||d.push(/\w+/.exec(n)[0]),"diff"===n&&d.push("bold"),e.languages.diff[n]={pattern:RegExp("^(?:["+t+"].*(?:\r\n?|\n|(?![\\s\\S])))+","m"),alias:d,inside:{line:{pattern:/(.)(?=[\s\S]).*(?:\r\n?|\n)?/,lookbehind:!0},prefix:{pattern:/[\s\S]/,alias:/\w+/.exec(n)[0]}}}})),Object.defineProperty(e.languages.diff,"PREFIXES",{value:a})}(kt),kt.languages.git={comment:/^#.*/m,deleted:/^[-–].*/m,inserted:/^\+.*/m,string:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,command:{pattern:/^.*\$ git .*$/m,inside:{parameter:/\s--?\w+/}},coord:/^@@.*@@$/m,"commit-sha1":/^commit \w{40}$/m},kt.languages.go=kt.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),kt.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete kt.languages.go["class-name"],function(e){function a(e,a){return"___"+e.toUpperCase()+a+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,t,d,r){if(n.language===t){var o=n.tokenStack=[];n.code=n.code.replace(d,(function(e){if("function"==typeof r&&!r(e))return e;for(var d,i=o.length;-1!==n.code.indexOf(d=a(t,i));)++i;return o[i]=e,d})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,t){if(n.language===t&&n.tokenStack){n.grammar=e.languages[t];var d=0,r=Object.keys(n.tokenStack);!function o(i){for(var s=0;s=r.length);s++){var g=i[s];if("string"==typeof g||g.content&&"string"==typeof g.content){var c=r[d],u=n.tokenStack[c],l="string"==typeof g?g:g.content,R=a(t,c),p=l.indexOf(R);if(p>-1){++d;var f=l.substring(0,p),h=new e.Token(t,e.tokenize(u,n.grammar),"language-"+t,u),m=l.substring(p+R.length),b=[];f&&b.push.apply(b,o([f])),b.push(h),m&&b.push.apply(b,o([m])),"string"==typeof g?i.splice.apply(i,[s,1].concat(b)):g.content=b}}else g.content&&o(g.content)}return i}(n.tokens)}}}})}(kt),function(e){e.languages.handlebars={comment:/\{\{![\s\S]*?\}\}/,delimiter:{pattern:/^\{\{\{?|\}\}\}?$/,alias:"punctuation"},string:/(["'])(?:\\.|(?!\1)[^\\\r\n])*\1/,number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][+-]?\d+)?/,boolean:/\b(?:false|true)\b/,block:{pattern:/^(\s*(?:~\s*)?)[#\/]\S+?(?=\s*(?:~\s*)?$|\s)/,lookbehind:!0,alias:"keyword"},brackets:{pattern:/\[[^\]]+\]/,inside:{punctuation:/\[|\]/,variable:/[\s\S]+/}},punctuation:/[!"#%&':()*+,.\/;<=>@\[\\\]^`{|}~]/,variable:/[^!"#%&'()*+,\/;<=>@\[\\\]^`{|}~\s]+/},e.hooks.add("before-tokenize",(function(a){e.languages["markup-templating"].buildPlaceholders(a,"handlebars",/\{\{\{[\s\S]+?\}\}\}|\{\{[\s\S]+?\}\}/g)})),e.hooks.add("after-tokenize",(function(a){e.languages["markup-templating"].tokenizePlaceholders(a,"handlebars")})),e.languages.hbs=e.languages.handlebars}(kt),kt.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},kt.languages.webmanifest=kt.languages.json,kt.languages.less=kt.languages.extend("css",{comment:[/\/\*[\s\S]*?\*\//,{pattern:/(^|[^\\])\/\/.*/,lookbehind:!0}],atrule:{pattern:/@[\w-](?:\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{punctuation:/[:()]/}},selector:{pattern:/(?:@\{[\w-]+\}|[^{};\s@])(?:@\{[\w-]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};@\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{variable:/@+[\w-]+/}},property:/(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/,operator:/[+\-*\/]/}),kt.languages.insertBefore("less","property",{variable:[{pattern:/@[\w-]+\s*:/,inside:{punctuation:/:/}},/@@?[\w-]+/],"mixin-usage":{pattern:/([{;]\s*)[.#](?!\d)[\w-].*?(?=[(;])/,lookbehind:!0,alias:"function"}}),kt.languages.makefile={comment:{pattern:/(^|[^\\])#(?:\\(?:\r\n|[\s\S])|[^\\\r\n])*/,lookbehind:!0},string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"builtin-target":{pattern:/\.[A-Z][^:#=\s]+(?=\s*:(?!=))/,alias:"builtin"},target:{pattern:/^(?:[^:=\s]|[ \t]+(?![\s:]))+(?=\s*:(?!=))/m,alias:"symbol",inside:{variable:/\$+(?:(?!\$)[^(){}:#=\s]+|(?=[({]))/}},variable:/\$+(?:(?!\$)[^(){}:#=\s]+|\([@*%<^+?][DF]\)|(?=[({]))/,keyword:/-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/,function:{pattern:/(\()(?:abspath|addsuffix|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:list|s)?)(?=[ \t])/,lookbehind:!0},operator:/(?:::|[?:+!])?=|[|@]/,punctuation:/[:;(){}]/},kt.languages.objectivec=kt.languages.extend("c",{string:{pattern:/@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,operator:/-[->]?|\+\+?|!=?|<>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete kt.languages.objectivec["class-name"],kt.languages.objc=kt.languages.objectivec,kt.languages.ocaml={comment:{pattern:/\(\*[\s\S]*?\*\)/,greedy:!0},char:{pattern:/'(?:[^\\\r\n']|\\(?:.|[ox]?[0-9a-f]{1,3}))'/i,greedy:!0},string:[{pattern:/"(?:\\(?:[\s\S]|\r\n)|[^\\\r\n"])*"/,greedy:!0},{pattern:/\{([a-z_]*)\|[\s\S]*?\|\1\}/,greedy:!0}],number:[/\b(?:0b[01][01_]*|0o[0-7][0-7_]*)\b/i,/\b0x[a-f0-9][a-f0-9_]*(?:\.[a-f0-9_]*)?(?:p[+-]?\d[\d_]*)?(?!\w)/i,/\b\d[\d_]*(?:\.[\d_]*)?(?:e[+-]?\d[\d_]*)?(?!\w)/i],directive:{pattern:/\B#\w+/,alias:"property"},label:{pattern:/\B~\w+/,alias:"property"},"type-variable":{pattern:/\B'\w+/,alias:"function"},variant:{pattern:/`\w+/,alias:"symbol"},keyword:/\b(?:as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|nonrec|object|of|open|private|rec|sig|struct|then|to|try|type|val|value|virtual|when|where|while|with)\b/,boolean:/\b(?:false|true)\b/,"operator-like-punctuation":{pattern:/\[[<>|]|[>|]\]|\{<|>\}/,alias:"punctuation"},operator:/\.[.~]|:[=>]|[=<>@^|&+\-*\/$%!?~][!$%&*+\-.\/:<=>?@^|~]*|\b(?:and|asr|land|lor|lsl|lsr|lxor|mod|or)\b/,punctuation:/;;|::|[(){}\[\].,:;#]|\b_\b/},kt.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},kt.languages.python["string-interpolation"].inside.interpolation.inside.rest=kt.languages.python,kt.languages.py=kt.languages.python,kt.languages.reason=kt.languages.extend("clike",{string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,greedy:!0},"class-name":/\b[A-Z]\w*/,keyword:/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/,operator:/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:asr|land|lor|lsl|lsr|lxor|mod)\b/}),kt.languages.insertBefore("reason","class-name",{char:{pattern:/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/,greedy:!0},constructor:/\b[A-Z]\w*\b(?!\s*\.)/,label:{pattern:/\b[a-z]\w*(?=::)/,alias:"symbol"}}),delete kt.languages.reason.function,function(e){e.languages.sass=e.languages.extend("css",{comment:{pattern:/^([ \t]*)\/[\/*].*(?:(?:\r?\n|\r)\1[ \t].+)*/m,lookbehind:!0,greedy:!0}}),e.languages.insertBefore("sass","atrule",{"atrule-line":{pattern:/^(?:[ \t]*)[@+=].+/m,greedy:!0,inside:{atrule:/(?:@[\w-]+|[+=])/}}}),delete e.languages.sass.atrule;var a=/\$[-\w]+|#\{\$[-\w]+\}/,n=[/[+*\/%]|[=!]=|<=?|>=?|\b(?:and|not|or)\b/,{pattern:/(\s)-(?=\s)/,lookbehind:!0}];e.languages.insertBefore("sass","property",{"variable-line":{pattern:/^[ \t]*\$.+/m,greedy:!0,inside:{punctuation:/:/,variable:a,operator:n}},"property-line":{pattern:/^[ \t]*(?:[^:\s]+ *:.*|:[^:\s].*)/m,greedy:!0,inside:{property:[/[^:\s]+(?=\s*:)/,{pattern:/(:)[^:\s]+/,lookbehind:!0}],punctuation:/:/,variable:a,operator:n,important:e.languages.sass.important}}}),delete e.languages.sass.property,delete e.languages.sass.important,e.languages.insertBefore("sass","punctuation",{selector:{pattern:/^([ \t]*)\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*(?:,(?:\r?\n|\r)\1[ \t]+\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*)*/m,lookbehind:!0,greedy:!0}})}(kt),kt.languages.scss=kt.languages.extend("css",{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},atrule:{pattern:/@[\w-](?:\([^()]+\)|[^()\s]|\s+(?!\s))*?(?=\s+[{;])/,inside:{rule:/@[\w-]+/}},url:/(?:[-a-z]+-)?url(?=\()/i,selector:{pattern:/(?=\S)[^@;{}()]?(?:[^@;{}()\s]|\s+(?!\s)|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}][^:{}]*[:{][^}]))/,inside:{parent:{pattern:/&/,alias:"important"},placeholder:/%[-\w]+/,variable:/\$[-\w]+|#\{\$[-\w]+\}/}},property:{pattern:/(?:[-\w]|\$[-\w]|#\{\$[-\w]+\})+(?=\s*:)/,inside:{variable:/\$[-\w]+|#\{\$[-\w]+\}/}}}),kt.languages.insertBefore("scss","atrule",{keyword:[/@(?:content|debug|each|else(?: if)?|extend|for|forward|function|if|import|include|mixin|return|use|warn|while)\b/i,{pattern:/( )(?:from|through)(?= )/,lookbehind:!0}]}),kt.languages.insertBefore("scss","important",{variable:/\$[-\w]+|#\{\$[-\w]+\}/}),kt.languages.insertBefore("scss","function",{"module-modifier":{pattern:/\b(?:as|hide|show|with)\b/i,alias:"keyword"},placeholder:{pattern:/%[-\w]+/,alias:"selector"},statement:{pattern:/\B!(?:default|optional)\b/i,alias:"keyword"},boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"},operator:{pattern:/(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|not|or)(?=\s)/,lookbehind:!0}}),kt.languages.scss.atrule.inside.rest=kt.languages.scss,function(e){var a={pattern:/(\b\d+)(?:%|[a-z]+)/,lookbehind:!0},n={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0},t={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},url:{pattern:/\burl\((["']?).*?\1\)/i,greedy:!0},string:{pattern:/("|')(?:(?!\1)[^\\\r\n]|\\(?:\r\n|[\s\S]))*\1/,greedy:!0},interpolation:null,func:null,important:/\B!(?:important|optional)\b/i,keyword:{pattern:/(^|\s+)(?:(?:else|for|if|return|unless)(?=\s|$)|@[\w-]+)/,lookbehind:!0},hexcode:/#[\da-f]{3,6}/i,color:[/\b(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|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|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)\b/i,{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:a,number:n,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:a,boolean:/\b(?:false|true)\b/,operator:[/~|[+!\/%<>?=]=?|[-:]=|\*[*=]?|\.{2,3}|&&|\|\||\B-\B|\b(?:and|in|is(?: a| defined| not|nt)?|not|or)\b/],number:n,punctuation:/[{}()\[\];:,]/};t.interpolation={pattern:/\{[^\r\n}:]+\}/,alias:"variable",inside:{delimiter:{pattern:/^\{|\}$/,alias:"punctuation"},rest:t}},t.func={pattern:/[\w-]+\([^)]*\).*/,inside:{function:/^[^(]+/,rest:t}},e.languages.stylus={"atrule-declaration":{pattern:/(^[ \t]*)@.+/m,lookbehind:!0,inside:{atrule:/^@[\w-]+/,rest:t}},"variable-declaration":{pattern:/(^[ \t]*)[\w$-]+\s*.?=[ \t]*(?:\{[^{}]*\}|\S.*|$)/m,lookbehind:!0,inside:{variable:/^\S+/,rest:t}},statement:{pattern:/(^[ \t]*)(?:else|for|if|return|unless)[ \t].+/m,lookbehind:!0,inside:{keyword:/^\S+/,rest:t}},"property-declaration":{pattern:/((?:^|\{)([ \t]*))(?:[\w-]|\{[^}\r\n]+\})+(?:\s*:\s*|[ \t]+)(?!\s)[^{\r\n]*(?:;|[^{\r\n,]$(?!(?:\r?\n|\r)(?:\{|\2[ \t])))/m,lookbehind:!0,inside:{property:{pattern:/^[^\s:]+/,inside:{interpolation:t.interpolation}},rest:t}},selector:{pattern:/(^[ \t]*)(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\)|(?![\w-]))|\{[^}\r\n]+\})+)(?:(?:\r?\n|\r)(?:\1(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\)|(?![\w-]))|\{[^}\r\n]+\})+)))*(?:,$|\{|(?=(?:\r?\n|\r)(?:\{|\1[ \t])))/m,lookbehind:!0,inside:{interpolation:t.interpolation,comment:t.comment,punctuation:/[{},]/}},func:t.func,string:t.string,comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0,greedy:!0},interpolation:t.interpolation,punctuation:/[{}()\[\];:.]/}}(kt),function(e){var a=e.util.clone(e.languages.typescript);e.languages.tsx=e.languages.extend("jsx",a),delete e.languages.tsx.parameter,delete e.languages.tsx["literal-property"];var n=e.languages.tsx.tag;n.pattern=RegExp(/(^|[^\w$]|(?=<\/))/.source+"(?:"+n.pattern.source+")",n.pattern.flags),n.lookbehind=!0}(kt),kt.languages.wasm={comment:[/\(;[\s\S]*?;\)/,{pattern:/;;.*/,greedy:!0}],string:{pattern:/"(?:\\[\s\S]|[^"\\])*"/,greedy:!0},keyword:[{pattern:/\b(?:align|offset)=/,inside:{operator:/=/}},{pattern:/\b(?:(?:f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|neg?|nearest|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|sqrt|store(?:8|16|32)?|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))?|memory\.(?:grow|size))\b/,inside:{punctuation:/\./}},/\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)\b/],variable:/\$[\w!#$%&'*+\-./:<=>?@\\^`|~]+/,number:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/,punctuation:/[()]/};var St=kt;function Dt(e,a,n){return a in e?Object.defineProperty(e,a,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[a]=n,e}function At(){return(At=Object.assign||function(e){for(var a=1;a0&&e[n-1]===a?e:e.concat(a)},Tt=function(e,a){var n=e.plain,t=Object.create(null),d=e.styles.reduce((function(e,n){var t=n.languages,d=n.style;return t&&!t.includes(a)||n.types.forEach((function(a){var n=At({},e[a],d);e[a]=n})),e}),t);return d.root=n,d.plain=At({},n,{backgroundColor:null}),d};function Lt(e,a){var n={};for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&-1===a.indexOf(t)&&(n[t]=e[t]);return n}var Bt=function(e){function a(){for(var a=this,n=[],t=arguments.length;t--;)n[t]=arguments[t];e.apply(this,n),Dt(this,"getThemeDict",(function(e){if(void 0!==a.themeDict&&e.theme===a.prevTheme&&e.language===a.prevLanguage)return a.themeDict;a.prevTheme=e.theme,a.prevLanguage=e.language;var n=e.theme?Tt(e.theme,e.language):void 0;return a.themeDict=n})),Dt(this,"getLineProps",(function(e){var n=e.key,t=e.className,d=e.style,r=At({},Lt(e,["key","className","style","line"]),{className:"token-line",style:void 0,key:void 0}),o=a.getThemeDict(a.props);return void 0!==o&&(r.style=o.plain),void 0!==d&&(r.style=void 0!==r.style?At({},r.style,d):d),void 0!==n&&(r.key=n),t&&(r.className+=" "+t),r})),Dt(this,"getStyleForToken",(function(e){var n=e.types,t=e.empty,d=n.length,r=a.getThemeDict(a.props);if(void 0!==r){if(1===d&&"plain"===n[0])return t?{display:"inline-block"}:void 0;if(1===d&&!t)return r[n[0]];var o=t?{display:"inline-block"}:{},i=n.map((function(e){return r[e]}));return Object.assign.apply(Object,[o].concat(i))}})),Dt(this,"getTokenProps",(function(e){var n=e.key,t=e.className,d=e.style,r=e.token,o=At({},Lt(e,["key","className","style","token"]),{className:"token "+r.types.join(" "),children:r.content,style:a.getStyleForToken(r),key:void 0});return void 0!==d&&(o.style=void 0!==o.style?At({},o.style,d):d),void 0!==n&&(o.key=n),t&&(o.className+=" "+t),o})),Dt(this,"tokenize",(function(e,a,n,t){var d={code:a,grammar:n,language:t,tokens:[]};e.hooks.run("before-tokenize",d);var r=d.tokens=e.tokenize(d.code,d.grammar,d.language);return e.hooks.run("after-tokenize",d),r}))}return e&&(a.__proto__=e),a.prototype=Object.create(e&&e.prototype),a.prototype.constructor=a,a.prototype.render=function(){var e=this.props,a=e.Prism,n=e.language,t=e.code,d=e.children,r=this.getThemeDict(this.props),o=a.languages[n];return d({tokens:function(e){for(var a=[[]],n=[e],t=[0],d=[e.length],r=0,o=0,i=[],s=[i];o>-1;){for(;(r=t[o]++)0?c:["plain"],g=u):(c=Ft(c,u.type),u.alias&&(c=Ft(c,u.alias)),g=u.content),"string"==typeof g){var l=g.split(Ct),R=l.length;i.push({types:c,content:l[0]});for(var p=1;p=0||(d[n]=e[n]);return d}var Ut={plain:{color:"#C5C8C6",backgroundColor:"#1D1F21"},styles:[{types:["prolog","comment","doctype","cdata"],style:{color:"hsl(30, 20%, 50%)"}},{types:["property","tag","boolean","number","constant","symbol"],style:{color:"hsl(350, 40%, 70%)"}},{types:["attr-name","string","char","builtin","insterted"],style:{color:"hsl(75, 70%, 60%)"}},{types:["operator","entity","url","string","variable","language-css"],style:{color:"hsl(40, 90%, 60%)"}},{types:["deleted"],style:{color:"rgb(255, 85, 85)"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["regex","important"],style:{color:"#e90"}},{types:["atrule","attr-value","keyword"],style:{color:"hsl(350, 40%, 70%)"}},{types:["punctuation","symbol"],style:{opacity:"0.7"}}]},Gt=["style","theme","onChange"];function Ht(e,a){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),n.push.apply(n,t)}return n}function Wt(e){for(var a=1;a=a||n<0||u&&e-g>=r}function h(){var e=Hd();if(f(e))return m(e);i=setTimeout(h,function(e){var n=a-(e-s);return u?pr(n,r-(e-g)):n}(e))}function m(e){return i=void 0,l&&t?R(e):(t=d=void 0,o)}function b(){var e=Hd(),n=f(e);if(t=arguments,d=this,s=e,n){if(void 0===i)return p(s);if(u)return clearTimeout(i),i=setTimeout(h,a),R(s)}return void 0===i&&(i=setTimeout(h,a)),o}return a=lr(a)||0,qd(n)&&(c=!!n.leading,r=(u="maxWait"in n)?Rr(lr(n.maxWait)||0,a):r,l="trailing"in n?!!n.trailing:l),b.cancel=function(){void 0!==i&&clearTimeout(i),g=0,t=s=d=i=void 0},b.flush=function(){return void 0===i?o:m(Hd())},b};var hr=function(e,a,n){var t=!0,d=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return qd(n)&&(t="leading"in n?!!n.leading:t,d="trailing"in n?!!n.trailing:d),fr(e,a,{leading:t,maxWait:a,trailing:d})},mr={debounce:fr,throttle:hr},br=function(e){return"function"==typeof e},yr=function(){return"undefined"==typeof window};function vr(e){return(vr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function jr(e,a){if(!(e instanceof a))throw new TypeError("Cannot call a class as a function")}function Or(e,a){for(var n=0;n({p:2,background:e.plain.backgroundColor,borderTop:0,fontFamily:"monospace",fontSize:18,"* > textarea:focus":{outline:"none"},borderRadius:"inherit"});void 0!==zr&&zr&&zr===Object(zr)&&Object.isExtensible(zr)&&!Object.prototype.hasOwnProperty.call(zr,"__filemeta")&&Object.defineProperty(zr,"__filemeta",{configurable:!0,value:{name:"editor",filename:"node_modules/gatsby-theme-docz/src/components/Playground/styles.js"}}),void 0!==zr&&zr&&zr===Object(zr)&&Object.isExtensible(zr)&&!Object.prototype.hasOwnProperty.call(zr,"__filemeta")&&Object.defineProperty(zr,"__filemeta",{configurable:!0,value:{name:"editor",filename:"node_modules/gatsby-theme-docz/src/components/Playground/styles.js"}});const qr={m:0,py:2,px:3,bg:"#FF4757",fontSize:1,color:"white",whiteSpace:"pre-wrap"};void 0!==qr&&qr&&qr===Object(qr)&&Object.isExtensible(qr)&&!Object.prototype.hasOwnProperty.call(qr,"__filemeta")&&Object.defineProperty(qr,"__filemeta",{configurable:!0,value:{name:"error",filename:"node_modules/gatsby-theme-docz/src/components/Playground/styles.js"}}),void 0!==qr&&qr&&qr===Object(qr)&&Object.isExtensible(qr)&&!Object.prototype.hasOwnProperty.call(qr,"__filemeta")&&Object.defineProperty(qr,"__filemeta",{configurable:!0,value:{name:"error",filename:"node_modules/gatsby-theme-docz/src/components/Playground/styles.js"}});const Vr={position:"relative"};void 0!==Vr&&Vr&&Vr===Object(Vr)&&Object.isExtensible(Vr)&&!Object.prototype.hasOwnProperty.call(Vr,"__filemeta")&&Object.defineProperty(Vr,"__filemeta",{configurable:!0,value:{name:"previewWrapper",filename:"node_modules/gatsby-theme-docz/src/components/Playground/styles.js"}}),void 0!==Vr&&Vr&&Vr===Object(Vr)&&Object.isExtensible(Vr)&&!Object.prototype.hasOwnProperty.call(Vr,"__filemeta")&&Object.defineProperty(Vr,"__filemeta",{configurable:!0,value:{name:"previewWrapper",filename:"node_modules/gatsby-theme-docz/src/components/Playground/styles.js"}});const Ur=()=>({height:"auto",display:"block",minHeight:"100%",width:"calc(100% - 2px)",bg:"playground.bg"});void 0!==Ur&&Ur&&Ur===Object(Ur)&&Object.isExtensible(Ur)&&!Object.prototype.hasOwnProperty.call(Ur,"__filemeta")&&Object.defineProperty(Ur,"__filemeta",{configurable:!0,value:{name:"wrapper",filename:"node_modules/gatsby-theme-docz/src/components/Playground/styles.js"}}),void 0!==Ur&&Ur&&Ur===Object(Ur)&&Object.isExtensible(Ur)&&!Object.prototype.hasOwnProperty.call(Ur,"__filemeta")&&Object.defineProperty(Ur,"__filemeta",{configurable:!0,value:{name:"wrapper",filename:"node_modules/gatsby-theme-docz/src/components/Playground/styles.js"}});const Gr=(e,a)=>{let n=4;return a&&(n="preview"===e?"4px 4px 0 0":"0 0 4px 4px"),{border:e=>"1px solid "+e.colors.playground.border,borderTop:"editor"===e?0:void 0,borderRadius:n}};void 0!==Gr&&Gr&&Gr===Object(Gr)&&Object.isExtensible(Gr)&&!Object.prototype.hasOwnProperty.call(Gr,"__filemeta")&&Object.defineProperty(Gr,"__filemeta",{configurable:!0,value:{name:"wrapperBorder",filename:"node_modules/gatsby-theme-docz/src/components/Playground/styles.js"}}),void 0!==Gr&&Gr&&Gr===Object(Gr)&&Object.isExtensible(Gr)&&!Object.prototype.hasOwnProperty.call(Gr,"__filemeta")&&Object.defineProperty(Gr,"__filemeta",{configurable:!0,value:{name:"wrapperBorder",filename:"node_modules/gatsby-theme-docz/src/components/Playground/styles.js"}});const Hr={margin:0,padding:"20px"};void 0!==Hr&&Hr&&Hr===Object(Hr)&&Object.isExtensible(Hr)&&!Object.prototype.hasOwnProperty.call(Hr,"__filemeta")&&Object.defineProperty(Hr,"__filemeta",{configurable:!0,value:{name:"preview",filename:"node_modules/gatsby-theme-docz/src/components/Playground/styles.js"}}),void 0!==Hr&&Hr&&Hr===Object(Hr)&&Object.isExtensible(Hr)&&!Object.prototype.hasOwnProperty.call(Hr,"__filemeta")&&Object.defineProperty(Hr,"__filemeta",{configurable:!0,value:{name:"preview",filename:"node_modules/gatsby-theme-docz/src/components/Playground/styles.js"}});const Wr={zIndex:9,display:"flex",position:"absolute",bottom:-20,right:4};void 0!==Wr&&Wr&&Wr===Object(Wr)&&Object.isExtensible(Wr)&&!Object.prototype.hasOwnProperty.call(Wr,"__filemeta")&&Object.defineProperty(Wr,"__filemeta",{configurable:!0,value:{name:"buttons",filename:"node_modules/gatsby-theme-docz/src/components/Playground/styles.js"}}),void 0!==Wr&&Wr&&Wr===Object(Wr)&&Object.isExtensible(Wr)&&!Object.prototype.hasOwnProperty.call(Wr,"__filemeta")&&Object.defineProperty(Wr,"__filemeta",{configurable:!0,value:{name:"buttons",filename:"node_modules/gatsby-theme-docz/src/components/Playground/styles.js"}});const Kr=Mr(Mr({},Za),{},{display:"flex",alignItems:"center",py:1,p:2,bg:"border",color:"muted",borderRadius:"0 0 3px 3px","& ~ &":{ml:1}});void 0!==Kr&&Kr&&Kr===Object(Kr)&&Object.isExtensible(Kr)&&!Object.prototype.hasOwnProperty.call(Kr,"__filemeta")&&Object.defineProperty(Kr,"__filemeta",{configurable:!0,value:{name:"button",filename:"node_modules/gatsby-theme-docz/src/components/Playground/styles.js"}}),void 0!==Kr&&Kr&&Kr===Object(Kr)&&Object.isExtensible(Kr)&&!Object.prototype.hasOwnProperty.call(Kr,"__filemeta")&&Object.defineProperty(Kr,"__filemeta",{configurable:!0,value:{name:"button",filename:"node_modules/gatsby-theme-docz/src/components/Playground/styles.js"}});const Yr={py:0,ml:1,height:22};function Zr(e,a){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),n.push.apply(n,t)}return n}function $r(e){for(var a=1;a{let{children:a,style:n}=e;const{0:t,1:d}=Object(l.useState)();return Object(j.h)(Id.a,{initialContent:"
    ",sx:$r($r({},{height:"auto",display:"block",minHeight:"100%",width:"calc(100% - 2px)",bg:"playground.bg"}),{},{style:n,height:t})},a,Object(j.h)(Nr,{handleHeight:!0,onResize:e=>{let{height:a}=e;d(a)}}))},Qr=e=>{let{children:a,style:n}=e;return Object(j.h)("div",{sx:$r($r({},{height:"auto",display:"block",minHeight:"100%",width:"calc(100% - 2px)",bg:"playground.bg"}),n)},a)},Jr=e=>{let{children:a,content:n,useScoping:t,showingCode:d}=e;const{themeConfig:{useScopingInPlayground:r}}=Object(p.e)(),o=t||r?Xr:Qr;return Object(j.h)(o,{style:Gr(n,d)},a)};void 0!==Jr&&Jr&&Jr===Object(Jr)&&Object.isExtensible(Jr)&&!Object.prototype.hasOwnProperty.call(Jr,"__filemeta")&&Object.defineProperty(Jr,"__filemeta",{configurable:!0,value:{name:"Wrapper",filename:"node_modules/gatsby-theme-docz/src/components/Playground/Wrapper.js"}}),void 0!==Jr&&Jr&&Jr===Object(Jr)&&Object.isExtensible(Jr)&&!Object.prototype.hasOwnProperty.call(Jr,"__filemeta")&&Object.defineProperty(Jr,"__filemeta",{configurable:!0,value:{name:"Wrapper",filename:"node_modules/gatsby-theme-docz/src/components/Playground/Wrapper.js"}});var eo=n("nRzq"),ao=n.n(eo),no=n("xXH7"),to=n.n(no);const ro=e=>a=>g()("theme."+e,a);void 0!==ro&&ro&&ro===Object(ro)&&Object.isExtensible(ro)&&!Object.prototype.hasOwnProperty.call(ro,"__filemeta")&&Object.defineProperty(ro,"__filemeta",{configurable:!0,value:{name:"themeProp",filename:"node_modules/gatsby-theme-docz/src/utils/theme.js"}}),void 0!==ro&&ro&&ro===Object(ro)&&Object.isExtensible(ro)&&!Object.prototype.hasOwnProperty.call(ro,"__filemeta")&&Object.defineProperty(ro,"__filemeta",{configurable:!0,value:{name:"themeProp",filename:"node_modules/gatsby-theme-docz/src/utils/theme.js"}});const oo=()=>{const{theme:e,colorMode:a}=Object(j.j)();return to()(g()("prismTheme"),ao()(g()("prism."+a,e)))(e)};void 0!==oo&&oo&&oo===Object(oo)&&Object.isExtensible(oo)&&!Object.prototype.hasOwnProperty.call(oo,"__filemeta")&&Object.defineProperty(oo,"__filemeta",{configurable:!0,value:{name:"usePrismTheme",filename:"node_modules/gatsby-theme-docz/src/utils/theme.js"}}),void 0!==oo&&oo&&oo===Object(oo)&&Object.isExtensible(oo)&&!Object.prototype.hasOwnProperty.call(oo,"__filemeta")&&Object.defineProperty(oo,"__filemeta",{configurable:!0,value:{name:"usePrismTheme",filename:"node_modules/gatsby-theme-docz/src/utils/theme.js"}});const io=e=>e.startsWith("()")||e.startsWith("class")?e:""+e+"",so=e=>{let{code:a,scope:n,language:t,useScoping:d=!1}=e;const{themeConfig:{showPlaygroundEditor:o,showLiveError:i,showLivePreview:s}}=Object(p.e)(),{0:g}=Object(l.useState)(n),c=oo(),{0:u,1:R}=Object(l.useState)(o),{0:f,1:h}=Object(l.useState)("100%"),m=((e,a)=>({minWidth:260,maxWidth:"100%",size:{width:e,height:"auto"},style:{margin:0,marginRight:"auto"},enable:{top:!1,right:!0,bottom:!1,left:!1,topRight:!1,bottomRight:!1,bottomLeft:!1,topLeft:!1},onResizeStop:(e,n,t)=>{a(t.style.width)}}))(f,h);return Object(j.h)(Td,Object(r.a)({},m,{"data-testid":"playground"}),Object(j.h)(gd,{code:a,scope:g,transformCode:io,language:t,theme:c},Object(j.h)("div",{sx:Vr},Object(j.h)(Jr,{content:"preview",useScoping:d,showingCode:u},s&&Object(j.h)(Rd,{sx:Hr,"data-testid":"live-preview"})),Object(j.h)("div",{sx:Wr},Object(j.h)("button",{sx:Kr,onClick:()=>Bd()(a)},Object(j.h)(yn,{size:12})),Object(j.h)("button",{sx:Kr,onClick:()=>R(e=>!e)},Object(j.h)(_n,{size:12})))),u&&Object(j.h)(Jr,{content:"editor",useScoping:d,showingCode:u},Object(j.h)("div",{sx:zr(c)},Object(j.h)(cd,{"data-testid":"live-editor"}))),i&&Object(j.h)(ud,{sx:qr,"data-testid":"live-error"})))};function go(e,a){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),n.push.apply(n,t)}return n}function co(e){for(var a=1;a"1px solid "+e.colors.border,borderRadius:"radius",overflow:"hidden",bg:"props.bg",color:"props.text",fontSize:3};void 0!==uo&&uo&&uo===Object(uo)&&Object.isExtensible(uo)&&!Object.prototype.hasOwnProperty.call(uo,"__filemeta")&&Object.defineProperty(uo,"__filemeta",{configurable:!0,value:{name:"container",filename:"node_modules/gatsby-theme-docz/src/components/Props/styles.js"}}),void 0!==uo&&uo&&uo===Object(uo)&&Object.isExtensible(uo)&&!Object.prototype.hasOwnProperty.call(uo,"__filemeta")&&Object.defineProperty(uo,"__filemeta",{configurable:!0,value:{name:"container",filename:"node_modules/gatsby-theme-docz/src/components/Props/styles.js"}});const lo={position:"relative",display:"flex",flexDirection:"column",["@media (min-width: "+Xa.tablet+"px)"]:{flexWrap:"nowrap",flexDirection:"row"}};void 0!==lo&&lo&&lo===Object(lo)&&Object.isExtensible(lo)&&!Object.prototype.hasOwnProperty.call(lo,"__filemeta")&&Object.defineProperty(lo,"__filemeta",{configurable:!0,value:{name:"content",filename:"node_modules/gatsby-theme-docz/src/components/Props/styles.js"}}),void 0!==lo&&lo&&lo===Object(lo)&&Object.isExtensible(lo)&&!Object.prototype.hasOwnProperty.call(lo,"__filemeta")&&Object.defineProperty(lo,"__filemeta",{configurable:!0,value:{name:"content",filename:"node_modules/gatsby-theme-docz/src/components/Props/styles.js"}});const Ro={pt:2,"& + &":{borderTop:e=>"1px solid "+e.colors.border}};void 0!==Ro&&Ro&&Ro===Object(Ro)&&Object.isExtensible(Ro)&&!Object.prototype.hasOwnProperty.call(Ro,"__filemeta")&&Object.defineProperty(Ro,"__filemeta",{configurable:!0,value:{name:"line",filename:"node_modules/gatsby-theme-docz/src/components/Props/styles.js"}}),void 0!==Ro&&Ro&&Ro===Object(Ro)&&Object.isExtensible(Ro)&&!Object.prototype.hasOwnProperty.call(Ro,"__filemeta")&&Object.defineProperty(Ro,"__filemeta",{configurable:!0,value:{name:"line",filename:"node_modules/gatsby-theme-docz/src/components/Props/styles.js"}});const po={minWidth:0,pb:2,px:3,"& ~ &":{bg:"red"}},fo=co(co({},po),{},{color:"props.highlight"});void 0!==fo&&fo&&fo===Object(fo)&&Object.isExtensible(fo)&&!Object.prototype.hasOwnProperty.call(fo,"__filemeta")&&Object.defineProperty(fo,"__filemeta",{configurable:!0,value:{name:"propName",filename:"node_modules/gatsby-theme-docz/src/components/Props/styles.js"}}),void 0!==fo&&fo&&fo===Object(fo)&&Object.isExtensible(fo)&&!Object.prototype.hasOwnProperty.call(fo,"__filemeta")&&Object.defineProperty(fo,"__filemeta",{configurable:!0,value:{name:"propName",filename:"node_modules/gatsby-theme-docz/src/components/Props/styles.js"}});const ho=co(co({},po),{},{color:"props.text"});void 0!==ho&&ho&&ho===Object(ho)&&Object.isExtensible(ho)&&!Object.prototype.hasOwnProperty.call(ho,"__filemeta")&&Object.defineProperty(ho,"__filemeta",{configurable:!0,value:{name:"propType",filename:"node_modules/gatsby-theme-docz/src/components/Props/styles.js"}}),void 0!==ho&&ho&&ho===Object(ho)&&Object.isExtensible(ho)&&!Object.prototype.hasOwnProperty.call(ho,"__filemeta")&&Object.defineProperty(ho,"__filemeta",{configurable:!0,value:{name:"propType",filename:"node_modules/gatsby-theme-docz/src/components/Props/styles.js"}});const mo=co(co({},po),{},{color:"props.defaultValue"});void 0!==mo&&mo&&mo===Object(mo)&&Object.isExtensible(mo)&&!Object.prototype.hasOwnProperty.call(mo,"__filemeta")&&Object.defineProperty(mo,"__filemeta",{configurable:!0,value:{name:"defaultValue",filename:"node_modules/gatsby-theme-docz/src/components/Props/styles.js"}}),void 0!==mo&&mo&&mo===Object(mo)&&Object.isExtensible(mo)&&!Object.prototype.hasOwnProperty.call(mo,"__filemeta")&&Object.defineProperty(mo,"__filemeta",{configurable:!0,value:{name:"defaultValue",filename:"node_modules/gatsby-theme-docz/src/components/Props/styles.js"}});const bo={display:"flex",alignItems:"center",justifyContent:"flex-end",px:3,flex:1,["@media (max-width: "+Xa.tablet+"px)"]:{position:"absolute",top:0,right:0}};void 0!==bo&&bo&&bo===Object(bo)&&Object.isExtensible(bo)&&!Object.prototype.hasOwnProperty.call(bo,"__filemeta")&&Object.defineProperty(bo,"__filemeta",{configurable:!0,value:{name:"right",filename:"node_modules/gatsby-theme-docz/src/components/Props/styles.js"}}),void 0!==bo&&bo&&bo===Object(bo)&&Object.isExtensible(bo)&&!Object.prototype.hasOwnProperty.call(bo,"__filemeta")&&Object.defineProperty(bo,"__filemeta",{configurable:!0,value:{name:"right",filename:"node_modules/gatsby-theme-docz/src/components/Props/styles.js"}});const yo={color:"props.text",fontSize:1,opacity:.5};void 0!==yo&&yo&&yo===Object(yo)&&Object.isExtensible(yo)&&!Object.prototype.hasOwnProperty.call(yo,"__filemeta")&&Object.defineProperty(yo,"__filemeta",{configurable:!0,value:{name:"propRequired",filename:"node_modules/gatsby-theme-docz/src/components/Props/styles.js"}}),void 0!==yo&&yo&&yo===Object(yo)&&Object.isExtensible(yo)&&!Object.prototype.hasOwnProperty.call(yo,"__filemeta")&&Object.defineProperty(yo,"__filemeta",{configurable:!0,value:{name:"propRequired",filename:"node_modules/gatsby-theme-docz/src/components/Props/styles.js"}});const vo=co(co({},Za),{},{mt:0,ml:3,color:"props.defaultValue"});void 0!==vo&&vo&&vo===Object(vo)&&Object.isExtensible(vo)&&!Object.prototype.hasOwnProperty.call(vo,"__filemeta")&&Object.defineProperty(vo,"__filemeta",{configurable:!0,value:{name:"openDescBtn",filename:"node_modules/gatsby-theme-docz/src/components/Props/styles.js"}}),void 0!==vo&&vo&&vo===Object(vo)&&Object.isExtensible(vo)&&!Object.prototype.hasOwnProperty.call(vo,"__filemeta")&&Object.defineProperty(vo,"__filemeta",{configurable:!0,value:{name:"openDescBtn",filename:"node_modules/gatsby-theme-docz/src/components/Props/styles.js"}});const jo={fontSize:2,m:0,py:2,px:3,borderTop:e=>"1px solid "+e.colors.border,color:"props.descriptionText",bg:"props.descriptionBg"};void 0!==jo&&jo&&jo===Object(jo)&&Object.isExtensible(jo)&&!Object.prototype.hasOwnProperty.call(jo,"__filemeta")&&Object.defineProperty(jo,"__filemeta",{configurable:!0,value:{name:"description",filename:"node_modules/gatsby-theme-docz/src/components/Props/styles.js"}}),void 0!==jo&&jo&&jo===Object(jo)&&Object.isExtensible(jo)&&!Object.prototype.hasOwnProperty.call(jo,"__filemeta")&&Object.defineProperty(jo,"__filemeta",{configurable:!0,value:{name:"description",filename:"node_modules/gatsby-theme-docz/src/components/Props/styles.js"}});const Oo=e=>{let{defaultValue:a,type:n,flowType:t}=e;const d=t||n;return a&&a.value?"''"===a.value?"[Empty string]":d&&"string"===d.name?a.value.replace(/\'/g,'"'):"object"==typeof a.value&&a.value.toString?a.value.toString():a.value:null};void 0!==Oo&&Oo&&Oo===Object(Oo)&&Object.isExtensible(Oo)&&!Object.prototype.hasOwnProperty.call(Oo,"__filemeta")&&Object.defineProperty(Oo,"__filemeta",{configurable:!0,value:{name:"getDefaultValue",filename:"node_modules/gatsby-theme-docz/src/components/Props/index.js"}}),void 0!==Oo&&Oo&&Oo===Object(Oo)&&Object.isExtensible(Oo)&&!Object.prototype.hasOwnProperty.call(Oo,"__filemeta")&&Object.defineProperty(Oo,"__filemeta",{configurable:!0,value:{name:"getDefaultValue",filename:"node_modules/gatsby-theme-docz/src/components/Props/index.js"}});const _o=e=>{let{propName:a,prop:n,getPropType:t,isToggle:d}=e;const{0:r,1:o}=Object(l.useState)(d||!1);if(!n.type&&!n.flowType)return null;return Object(j.h)("div",{sx:Ro,"data-testid":"prop"},Object(j.h)("div",{sx:lo},Object(j.h)("div",{sx:fo,"data-testid":"prop-name"},a),Object(j.h)("div",{sx:ho,"data-testid":"prop-type"},t(n)),n.defaultValue&&Object(j.h)("div",{sx:mo,"data-testid":"prop-default-value"},Object(j.h)("em",null,Oo(n))),Object(j.h)("div",{sx:bo},n.required&&Object(j.h)("div",{sx:yo,"data-testid":"prop-required"},Object(j.h)("strong",null,"required")),n.description&&Object(j.h)("button",{sx:vo,onClick:()=>o(e=>!e),"data-testid":"prop-toggle-description"},r?Object(j.h)(fn,{size:20}):Object(j.h)(un,{size:20})))),r&&n.description&&Object(j.h)("div",{sx:jo,"data-testid":"prop-description"},n.description))};void 0!==_o&&_o&&_o===Object(_o)&&Object.isExtensible(_o)&&!Object.prototype.hasOwnProperty.call(_o,"__filemeta")&&Object.defineProperty(_o,"__filemeta",{configurable:!0,value:{name:"Prop",filename:"node_modules/gatsby-theme-docz/src/components/Props/index.js"}}),void 0!==_o&&_o&&_o===Object(_o)&&Object.isExtensible(_o)&&!Object.prototype.hasOwnProperty.call(_o,"__filemeta")&&Object.defineProperty(_o,"__filemeta",{configurable:!0,value:{name:"Prop",filename:"node_modules/gatsby-theme-docz/src/components/Props/index.js"}});const xo=e=>{let{props:a,getPropType:n,isToggle:t}=e;const d=Object.entries(a);return Object(j.h)("div",{sx:uo,"data-testid":"props"},d.map(e=>{let[a,d]=e;return Object(j.h)(_o,{key:a,propName:a,prop:d,getPropType:n,isToggle:t})}))};void 0!==xo&&xo&&xo===Object(xo)&&Object.isExtensible(xo)&&!Object.prototype.hasOwnProperty.call(xo,"__filemeta")&&Object.defineProperty(xo,"__filemeta",{configurable:!0,value:{name:"Props",filename:"node_modules/gatsby-theme-docz/src/components/Props/index.js"}}),void 0!==xo&&xo&&xo===Object(xo)&&Object.isExtensible(xo)&&!Object.prototype.hasOwnProperty.call(xo,"__filemeta")&&Object.defineProperty(xo,"__filemeta",{configurable:!0,value:{name:"Props",filename:"node_modules/gatsby-theme-docz/src/components/Props/index.js"}});n("XDiy"),n("75zu");function wo(e,a){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),n.push.apply(n,t)}return n}function Eo(e){for(var a=1;aObject(j.h)("code",{sx:Eo(Eo({},e.style),{},{fontFamily:"Fira Mono, monospace",fontSize:"1rem"})},e.children);void 0!==ko&&ko&&ko===Object(ko)&&Object.isExtensible(ko)&&!Object.prototype.hasOwnProperty.call(ko,"__filemeta")&&Object.defineProperty(ko,"__filemeta",{configurable:!0,value:{name:"Code",filename:"src/gatsby-theme-docz/components/codeblock.js"}}),void 0!==ko&&ko&&ko===Object(ko)&&Object.isExtensible(ko)&&!Object.prototype.hasOwnProperty.call(ko,"__filemeta")&&Object.defineProperty(ko,"__filemeta",{configurable:!0,value:{name:"Code",filename:"src/gatsby-theme-docz/components/codeblock.js"}});const So=e=>{const a=R.a.Children.toArray(e.children).reduce((e,a)=>{var n;return"vscode-highlight-line"===(null==a||null===(n=a.props)||void 0===n?void 0:n.className)?e+1:e},0);return Object(j.h)(ko,null,a>20?Object(j.h)(Ao,null,e.children):e.children)};void 0!==So&&So&&So===Object(So)&&Object.isExtensible(So)&&!Object.prototype.hasOwnProperty.call(So,"__filemeta")&&Object.defineProperty(So,"__filemeta",{configurable:!0,value:{name:"CodeBlock",filename:"src/gatsby-theme-docz/components/codeblock.js"}}),void 0!==So&&So&&So===Object(So)&&Object.isExtensible(So)&&!Object.prototype.hasOwnProperty.call(So,"__filemeta")&&Object.defineProperty(So,"__filemeta",{configurable:!0,value:{name:"CodeBlock",filename:"src/gatsby-theme-docz/components/codeblock.js"}});const Do=e=>Object(j.h)("pre",Object(r.a)({},e,{sx:Eo(Eo({},Re.pre),{},{fontSize:"1rem",lineHeight:1.4,overflowX:"auto"})}));void 0!==Do&&Do&&Do===Object(Do)&&Object.isExtensible(Do)&&!Object.prototype.hasOwnProperty.call(Do,"__filemeta")&&Object.defineProperty(Do,"__filemeta",{configurable:!0,value:{name:"Pre",filename:"src/gatsby-theme-docz/components/codeblock.js"}}),void 0!==Do&&Do&&Do===Object(Do)&&Object.isExtensible(Do)&&!Object.prototype.hasOwnProperty.call(Do,"__filemeta")&&Object.defineProperty(Do,"__filemeta",{configurable:!0,value:{name:"Pre",filename:"src/gatsby-theme-docz/components/codeblock.js"}});const Ao=e=>{const{0:a,1:n}=Object(l.useState)(!1);return Object(j.h)(R.a.Fragment,null,a?e.children:R.a.Children.map(e.children,(e,a)=>{if(a<40)return e}),Object(j.h)(Co,{toggled:a,onClick:()=>n(!a)}))},Co=e=>Object(j.h)("button",{onClick:e.onClick,sx:{background:"inherit",border:"none",color:"inherit",fontFamily:"inherit",fontSize:"inherit",textDecoration:"underline",cursor:"pointer",":hover":{textDecoration:"none"},display:"flex",padding:0,width:"100%",justifyContent:"center"}},Object(j.h)("div",{sx:{display:"flex",alignItems:"center"}},e.toggled?Object(j.h)(fn,null):Object(j.h)(un,null),"Show ",e.toggled?"less":"more"));function Po(e,a){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),n.push.apply(n,t)}return n}function Fo(e){for(var a=1;aObject(j.h)(ko,{style:{background:To}},e.children),Bo=Fo(Fo({},d),{},{playground:so,layout:_t,props:xo,code:So,pre:Do,blockquote:e=>Object(j.h)("div",{sx:{borderLeft:".25em solid black",borderColor:"text",padding:".25em",paddingLeft:"1em",background:To,marginBottom:"1rem"}},R.a.Children.map(e.children,(a,n)=>n===R.a.Children.toArray(e.children).length-1?R.a.cloneElement(a,{style:{marginBottom:0}}):a)),table:e=>Object(j.h)("div",{sx:{overflowX:"auto"}},Object(j.h)("table",Object(r.a)({},e,{sx:Fo({},Re.table)}))),inlineCode:Lo});var No=Bo;void 0!==Bo&&Bo&&Bo===Object(Bo)&&Object.isExtensible(Bo)&&!Object.prototype.hasOwnProperty.call(Bo,"__filemeta")&&Object.defineProperty(Bo,"__filemeta",{configurable:!0,value:{name:"__DOCZ_DUMMY_EXPORT_DEFAULT",filename:"src/gatsby-theme-docz/components/index.js"}}),void 0!==Lo&&Lo&&Lo===Object(Lo)&&Object.isExtensible(Lo)&&!Object.prototype.hasOwnProperty.call(Lo,"__filemeta")&&Object.defineProperty(Lo,"__filemeta",{configurable:!0,value:{name:"inlineCode",filename:"src/gatsby-theme-docz/components/index.js"}}),"undefined"!=typeof table&&table&&table===Object(table)&&Object.isExtensible(table)&&!Object.prototype.hasOwnProperty.call(table,"__filemeta")&&Object.defineProperty(table,"__filemeta",{configurable:!0,value:{name:"table",filename:"src/gatsby-theme-docz/components/index.js"}}),"undefined"!=typeof blockquote&&blockquote&&blockquote===Object(blockquote)&&Object.isExtensible(blockquote)&&!Object.prototype.hasOwnProperty.call(blockquote,"__filemeta")&&Object.defineProperty(blockquote,"__filemeta",{configurable:!0,value:{name:"blockquote",filename:"src/gatsby-theme-docz/components/index.js"}}),"undefined"!=typeof pre&&pre&&pre===Object(pre)&&Object.isExtensible(pre)&&!Object.prototype.hasOwnProperty.call(pre,"__filemeta")&&Object.defineProperty(pre,"__filemeta",{configurable:!0,value:{name:"pre",filename:"src/gatsby-theme-docz/components/index.js"}}),"undefined"!=typeof code&&code&&code===Object(code)&&Object.isExtensible(code)&&!Object.prototype.hasOwnProperty.call(code,"__filemeta")&&Object.defineProperty(code,"__filemeta",{configurable:!0,value:{name:"code",filename:"src/gatsby-theme-docz/components/index.js"}}),"undefined"!=typeof props&&props&&props===Object(props)&&Object.isExtensible(props)&&!Object.prototype.hasOwnProperty.call(props,"__filemeta")&&Object.defineProperty(props,"__filemeta",{configurable:!0,value:{name:"props",filename:"src/gatsby-theme-docz/components/index.js"}}),"undefined"!=typeof layout&&layout&&layout===Object(layout)&&Object.isExtensible(layout)&&!Object.prototype.hasOwnProperty.call(layout,"__filemeta")&&Object.defineProperty(layout,"__filemeta",{configurable:!0,value:{name:"layout",filename:"src/gatsby-theme-docz/components/index.js"}}),"undefined"!=typeof playground&&playground&&playground===Object(playground)&&Object.isExtensible(playground)&&!Object.prototype.hasOwnProperty.call(playground,"__filemeta")&&Object.defineProperty(playground,"__filemeta",{configurable:!0,value:{name:"playground",filename:"src/gatsby-theme-docz/components/index.js"}});const Io=Object(p.c)(be)(e=>{let{children:a}=e;const n=Object(p.e)();return Object(j.h)(j.g,{theme:n.themeConfig},Object(j.h)(p.a,{components:No},Object(j.h)(j.f.root,null,a)))});var Mo=Io;void 0!==Io&&Io&&Io===Object(Io)&&Object.isExtensible(Io)&&!Object.prototype.hasOwnProperty.call(Io,"__filemeta")&&Object.defineProperty(Io,"__filemeta",{configurable:!0,value:{name:"__DOCZ_DUMMY_EXPORT_DEFAULT",filename:"node_modules/gatsby-theme-docz/src/index.js"}}),void 0!==Io&&Io&&Io===Object(Io)&&Object.isExtensible(Io)&&!Object.prototype.hasOwnProperty.call(Io,"__filemeta")&&Object.defineProperty(Io,"__filemeta",{configurable:!0,value:{name:"__DOCZ_DUMMY_EXPORT_DEFAULT",filename:"node_modules/gatsby-theme-docz/src/index.js"}});var zo=n("rid2");const qo=e=>{let{description:a,lang:n,meta:t,keywords:d,title:r}=e;const o=m(),i=r||o.config.title,s=a||o.config.description;return Object(b.d)(zo.Helmet,{title:i,titleTemplate:"%s | "+o.config.title,htmlAttributes:{lang:n},meta:[{name:"description",content:s},{property:"og:title",content:i},{property:"og:description",content:s},{property:"og:type",content:"website"},{name:"twitter:card",content:"summary"},{name:"twitter:title",content:i},{name:"twitter:description",content:s}].concat(d.length>0?{name:"keywords",content:d.join(", ")}:[]).concat(t)})};qo.defaultProps={lang:"en",meta:[],keywords:[]};var Vo=qo;void 0!==qo&&qo&&qo===Object(qo)&&Object.isExtensible(qo)&&!Object.prototype.hasOwnProperty.call(qo,"__filemeta")&&Object.defineProperty(qo,"__filemeta",{configurable:!0,value:{name:"SEO",filename:"node_modules/gatsby-theme-docz/src/base/Seo.js"}}),void 0!==qo&&qo&&qo===Object(qo)&&Object.isExtensible(qo)&&!Object.prototype.hasOwnProperty.call(qo,"__filemeta")&&Object.defineProperty(qo,"__filemeta",{configurable:!0,value:{name:"SEO",filename:"node_modules/gatsby-theme-docz/src/base/Seo.js"}});const Uo=["children","entry","isTransclusion"],Go=["children"];function Ho(e,a){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),n.push.apply(n,t)}return n}function Wo(e){for(var a=1;a{let{children:a,entry:n,isTransclusion:t}=e,d=Object(i.a)(e,Uo);const r=Object(p.d)(),o=r.notFound,s=r.layout,g=Wo(Wo({},d),{},{doc:n});return n||t?t?a:Object(b.d)(f.a,{components:r},Object(b.d)(v,null,Object(b.d)(s,g,a))):Object(b.d)(o,null)},Yo=e=>{let{children:a}=e,n=Object(i.a)(e,Go);const{pageContext:t}=n,d=m(),o=((e,a)=>{const n=a&&a.frontmatter&&"/"===a.frontmatter.route,t=u()("value.route","/");if(a&&!a.entry&&n)return e.entries.find(t);const d=g()("entry.filepath",a);return e.entries.find(u()("value.filepath",d))})(d,t),s=((e,a)=>{const{entries:n}=e,t=g()("_frontmatter.__filemeta.filename",a);return!a.pageContext&&n.includes(n.find(u()("value.filepath",t)))})(d,n);return Object(b.d)(R.a.Fragment,null,o&&Object(b.d)(Vo,Object(r.a)({title:o.value.name},o.value)),Object(b.d)(Mo,{db:d,currentEntry:o},Object(b.d)(Ko,Object(r.a)({},n,{entry:o,isTransclusion:s}),a)))};a.a=Yo;void 0!==Yo&&Yo&&Yo===Object(Yo)&&Object.isExtensible(Yo)&&!Object.prototype.hasOwnProperty.call(Yo,"__filemeta")&&Object.defineProperty(Yo,"__filemeta",{configurable:!0,value:{name:"Layout",filename:"node_modules/gatsby-theme-docz/src/base/Layout.js"}}),void 0!==Yo&&Yo&&Yo===Object(Yo)&&Object.isExtensible(Yo)&&!Object.prototype.hasOwnProperty.call(Yo,"__filemeta")&&Object.defineProperty(Yo,"__filemeta",{configurable:!0,value:{name:"Layout",filename:"node_modules/gatsby-theme-docz/src/base/Layout.js"}})},hqbx:function(e,a,n){"use strict";var t=n("TqRt");a.__esModule=!0,a.default=function(e,a,n){var t=f(n,a);return e.addEventListener("click",t),function(){return e.removeEventListener("click",t)}},a.routeThroughBrowserOrApp=a.hashShouldBeFollowed=a.pathIsNotHandledByApp=a.urlsAreOnSameOrigin=a.authorIsForcingNavigation=a.anchorsTargetIsEquivalentToSelf=a.findClosestAnchor=a.navigationWasHandledElsewhere=a.slashedPathname=a.userIsForcingNavigation=void 0;var d=t(n("oxjq")),r=n("Wbzz"),o=function(e){return 0!==e.button||e.altKey||e.ctrlKey||e.metaKey||e.shiftKey};a.userIsForcingNavigation=o;var i=function(e){return"/"===e[0]?e:"/"+e};a.slashedPathname=i;var s=function(e){return e.defaultPrevented};a.navigationWasHandledElsewhere=s;var g=function(e){for(;e.parentNode;e=e.parentNode)if("a"===e.nodeName.toLowerCase())return e;return null};a.findClosestAnchor=g;var c=function(e){return!1===e.hasAttribute("target")||null==e.target||["_self",""].includes(e.target)||"_parent"===e.target&&(!e.ownerDocument.defaultView.parent||e.ownerDocument.defaultView.parent===e.ownerDocument.defaultView)||"_top"===e.target&&(!e.ownerDocument.defaultView.top||e.ownerDocument.defaultView.top===e.ownerDocument.defaultView)};a.anchorsTargetIsEquivalentToSelf=c;var u=function(e){return!0===e.hasAttribute("download")||!1===c(e)};a.authorIsForcingNavigation=u;var l=function(e,a){return e.protocol===a.protocol&&e.host===a.host};a.urlsAreOnSameOrigin=l;var R=function(e,a){return!1===a.test(i(e.pathname))||-1!==e.pathname.search(/^.*\.((?!htm)[a-z0-9]{1,5})$/i)};a.pathIsNotHandledByApp=R;var p=function(e,a){return""!==a.hash&&(""===a.pathname||a.pathname===e.pathname)};a.hashShouldBeFollowed=p;var f=function(e,a){return function(n){if(window.___failedResources)return!0;if(o(n))return!0;if(s(n))return!0;var t=g(n.target);if(null==t)return!0;if(u(t))return!0;var c=document.createElement("a");""!==t.href&&(c.href=t.href),"SVGAnimatedString"in window&&t.href instanceof SVGAnimatedString&&(c.href=t.href.animVal);var f=document.createElement("a");if(f.href=window.location.href,!1===l(f,c))return!0;var h=new RegExp("^"+(0,d.default)((0,r.withPrefix)("/")));if(R(c,h))return!0;if(p(f,c))return!0;if(a.excludePattern&&new RegExp(a.excludePattern).test(c.pathname))return!0;n.preventDefault();var m=i(c.pathname).replace(h,"/");return e(""+m+c.search+c.hash),!1}};a.routeThroughBrowserOrApp=f},hxO4:function(e,a,n){var t=n("sZCt")("merge",n("QkVN"));t.placeholder=n("wuTn"),e.exports=t},hxiM:function(e,a,n){var t=n("XGnz"),d=n("ut/Y"),r=n("EA7m"),o=n("LGYb"),i=n("3L66"),s=n("RBan"),g=r((function(e){var a=s(e);return i(a)&&(a=void 0),o(t(e,1,i,!0),d(a,2))}));e.exports=g},hy24:function(e,a,n){const t=n("dVj6")();t.addRange(1792,1805).addRange(1807,1866).addRange(1869,1871).addRange(2144,2154),e.exports=t},hypo:function(e,a,n){var t=n("O0oS");e.exports=function(e,a,n){"__proto__"==a&&t?t(e,a,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[a]=n}},i1w3:function(e,a,n){const t=n("dVj6")();t.addRange(66736,66771).addRange(66776,66811),e.exports=t},i6W2:function(e,a,n){const t=n("dVj6")(12343,65392,127488);t.addRange(12289,12291).addRange(12296,12305).addRange(12307,12319).addRange(12336,12341).addRange(12348,12349).addRange(12353,12438).addRange(12441,12448).addRange(12539,12540).addRange(65093,65094).addRange(65377,65381).addRange(65438,65439).addRange(110593,110879).addRange(110928,110930),e.exports=t},iGAk:function(e,a){a.aliasToReal={each:"forEach",eachRight:"forEachRight",entries:"toPairs",entriesIn:"toPairsIn",extend:"assignIn",extendAll:"assignInAll",extendAllWith:"assignInAllWith",extendWith:"assignInWith",first:"head",conforms:"conformsTo",matches:"isMatch",property:"get",__:"placeholder",F:"stubFalse",T:"stubTrue",all:"every",allPass:"overEvery",always:"constant",any:"some",anyPass:"overSome",apply:"spread",assoc:"set",assocPath:"set",complement:"negate",compose:"flowRight",contains:"includes",dissoc:"unset",dissocPath:"unset",dropLast:"dropRight",dropLastWhile:"dropRightWhile",equals:"isEqual",identical:"eq",indexBy:"keyBy",init:"initial",invertObj:"invert",juxt:"over",omitAll:"omit",nAry:"ary",path:"get",pathEq:"matchesProperty",pathOr:"getOr",paths:"at",pickAll:"pick",pipe:"flow",pluck:"map",prop:"get",propEq:"matchesProperty",propOr:"getOr",props:"at",symmetricDifference:"xor",symmetricDifferenceBy:"xorBy",symmetricDifferenceWith:"xorWith",takeLast:"takeRight",takeLastWhile:"takeRightWhile",unapply:"rest",unnest:"flatten",useWith:"overArgs",where:"conformsTo",whereEq:"isMatch",zipObj:"zipObject"},a.aryMethod={1:["assignAll","assignInAll","attempt","castArray","ceil","create","curry","curryRight","defaultsAll","defaultsDeepAll","floor","flow","flowRight","fromPairs","invert","iteratee","memoize","method","mergeAll","methodOf","mixin","nthArg","over","overEvery","overSome","rest","reverse","round","runInContext","spread","template","trim","trimEnd","trimStart","uniqueId","words","zipAll"],2:["add","after","ary","assign","assignAllWith","assignIn","assignInAllWith","at","before","bind","bindAll","bindKey","chunk","cloneDeepWith","cloneWith","concat","conformsTo","countBy","curryN","curryRightN","debounce","defaults","defaultsDeep","defaultTo","delay","difference","divide","drop","dropRight","dropRightWhile","dropWhile","endsWith","eq","every","filter","find","findIndex","findKey","findLast","findLastIndex","findLastKey","flatMap","flatMapDeep","flattenDepth","forEach","forEachRight","forIn","forInRight","forOwn","forOwnRight","get","groupBy","gt","gte","has","hasIn","includes","indexOf","intersection","invertBy","invoke","invokeMap","isEqual","isMatch","join","keyBy","lastIndexOf","lt","lte","map","mapKeys","mapValues","matchesProperty","maxBy","meanBy","merge","mergeAllWith","minBy","multiply","nth","omit","omitBy","overArgs","pad","padEnd","padStart","parseInt","partial","partialRight","partition","pick","pickBy","propertyOf","pull","pullAll","pullAt","random","range","rangeRight","rearg","reject","remove","repeat","restFrom","result","sampleSize","some","sortBy","sortedIndex","sortedIndexOf","sortedLastIndex","sortedLastIndexOf","sortedUniqBy","split","spreadFrom","startsWith","subtract","sumBy","take","takeRight","takeRightWhile","takeWhile","tap","throttle","thru","times","trimChars","trimCharsEnd","trimCharsStart","truncate","union","uniqBy","uniqWith","unset","unzipWith","without","wrap","xor","zip","zipObject","zipObjectDeep"],3:["assignInWith","assignWith","clamp","differenceBy","differenceWith","findFrom","findIndexFrom","findLastFrom","findLastIndexFrom","getOr","includesFrom","indexOfFrom","inRange","intersectionBy","intersectionWith","invokeArgs","invokeArgsMap","isEqualWith","isMatchWith","flatMapDepth","lastIndexOfFrom","mergeWith","orderBy","padChars","padCharsEnd","padCharsStart","pullAllBy","pullAllWith","rangeStep","rangeStepRight","reduce","reduceRight","replace","set","slice","sortedIndexBy","sortedLastIndexBy","transform","unionBy","unionWith","update","xorBy","xorWith","zipWith"],4:["fill","setWith","updateWith"]},a.aryRearg={2:[1,0],3:[2,0,1],4:[3,2,0,1]},a.iterateeAry={dropRightWhile:1,dropWhile:1,every:1,filter:1,find:1,findFrom:1,findIndex:1,findIndexFrom:1,findKey:1,findLast:1,findLastFrom:1,findLastIndex:1,findLastIndexFrom:1,findLastKey:1,flatMap:1,flatMapDeep:1,flatMapDepth:1,forEach:1,forEachRight:1,forIn:1,forInRight:1,forOwn:1,forOwnRight:1,map:1,mapKeys:1,mapValues:1,partition:1,reduce:2,reduceRight:2,reject:1,remove:1,some:1,takeRightWhile:1,takeWhile:1,times:1,transform:2},a.iterateeRearg={mapKeys:[1],reduceRight:[1,0]},a.methodRearg={assignInAllWith:[1,0],assignInWith:[1,2,0],assignAllWith:[1,0],assignWith:[1,2,0],differenceBy:[1,2,0],differenceWith:[1,2,0],getOr:[2,1,0],intersectionBy:[1,2,0],intersectionWith:[1,2,0],isEqualWith:[1,2,0],isMatchWith:[2,1,0],mergeAllWith:[1,0],mergeWith:[1,2,0],padChars:[2,1,0],padCharsEnd:[2,1,0],padCharsStart:[2,1,0],pullAllBy:[2,1,0],pullAllWith:[2,1,0],rangeStep:[1,2,0],rangeStepRight:[1,2,0],setWith:[3,1,2,0],sortedIndexBy:[2,1,0],sortedLastIndexBy:[2,1,0],unionBy:[1,2,0],unionWith:[1,2,0],updateWith:[3,1,2,0],xorBy:[1,2,0],xorWith:[1,2,0],zipWith:[1,2,0]},a.methodSpread={assignAll:{start:0},assignAllWith:{start:0},assignInAll:{start:0},assignInAllWith:{start:0},defaultsAll:{start:0},defaultsDeepAll:{start:0},invokeArgs:{start:2},invokeArgsMap:{start:2},mergeAll:{start:0},mergeAllWith:{start:0},partial:{start:1},partialRight:{start:1},without:{start:1},zipAll:{start:0}},a.mutate={array:{fill:!0,pull:!0,pullAll:!0,pullAllBy:!0,pullAllWith:!0,pullAt:!0,remove:!0,reverse:!0},object:{assign:!0,assignAll:!0,assignAllWith:!0,assignIn:!0,assignInAll:!0,assignInAllWith:!0,assignInWith:!0,assignWith:!0,defaults:!0,defaultsAll:!0,defaultsDeep:!0,defaultsDeepAll:!0,merge:!0,mergeAll:!0,mergeAllWith:!0,mergeWith:!0},set:{set:!0,setWith:!0,unset:!0,update:!0,updateWith:!0}},a.realToAlias=function(){var e=Object.prototype.hasOwnProperty,n=a.aliasToReal,t={};for(var d in n){var r=n[d];e.call(t,r)?t[r].push(d):t[r]=[d]}return t}(),a.remap={assignAll:"assign",assignAllWith:"assignWith",assignInAll:"assignIn",assignInAllWith:"assignInWith",curryN:"curry",curryRightN:"curryRight",defaultsAll:"defaults",defaultsDeepAll:"defaultsDeep",findFrom:"find",findIndexFrom:"findIndex",findLastFrom:"findLast",findLastIndexFrom:"findLastIndex",getOr:"get",includesFrom:"includes",indexOfFrom:"indexOf",invokeArgs:"invoke",invokeArgsMap:"invokeMap",lastIndexOfFrom:"lastIndexOf",mergeAll:"merge",mergeAllWith:"mergeWith",padChars:"pad",padCharsEnd:"padEnd",padCharsStart:"padStart",propertyOf:"get",rangeStep:"range",rangeStepRight:"rangeRight",restFrom:"rest",spreadFrom:"spread",trimChars:"trim",trimCharsEnd:"trimEnd",trimCharsStart:"trimStart",zipAll:"zip"},a.skipFixed={castArray:!0,flow:!0,flowRight:!0,iteratee:!0,mixin:!0,rearg:!0,runInContext:!0},a.skipRearg={add:!0,assign:!0,assignIn:!0,bind:!0,bindKey:!0,concat:!0,difference:!0,divide:!0,eq:!0,gt:!0,gte:!0,isEqual:!0,lt:!0,lte:!0,matchesProperty:!0,merge:!0,multiply:!0,overArgs:!0,partial:!0,partialRight:!0,propertyOf:!0,random:!0,range:!0,rangeRight:!0,subtract:!0,zip:!0,zipObject:!0,zipObjectDeep:!0}},iJwc:function(e,a,n){const t=n("dVj6")();t.addRange(66816,66855),e.exports=t},iSVu:function(e,a,n){var t=n("4zBA"),d=n("Fib7"),r=n("xs3f"),o=t(Function.toString);d(r.inspectSource)||(r.inspectSource=function(e){return o(e)}),e.exports=r.inspectSource},idKo:function(e,a,n){const t=n("dVj6")(2385,7383,7385,7392);t.addRange(7388,7389).addRange(70016,70111),e.exports=t},ieoY:function(e,a,n){var t=n("EldB"),d=n("Kz5y");e.exports=function(e,a,n){var r=1&a,o=t(e);return function a(){var t=this&&this!==d&&this instanceof a?o:e;return t.apply(r?n:this,arguments)}}},isMi:function(e,a,n){const t=n("dVj6")();t.addRange(6688,6750).addRange(6752,6780).addRange(6783,6793).addRange(6800,6809).addRange(6816,6829),e.exports=t},itsj:function(e,a){e.exports=function(e,a){if(("constructor"!==a||"function"!=typeof e[a])&&"__proto__"!=a)return e[a]}},"j/kN":function(e,a,n){var t=n("sZCt")("unionBy",n("hxiM"));t.placeholder=n("wuTn"),e.exports=t},jLBR:function(e,a,n){const t=n("dVj6")();t.addRange(4352,4607).addRange(12334,12335).addRange(12593,12686).addRange(12800,12830).addRange(12896,12926).addRange(43360,43388).addRange(44032,55203).addRange(55216,55238).addRange(55243,55291).addRange(65440,65470).addRange(65474,65479).addRange(65482,65487).addRange(65490,65495).addRange(65498,65500),e.exports=t},"jM+1":function(e,a,n){const t=n("dVj6")();t.addRange(69840,69864).addRange(69872,69881),e.exports=t},"jO/C":function(e,a){function n(e){return e?Array.isArray(e)?e.join("."):e:""}e.exports=function(e,a,t,d,r){if(null===(o=e)||"object"!=typeof o&&"function"!=typeof o||!a)return e;var o;if(a=n(a),t&&(a+="."+n(t)),d&&(a+="."+n(d)),r&&(a+="."+n(r)),a in e)return e[a];for(var i=a.split("."),s=i.length,g=-1;e&&++g-1}},jca9:function(e,a,n){const t=n("dVj6")(6149);t.addRange(6146,6147).addRange(43072,43127),e.exports=t},jdFt:function(e,a,n){const t=n("dVj6")();t.addRange(73440,73464),e.exports=t},jeLo:function(e,a,n){var t=n("juv8"),d=n("mTTR");e.exports=function(e){return t(e,d(e))}},jq6q:function(e,a,n){const t=n("dVj6")(183,1600,2042,2901,3654,3782,6154,6211,6823,7222,7291,12293,40981,42508,43471,43494,43632,43741,65392,70493,72344,94179);t.addRange(720,721).addRange(12337,12341).addRange(12445,12446).addRange(12540,12542).addRange(43763,43764).addRange(67457,67458).addRange(71110,71112).addRange(92994,92995).addRange(94176,94177).addRange(123196,123197).addRange(125252,125254),e.exports=t},jqES:function(e,a){var n="object"==typeof document&&document.all,t=void 0===n&&void 0!==n;e.exports={all:n,IS_HTMLDDA:t}},juuj:function(e,a,n){const t=n("dVj6")();t.addRange(113664,113770).addRange(113776,113788).addRange(113792,113800).addRange(113808,113817).addRange(113820,113823),e.exports=t},juv8:function(e,a,n){var t=n("MrPd"),d=n("hypo");e.exports=function(e,a,n,r){var o=!n;n||(n={});for(var i=-1,s=a.length;++i>1,c=-7,u=n?d-1:0,l=n?-1:1,R=e[a+u];for(u+=l,r=R&(1<<-c)-1,R>>=-c,c+=i;c>0;r=256*r+e[a+u],u+=l,c-=8);for(o=r&(1<<-c)-1,r>>=-c,c+=t;c>0;o=256*o+e[a+u],u+=l,c-=8);if(0===r)r=1-g;else{if(r===s)return o?NaN:1/0*(R?-1:1);o+=Math.pow(2,t),r-=g}return(R?-1:1)*o*Math.pow(2,r-t)},a.write=function(e,a,n,t,d,r){var o,i,s,g=8*r-d-1,c=(1<>1,l=23===d?Math.pow(2,-24)-Math.pow(2,-77):0,R=t?0:r-1,p=t?1:-1,f=a<0||0===a&&1/a<0?1:0;for(a=Math.abs(a),isNaN(a)||a===1/0?(i=isNaN(a)?1:0,o=c):(o=Math.floor(Math.log(a)/Math.LN2),a*(s=Math.pow(2,-o))<1&&(o--,s*=2),(a+=o+u>=1?l/s:l*Math.pow(2,1-u))*s>=2&&(o++,s/=2),o+u>=c?(i=0,o=c):o+u>=1?(i=(a*s-1)*Math.pow(2,d),o+=u):(i=a*Math.pow(2,u-1)*Math.pow(2,d),o=0));d>=8;e[n+R]=255&i,R+=p,i/=256,d-=8);for(o=o<0;e[n+R]=255&o,R+=p,o/=256,g-=8);e[n+R-p]|=128*f}},kcLn:function(e,a,n){const t=n("dVj6")(66463);t.addRange(66432,66461),e.exports=t},kd9n:function(e,a,n){const t=n("dVj6")();t.addRange(93952,94026).addRange(94031,94087).addRange(94095,94111),e.exports=t},kekF:function(e,a){e.exports=function(e,a){return function(n){return e(a(n))}}},"ki+i":function(e,a,n){var t=n("B2PW"),d=n("TGkP"),r=function(e){return d(e)[1]},o=function(e){return d(e)[0]},i={baseFontSize:"16px",baseLineHeight:1.5,rhythmUnit:"rem",defaultRhythmBorderWidth:"1px",defaultRhythmBorderStyle:"solid",roundToNearestHalfLine:!0,minLinePadding:"2px"},s=function(e,a){var n,d=t(a.baseFontSize),r=o(d(e,"px")),i=o(a.baseLineHeightInPx),s=o(d(a.minLinePadding,"px"));return(n=a.roundToNearestHalfLine?Math.ceil(2*r/i)/2:Math.ceil(r/i))*i-r<2*s&&(n+=a.roundToNearestHalfLine?.5:1),n},g=function(e){var a=t(e.baseFontSize);return function(n,t,d){null==n&&(n=1),null==t&&(t=e.baseFontSize),null==d&&(d=0);var i=n*o(e.baseLineHeightInPx)-d+"px",s=a(i,e.rhythmUnit,t);return"px"===r(s)&&(s=Math.floor(o(s))+r(s)),parseFloat(o(s).toFixed(5))+r(s)}};e.exports=function(e){var a=JSON.parse(JSON.stringify(i)),n=Object.assign({},a,e),d=t(n.baseFontSize);return r(n.baseLineHeight)?(o(d(n.baseFontSize,"px")),n.baseLineHeightInPx=d(n.baseLineHeight,"px")):n.baseLineHeightInPx=o(n.baseFontSize)*n.baseLineHeight+"px",{rhythm:g(n),establishBaseline:function(){return function(e){return t(e.baseFontSize),{fontSize:o(e.baseFontSize)/16*100+"%",lineHeight:e.baseLineHeight.toString()}}(n)},linesForFontSize:function(e){return s(e,n)},adjustFontSizeTo:function(e,a,d){return null==a&&(a="auto"),function(e,a,n,d){null==n&&(n=d.baseFontSize),"%"===r(e)&&(e=o(d.baseFontSize)*(o(e)/100)+"px");var i=t(d.baseFontSize);e=i(e,"px",n=i(n,"px"));var c=g(d);return"auto"===a&&(a=s(e,d)),{fontSize:i(e,d.rhythmUnit,n),lineHeight:c(a,n)}}(e,a,d,n)}}}},kiIX:function(e,a,n){const t=n("dVj6")();t.addRange(4096,4255).addRange(43488,43518).addRange(43616,43647),e.exports=t},"kp9+":function(e,a,n){const t=n("dVj6")(1155);t.addRange(66384,66426),e.exports=t},ktc5:function(e,a,n){(function(e,t){var d;!function(r){var o=a,i=(e&&e.exports,"object"==typeof t&&t);i.global!==i&&i.window;var s=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,g=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,u=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,l={"­":"shy","‌":"zwnj","‍":"zwj","‎":"lrm","⁣":"ic","⁢":"it","⁡":"af","‏":"rlm","​":"ZeroWidthSpace","⁠":"NoBreak","̑":"DownBreve","⃛":"tdot","⃜":"DotDot","\t":"Tab","\n":"NewLine"," ":"puncsp"," ":"MediumSpace"," ":"thinsp"," ":"hairsp"," ":"emsp13"," ":"ensp"," ":"emsp14"," ":"emsp"," ":"numsp"," ":"nbsp","  ":"ThickSpace","‾":"oline",_:"lowbar","‐":"dash","–":"ndash","—":"mdash","―":"horbar",",":"comma",";":"semi","⁏":"bsemi",":":"colon","⩴":"Colone","!":"excl","¡":"iexcl","?":"quest","¿":"iquest",".":"period","‥":"nldr","…":"mldr","·":"middot","'":"apos","‘":"lsquo","’":"rsquo","‚":"sbquo","‹":"lsaquo","›":"rsaquo",'"':"quot","“":"ldquo","”":"rdquo","„":"bdquo","«":"laquo","»":"raquo","(":"lpar",")":"rpar","[":"lsqb","]":"rsqb","{":"lcub","}":"rcub","⌈":"lceil","⌉":"rceil","⌊":"lfloor","⌋":"rfloor","⦅":"lopar","⦆":"ropar","⦋":"lbrke","⦌":"rbrke","⦍":"lbrkslu","⦎":"rbrksld","⦏":"lbrksld","⦐":"rbrkslu","⦑":"langd","⦒":"rangd","⦓":"lparlt","⦔":"rpargt","⦕":"gtlPar","⦖":"ltrPar","⟦":"lobrk","⟧":"robrk","⟨":"lang","⟩":"rang","⟪":"Lang","⟫":"Rang","⟬":"loang","⟭":"roang","❲":"lbbrk","❳":"rbbrk","‖":"Vert","§":"sect","¶":"para","@":"commat","*":"ast","/":"sol",undefined:null,"&":"amp","#":"num","%":"percnt","‰":"permil","‱":"pertenk","†":"dagger","‡":"Dagger","•":"bull","⁃":"hybull","′":"prime","″":"Prime","‴":"tprime","⁗":"qprime","‵":"bprime","⁁":"caret","`":"grave","´":"acute","˜":"tilde","^":"Hat","¯":"macr","˘":"breve","˙":"dot","¨":"die","˚":"ring","˝":"dblac","¸":"cedil","˛":"ogon","ˆ":"circ","ˇ":"caron","°":"deg","©":"copy","®":"reg","℗":"copysr","℘":"wp","℞":"rx","℧":"mho","℩":"iiota","←":"larr","↚":"nlarr","→":"rarr","↛":"nrarr","↑":"uarr","↓":"darr","↔":"harr","↮":"nharr","↕":"varr","↖":"nwarr","↗":"nearr","↘":"searr","↙":"swarr","↝":"rarrw","↝̸":"nrarrw","↞":"Larr","↟":"Uarr","↠":"Rarr","↡":"Darr","↢":"larrtl","↣":"rarrtl","↤":"mapstoleft","↥":"mapstoup","↦":"map","↧":"mapstodown","↩":"larrhk","↪":"rarrhk","↫":"larrlp","↬":"rarrlp","↭":"harrw","↰":"lsh","↱":"rsh","↲":"ldsh","↳":"rdsh","↵":"crarr","↶":"cularr","↷":"curarr","↺":"olarr","↻":"orarr","↼":"lharu","↽":"lhard","↾":"uharr","↿":"uharl","⇀":"rharu","⇁":"rhard","⇂":"dharr","⇃":"dharl","⇄":"rlarr","⇅":"udarr","⇆":"lrarr","⇇":"llarr","⇈":"uuarr","⇉":"rrarr","⇊":"ddarr","⇋":"lrhar","⇌":"rlhar","⇐":"lArr","⇍":"nlArr","⇑":"uArr","⇒":"rArr","⇏":"nrArr","⇓":"dArr","⇔":"iff","⇎":"nhArr","⇕":"vArr","⇖":"nwArr","⇗":"neArr","⇘":"seArr","⇙":"swArr","⇚":"lAarr","⇛":"rAarr","⇝":"zigrarr","⇤":"larrb","⇥":"rarrb","⇵":"duarr","⇽":"loarr","⇾":"roarr","⇿":"hoarr","∀":"forall","∁":"comp","∂":"part","∂̸":"npart","∃":"exist","∄":"nexist","∅":"empty","∇":"Del","∈":"in","∉":"notin","∋":"ni","∌":"notni","϶":"bepsi","∏":"prod","∐":"coprod","∑":"sum","+":"plus","±":"pm","÷":"div","×":"times","<":"lt","≮":"nlt","<⃒":"nvlt","=":"equals","≠":"ne","=⃥":"bne","⩵":"Equal",">":"gt","≯":"ngt",">⃒":"nvgt","¬":"not","|":"vert","¦":"brvbar","−":"minus","∓":"mp","∔":"plusdo","⁄":"frasl","∖":"setmn","∗":"lowast","∘":"compfn","√":"Sqrt","∝":"prop","∞":"infin","∟":"angrt","∠":"ang","∠⃒":"nang","∡":"angmsd","∢":"angsph","∣":"mid","∤":"nmid","∥":"par","∦":"npar","∧":"and","∨":"or","∩":"cap","∩︀":"caps","∪":"cup","∪︀":"cups","∫":"int","∬":"Int","∭":"tint","⨌":"qint","∮":"oint","∯":"Conint","∰":"Cconint","∱":"cwint","∲":"cwconint","∳":"awconint","∴":"there4","∵":"becaus","∶":"ratio","∷":"Colon","∸":"minusd","∺":"mDDot","∻":"homtht","∼":"sim","≁":"nsim","∼⃒":"nvsim","∽":"bsim","∽̱":"race","∾":"ac","∾̳":"acE","∿":"acd","≀":"wr","≂":"esim","≂̸":"nesim","≃":"sime","≄":"nsime","≅":"cong","≇":"ncong","≆":"simne","≈":"ap","≉":"nap","≊":"ape","≋":"apid","≋̸":"napid","≌":"bcong","≍":"CupCap","≭":"NotCupCap","≍⃒":"nvap","≎":"bump","≎̸":"nbump","≏":"bumpe","≏̸":"nbumpe","≐":"doteq","≐̸":"nedot","≑":"eDot","≒":"efDot","≓":"erDot","≔":"colone","≕":"ecolon","≖":"ecir","≗":"cire","≙":"wedgeq","≚":"veeeq","≜":"trie","≟":"equest","≡":"equiv","≢":"nequiv","≡⃥":"bnequiv","≤":"le","≰":"nle","≤⃒":"nvle","≥":"ge","≱":"nge","≥⃒":"nvge","≦":"lE","≦̸":"nlE","≧":"gE","≧̸":"ngE","≨︀":"lvnE","≨":"lnE","≩":"gnE","≩︀":"gvnE","≪":"ll","≪̸":"nLtv","≪⃒":"nLt","≫":"gg","≫̸":"nGtv","≫⃒":"nGt","≬":"twixt","≲":"lsim","≴":"nlsim","≳":"gsim","≵":"ngsim","≶":"lg","≸":"ntlg","≷":"gl","≹":"ntgl","≺":"pr","⊀":"npr","≻":"sc","⊁":"nsc","≼":"prcue","⋠":"nprcue","≽":"sccue","⋡":"nsccue","≾":"prsim","≿":"scsim","≿̸":"NotSucceedsTilde","⊂":"sub","⊄":"nsub","⊂⃒":"vnsub","⊃":"sup","⊅":"nsup","⊃⃒":"vnsup","⊆":"sube","⊈":"nsube","⊇":"supe","⊉":"nsupe","⊊︀":"vsubne","⊊":"subne","⊋︀":"vsupne","⊋":"supne","⊍":"cupdot","⊎":"uplus","⊏":"sqsub","⊏̸":"NotSquareSubset","⊐":"sqsup","⊐̸":"NotSquareSuperset","⊑":"sqsube","⋢":"nsqsube","⊒":"sqsupe","⋣":"nsqsupe","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊕":"oplus","⊖":"ominus","⊗":"otimes","⊘":"osol","⊙":"odot","⊚":"ocir","⊛":"oast","⊝":"odash","⊞":"plusb","⊟":"minusb","⊠":"timesb","⊡":"sdotb","⊢":"vdash","⊬":"nvdash","⊣":"dashv","⊤":"top","⊥":"bot","⊧":"models","⊨":"vDash","⊭":"nvDash","⊩":"Vdash","⊮":"nVdash","⊪":"Vvdash","⊫":"VDash","⊯":"nVDash","⊰":"prurel","⊲":"vltri","⋪":"nltri","⊳":"vrtri","⋫":"nrtri","⊴":"ltrie","⋬":"nltrie","⊴⃒":"nvltrie","⊵":"rtrie","⋭":"nrtrie","⊵⃒":"nvrtrie","⊶":"origof","⊷":"imof","⊸":"mumap","⊹":"hercon","⊺":"intcal","⊻":"veebar","⊽":"barvee","⊾":"angrtvb","⊿":"lrtri","⋀":"Wedge","⋁":"Vee","⋂":"xcap","⋃":"xcup","⋄":"diam","⋅":"sdot","⋆":"Star","⋇":"divonx","⋈":"bowtie","⋉":"ltimes","⋊":"rtimes","⋋":"lthree","⋌":"rthree","⋍":"bsime","⋎":"cuvee","⋏":"cuwed","⋐":"Sub","⋑":"Sup","⋒":"Cap","⋓":"Cup","⋔":"fork","⋕":"epar","⋖":"ltdot","⋗":"gtdot","⋘":"Ll","⋘̸":"nLl","⋙":"Gg","⋙̸":"nGg","⋚︀":"lesg","⋚":"leg","⋛":"gel","⋛︀":"gesl","⋞":"cuepr","⋟":"cuesc","⋦":"lnsim","⋧":"gnsim","⋨":"prnsim","⋩":"scnsim","⋮":"vellip","⋯":"ctdot","⋰":"utdot","⋱":"dtdot","⋲":"disin","⋳":"isinsv","⋴":"isins","⋵":"isindot","⋵̸":"notindot","⋶":"notinvc","⋷":"notinvb","⋹":"isinE","⋹̸":"notinE","⋺":"nisd","⋻":"xnis","⋼":"nis","⋽":"notnivc","⋾":"notnivb","⌅":"barwed","⌆":"Barwed","⌌":"drcrop","⌍":"dlcrop","⌎":"urcrop","⌏":"ulcrop","⌐":"bnot","⌒":"profline","⌓":"profsurf","⌕":"telrec","⌖":"target","⌜":"ulcorn","⌝":"urcorn","⌞":"dlcorn","⌟":"drcorn","⌢":"frown","⌣":"smile","⌭":"cylcty","⌮":"profalar","⌶":"topbot","⌽":"ovbar","⌿":"solbar","⍼":"angzarr","⎰":"lmoust","⎱":"rmoust","⎴":"tbrk","⎵":"bbrk","⎶":"bbrktbrk","⏜":"OverParenthesis","⏝":"UnderParenthesis","⏞":"OverBrace","⏟":"UnderBrace","⏢":"trpezium","⏧":"elinters","␣":"blank","─":"boxh","│":"boxv","┌":"boxdr","┐":"boxdl","└":"boxur","┘":"boxul","├":"boxvr","┤":"boxvl","┬":"boxhd","┴":"boxhu","┼":"boxvh","═":"boxH","║":"boxV","╒":"boxdR","╓":"boxDr","╔":"boxDR","╕":"boxdL","╖":"boxDl","╗":"boxDL","╘":"boxuR","╙":"boxUr","╚":"boxUR","╛":"boxuL","╜":"boxUl","╝":"boxUL","╞":"boxvR","╟":"boxVr","╠":"boxVR","╡":"boxvL","╢":"boxVl","╣":"boxVL","╤":"boxHd","╥":"boxhD","╦":"boxHD","╧":"boxHu","╨":"boxhU","╩":"boxHU","╪":"boxvH","╫":"boxVh","╬":"boxVH","▀":"uhblk","▄":"lhblk","█":"block","░":"blk14","▒":"blk12","▓":"blk34","□":"squ","▪":"squf","▫":"EmptyVerySmallSquare","▭":"rect","▮":"marker","▱":"fltns","△":"xutri","▴":"utrif","▵":"utri","▸":"rtrif","▹":"rtri","▽":"xdtri","▾":"dtrif","▿":"dtri","◂":"ltrif","◃":"ltri","◊":"loz","○":"cir","◬":"tridot","◯":"xcirc","◸":"ultri","◹":"urtri","◺":"lltri","◻":"EmptySmallSquare","◼":"FilledSmallSquare","★":"starf","☆":"star","☎":"phone","♀":"female","♂":"male","♠":"spades","♣":"clubs","♥":"hearts","♦":"diams","♪":"sung","✓":"check","✗":"cross","✠":"malt","✶":"sext","❘":"VerticalSeparator","⟈":"bsolhsub","⟉":"suphsol","⟵":"xlarr","⟶":"xrarr","⟷":"xharr","⟸":"xlArr","⟹":"xrArr","⟺":"xhArr","⟼":"xmap","⟿":"dzigrarr","⤂":"nvlArr","⤃":"nvrArr","⤄":"nvHarr","⤅":"Map","⤌":"lbarr","⤍":"rbarr","⤎":"lBarr","⤏":"rBarr","⤐":"RBarr","⤑":"DDotrahd","⤒":"UpArrowBar","⤓":"DownArrowBar","⤖":"Rarrtl","⤙":"latail","⤚":"ratail","⤛":"lAtail","⤜":"rAtail","⤝":"larrfs","⤞":"rarrfs","⤟":"larrbfs","⤠":"rarrbfs","⤣":"nwarhk","⤤":"nearhk","⤥":"searhk","⤦":"swarhk","⤧":"nwnear","⤨":"toea","⤩":"tosa","⤪":"swnwar","⤳":"rarrc","⤳̸":"nrarrc","⤵":"cudarrr","⤶":"ldca","⤷":"rdca","⤸":"cudarrl","⤹":"larrpl","⤼":"curarrm","⤽":"cularrp","⥅":"rarrpl","⥈":"harrcir","⥉":"Uarrocir","⥊":"lurdshar","⥋":"ldrushar","⥎":"LeftRightVector","⥏":"RightUpDownVector","⥐":"DownLeftRightVector","⥑":"LeftUpDownVector","⥒":"LeftVectorBar","⥓":"RightVectorBar","⥔":"RightUpVectorBar","⥕":"RightDownVectorBar","⥖":"DownLeftVectorBar","⥗":"DownRightVectorBar","⥘":"LeftUpVectorBar","⥙":"LeftDownVectorBar","⥚":"LeftTeeVector","⥛":"RightTeeVector","⥜":"RightUpTeeVector","⥝":"RightDownTeeVector","⥞":"DownLeftTeeVector","⥟":"DownRightTeeVector","⥠":"LeftUpTeeVector","⥡":"LeftDownTeeVector","⥢":"lHar","⥣":"uHar","⥤":"rHar","⥥":"dHar","⥦":"luruhar","⥧":"ldrdhar","⥨":"ruluhar","⥩":"rdldhar","⥪":"lharul","⥫":"llhard","⥬":"rharul","⥭":"lrhard","⥮":"udhar","⥯":"duhar","⥰":"RoundImplies","⥱":"erarr","⥲":"simrarr","⥳":"larrsim","⥴":"rarrsim","⥵":"rarrap","⥶":"ltlarr","⥸":"gtrarr","⥹":"subrarr","⥻":"suplarr","⥼":"lfisht","⥽":"rfisht","⥾":"ufisht","⥿":"dfisht","⦚":"vzigzag","⦜":"vangrt","⦝":"angrtvbd","⦤":"ange","⦥":"range","⦦":"dwangle","⦧":"uwangle","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","⦰":"bemptyv","⦱":"demptyv","⦲":"cemptyv","⦳":"raemptyv","⦴":"laemptyv","⦵":"ohbar","⦶":"omid","⦷":"opar","⦹":"operp","⦻":"olcross","⦼":"odsold","⦾":"olcir","⦿":"ofcir","⧀":"olt","⧁":"ogt","⧂":"cirscir","⧃":"cirE","⧄":"solb","⧅":"bsolb","⧉":"boxbox","⧍":"trisb","⧎":"rtriltri","⧏":"LeftTriangleBar","⧏̸":"NotLeftTriangleBar","⧐":"RightTriangleBar","⧐̸":"NotRightTriangleBar","⧜":"iinfin","⧝":"infintie","⧞":"nvinfin","⧣":"eparsl","⧤":"smeparsl","⧥":"eqvparsl","⧫":"lozf","⧴":"RuleDelayed","⧶":"dsol","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨄":"xuplus","⨆":"xsqcup","⨍":"fpartint","⨐":"cirfnint","⨑":"awint","⨒":"rppolint","⨓":"scpolint","⨔":"npolint","⨕":"pointint","⨖":"quatint","⨗":"intlarhk","⨢":"pluscir","⨣":"plusacir","⨤":"simplus","⨥":"plusdu","⨦":"plussim","⨧":"plustwo","⨩":"mcomma","⨪":"minusdu","⨭":"loplus","⨮":"roplus","⨯":"Cross","⨰":"timesd","⨱":"timesbar","⨳":"smashp","⨴":"lotimes","⨵":"rotimes","⨶":"otimesas","⨷":"Otimes","⨸":"odiv","⨹":"triplus","⨺":"triminus","⨻":"tritime","⨼":"iprod","⨿":"amalg","⩀":"capdot","⩂":"ncup","⩃":"ncap","⩄":"capand","⩅":"cupor","⩆":"cupcap","⩇":"capcup","⩈":"cupbrcap","⩉":"capbrcup","⩊":"cupcup","⩋":"capcap","⩌":"ccups","⩍":"ccaps","⩐":"ccupssm","⩓":"And","⩔":"Or","⩕":"andand","⩖":"oror","⩗":"orslope","⩘":"andslope","⩚":"andv","⩛":"orv","⩜":"andd","⩝":"ord","⩟":"wedbar","⩦":"sdote","⩪":"simdot","⩭":"congdot","⩭̸":"ncongdot","⩮":"easter","⩯":"apacir","⩰":"apE","⩰̸":"napE","⩱":"eplus","⩲":"pluse","⩳":"Esim","⩷":"eDDot","⩸":"equivDD","⩹":"ltcir","⩺":"gtcir","⩻":"ltquest","⩼":"gtquest","⩽":"les","⩽̸":"nles","⩾":"ges","⩾̸":"nges","⩿":"lesdot","⪀":"gesdot","⪁":"lesdoto","⪂":"gesdoto","⪃":"lesdotor","⪄":"gesdotol","⪅":"lap","⪆":"gap","⪇":"lne","⪈":"gne","⪉":"lnap","⪊":"gnap","⪋":"lEg","⪌":"gEl","⪍":"lsime","⪎":"gsime","⪏":"lsimg","⪐":"gsiml","⪑":"lgE","⪒":"glE","⪓":"lesges","⪔":"gesles","⪕":"els","⪖":"egs","⪗":"elsdot","⪘":"egsdot","⪙":"el","⪚":"eg","⪝":"siml","⪞":"simg","⪟":"simlE","⪠":"simgE","⪡":"LessLess","⪡̸":"NotNestedLessLess","⪢":"GreaterGreater","⪢̸":"NotNestedGreaterGreater","⪤":"glj","⪥":"gla","⪦":"ltcc","⪧":"gtcc","⪨":"lescc","⪩":"gescc","⪪":"smt","⪫":"lat","⪬":"smte","⪬︀":"smtes","⪭":"late","⪭︀":"lates","⪮":"bumpE","⪯":"pre","⪯̸":"npre","⪰":"sce","⪰̸":"nsce","⪳":"prE","⪴":"scE","⪵":"prnE","⪶":"scnE","⪷":"prap","⪸":"scap","⪹":"prnap","⪺":"scnap","⪻":"Pr","⪼":"Sc","⪽":"subdot","⪾":"supdot","⪿":"subplus","⫀":"supplus","⫁":"submult","⫂":"supmult","⫃":"subedot","⫄":"supedot","⫅":"subE","⫅̸":"nsubE","⫆":"supE","⫆̸":"nsupE","⫇":"subsim","⫈":"supsim","⫋︀":"vsubnE","⫋":"subnE","⫌︀":"vsupnE","⫌":"supnE","⫏":"csub","⫐":"csup","⫑":"csube","⫒":"csupe","⫓":"subsup","⫔":"supsub","⫕":"subsub","⫖":"supsup","⫗":"suphsub","⫘":"supdsub","⫙":"forkv","⫚":"topfork","⫛":"mlcp","⫤":"Dashv","⫦":"Vdashl","⫧":"Barv","⫨":"vBar","⫩":"vBarv","⫫":"Vbar","⫬":"Not","⫭":"bNot","⫮":"rnmid","⫯":"cirmid","⫰":"midcir","⫱":"topcir","⫲":"nhpar","⫳":"parsim","⫽":"parsl","⫽⃥":"nparsl","♭":"flat","♮":"natur","♯":"sharp","¤":"curren","¢":"cent",$:"dollar","£":"pound","¥":"yen","€":"euro","¹":"sup1","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","²":"sup2","⅔":"frac23","⅖":"frac25","³":"sup3","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","𝒶":"ascr","𝕒":"aopf","𝔞":"afr","𝔸":"Aopf","𝔄":"Afr","𝒜":"Ascr","ª":"ordf","á":"aacute","Á":"Aacute","à":"agrave","À":"Agrave","ă":"abreve","Ă":"Abreve","â":"acirc","Â":"Acirc","å":"aring","Å":"angst","ä":"auml","Ä":"Auml","ã":"atilde","Ã":"Atilde","ą":"aogon","Ą":"Aogon","ā":"amacr","Ā":"Amacr","æ":"aelig","Æ":"AElig","𝒷":"bscr","𝕓":"bopf","𝔟":"bfr","𝔹":"Bopf","ℬ":"Bscr","𝔅":"Bfr","𝔠":"cfr","𝒸":"cscr","𝕔":"copf","ℭ":"Cfr","𝒞":"Cscr","ℂ":"Copf","ć":"cacute","Ć":"Cacute","ĉ":"ccirc","Ĉ":"Ccirc","č":"ccaron","Č":"Ccaron","ċ":"cdot","Ċ":"Cdot","ç":"ccedil","Ç":"Ccedil","℅":"incare","𝔡":"dfr","ⅆ":"dd","𝕕":"dopf","𝒹":"dscr","𝒟":"Dscr","𝔇":"Dfr","ⅅ":"DD","𝔻":"Dopf","ď":"dcaron","Ď":"Dcaron","đ":"dstrok","Đ":"Dstrok","ð":"eth","Ð":"ETH","ⅇ":"ee","ℯ":"escr","𝔢":"efr","𝕖":"eopf","ℰ":"Escr","𝔈":"Efr","𝔼":"Eopf","é":"eacute","É":"Eacute","è":"egrave","È":"Egrave","ê":"ecirc","Ê":"Ecirc","ě":"ecaron","Ě":"Ecaron","ë":"euml","Ë":"Euml","ė":"edot","Ė":"Edot","ę":"eogon","Ę":"Eogon","ē":"emacr","Ē":"Emacr","𝔣":"ffr","𝕗":"fopf","𝒻":"fscr","𝔉":"Ffr","𝔽":"Fopf","ℱ":"Fscr","ff":"fflig","ffi":"ffilig","ffl":"ffllig","fi":"filig",fj:"fjlig","fl":"fllig","ƒ":"fnof","ℊ":"gscr","𝕘":"gopf","𝔤":"gfr","𝒢":"Gscr","𝔾":"Gopf","𝔊":"Gfr","ǵ":"gacute","ğ":"gbreve","Ğ":"Gbreve","ĝ":"gcirc","Ĝ":"Gcirc","ġ":"gdot","Ġ":"Gdot","Ģ":"Gcedil","𝔥":"hfr","ℎ":"planckh","𝒽":"hscr","𝕙":"hopf","ℋ":"Hscr","ℌ":"Hfr","ℍ":"Hopf","ĥ":"hcirc","Ĥ":"Hcirc","ℏ":"hbar","ħ":"hstrok","Ħ":"Hstrok","𝕚":"iopf","𝔦":"ifr","𝒾":"iscr","ⅈ":"ii","𝕀":"Iopf","ℐ":"Iscr","ℑ":"Im","í":"iacute","Í":"Iacute","ì":"igrave","Ì":"Igrave","î":"icirc","Î":"Icirc","ï":"iuml","Ï":"Iuml","ĩ":"itilde","Ĩ":"Itilde","İ":"Idot","į":"iogon","Į":"Iogon","ī":"imacr","Ī":"Imacr","ij":"ijlig","IJ":"IJlig","ı":"imath","𝒿":"jscr","𝕛":"jopf","𝔧":"jfr","𝒥":"Jscr","𝔍":"Jfr","𝕁":"Jopf","ĵ":"jcirc","Ĵ":"Jcirc","ȷ":"jmath","𝕜":"kopf","𝓀":"kscr","𝔨":"kfr","𝒦":"Kscr","𝕂":"Kopf","𝔎":"Kfr","ķ":"kcedil","Ķ":"Kcedil","𝔩":"lfr","𝓁":"lscr","ℓ":"ell","𝕝":"lopf","ℒ":"Lscr","𝔏":"Lfr","𝕃":"Lopf","ĺ":"lacute","Ĺ":"Lacute","ľ":"lcaron","Ľ":"Lcaron","ļ":"lcedil","Ļ":"Lcedil","ł":"lstrok","Ł":"Lstrok","ŀ":"lmidot","Ŀ":"Lmidot","𝔪":"mfr","𝕞":"mopf","𝓂":"mscr","𝔐":"Mfr","𝕄":"Mopf","ℳ":"Mscr","𝔫":"nfr","𝕟":"nopf","𝓃":"nscr","ℕ":"Nopf","𝒩":"Nscr","𝔑":"Nfr","ń":"nacute","Ń":"Nacute","ň":"ncaron","Ň":"Ncaron","ñ":"ntilde","Ñ":"Ntilde","ņ":"ncedil","Ņ":"Ncedil","№":"numero","ŋ":"eng","Ŋ":"ENG","𝕠":"oopf","𝔬":"ofr","ℴ":"oscr","𝒪":"Oscr","𝔒":"Ofr","𝕆":"Oopf","º":"ordm","ó":"oacute","Ó":"Oacute","ò":"ograve","Ò":"Ograve","ô":"ocirc","Ô":"Ocirc","ö":"ouml","Ö":"Ouml","ő":"odblac","Ő":"Odblac","õ":"otilde","Õ":"Otilde","ø":"oslash","Ø":"Oslash","ō":"omacr","Ō":"Omacr","œ":"oelig","Œ":"OElig","𝔭":"pfr","𝓅":"pscr","𝕡":"popf","ℙ":"Popf","𝔓":"Pfr","𝒫":"Pscr","𝕢":"qopf","𝔮":"qfr","𝓆":"qscr","𝒬":"Qscr","𝔔":"Qfr","ℚ":"Qopf","ĸ":"kgreen","𝔯":"rfr","𝕣":"ropf","𝓇":"rscr","ℛ":"Rscr","ℜ":"Re","ℝ":"Ropf","ŕ":"racute","Ŕ":"Racute","ř":"rcaron","Ř":"Rcaron","ŗ":"rcedil","Ŗ":"Rcedil","𝕤":"sopf","𝓈":"sscr","𝔰":"sfr","𝕊":"Sopf","𝔖":"Sfr","𝒮":"Sscr","Ⓢ":"oS","ś":"sacute","Ś":"Sacute","ŝ":"scirc","Ŝ":"Scirc","š":"scaron","Š":"Scaron","ş":"scedil","Ş":"Scedil","ß":"szlig","𝔱":"tfr","𝓉":"tscr","𝕥":"topf","𝒯":"Tscr","𝔗":"Tfr","𝕋":"Topf","ť":"tcaron","Ť":"Tcaron","ţ":"tcedil","Ţ":"Tcedil","™":"trade","ŧ":"tstrok","Ŧ":"Tstrok","𝓊":"uscr","𝕦":"uopf","𝔲":"ufr","𝕌":"Uopf","𝔘":"Ufr","𝒰":"Uscr","ú":"uacute","Ú":"Uacute","ù":"ugrave","Ù":"Ugrave","ŭ":"ubreve","Ŭ":"Ubreve","û":"ucirc","Û":"Ucirc","ů":"uring","Ů":"Uring","ü":"uuml","Ü":"Uuml","ű":"udblac","Ű":"Udblac","ũ":"utilde","Ũ":"Utilde","ų":"uogon","Ų":"Uogon","ū":"umacr","Ū":"Umacr","𝔳":"vfr","𝕧":"vopf","𝓋":"vscr","𝔙":"Vfr","𝕍":"Vopf","𝒱":"Vscr","𝕨":"wopf","𝓌":"wscr","𝔴":"wfr","𝒲":"Wscr","𝕎":"Wopf","𝔚":"Wfr","ŵ":"wcirc","Ŵ":"Wcirc","𝔵":"xfr","𝓍":"xscr","𝕩":"xopf","𝕏":"Xopf","𝔛":"Xfr","𝒳":"Xscr","𝔶":"yfr","𝓎":"yscr","𝕪":"yopf","𝒴":"Yscr","𝔜":"Yfr","𝕐":"Yopf","ý":"yacute","Ý":"Yacute","ŷ":"ycirc","Ŷ":"Ycirc","ÿ":"yuml","Ÿ":"Yuml","𝓏":"zscr","𝔷":"zfr","𝕫":"zopf","ℨ":"Zfr","ℤ":"Zopf","𝒵":"Zscr","ź":"zacute","Ź":"Zacute","ž":"zcaron","Ž":"Zcaron","ż":"zdot","Ż":"Zdot","Ƶ":"imped","þ":"thorn","Þ":"THORN","ʼn":"napos","α":"alpha","Α":"Alpha","β":"beta","Β":"Beta","γ":"gamma","Γ":"Gamma","δ":"delta","Δ":"Delta","ε":"epsi","ϵ":"epsiv","Ε":"Epsilon","ϝ":"gammad","Ϝ":"Gammad","ζ":"zeta","Ζ":"Zeta","η":"eta","Η":"Eta","θ":"theta","ϑ":"thetav","Θ":"Theta","ι":"iota","Ι":"Iota","κ":"kappa","ϰ":"kappav","Κ":"Kappa","λ":"lambda","Λ":"Lambda","μ":"mu","µ":"micro","Μ":"Mu","ν":"nu","Ν":"Nu","ξ":"xi","Ξ":"Xi","ο":"omicron","Ο":"Omicron","π":"pi","ϖ":"piv","Π":"Pi","ρ":"rho","ϱ":"rhov","Ρ":"Rho","σ":"sigma","Σ":"Sigma","ς":"sigmaf","τ":"tau","Τ":"Tau","υ":"upsi","Υ":"Upsilon","ϒ":"Upsi","φ":"phi","ϕ":"phiv","Φ":"Phi","χ":"chi","Χ":"Chi","ψ":"psi","Ψ":"Psi","ω":"omega","Ω":"ohm","а":"acy","А":"Acy","б":"bcy","Б":"Bcy","в":"vcy","В":"Vcy","г":"gcy","Г":"Gcy","ѓ":"gjcy","Ѓ":"GJcy","д":"dcy","Д":"Dcy","ђ":"djcy","Ђ":"DJcy","е":"iecy","Е":"IEcy","ё":"iocy","Ё":"IOcy","є":"jukcy","Є":"Jukcy","ж":"zhcy","Ж":"ZHcy","з":"zcy","З":"Zcy","ѕ":"dscy","Ѕ":"DScy","и":"icy","И":"Icy","і":"iukcy","І":"Iukcy","ї":"yicy","Ї":"YIcy","й":"jcy","Й":"Jcy","ј":"jsercy","Ј":"Jsercy","к":"kcy","К":"Kcy","ќ":"kjcy","Ќ":"KJcy","л":"lcy","Л":"Lcy","љ":"ljcy","Љ":"LJcy","м":"mcy","М":"Mcy","н":"ncy","Н":"Ncy","њ":"njcy","Њ":"NJcy","о":"ocy","О":"Ocy","п":"pcy","П":"Pcy","р":"rcy","Р":"Rcy","с":"scy","С":"Scy","т":"tcy","Т":"Tcy","ћ":"tshcy","Ћ":"TSHcy","у":"ucy","У":"Ucy","ў":"ubrcy","Ў":"Ubrcy","ф":"fcy","Ф":"Fcy","х":"khcy","Х":"KHcy","ц":"tscy","Ц":"TScy","ч":"chcy","Ч":"CHcy","џ":"dzcy","Џ":"DZcy","ш":"shcy","Ш":"SHcy","щ":"shchcy","Щ":"SHCHcy","ъ":"hardcy","Ъ":"HARDcy","ы":"ycy","Ы":"Ycy","ь":"softcy","Ь":"SOFTcy","э":"ecy","Э":"Ecy","ю":"yucy","Ю":"YUcy","я":"yacy","Я":"YAcy","ℵ":"aleph","ℶ":"beth","ℷ":"gimel","ℸ":"daleth"},R=/["&'<>`]/g,p={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},f=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,h=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,m=/&(CounterClockwiseContourIntegral|DoubleLongLeftRightArrow|ClockwiseContourIntegral|NotNestedGreaterGreater|NotSquareSupersetEqual|DiacriticalDoubleAcute|NotRightTriangleEqual|NotSucceedsSlantEqual|NotPrecedesSlantEqual|CloseCurlyDoubleQuote|NegativeVeryThinSpace|DoubleContourIntegral|FilledVerySmallSquare|CapitalDifferentialD|OpenCurlyDoubleQuote|EmptyVerySmallSquare|NestedGreaterGreater|DoubleLongRightArrow|NotLeftTriangleEqual|NotGreaterSlantEqual|ReverseUpEquilibrium|DoubleLeftRightArrow|NotSquareSubsetEqual|NotDoubleVerticalBar|RightArrowLeftArrow|NotGreaterFullEqual|NotRightTriangleBar|SquareSupersetEqual|DownLeftRightVector|DoubleLongLeftArrow|leftrightsquigarrow|LeftArrowRightArrow|NegativeMediumSpace|blacktriangleright|RightDownVectorBar|PrecedesSlantEqual|RightDoubleBracket|SucceedsSlantEqual|NotLeftTriangleBar|RightTriangleEqual|SquareIntersection|RightDownTeeVector|ReverseEquilibrium|NegativeThickSpace|longleftrightarrow|Longleftrightarrow|LongLeftRightArrow|DownRightTeeVector|DownRightVectorBar|GreaterSlantEqual|SquareSubsetEqual|LeftDownVectorBar|LeftDoubleBracket|VerticalSeparator|rightleftharpoons|NotGreaterGreater|NotSquareSuperset|blacktriangleleft|blacktriangledown|NegativeThinSpace|LeftDownTeeVector|NotLessSlantEqual|leftrightharpoons|DoubleUpDownArrow|DoubleVerticalBar|LeftTriangleEqual|FilledSmallSquare|twoheadrightarrow|NotNestedLessLess|DownLeftTeeVector|DownLeftVectorBar|RightAngleBracket|NotTildeFullEqual|NotReverseElement|RightUpDownVector|DiacriticalTilde|NotSucceedsTilde|circlearrowright|NotPrecedesEqual|rightharpoondown|DoubleRightArrow|NotSucceedsEqual|NonBreakingSpace|NotRightTriangle|LessEqualGreater|RightUpTeeVector|LeftAngleBracket|GreaterFullEqual|DownArrowUpArrow|RightUpVectorBar|twoheadleftarrow|GreaterEqualLess|downharpoonright|RightTriangleBar|ntrianglerighteq|NotSupersetEqual|LeftUpDownVector|DiacriticalAcute|rightrightarrows|vartriangleright|UpArrowDownArrow|DiacriticalGrave|UnderParenthesis|EmptySmallSquare|LeftUpVectorBar|leftrightarrows|DownRightVector|downharpoonleft|trianglerighteq|ShortRightArrow|OverParenthesis|DoubleLeftArrow|DoubleDownArrow|NotSquareSubset|bigtriangledown|ntrianglelefteq|UpperRightArrow|curvearrowright|vartriangleleft|NotLeftTriangle|nleftrightarrow|LowerRightArrow|NotHumpDownHump|NotGreaterTilde|rightthreetimes|LeftUpTeeVector|NotGreaterEqual|straightepsilon|LeftTriangleBar|rightsquigarrow|ContourIntegral|rightleftarrows|CloseCurlyQuote|RightDownVector|LeftRightVector|nLeftrightarrow|leftharpoondown|circlearrowleft|SquareSuperset|OpenCurlyQuote|hookrightarrow|HorizontalLine|DiacriticalDot|NotLessGreater|ntriangleright|DoubleRightTee|InvisibleComma|InvisibleTimes|LowerLeftArrow|DownLeftVector|NotSubsetEqual|curvearrowleft|trianglelefteq|NotVerticalBar|TildeFullEqual|downdownarrows|NotGreaterLess|RightTeeVector|ZeroWidthSpace|looparrowright|LongRightArrow|doublebarwedge|ShortLeftArrow|ShortDownArrow|RightVectorBar|GreaterGreater|ReverseElement|rightharpoonup|LessSlantEqual|leftthreetimes|upharpoonright|rightarrowtail|LeftDownVector|Longrightarrow|NestedLessLess|UpperLeftArrow|nshortparallel|leftleftarrows|leftrightarrow|Leftrightarrow|LeftRightArrow|longrightarrow|upharpoonleft|RightArrowBar|ApplyFunction|LeftTeeVector|leftarrowtail|NotEqualTilde|varsubsetneqq|varsupsetneqq|RightTeeArrow|SucceedsEqual|SucceedsTilde|LeftVectorBar|SupersetEqual|hookleftarrow|DifferentialD|VerticalTilde|VeryThinSpace|blacktriangle|bigtriangleup|LessFullEqual|divideontimes|leftharpoonup|UpEquilibrium|ntriangleleft|RightTriangle|measuredangle|shortparallel|longleftarrow|Longleftarrow|LongLeftArrow|DoubleLeftTee|Poincareplane|PrecedesEqual|triangleright|DoubleUpArrow|RightUpVector|fallingdotseq|looparrowleft|PrecedesTilde|NotTildeEqual|NotTildeTilde|smallsetminus|Proportional|triangleleft|triangledown|UnderBracket|NotHumpEqual|exponentiale|ExponentialE|NotLessTilde|HilbertSpace|RightCeiling|blacklozenge|varsupsetneq|HumpDownHump|GreaterEqual|VerticalLine|LeftTeeArrow|NotLessEqual|DownTeeArrow|LeftTriangle|varsubsetneq|Intersection|NotCongruent|DownArrowBar|LeftUpVector|LeftArrowBar|risingdotseq|GreaterTilde|RoundImplies|SquareSubset|ShortUpArrow|NotSuperset|quaternions|precnapprox|backepsilon|preccurlyeq|OverBracket|blacksquare|MediumSpace|VerticalBar|circledcirc|circleddash|CircleMinus|CircleTimes|LessGreater|curlyeqprec|curlyeqsucc|diamondsuit|UpDownArrow|Updownarrow|RuleDelayed|Rrightarrow|updownarrow|RightVector|nRightarrow|nrightarrow|eqslantless|LeftCeiling|Equilibrium|SmallCircle|expectation|NotSucceeds|thickapprox|GreaterLess|SquareUnion|NotPrecedes|NotLessLess|straightphi|succnapprox|succcurlyeq|SubsetEqual|sqsupseteq|Proportion|Laplacetrf|ImaginaryI|supsetneqq|NotGreater|gtreqqless|NotElement|ThickSpace|TildeEqual|TildeTilde|Fouriertrf|rmoustache|EqualTilde|eqslantgtr|UnderBrace|LeftVector|UpArrowBar|nLeftarrow|nsubseteqq|subsetneqq|nsupseteqq|nleftarrow|succapprox|lessapprox|UpTeeArrow|upuparrows|curlywedge|lesseqqgtr|varepsilon|varnothing|RightFloor|complement|CirclePlus|sqsubseteq|Lleftarrow|circledast|RightArrow|Rightarrow|rightarrow|lmoustache|Bernoullis|precapprox|mapstoleft|mapstodown|longmapsto|dotsquare|downarrow|DoubleDot|nsubseteq|supsetneq|leftarrow|nsupseteq|subsetneq|ThinSpace|ngeqslant|subseteqq|HumpEqual|NotSubset|triangleq|NotCupCap|lesseqgtr|heartsuit|TripleDot|Leftarrow|Coproduct|Congruent|varpropto|complexes|gvertneqq|LeftArrow|LessTilde|supseteqq|MinusPlus|CircleDot|nleqslant|NotExists|gtreqless|nparallel|UnionPlus|LeftFloor|checkmark|CenterDot|centerdot|Mellintrf|gtrapprox|bigotimes|OverBrace|spadesuit|therefore|pitchfork|rationals|PlusMinus|Backslash|Therefore|DownBreve|backsimeq|backprime|DownArrow|nshortmid|Downarrow|lvertneqq|eqvparsl|imagline|imagpart|infintie|integers|Integral|intercal|LessLess|Uarrocir|intlarhk|sqsupset|angmsdaf|sqsubset|llcorner|vartheta|cupbrcap|lnapprox|Superset|SuchThat|succnsim|succneqq|angmsdag|biguplus|curlyvee|trpezium|Succeeds|NotTilde|bigwedge|angmsdah|angrtvbd|triminus|cwconint|fpartint|lrcorner|smeparsl|subseteq|urcorner|lurdshar|laemptyv|DDotrahd|approxeq|ldrushar|awconint|mapstoup|backcong|shortmid|triangle|geqslant|gesdotol|timesbar|circledR|circledS|setminus|multimap|naturals|scpolint|ncongdot|RightTee|boxminus|gnapprox|boxtimes|andslope|thicksim|angmsdaa|varsigma|cirfnint|rtriltri|angmsdab|rppolint|angmsdac|barwedge|drbkarow|clubsuit|thetasym|bsolhsub|capbrcup|dzigrarr|doteqdot|DotEqual|dotminus|UnderBar|NotEqual|realpart|otimesas|ulcorner|hksearow|hkswarow|parallel|PartialD|elinters|emptyset|plusacir|bbrktbrk|angmsdad|pointint|bigoplus|angmsdae|Precedes|bigsqcup|varkappa|notindot|supseteq|precneqq|precnsim|profalar|profline|profsurf|leqslant|lesdotor|raemptyv|subplus|notnivb|notnivc|subrarr|zigrarr|vzigzag|submult|subedot|Element|between|cirscir|larrbfs|larrsim|lotimes|lbrksld|lbrkslu|lozenge|ldrdhar|dbkarow|bigcirc|epsilon|simrarr|simplus|ltquest|Epsilon|luruhar|gtquest|maltese|npolint|eqcolon|npreceq|bigodot|ddagger|gtrless|bnequiv|harrcir|ddotseq|equivDD|backsim|demptyv|nsqsube|nsqsupe|Upsilon|nsubset|upsilon|minusdu|nsucceq|swarrow|nsupset|coloneq|searrow|boxplus|napprox|natural|asympeq|alefsym|congdot|nearrow|bigstar|diamond|supplus|tritime|LeftTee|nvinfin|triplus|NewLine|nvltrie|nvrtrie|nwarrow|nexists|Diamond|ruluhar|Implies|supmult|angzarr|suplarr|suphsub|questeq|because|digamma|Because|olcross|bemptyv|omicron|Omicron|rotimes|NoBreak|intprod|angrtvb|orderof|uwangle|suphsol|lesdoto|orslope|DownTee|realine|cudarrl|rdldhar|OverBar|supedot|lessdot|supdsub|topfork|succsim|rbrkslu|rbrksld|pertenk|cudarrr|isindot|planckh|lessgtr|pluscir|gesdoto|plussim|plustwo|lesssim|cularrp|rarrsim|Cayleys|notinva|notinvb|notinvc|UpArrow|Uparrow|uparrow|NotLess|dwangle|precsim|Product|curarrm|Cconint|dotplus|rarrbfs|ccupssm|Cedilla|cemptyv|notniva|quatint|frac35|frac38|frac45|frac56|frac58|frac78|tridot|xoplus|gacute|gammad|Gammad|lfisht|lfloor|bigcup|sqsupe|gbreve|Gbreve|lharul|sqsube|sqcups|Gcedil|apacir|llhard|lmidot|Lmidot|lmoust|andand|sqcaps|approx|Abreve|spades|circeq|tprime|divide|topcir|Assign|topbot|gesdot|divonx|xuplus|timesd|gesles|atilde|solbar|SOFTcy|loplus|timesb|lowast|lowbar|dlcorn|dlcrop|softcy|dollar|lparlt|thksim|lrhard|Atilde|lsaquo|smashp|bigvee|thinsp|wreath|bkarow|lsquor|lstrok|Lstrok|lthree|ltimes|ltlarr|DotDot|simdot|ltrPar|weierp|xsqcup|angmsd|sigmav|sigmaf|zeetrf|Zcaron|zcaron|mapsto|vsupne|thetav|cirmid|marker|mcomma|Zacute|vsubnE|there4|gtlPar|vsubne|bottom|gtrarr|SHCHcy|shchcy|midast|midcir|middot|minusb|minusd|gtrdot|bowtie|sfrown|mnplus|models|colone|seswar|Colone|mstpos|searhk|gtrsim|nacute|Nacute|boxbox|telrec|hairsp|Tcedil|nbumpe|scnsim|ncaron|Ncaron|ncedil|Ncedil|hamilt|Scedil|nearhk|hardcy|HARDcy|tcedil|Tcaron|commat|nequiv|nesear|tcaron|target|hearts|nexist|varrho|scedil|Scaron|scaron|hellip|Sacute|sacute|hercon|swnwar|compfn|rtimes|rthree|rsquor|rsaquo|zacute|wedgeq|homtht|barvee|barwed|Barwed|rpargt|horbar|conint|swarhk|roplus|nltrie|hslash|hstrok|Hstrok|rmoust|Conint|bprime|hybull|hyphen|iacute|Iacute|supsup|supsub|supsim|varphi|coprod|brvbar|agrave|Supset|supset|igrave|Igrave|notinE|Agrave|iiiint|iinfin|copysr|wedbar|Verbar|vangrt|becaus|incare|verbar|inodot|bullet|drcorn|intcal|drcrop|cularr|vellip|Utilde|bumpeq|cupcap|dstrok|Dstrok|CupCap|cupcup|cupdot|eacute|Eacute|supdot|iquest|easter|ecaron|Ecaron|ecolon|isinsv|utilde|itilde|Itilde|curarr|succeq|Bumpeq|cacute|ulcrop|nparsl|Cacute|nprcue|egrave|Egrave|nrarrc|nrarrw|subsup|subsub|nrtrie|jsercy|nsccue|Jsercy|kappav|kcedil|Kcedil|subsim|ulcorn|nsimeq|egsdot|veebar|kgreen|capand|elsdot|Subset|subset|curren|aacute|lacute|Lacute|emptyv|ntilde|Ntilde|lagran|lambda|Lambda|capcap|Ugrave|langle|subdot|emsp13|numero|emsp14|nvdash|nvDash|nVdash|nVDash|ugrave|ufisht|nvHarr|larrfs|nvlArr|larrhk|larrlp|larrpl|nvrArr|Udblac|nwarhk|larrtl|nwnear|oacute|Oacute|latail|lAtail|sstarf|lbrace|odblac|Odblac|lbrack|udblac|odsold|eparsl|lcaron|Lcaron|ograve|Ograve|lcedil|Lcedil|Aacute|ssmile|ssetmn|squarf|ldquor|capcup|ominus|cylcty|rharul|eqcirc|dagger|rfloor|rfisht|Dagger|daleth|equals|origof|capdot|equest|dcaron|Dcaron|rdquor|oslash|Oslash|otilde|Otilde|otimes|Otimes|urcrop|Ubreve|ubreve|Yacute|Uacute|uacute|Rcedil|rcedil|urcorn|parsim|Rcaron|Vdashl|rcaron|Tstrok|percnt|period|permil|Exists|yacute|rbrack|rbrace|phmmat|ccaron|Ccaron|planck|ccedil|plankv|tstrok|female|plusdo|plusdu|ffilig|plusmn|ffllig|Ccedil|rAtail|dfisht|bernou|ratail|Rarrtl|rarrtl|angsph|rarrpl|rarrlp|rarrhk|xwedge|xotime|forall|ForAll|Vvdash|vsupnE|preceq|bigcap|frac12|frac13|frac14|primes|rarrfs|prnsim|frac15|Square|frac16|square|lesdot|frac18|frac23|propto|prurel|rarrap|rangle|puncsp|frac25|Racute|qprime|racute|lesges|frac34|abreve|AElig|eqsim|utdot|setmn|urtri|Equal|Uring|seArr|uring|searr|dashv|Dashv|mumap|nabla|iogon|Iogon|sdote|sdotb|scsim|napid|napos|equiv|natur|Acirc|dblac|erarr|nbump|iprod|erDot|ucirc|awint|esdot|angrt|ncong|isinE|scnap|Scirc|scirc|ndash|isins|Ubrcy|nearr|neArr|isinv|nedot|ubrcy|acute|Ycirc|iukcy|Iukcy|xutri|nesim|caret|jcirc|Jcirc|caron|twixt|ddarr|sccue|exist|jmath|sbquo|ngeqq|angst|ccaps|lceil|ngsim|UpTee|delta|Delta|rtrif|nharr|nhArr|nhpar|rtrie|jukcy|Jukcy|kappa|rsquo|Kappa|nlarr|nlArr|TSHcy|rrarr|aogon|Aogon|fflig|xrarr|tshcy|ccirc|nleqq|filig|upsih|nless|dharl|nlsim|fjlig|ropar|nltri|dharr|robrk|roarr|fllig|fltns|roang|rnmid|subnE|subne|lAarr|trisb|Ccirc|acirc|ccups|blank|VDash|forkv|Vdash|langd|cedil|blk12|blk14|laquo|strns|diams|notin|vDash|larrb|blk34|block|disin|uplus|vdash|vBarv|aelig|starf|Wedge|check|xrArr|lates|lbarr|lBarr|notni|lbbrk|bcong|frasl|lbrke|frown|vrtri|vprop|vnsup|gamma|Gamma|wedge|xodot|bdquo|srarr|doteq|ldquo|boxdl|boxdL|gcirc|Gcirc|boxDl|boxDL|boxdr|boxdR|boxDr|TRADE|trade|rlhar|boxDR|vnsub|npart|vltri|rlarr|boxhd|boxhD|nprec|gescc|nrarr|nrArr|boxHd|boxHD|boxhu|boxhU|nrtri|boxHu|clubs|boxHU|times|colon|Colon|gimel|xlArr|Tilde|nsime|tilde|nsmid|nspar|THORN|thorn|xlarr|nsube|nsubE|thkap|xhArr|comma|nsucc|boxul|boxuL|nsupe|nsupE|gneqq|gnsim|boxUl|boxUL|grave|boxur|boxuR|boxUr|boxUR|lescc|angle|bepsi|boxvh|varpi|boxvH|numsp|Theta|gsime|gsiml|theta|boxVh|boxVH|boxvl|gtcir|gtdot|boxvL|boxVl|boxVL|crarr|cross|Cross|nvsim|boxvr|nwarr|nwArr|sqsup|dtdot|Uogon|lhard|lharu|dtrif|ocirc|Ocirc|lhblk|duarr|odash|sqsub|Hacek|sqcup|llarr|duhar|oelig|OElig|ofcir|boxvR|uogon|lltri|boxVr|csube|uuarr|ohbar|csupe|ctdot|olarr|olcir|harrw|oline|sqcap|omacr|Omacr|omega|Omega|boxVR|aleph|lneqq|lnsim|loang|loarr|rharu|lobrk|hcirc|operp|oplus|rhard|Hcirc|orarr|Union|order|ecirc|Ecirc|cuepr|szlig|cuesc|breve|reals|eDDot|Breve|hoarr|lopar|utrif|rdquo|Umacr|umacr|efDot|swArr|ultri|alpha|rceil|ovbar|swarr|Wcirc|wcirc|smtes|smile|bsemi|lrarr|aring|parsl|lrhar|bsime|uhblk|lrtri|cupor|Aring|uharr|uharl|slarr|rbrke|bsolb|lsime|rbbrk|RBarr|lsimg|phone|rBarr|rbarr|icirc|lsquo|Icirc|emacr|Emacr|ratio|simne|plusb|simlE|simgE|simeq|pluse|ltcir|ltdot|empty|xharr|xdtri|iexcl|Alpha|ltrie|rarrw|pound|ltrif|xcirc|bumpe|prcue|bumpE|asymp|amacr|cuvee|Sigma|sigma|iiint|udhar|iiota|ijlig|IJlig|supnE|imacr|Imacr|prime|Prime|image|prnap|eogon|Eogon|rarrc|mdash|mDDot|cuwed|imath|supne|imped|Amacr|udarr|prsim|micro|rarrb|cwint|raquo|infin|eplus|range|rangd|Ucirc|radic|minus|amalg|veeeq|rAarr|epsiv|ycirc|quest|sharp|quot|zwnj|Qscr|race|qscr|Qopf|qopf|qint|rang|Rang|Zscr|zscr|Zopf|zopf|rarr|rArr|Rarr|Pscr|pscr|prop|prod|prnE|prec|ZHcy|zhcy|prap|Zeta|zeta|Popf|popf|Zdot|plus|zdot|Yuml|yuml|phiv|YUcy|yucy|Yscr|yscr|perp|Yopf|yopf|part|para|YIcy|Ouml|rcub|yicy|YAcy|rdca|ouml|osol|Oscr|rdsh|yacy|real|oscr|xvee|andd|rect|andv|Xscr|oror|ordm|ordf|xscr|ange|aopf|Aopf|rHar|Xopf|opar|Oopf|xopf|xnis|rhov|oopf|omid|xmap|oint|apid|apos|ogon|ascr|Ascr|odot|odiv|xcup|xcap|ocir|oast|nvlt|nvle|nvgt|nvge|nvap|Wscr|wscr|auml|ntlg|ntgl|nsup|nsub|nsim|Nscr|nscr|nsce|Wopf|ring|npre|wopf|npar|Auml|Barv|bbrk|Nopf|nopf|nmid|nLtv|beta|ropf|Ropf|Beta|beth|nles|rpar|nleq|bnot|bNot|nldr|NJcy|rscr|Rscr|Vscr|vscr|rsqb|njcy|bopf|nisd|Bopf|rtri|Vopf|nGtv|ngtr|vopf|boxh|boxH|boxv|nges|ngeq|boxV|bscr|scap|Bscr|bsim|Vert|vert|bsol|bull|bump|caps|cdot|ncup|scnE|ncap|nbsp|napE|Cdot|cent|sdot|Vbar|nang|vBar|chcy|Mscr|mscr|sect|semi|CHcy|Mopf|mopf|sext|circ|cire|mldr|mlcp|cirE|comp|shcy|SHcy|vArr|varr|cong|copf|Copf|copy|COPY|malt|male|macr|lvnE|cscr|ltri|sime|ltcc|simg|Cscr|siml|csub|Uuml|lsqb|lsim|uuml|csup|Lscr|lscr|utri|smid|lpar|cups|smte|lozf|darr|Lopf|Uscr|solb|lopf|sopf|Sopf|lneq|uscr|spar|dArr|lnap|Darr|dash|Sqrt|LJcy|ljcy|lHar|dHar|Upsi|upsi|diam|lesg|djcy|DJcy|leqq|dopf|Dopf|dscr|Dscr|dscy|ldsh|ldca|squf|DScy|sscr|Sscr|dsol|lcub|late|star|Star|Uopf|Larr|lArr|larr|uopf|dtri|dzcy|sube|subE|Lang|lang|Kscr|kscr|Kopf|kopf|KJcy|kjcy|KHcy|khcy|DZcy|ecir|edot|eDot|Jscr|jscr|succ|Jopf|jopf|Edot|uHar|emsp|ensp|Iuml|iuml|eopf|isin|Iscr|iscr|Eopf|epar|sung|epsi|escr|sup1|sup2|sup3|Iota|iota|supe|supE|Iopf|iopf|IOcy|iocy|Escr|esim|Esim|imof|Uarr|QUOT|uArr|uarr|euml|IEcy|iecy|Idot|Euml|euro|excl|Hscr|hscr|Hopf|hopf|TScy|tscy|Tscr|hbar|tscr|flat|tbrk|fnof|hArr|harr|half|fopf|Fopf|tdot|gvnE|fork|trie|gtcc|fscr|Fscr|gdot|gsim|Gscr|gscr|Gopf|gopf|gneq|Gdot|tosa|gnap|Topf|topf|geqq|toea|GJcy|gjcy|tint|gesl|mid|Sfr|ggg|top|ges|gla|glE|glj|geq|gne|gEl|gel|gnE|Gcy|gcy|gap|Tfr|tfr|Tcy|tcy|Hat|Tau|Ffr|tau|Tab|hfr|Hfr|ffr|Fcy|fcy|icy|Icy|iff|ETH|eth|ifr|Ifr|Eta|eta|int|Int|Sup|sup|ucy|Ucy|Sum|sum|jcy|ENG|ufr|Ufr|eng|Jcy|jfr|els|ell|egs|Efr|efr|Jfr|uml|kcy|Kcy|Ecy|ecy|kfr|Kfr|lap|Sub|sub|lat|lcy|Lcy|leg|Dot|dot|lEg|leq|les|squ|div|die|lfr|Lfr|lgE|Dfr|dfr|Del|deg|Dcy|dcy|lne|lnE|sol|loz|smt|Cup|lrm|cup|lsh|Lsh|sim|shy|map|Map|mcy|Mcy|mfr|Mfr|mho|gfr|Gfr|sfr|cir|Chi|chi|nap|Cfr|vcy|Vcy|cfr|Scy|scy|ncy|Ncy|vee|Vee|Cap|cap|nfr|scE|sce|Nfr|nge|ngE|nGg|vfr|Vfr|ngt|bot|nGt|nis|niv|Rsh|rsh|nle|nlE|bne|Bfr|bfr|nLl|nlt|nLt|Bcy|bcy|not|Not|rlm|wfr|Wfr|npr|nsc|num|ocy|ast|Ocy|ofr|xfr|Xfr|Ofr|ogt|ohm|apE|olt|Rho|ape|rho|Rfr|rfr|ord|REG|ang|reg|orv|And|and|AMP|Rcy|amp|Afr|ycy|Ycy|yen|yfr|Yfr|rcy|par|pcy|Pcy|pfr|Pfr|phi|Phi|afr|Acy|acy|zcy|Zcy|piv|acE|acd|zfr|Zfr|pre|prE|psi|Psi|qfr|Qfr|zwj|Or|ge|Gg|gt|gg|el|oS|lt|Lt|LT|Re|lg|gl|eg|ne|Im|it|le|DD|wp|wr|nu|Nu|dd|lE|Sc|sc|pi|Pi|ee|af|ll|Ll|rx|gE|xi|pm|Xi|ic|pr|Pr|in|ni|mp|mu|ac|Mu|or|ap|Gt|GT|ii);|&(Aacute|Agrave|Atilde|Ccedil|Eacute|Egrave|Iacute|Igrave|Ntilde|Oacute|Ograve|Oslash|Otilde|Uacute|Ugrave|Yacute|aacute|agrave|atilde|brvbar|ccedil|curren|divide|eacute|egrave|frac12|frac14|frac34|iacute|igrave|iquest|middot|ntilde|oacute|ograve|oslash|otilde|plusmn|uacute|ugrave|yacute|AElig|Acirc|Aring|Ecirc|Icirc|Ocirc|THORN|Ucirc|acirc|acute|aelig|aring|cedil|ecirc|icirc|iexcl|laquo|micro|ocirc|pound|raquo|szlig|thorn|times|ucirc|Auml|COPY|Euml|Iuml|Ouml|QUOT|Uuml|auml|cent|copy|euml|iuml|macr|nbsp|ordf|ordm|ouml|para|quot|sect|sup1|sup2|sup3|uuml|yuml|AMP|ETH|REG|amp|deg|eth|not|reg|shy|uml|yen|GT|LT|gt|lt)(?!;)([=a-zA-Z0-9]?)|&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+)/g,b={aacute:"á",Aacute:"Á",abreve:"ă",Abreve:"Ă",ac:"∾",acd:"∿",acE:"∾̳",acirc:"â",Acirc:"Â",acute:"´",acy:"а",Acy:"А",aelig:"æ",AElig:"Æ",af:"⁡",afr:"𝔞",Afr:"𝔄",agrave:"à",Agrave:"À",alefsym:"ℵ",aleph:"ℵ",alpha:"α",Alpha:"Α",amacr:"ā",Amacr:"Ā",amalg:"⨿",amp:"&",AMP:"&",and:"∧",And:"⩓",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",aogon:"ą",Aogon:"Ą",aopf:"𝕒",Aopf:"𝔸",ap:"≈",apacir:"⩯",ape:"≊",apE:"⩰",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",aring:"å",Aring:"Å",ascr:"𝒶",Ascr:"𝒜",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",atilde:"ã",Atilde:"Ã",auml:"ä",Auml:"Ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",bcy:"б",Bcy:"Б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",beta:"β",Beta:"Β",beth:"ℶ",between:"≬",bfr:"𝔟",Bfr:"𝔅",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bnot:"⌐",bNot:"⫭",bopf:"𝕓",Bopf:"𝔹",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxhD:"╥",boxHd:"╤",boxHD:"╦",boxhu:"┴",boxhU:"╨",boxHu:"╧",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpe:"≏",bumpE:"⪮",bumpeq:"≏",Bumpeq:"≎",cacute:"ć",Cacute:"Ć",cap:"∩",Cap:"⋒",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",ccaron:"č",Ccaron:"Č",ccedil:"ç",Ccedil:"Ç",ccirc:"ĉ",Ccirc:"Ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",cdot:"ċ",Cdot:"Ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",chcy:"ч",CHcy:"Ч",check:"✓",checkmark:"✓",chi:"χ",Chi:"Χ",cir:"○",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cire:"≗",cirE:"⧃",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",colone:"≔",Colone:"⩴",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",cscr:"𝒸",Cscr:"𝒞",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cup:"∪",Cup:"⋓",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",dArr:"⇓",Darr:"↡",dash:"‐",dashv:"⊣",Dashv:"⫤",dbkarow:"⤏",dblac:"˝",dcaron:"ď",Dcaron:"Ď",dcy:"д",Dcy:"Д",dd:"ⅆ",DD:"ⅅ",ddagger:"‡",ddarr:"⇊",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",delta:"δ",Delta:"Δ",demptyv:"⦱",dfisht:"⥿",dfr:"𝔡",Dfr:"𝔇",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",djcy:"ђ",DJcy:"Ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",dopf:"𝕕",Dopf:"𝔻",dot:"˙",Dot:"¨",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",downarrow:"↓",Downarrow:"⇓",DownArrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",dscr:"𝒹",Dscr:"𝒟",dscy:"ѕ",DScy:"Ѕ",dsol:"⧶",dstrok:"đ",Dstrok:"Đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",dzcy:"џ",DZcy:"Џ",dzigrarr:"⟿",eacute:"é",Eacute:"É",easter:"⩮",ecaron:"ě",Ecaron:"Ě",ecir:"≖",ecirc:"ê",Ecirc:"Ê",ecolon:"≕",ecy:"э",Ecy:"Э",eDDot:"⩷",edot:"ė",eDot:"≑",Edot:"Ė",ee:"ⅇ",efDot:"≒",efr:"𝔢",Efr:"𝔈",eg:"⪚",egrave:"è",Egrave:"È",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",emacr:"ē",Emacr:"Ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp:" ",emsp13:" ",emsp14:" ",eng:"ŋ",ENG:"Ŋ",ensp:" ",eogon:"ę",Eogon:"Ę",eopf:"𝕖",Eopf:"𝔼",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",epsilon:"ε",Epsilon:"Ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",esim:"≂",Esim:"⩳",eta:"η",Eta:"Η",eth:"ð",ETH:"Ð",euml:"ë",Euml:"Ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",fcy:"ф",Fcy:"Ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",ffr:"𝔣",Ffr:"𝔉",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",fopf:"𝕗",Fopf:"𝔽",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",gamma:"γ",Gamma:"Γ",gammad:"ϝ",Gammad:"Ϝ",gap:"⪆",gbreve:"ğ",Gbreve:"Ğ",Gcedil:"Ģ",gcirc:"ĝ",Gcirc:"Ĝ",gcy:"г",Gcy:"Г",gdot:"ġ",Gdot:"Ġ",ge:"≥",gE:"≧",gel:"⋛",gEl:"⪌",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",gfr:"𝔤",Gfr:"𝔊",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",gjcy:"ѓ",GJcy:"Ѓ",gl:"≷",gla:"⪥",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",gopf:"𝕘",Gopf:"𝔾",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",gscr:"ℊ",Gscr:"𝒢",gsim:"≳",gsime:"⪎",gsiml:"⪐",gt:">",Gt:"≫",GT:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",hardcy:"ъ",HARDcy:"Ъ",harr:"↔",hArr:"⇔",harrcir:"⥈",harrw:"↭",Hat:"^",hbar:"ℏ",hcirc:"ĥ",Hcirc:"Ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",hstrok:"ħ",Hstrok:"Ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",iacute:"í",Iacute:"Í",ic:"⁣",icirc:"î",Icirc:"Î",icy:"и",Icy:"И",Idot:"İ",iecy:"е",IEcy:"Е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",igrave:"ì",Igrave:"Ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",ijlig:"ij",IJlig:"IJ",Im:"ℑ",imacr:"ī",Imacr:"Ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",Implies:"⇒",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",int:"∫",Int:"∬",intcal:"⊺",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",iocy:"ё",IOcy:"Ё",iogon:"į",Iogon:"Į",iopf:"𝕚",Iopf:"𝕀",iota:"ι",Iota:"Ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",itilde:"ĩ",Itilde:"Ĩ",iukcy:"і",Iukcy:"І",iuml:"ï",Iuml:"Ï",jcirc:"ĵ",Jcirc:"Ĵ",jcy:"й",Jcy:"Й",jfr:"𝔧",Jfr:"𝔍",jmath:"ȷ",jopf:"𝕛",Jopf:"𝕁",jscr:"𝒿",Jscr:"𝒥",jsercy:"ј",Jsercy:"Ј",jukcy:"є",Jukcy:"Є",kappa:"κ",Kappa:"Κ",kappav:"ϰ",kcedil:"ķ",Kcedil:"Ķ",kcy:"к",Kcy:"К",kfr:"𝔨",Kfr:"𝔎",kgreen:"ĸ",khcy:"х",KHcy:"Х",kjcy:"ќ",KJcy:"Ќ",kopf:"𝕜",Kopf:"𝕂",kscr:"𝓀",Kscr:"𝒦",lAarr:"⇚",lacute:"ĺ",Lacute:"Ĺ",laemptyv:"⦴",lagran:"ℒ",lambda:"λ",Lambda:"Λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larr:"←",lArr:"⇐",Larr:"↞",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",latail:"⤙",lAtail:"⤛",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",lcaron:"ľ",Lcaron:"Ľ",lcedil:"ļ",Lcedil:"Ļ",lceil:"⌈",lcub:"{",lcy:"л",Lcy:"Л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",leftarrow:"←",Leftarrow:"⇐",LeftArrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",Leftrightarrow:"⇔",LeftRightArrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",leg:"⋚",lEg:"⪋",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",lfr:"𝔩",Lfr:"𝔏",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",ljcy:"љ",LJcy:"Љ",ll:"≪",Ll:"⋘",llarr:"⇇",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",lmidot:"ŀ",Lmidot:"Ŀ",lmoust:"⎰",lmoustache:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",Longleftarrow:"⟸",LongLeftArrow:"⟵",longleftrightarrow:"⟷",Longleftrightarrow:"⟺",LongLeftRightArrow:"⟷",longmapsto:"⟼",longrightarrow:"⟶",Longrightarrow:"⟹",LongRightArrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",lopf:"𝕝",Lopf:"𝕃",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",lstrok:"ł",Lstrok:"Ł",lt:"<",Lt:"≪",LT:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",map:"↦",Map:"⤅",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",mcy:"м",Mcy:"М",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",mfr:"𝔪",Mfr:"𝔐",mho:"℧",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",mopf:"𝕞",Mopf:"𝕄",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",mu:"μ",Mu:"Μ",multimap:"⊸",mumap:"⊸",nabla:"∇",nacute:"ń",Nacute:"Ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",ncaron:"ň",Ncaron:"Ň",ncedil:"ņ",Ncedil:"Ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",ncy:"н",Ncy:"Н",ndash:"–",ne:"≠",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",nfr:"𝔫",Nfr:"𝔑",nge:"≱",ngE:"≧̸",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",ngt:"≯",nGt:"≫⃒",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",njcy:"њ",NJcy:"Њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nle:"≰",nlE:"≦̸",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nlt:"≮",nLt:"≪⃒",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",not:"¬",Not:"⫬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrarr:"↛",nrArr:"⇏",nrarrc:"⤳̸",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",nscr:"𝓃",Nscr:"𝒩",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsube:"⊈",nsubE:"⫅̸",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupe:"⊉",nsupE:"⫆̸",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",ntilde:"ñ",Ntilde:"Ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",nu:"ν",Nu:"Ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",oacute:"ó",Oacute:"Ó",oast:"⊛",ocir:"⊚",ocirc:"ô",Ocirc:"Ô",ocy:"о",Ocy:"О",odash:"⊝",odblac:"ő",Odblac:"Ő",odiv:"⨸",odot:"⊙",odsold:"⦼",oelig:"œ",OElig:"Œ",ofcir:"⦿",ofr:"𝔬",Ofr:"𝔒",ogon:"˛",ograve:"ò",Ograve:"Ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",omacr:"ō",Omacr:"Ō",omega:"ω",Omega:"Ω",omicron:"ο",Omicron:"Ο",omid:"⦶",ominus:"⊖",oopf:"𝕠",Oopf:"𝕆",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",or:"∨",Or:"⩔",orarr:"↻",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",oscr:"ℴ",Oscr:"𝒪",oslash:"ø",Oslash:"Ø",osol:"⊘",otilde:"õ",Otilde:"Õ",otimes:"⊗",Otimes:"⨷",otimesas:"⨶",ouml:"ö",Ouml:"Ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",par:"∥",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",pcy:"п",Pcy:"П",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",pfr:"𝔭",Pfr:"𝔓",phi:"φ",Phi:"Φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",pi:"π",Pi:"Π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",pr:"≺",Pr:"⪻",prap:"⪷",prcue:"≼",pre:"⪯",prE:"⪳",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportion:"∷",Proportional:"∝",propto:"∝",prsim:"≾",prurel:"⊰",pscr:"𝓅",Pscr:"𝒫",psi:"ψ",Psi:"Ψ",puncsp:" ",qfr:"𝔮",Qfr:"𝔔",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",qscr:"𝓆",Qscr:"𝒬",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",racute:"ŕ",Racute:"Ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarr:"→",rArr:"⇒",Rarr:"↠",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",rarrtl:"↣",Rarrtl:"⤖",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",rcaron:"ř",Rcaron:"Ř",rcedil:"ŗ",Rcedil:"Ŗ",rceil:"⌉",rcub:"}",rcy:"р",Rcy:"Р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",Re:"ℜ",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",rho:"ρ",Rho:"Ρ",rhov:"ϱ",RightAngleBracket:"⟩",rightarrow:"→",Rightarrow:"⇒",RightArrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",sacute:"ś",Sacute:"Ś",sbquo:"‚",sc:"≻",Sc:"⪼",scap:"⪸",scaron:"š",Scaron:"Š",sccue:"≽",sce:"⪰",scE:"⪴",scedil:"ş",Scedil:"Ş",scirc:"ŝ",Scirc:"Ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",scy:"с",Scy:"С",sdot:"⋅",sdotb:"⊡",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",sfr:"𝔰",Sfr:"𝔖",sfrown:"⌢",sharp:"♯",shchcy:"щ",SHCHcy:"Щ",shcy:"ш",SHcy:"Ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",sigma:"σ",Sigma:"Σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",softcy:"ь",SOFTcy:"Ь",sol:"/",solb:"⧄",solbar:"⌿",sopf:"𝕤",Sopf:"𝕊",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squf:"▪",srarr:"→",sscr:"𝓈",Sscr:"𝒮",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",star:"☆",Star:"⋆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",sube:"⊆",subE:"⫅",subedot:"⫃",submult:"⫁",subne:"⊊",subnE:"⫋",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup:"⊃",Sup:"⋑",sup1:"¹",sup2:"²",sup3:"³",supdot:"⪾",supdsub:"⫘",supe:"⊇",supE:"⫆",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supne:"⊋",supnE:"⫌",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:"\t",target:"⌖",tau:"τ",Tau:"Τ",tbrk:"⎴",tcaron:"ť",Tcaron:"Ť",tcedil:"ţ",Tcedil:"Ţ",tcy:"т",Tcy:"Т",tdot:"⃛",telrec:"⌕",tfr:"𝔱",Tfr:"𝔗",there4:"∴",therefore:"∴",Therefore:"∴",theta:"θ",Theta:"Θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",thinsp:" ",ThinSpace:" ",thkap:"≈",thksim:"∼",thorn:"þ",THORN:"Þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",topf:"𝕥",Topf:"𝕋",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",tscr:"𝓉",Tscr:"𝒯",tscy:"ц",TScy:"Ц",tshcy:"ћ",TSHcy:"Ћ",tstrok:"ŧ",Tstrok:"Ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",uacute:"ú",Uacute:"Ú",uarr:"↑",uArr:"⇑",Uarr:"↟",Uarrocir:"⥉",ubrcy:"ў",Ubrcy:"Ў",ubreve:"ŭ",Ubreve:"Ŭ",ucirc:"û",Ucirc:"Û",ucy:"у",Ucy:"У",udarr:"⇅",udblac:"ű",Udblac:"Ű",udhar:"⥮",ufisht:"⥾",ufr:"𝔲",Ufr:"𝔘",ugrave:"ù",Ugrave:"Ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",umacr:"ū",Umacr:"Ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",uogon:"ų",Uogon:"Ų",uopf:"𝕦",Uopf:"𝕌",uparrow:"↑",Uparrow:"⇑",UpArrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",updownarrow:"↕",Updownarrow:"⇕",UpDownArrow:"↕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",upsilon:"υ",Upsilon:"Υ",UpTee:"⊥",UpTeeArrow:"↥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",uring:"ů",Uring:"Ů",urtri:"◹",uscr:"𝓊",Uscr:"𝒰",utdot:"⋰",utilde:"ũ",Utilde:"Ũ",utri:"▵",utrif:"▴",uuarr:"⇈",uuml:"ü",Uuml:"Ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",vcy:"в",Vcy:"В",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",vee:"∨",Vee:"⋁",veebar:"⊻",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",vfr:"𝔳",Vfr:"𝔙",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",vopf:"𝕧",Vopf:"𝕍",vprop:"∝",vrtri:"⊳",vscr:"𝓋",Vscr:"𝒱",vsubne:"⊊︀",vsubnE:"⫋︀",vsupne:"⊋︀",vsupnE:"⫌︀",Vvdash:"⊪",vzigzag:"⦚",wcirc:"ŵ",Wcirc:"Ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",wfr:"𝔴",Wfr:"𝔚",wopf:"𝕨",Wopf:"𝕎",wp:"℘",wr:"≀",wreath:"≀",wscr:"𝓌",Wscr:"𝒲",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",xfr:"𝔵",Xfr:"𝔛",xharr:"⟷",xhArr:"⟺",xi:"ξ",Xi:"Ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",xopf:"𝕩",Xopf:"𝕏",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",xscr:"𝓍",Xscr:"𝒳",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",yacute:"ý",Yacute:"Ý",yacy:"я",YAcy:"Я",ycirc:"ŷ",Ycirc:"Ŷ",ycy:"ы",Ycy:"Ы",yen:"¥",yfr:"𝔶",Yfr:"𝔜",yicy:"ї",YIcy:"Ї",yopf:"𝕪",Yopf:"𝕐",yscr:"𝓎",Yscr:"𝒴",yucy:"ю",YUcy:"Ю",yuml:"ÿ",Yuml:"Ÿ",zacute:"ź",Zacute:"Ź",zcaron:"ž",Zcaron:"Ž",zcy:"з",Zcy:"З",zdot:"ż",Zdot:"Ż",zeetrf:"ℨ",ZeroWidthSpace:"​",zeta:"ζ",Zeta:"Ζ",zfr:"𝔷",Zfr:"ℨ",zhcy:"ж",ZHcy:"Ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",zscr:"𝓏",Zscr:"𝒵",zwj:"‍",zwnj:"‌"},y={aacute:"á",Aacute:"Á",acirc:"â",Acirc:"Â",acute:"´",aelig:"æ",AElig:"Æ",agrave:"à",Agrave:"À",amp:"&",AMP:"&",aring:"å",Aring:"Å",atilde:"ã",Atilde:"Ã",auml:"ä",Auml:"Ä",brvbar:"¦",ccedil:"ç",Ccedil:"Ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",eacute:"é",Eacute:"É",ecirc:"ê",Ecirc:"Ê",egrave:"è",Egrave:"È",eth:"ð",ETH:"Ð",euml:"ë",Euml:"Ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",iacute:"í",Iacute:"Í",icirc:"î",Icirc:"Î",iexcl:"¡",igrave:"ì",Igrave:"Ì",iquest:"¿",iuml:"ï",Iuml:"Ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",ntilde:"ñ",Ntilde:"Ñ",oacute:"ó",Oacute:"Ó",ocirc:"ô",Ocirc:"Ô",ograve:"ò",Ograve:"Ò",ordf:"ª",ordm:"º",oslash:"ø",Oslash:"Ø",otilde:"õ",Otilde:"Õ",ouml:"ö",Ouml:"Ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",thorn:"þ",THORN:"Þ",times:"×",uacute:"ú",Uacute:"Ú",ucirc:"û",Ucirc:"Û",ugrave:"ù",Ugrave:"Ù",uml:"¨",uuml:"ü",Uuml:"Ü",yacute:"ý",Yacute:"Ý",yen:"¥",yuml:"ÿ"},v={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},j=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],O=String.fromCharCode,_={}.hasOwnProperty,x=function(e,a){return _.call(e,a)},w=function(e,a){if(!e)return a;var n,t={};for(n in a)t[n]=x(e,n)?e[n]:a[n];return t},E=function(e,a){var n="";return e>=55296&&e<=57343||e>1114111?(a&&D("character reference outside the permissible Unicode range"),"�"):x(v,e)?(a&&D("disallowed character reference"),v[e]):(a&&function(e,a){for(var n=-1,t=e.length;++n65535&&(n+=O((e-=65536)>>>10&1023|55296),e=56320|1023&e),n+=O(e))},k=function(e){return"&#x"+e.toString(16).toUpperCase()+";"},S=function(e){return"&#"+e+";"},D=function(e){throw Error("Parse error: "+e)},A=function(e,a){(a=w(a,A.options)).strict&&h.test(e)&&D("forbidden code point");var n=a.encodeEverything,t=a.useNamedReferences,d=a.allowUnsafeSymbols,r=a.decimal?S:k,o=function(e){return r(e.charCodeAt(0))};return n?(e=e.replace(g,(function(e){return t&&x(l,e)?"&"+l[e]+";":o(e)})),t&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),t&&(e=e.replace(u,(function(e){return"&"+l[e]+";"})))):t?(d||(e=e.replace(R,(function(e){return"&"+l[e]+";"}))),e=(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒")).replace(u,(function(e){return"&"+l[e]+";"}))):d||(e=e.replace(R,o)),e.replace(s,(function(e){var a=e.charCodeAt(0),n=e.charCodeAt(1);return r(1024*(a-55296)+n-56320+65536)})).replace(c,o)};A.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1,decimal:!1};var C=function(e,a){var n=(a=w(a,C.options)).strict;return n&&f.test(e)&&D("malformed character reference"),e.replace(m,(function(e,t,d,r,o,i,s,g,c){var u,l,R,p,f,h;return t?b[f=t]:d?(f=d,(h=r)&&a.isAttributeValue?(n&&"="==h&&D("`&` did not start a character reference"),e):(n&&D("named character reference was not terminated by a semicolon"),y[f]+(h||""))):o?(R=o,l=i,n&&!l&&D("character reference was not terminated by a semicolon"),u=parseInt(R,10),E(u,n)):s?(p=s,l=g,n&&!l&&D("character reference was not terminated by a semicolon"),u=parseInt(p,16),E(u,n)):(n&&D("named character reference was not terminated by a semicolon"),e)}))};C.options={isAttributeValue:!1,strict:!1};var P={version:"1.2.0",encode:A,decode:C,escape:function(e){return e.replace(R,(function(e){return p[e]}))},unescape:C};void 0===(d=function(){return P}.call(a,n,a,e))||(e.exports=d)}()}).call(this,n("YuTi")(e),n("yLpj"))},"l/XR":function(e,a,n){const t=n("dVj6")(185,6618,8304,8585,11517);t.addRange(178,179).addRange(188,190).addRange(2548,2553).addRange(2930,2935).addRange(3056,3058).addRange(3192,3198).addRange(3416,3422).addRange(3440,3448).addRange(3882,3891).addRange(4969,4988).addRange(6128,6137).addRange(8308,8313).addRange(8320,8329).addRange(8528,8543).addRange(9312,9371).addRange(9450,9471).addRange(10102,10131).addRange(12690,12693).addRange(12832,12841).addRange(12872,12879).addRange(12881,12895).addRange(12928,12937).addRange(12977,12991).addRange(43056,43061).addRange(65799,65843).addRange(65909,65912).addRange(65930,65931).addRange(66273,66299).addRange(66336,66339).addRange(67672,67679).addRange(67705,67711).addRange(67751,67759).addRange(67835,67839).addRange(67862,67867).addRange(68028,68029).addRange(68032,68047).addRange(68050,68095).addRange(68160,68168).addRange(68221,68222).addRange(68253,68255).addRange(68331,68335).addRange(68440,68447).addRange(68472,68479).addRange(68521,68527).addRange(68858,68863).addRange(69216,69246).addRange(69405,69414).addRange(69457,69460).addRange(69573,69579).addRange(69714,69733).addRange(70113,70132),t.addRange(71482,71483).addRange(71914,71922).addRange(72794,72812).addRange(73664,73684).addRange(93019,93025).addRange(93824,93846).addRange(119520,119539).addRange(119648,119672).addRange(125127,125135).addRange(126065,126123).addRange(126125,126127).addRange(126129,126132).addRange(126209,126253).addRange(126255,126269).addRange(127232,127244),e.exports=t},lBvs:function(e,a,n){const t=n("dVj6")();t.addRange(66928,66938).addRange(66940,66954).addRange(66956,66962).addRange(66964,66965).addRange(66967,66977).addRange(66979,66993).addRange(66995,67001).addRange(67003,67004),e.exports=t},lERh:function(e,a,n){const t=n("dVj6")();t.addRange(68416,68437).addRange(68440,68447),e.exports=t},lFV7:function(e,a,n){const t=n("dVj6")();t.addRange(65799,65843).addRange(67072,67382).addRange(67392,67413).addRange(67424,67431),e.exports=t},lMq5:function(e,a,n){var t=n("0Dky"),d=n("Fib7"),r=/#|\.prototype\./,o=function(e,a){var n=s[i(e)];return n==c||n!=g&&(d(a)?t(a):!!a)},i=o.normalize=function(e){return String(e).replace(r,".").toLowerCase()},s=o.data={},g=o.NATIVE="N",c=o.POLYFILL="P";e.exports=o},lSCD:function(e,a,n){var t=n("NykK"),d=n("GoyQ");e.exports=function(e){if(!d(e))return!1;var a=t(e);return"[object Function]"==a||"[object GeneratorFunction]"==a||"[object AsyncFunction]"==a||"[object Proxy]"==a}},lazI:function(e,a,n){const t=n("dVj6")();t.addRange(66352,66378),e.exports=t},ljhN:function(e,a){e.exports=function(e,a){return e===a||e!=e&&a!=a}},"lm/5":function(e,a,n){var t=n("fmRc"),d=n("wF/u");e.exports=function(e,a,n,r){var o=n.length,i=o,s=!r;if(null==e)return!i;for(e=Object(e);o--;){var g=n[o];if(s&&g[2]?g[1]!==e[g[0]]:!(g[0]in e))return!1}for(;++o0&&a.test(e)}}return e||{}}n.words=function(e,a){(a=r(a)).preserve||(e=e.toLowerCase());for(var o,i=0,s=/[^0-9a-zA-Z\u00C0-\u017F\u0400-\u04FF]+|$/g,g="",c=0;o=s.exec(e);){var u=o[0],l=s.lastIndex-u.length;if(!t.test(e[l])||!d.test(e[l+1])){var R=e.substring(i,s.lastIndex-u.length);if(t.test(R[0])&&(g+=R[0],R=R.substring(1)),"function"==typeof a.skipWord&&a.skipWord(R,c)?g+=R:g+=n(R,a),g+=u,c++,(i=s.lastIndex)==e.length)break}}return g},e.exports=n},m7G6:function(e,a,n){const t=n("dVj6")();t.addRange(43136,43205).addRange(43214,43225),e.exports=t},mCz8:function(e,a,n){const t=n("dVj6")(32,133,160,5760,8239,8287,12288);t.addRange(9,13).addRange(8192,8202).addRange(8232,8233),e.exports=t},mJRM:function(e,a,n){const t=n("dVj6")();t.addRange(120832,121483).addRange(121499,121503).addRange(121505,121519),e.exports=t},mTTR:function(e,a,n){var t=n("b80T"),d=n("QcOe"),r=n("MMmD");e.exports=function(e){return r(e)?t(e,!0):d(e)}},mc0g:function(e,a){e.exports=function(e){return function(a,n,t){for(var d=-1,r=Object(a),o=t(a),i=o.length;i--;){var s=o[e?i:++d];if(!1===n(r[s],s,r))break}return a}}},mdLn:function(e,a,n){const t=n("dVj6")(1567,1600);t.addRange(125184,125259).addRange(125264,125273).addRange(125278,125279),e.exports=t},mdPL:function(e,a,n){(function(e){var t=n("WFqU"),d=a&&!a.nodeType&&a,r=d&&"object"==typeof e&&e&&!e.nodeType&&e,o=r&&r.exports===d&&t.process,i=function(){try{var e=r&&r.require&&r.require("util").types;return e||o&&o.binding&&o.binding("util")}catch(a){}}();e.exports=i}).call(this,n("YuTi")(e))},mdlW:function(e,a,n){const t=n("dVj6")(2972,3024,3031,73727);t.addRange(2946,2947).addRange(2949,2954).addRange(2958,2960).addRange(2962,2965).addRange(2969,2970).addRange(2974,2975).addRange(2979,2980).addRange(2984,2986).addRange(2990,3001).addRange(3006,3010).addRange(3014,3016).addRange(3018,3021).addRange(3046,3066).addRange(73664,73713),e.exports=t},msqZ:function(e,a,n){var t=n("sZCt")("set",n("D1y2"));t.placeholder=n("wuTn"),e.exports=t},"mv/X":function(e,a,n){var t=n("ljhN"),d=n("MMmD"),r=n("wJg7"),o=n("GoyQ");e.exports=function(e,a,n){if(!o(n))return!1;var i=typeof a;return!!("number"==i?d(n)&&r(a,n.length):"string"==i&&a in n)&&t(n[a],e)}},mwIZ:function(e,a,n){var t=n("ZWtO");e.exports=function(e,a,n){var d=null==e?void 0:t(e,a);return void 0===d?n:d}},mzUC:function(e,a,n){const t=n("dVj6")(35,42,8205,8419,65039);t.addRange(48,57).addRange(127462,127487).addRange(127995,127999).addRange(129456,129459).addRange(917536,917631),e.exports=t},"n+Zh":function(e,a,n){const t=n("dVj6")(67903);t.addRange(67872,67897),e.exports=t},n1Oh:function(e,a,n){const t=n("dVj6")(1600);t.addRange(68288,68326).addRange(68331,68342),e.exports=t},n4XR:function(e,a,n){const t=n("dVj6")(94176);t.addRange(94208,100343).addRange(100352,101119).addRange(101632,101640),e.exports=t},n75q:function(e,a,n){const t=n("dVj6")();t.addRange(71424,71450).addRange(71453,71467).addRange(71472,71494),e.exports=t},n7sV:function(e,a,n){const t=n("dVj6")();t.addRange(123536,123566),e.exports=t},"nFf/":function(e,a,n){const t=n("dVj6")();t.addRange(6480,6509).addRange(6512,6516),e.exports=t},nRzq:function(e,a,n){var t=n("sZCt")("defaultTo",n("Fl1y"));t.placeholder=n("wuTn"),e.exports=t},nmnc:function(e,a,n){var t=n("Kz5y").Symbol;e.exports=t},noZS:function(e,a,n){var t=n("hypo"),d=n("JC6p"),r=n("ut/Y");e.exports=function(e,a){var n={};return a=r(a,3),d(e,(function(e,d,r){t(n,d,a(e,d,r))})),n}},npZl:function(e,a,n){"use strict";var t=n("TqRt");n("Wbzz"),t(n("9hXx"))},nqlD:function(e,a,n){const{createContext:t}=n("q1tI");e.exports=t,e.exports.default=t},nwfO:function(e,a,n){const t=n("dVj6")();t.addRange(68448,68466).addRange(68472,68479),e.exports=t},o3Hh:function(e,a,n){const t=n("dVj6")();t.addRange(994,1007).addRange(11392,11507).addRange(11513,11519).addRange(66272,66299),e.exports=t},"oCl/":function(e,a,n){var t=n("CH3K"),d=n("LcsW"),r=n("MvSz"),o=n("0ycA"),i=Object.getOwnPropertySymbols?function(e){for(var a=[];e;)t(a,r(e)),e=d(e);return a}:o;e.exports=i},oEtG:function(e,a,n){var t=n("wE6v"),d=n("2bX/");e.exports=function(e){var a=t(e,"string");return d(a)?a:a+""}},oOya:function(e,a,n){const t=n("dVj6")(8232);e.exports=t},oSFm:function(e,a,n){const t=n("dVj6")();t.addRange(69488,69513),e.exports=t},oT1F:function(e,a,n){const t=n("dVj6")(4696,4800);t.addRange(4608,4680).addRange(4682,4685).addRange(4688,4694).addRange(4698,4701).addRange(4704,4744).addRange(4746,4749).addRange(4752,4784).addRange(4786,4789).addRange(4792,4798).addRange(4802,4805).addRange(4808,4822).addRange(4824,4880).addRange(4882,4885).addRange(4888,4954).addRange(4957,4988).addRange(4992,5017).addRange(11648,11670).addRange(11680,11686).addRange(11688,11694).addRange(11696,11702).addRange(11704,11710).addRange(11712,11718).addRange(11720,11726).addRange(11728,11734).addRange(11736,11742).addRange(43777,43782).addRange(43785,43790).addRange(43793,43798).addRange(43808,43814).addRange(43816,43822).addRange(124896,124902).addRange(124904,124907).addRange(124909,124910).addRange(124912,124926),e.exports=t},oasZ:function(e,a,n){var t=n("sZCt")("matchesProperty",n("3pNy"));t.placeholder=n("wuTn"),e.exports=t},oeGF:function(e,a,n){const t=n("dVj6")(42,44,92,161,167,191,894,903,1417,1472,1475,1478,1563,1748,2142,2416,2557,2678,2800,3191,3204,3572,3663,3860,3973,4347,5742,7379,8275,11632,11787,11803,11841,12349,12539,42611,42622,43260,43359,44011,65049,65072,65128,65290,65292,65340,65377,66463,66512,66927,67671,67871,67903,68223,70093,70107,70313,70749,70854,71353,71739,72162,73727,92917,92996,94178,113823);t.addRange(33,35).addRange(37,39).addRange(46,47).addRange(58,59).addRange(63,64).addRange(182,183).addRange(1370,1375).addRange(1523,1524).addRange(1545,1546).addRange(1548,1549).addRange(1565,1567).addRange(1642,1645).addRange(1792,1805).addRange(2039,2041).addRange(2096,2110).addRange(2404,2405).addRange(3674,3675).addRange(3844,3858).addRange(4048,4052).addRange(4057,4058).addRange(4170,4175).addRange(4960,4968).addRange(5867,5869).addRange(5941,5942).addRange(6100,6102).addRange(6104,6106).addRange(6144,6149).addRange(6151,6154).addRange(6468,6469).addRange(6686,6687).addRange(6816,6822).addRange(6824,6829).addRange(7002,7008).addRange(7037,7038).addRange(7164,7167).addRange(7227,7231).addRange(7294,7295).addRange(7360,7367).addRange(8214,8215).addRange(8224,8231).addRange(8240,8248).addRange(8251,8254).addRange(8257,8259).addRange(8263,8273).addRange(8277,8286).addRange(11513,11516).addRange(11518,11519).addRange(11776,11777).addRange(11782,11784).addRange(11790,11798).addRange(11800,11801),t.addRange(11806,11807).addRange(11818,11822).addRange(11824,11833).addRange(11836,11839).addRange(11843,11855).addRange(11858,11860).addRange(12289,12291).addRange(42238,42239).addRange(42509,42511).addRange(42738,42743).addRange(43124,43127).addRange(43214,43215).addRange(43256,43258).addRange(43310,43311).addRange(43457,43469).addRange(43486,43487).addRange(43612,43615).addRange(43742,43743).addRange(43760,43761).addRange(65040,65046).addRange(65093,65094).addRange(65097,65100).addRange(65104,65106).addRange(65108,65111).addRange(65119,65121).addRange(65130,65131).addRange(65281,65283).addRange(65285,65287).addRange(65294,65295).addRange(65306,65307).addRange(65311,65312).addRange(65380,65381).addRange(65792,65794).addRange(68176,68184).addRange(68336,68342).addRange(68409,68415).addRange(68505,68508).addRange(69461,69465).addRange(69510,69513).addRange(69703,69709).addRange(69819,69820).addRange(69822,69825).addRange(69952,69955).addRange(70004,70005).addRange(70085,70088).addRange(70109,70111).addRange(70200,70205).addRange(70731,70735).addRange(70746,70747).addRange(71105,71127).addRange(71233,71235),t.addRange(71264,71276).addRange(71484,71486).addRange(72004,72006).addRange(72255,72262).addRange(72346,72348).addRange(72350,72354).addRange(72769,72773).addRange(72816,72817).addRange(73463,73464).addRange(74864,74868).addRange(77809,77810).addRange(92782,92783).addRange(92983,92987).addRange(93847,93850).addRange(121479,121483).addRange(125278,125279),e.exports=t},of3k:function(e,a,n){"use strict";n.r(a),n.d(a,"_frontmatter",(function(){return s})),n.d(a,"default",(function(){return u}));var t=n("wx14"),d=n("Ff2n"),r=(n("q1tI"),n("7ljp")),o=n("hhGP");n("qKvR");const i=["components"],s={};void 0!==s&&s&&s===Object(s)&&Object.isExtensible(s)&&!Object.prototype.hasOwnProperty.call(s,"__filemeta")&&Object.defineProperty(s,"__filemeta",{configurable:!0,value:{name:"_frontmatter",filename:"src/components/install/jb/osx.mdx"}});const g={_frontmatter:s},c=o.a;function u(e){let{components:a}=e,n=Object(d.a)(e,i);return Object(r.b)(c,Object(t.a)({},g,n,{components:a,mdxType:"MDXLayout"}),Object(r.b)("p",null,"On macOS, Jsonnet Bundler is best installed using ",Object(r.b)("a",{parentName:"p",href:"https://brew.sh"},Object(r.b)("inlineCode",{parentName:"a"},"brew")),":"),Object(r.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"bash"},Object(r.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(r.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(r.b)("span",{parentName:"span",className:"mtk1"},"$ brew install jsonnet-bundler")))),Object(r.b)("p",null,"This downloads the most recent version of Jsonnet Bundler and installs it.",Object(r.b)("br",{parentName:"p"}),"\n","Also, Jsonnet Bundler is automatically kept up to date as part of ",Object(r.b)("inlineCode",{parentName:"p"},"brew upgrade"),"."),Object(r.b)("style",{className:"vscode-highlight-styles"},"\n \n .material-theme-darker {\nbackground-color: #212121;\ncolor: #EEFFFF;\n}\n\n.material-theme-darker .mtk1 { color: #FFFFFF; }\n.material-theme-darker .mtk2 { color: #212121; }\n.material-theme-darker .mtk3 { color: #545454; }\n.material-theme-darker .mtk4 { color: #F78C6C; }\n.material-theme-darker .mtk5 { color: #89DDFF; }\n.material-theme-darker .mtk6 { color: #C3E88D; }\n.material-theme-darker .mtk7 { color: #FFCB6B; }\n.material-theme-darker .mtk8 { color: #EEFFFF; }\n.material-theme-darker .mtk9 { color: #82AAFF; }\n.material-theme-darker .mtk10 { color: #FF5370; }\n.material-theme-darker .mtk11 { color: #F07178; }\n.material-theme-darker .mtk12 { color: #C792EA; }\n.material-theme-darker .mtk13 { color: #EEFFFF90; }\n.material-theme-darker .mtk14 { color: #65737E; }\n.material-theme-darker .mtk15 { color: #B2CCD6; }\n.material-theme-darker .mtk16 { color: #C17E70; }\n.material-theme-darker .mtki { font-style: italic; }\n.material-theme-darker .mtkb { font-weight: bold; }\n.material-theme-darker .mtku { text-decoration: underline; text-underline-position: under; }\n"))}void 0!==u&&u&&u===Object(u)&&Object.isExtensible(u)&&!Object.prototype.hasOwnProperty.call(u,"__filemeta")&&Object.defineProperty(u,"__filemeta",{configurable:!0,value:{name:"MDXContent",filename:"src/components/install/jb/osx.mdx"}}),u.isMDXComponent=!0},ojcp:function(e,a,n){const t=n("dVj6")(908,1470,1472,1475,1478,1563,1758,1769,1808,1969,2074,2084,2088,2142,2363,2482,2493,2510,2563,2654,2678,2691,2761,2768,2809,2877,2880,2947,2972,3007,3024,3133,3165,3389,3517,3716,3749,3773,3782,3894,3896,3967,3973,4145,4152,4295,4301,4696,4800,5909,6070,6314,6464,6743,6753,6971,7082,7143,7150,7379,7393,7418,8025,8027,8029,11559,11565,42611,42963,43597,43697,43712,43714,64285,64318,64975,65952,67592,67644,67903,69293,69632,69749,69932,70197,70280,70461,70463,70480,70725,70749,70841,70846,70849,71102,71230,71340,71350,71462,71736,71739,71945,71997,72192,72272,72343,72766,72873,72881,72884,73030,73110,73112,73648,92917,113820,113823,119142,119365,119970,119995,120134,123647,125259,126500,126503,126521,126523,126530,126535,126537,126539,126548,126551,126553,126555,126557,126559,126564,126590,129008);t.addRange(32,126).addRange(160,172).addRange(174,767).addRange(880,887).addRange(890,895).addRange(900,906).addRange(910,929).addRange(931,1154).addRange(1162,1327).addRange(1329,1366).addRange(1369,1418).addRange(1421,1423).addRange(1488,1514).addRange(1519,1524).addRange(1542,1551).addRange(1565,1610).addRange(1632,1647).addRange(1649,1749).addRange(1765,1766).addRange(1774,1805).addRange(1810,1839).addRange(1869,1957).addRange(1984,2026).addRange(2036,2042).addRange(2046,2069).addRange(2096,2110).addRange(2112,2136).addRange(2144,2154).addRange(2160,2190).addRange(2208,2249).addRange(2307,2361).addRange(2365,2368).addRange(2377,2380).addRange(2382,2384).addRange(2392,2401).addRange(2404,2432).addRange(2434,2435).addRange(2437,2444).addRange(2447,2448).addRange(2451,2472).addRange(2474,2480).addRange(2486,2489).addRange(2495,2496).addRange(2503,2504).addRange(2507,2508).addRange(2524,2525).addRange(2527,2529).addRange(2534,2557).addRange(2565,2570).addRange(2575,2576).addRange(2579,2600),t.addRange(2602,2608).addRange(2610,2611).addRange(2613,2614).addRange(2616,2617).addRange(2622,2624).addRange(2649,2652).addRange(2662,2671).addRange(2674,2676).addRange(2693,2701).addRange(2703,2705).addRange(2707,2728).addRange(2730,2736).addRange(2738,2739).addRange(2741,2745).addRange(2749,2752).addRange(2763,2764).addRange(2784,2785).addRange(2790,2801).addRange(2818,2819).addRange(2821,2828).addRange(2831,2832).addRange(2835,2856).addRange(2858,2864).addRange(2866,2867).addRange(2869,2873).addRange(2887,2888).addRange(2891,2892).addRange(2908,2909).addRange(2911,2913).addRange(2918,2935).addRange(2949,2954).addRange(2958,2960).addRange(2962,2965).addRange(2969,2970).addRange(2974,2975).addRange(2979,2980).addRange(2984,2986).addRange(2990,3001).addRange(3009,3010).addRange(3014,3016).addRange(3018,3020).addRange(3046,3066).addRange(3073,3075).addRange(3077,3084).addRange(3086,3088).addRange(3090,3112).addRange(3114,3129).addRange(3137,3140).addRange(3160,3162).addRange(3168,3169).addRange(3174,3183),t.addRange(3191,3200).addRange(3202,3212).addRange(3214,3216).addRange(3218,3240).addRange(3242,3251).addRange(3253,3257).addRange(3261,3262).addRange(3264,3265).addRange(3267,3268).addRange(3271,3272).addRange(3274,3275).addRange(3293,3294).addRange(3296,3297).addRange(3302,3311).addRange(3313,3314).addRange(3330,3340).addRange(3342,3344).addRange(3346,3386).addRange(3391,3392).addRange(3398,3400).addRange(3402,3404).addRange(3406,3407).addRange(3412,3414).addRange(3416,3425).addRange(3430,3455).addRange(3458,3459).addRange(3461,3478).addRange(3482,3505).addRange(3507,3515).addRange(3520,3526).addRange(3536,3537).addRange(3544,3550).addRange(3558,3567).addRange(3570,3572).addRange(3585,3632).addRange(3634,3635).addRange(3647,3654).addRange(3663,3675).addRange(3713,3714).addRange(3718,3722).addRange(3724,3747).addRange(3751,3760).addRange(3762,3763).addRange(3776,3780).addRange(3792,3801).addRange(3804,3807).addRange(3840,3863).addRange(3866,3892).addRange(3898,3911).addRange(3913,3948).addRange(3976,3980),t.addRange(4030,4037).addRange(4039,4044).addRange(4046,4058).addRange(4096,4140).addRange(4155,4156).addRange(4159,4183).addRange(4186,4189).addRange(4193,4208).addRange(4213,4225).addRange(4227,4228).addRange(4231,4236).addRange(4238,4252).addRange(4254,4293).addRange(4304,4680).addRange(4682,4685).addRange(4688,4694).addRange(4698,4701).addRange(4704,4744).addRange(4746,4749).addRange(4752,4784).addRange(4786,4789).addRange(4792,4798).addRange(4802,4805).addRange(4808,4822).addRange(4824,4880).addRange(4882,4885).addRange(4888,4954).addRange(4960,4988).addRange(4992,5017).addRange(5024,5109).addRange(5112,5117).addRange(5120,5788).addRange(5792,5880).addRange(5888,5905).addRange(5919,5937).addRange(5940,5942).addRange(5952,5969).addRange(5984,5996).addRange(5998,6e3).addRange(6016,6067).addRange(6078,6085).addRange(6087,6088).addRange(6100,6108).addRange(6112,6121).addRange(6128,6137).addRange(6144,6154).addRange(6160,6169).addRange(6176,6264).addRange(6272,6276).addRange(6279,6312).addRange(6320,6389),t.addRange(6400,6430).addRange(6435,6438).addRange(6441,6443).addRange(6448,6449).addRange(6451,6456).addRange(6468,6509).addRange(6512,6516).addRange(6528,6571).addRange(6576,6601).addRange(6608,6618).addRange(6622,6678).addRange(6681,6682).addRange(6686,6741).addRange(6755,6756).addRange(6765,6770).addRange(6784,6793).addRange(6800,6809).addRange(6816,6829).addRange(6916,6963).addRange(6973,6977).addRange(6979,6988).addRange(6992,7018).addRange(7028,7038).addRange(7042,7073).addRange(7078,7079).addRange(7086,7141).addRange(7146,7148).addRange(7154,7155).addRange(7164,7211).addRange(7220,7221).addRange(7227,7241).addRange(7245,7304).addRange(7312,7354).addRange(7357,7367).addRange(7401,7404).addRange(7406,7411).addRange(7413,7415).addRange(7424,7615).addRange(7680,7957).addRange(7960,7965).addRange(7968,8005).addRange(8008,8013).addRange(8016,8023).addRange(8031,8061).addRange(8064,8116).addRange(8118,8132).addRange(8134,8147).addRange(8150,8155).addRange(8157,8175).addRange(8178,8180).addRange(8182,8190),t.addRange(8192,8202).addRange(8208,8231).addRange(8239,8287).addRange(8304,8305).addRange(8308,8334).addRange(8336,8348).addRange(8352,8384).addRange(8448,8587).addRange(8592,9254).addRange(9280,9290).addRange(9312,11123).addRange(11126,11157).addRange(11159,11502).addRange(11506,11507).addRange(11513,11557).addRange(11568,11623).addRange(11631,11632).addRange(11648,11670).addRange(11680,11686).addRange(11688,11694).addRange(11696,11702).addRange(11704,11710).addRange(11712,11718).addRange(11720,11726).addRange(11728,11734).addRange(11736,11742).addRange(11776,11869).addRange(11904,11929).addRange(11931,12019).addRange(12032,12245).addRange(12272,12283).addRange(12288,12329).addRange(12336,12351).addRange(12353,12438).addRange(12443,12543).addRange(12549,12591).addRange(12593,12686).addRange(12688,12771).addRange(12784,12830).addRange(12832,42124).addRange(42128,42182).addRange(42192,42539).addRange(42560,42606).addRange(42622,42653).addRange(42656,42735).addRange(42738,42743).addRange(42752,42954).addRange(42960,42961).addRange(42965,42969).addRange(42994,43009).addRange(43011,43013),t.addRange(43015,43018).addRange(43020,43044).addRange(43047,43051).addRange(43056,43065).addRange(43072,43127).addRange(43136,43203).addRange(43214,43225).addRange(43250,43262).addRange(43264,43301).addRange(43310,43334).addRange(43346,43347).addRange(43359,43388).addRange(43395,43442).addRange(43444,43445).addRange(43450,43451).addRange(43454,43469).addRange(43471,43481).addRange(43486,43492).addRange(43494,43518).addRange(43520,43560).addRange(43567,43568).addRange(43571,43572).addRange(43584,43586).addRange(43588,43595).addRange(43600,43609).addRange(43612,43643).addRange(43645,43695).addRange(43701,43702).addRange(43705,43709).addRange(43739,43755).addRange(43758,43765).addRange(43777,43782).addRange(43785,43790).addRange(43793,43798).addRange(43808,43814).addRange(43816,43822).addRange(43824,43883).addRange(43888,44004).addRange(44006,44007).addRange(44009,44012).addRange(44016,44025).addRange(44032,55203).addRange(55216,55238).addRange(55243,55291).addRange(63744,64109).addRange(64112,64217).addRange(64256,64262).addRange(64275,64279).addRange(64287,64310).addRange(64312,64316).addRange(64320,64321),t.addRange(64323,64324).addRange(64326,64450).addRange(64467,64911).addRange(64914,64967).addRange(65008,65023).addRange(65040,65049).addRange(65072,65106).addRange(65108,65126).addRange(65128,65131).addRange(65136,65140).addRange(65142,65276).addRange(65281,65437).addRange(65440,65470).addRange(65474,65479).addRange(65482,65487).addRange(65490,65495).addRange(65498,65500).addRange(65504,65510).addRange(65512,65518).addRange(65532,65533).addRange(65536,65547).addRange(65549,65574).addRange(65576,65594).addRange(65596,65597).addRange(65599,65613).addRange(65616,65629).addRange(65664,65786).addRange(65792,65794).addRange(65799,65843).addRange(65847,65934).addRange(65936,65948).addRange(66e3,66044).addRange(66176,66204).addRange(66208,66256).addRange(66273,66299).addRange(66304,66339).addRange(66349,66378).addRange(66384,66421).addRange(66432,66461).addRange(66463,66499).addRange(66504,66517).addRange(66560,66717).addRange(66720,66729).addRange(66736,66771).addRange(66776,66811).addRange(66816,66855).addRange(66864,66915).addRange(66927,66938).addRange(66940,66954).addRange(66956,66962).addRange(66964,66965),t.addRange(66967,66977).addRange(66979,66993).addRange(66995,67001).addRange(67003,67004).addRange(67072,67382).addRange(67392,67413).addRange(67424,67431).addRange(67456,67461).addRange(67463,67504).addRange(67506,67514).addRange(67584,67589).addRange(67594,67637).addRange(67639,67640).addRange(67647,67669).addRange(67671,67742).addRange(67751,67759).addRange(67808,67826).addRange(67828,67829).addRange(67835,67867).addRange(67871,67897).addRange(67968,68023).addRange(68028,68047).addRange(68050,68096).addRange(68112,68115).addRange(68117,68119).addRange(68121,68149).addRange(68160,68168).addRange(68176,68184).addRange(68192,68255).addRange(68288,68324).addRange(68331,68342).addRange(68352,68405).addRange(68409,68437).addRange(68440,68466).addRange(68472,68497).addRange(68505,68508).addRange(68521,68527).addRange(68608,68680).addRange(68736,68786).addRange(68800,68850).addRange(68858,68899).addRange(68912,68921).addRange(69216,69246).addRange(69248,69289).addRange(69296,69297).addRange(69376,69415).addRange(69424,69445).addRange(69457,69465).addRange(69488,69505).addRange(69510,69513).addRange(69552,69579),t.addRange(69600,69622).addRange(69634,69687).addRange(69703,69709).addRange(69714,69743).addRange(69745,69746).addRange(69762,69810).addRange(69815,69816).addRange(69819,69820).addRange(69822,69825).addRange(69840,69864).addRange(69872,69881).addRange(69891,69926).addRange(69942,69959).addRange(69968,70002).addRange(70004,70006).addRange(70018,70069).addRange(70079,70088).addRange(70093,70094).addRange(70096,70111).addRange(70113,70132).addRange(70144,70161).addRange(70163,70190).addRange(70194,70195).addRange(70200,70205).addRange(70272,70278).addRange(70282,70285).addRange(70287,70301).addRange(70303,70313).addRange(70320,70366).addRange(70368,70370).addRange(70384,70393).addRange(70402,70403).addRange(70405,70412).addRange(70415,70416).addRange(70419,70440).addRange(70442,70448).addRange(70450,70451).addRange(70453,70457).addRange(70465,70468).addRange(70471,70472).addRange(70475,70477).addRange(70493,70499).addRange(70656,70711).addRange(70720,70721).addRange(70727,70747).addRange(70751,70753).addRange(70784,70831).addRange(70833,70834).addRange(70843,70844).addRange(70852,70855).addRange(70864,70873),t.addRange(71040,71086).addRange(71088,71089).addRange(71096,71099).addRange(71105,71131).addRange(71168,71218).addRange(71227,71228).addRange(71233,71236).addRange(71248,71257).addRange(71264,71276).addRange(71296,71338).addRange(71342,71343).addRange(71352,71353).addRange(71360,71369).addRange(71424,71450).addRange(71456,71457).addRange(71472,71494).addRange(71680,71726).addRange(71840,71922).addRange(71935,71942).addRange(71948,71955).addRange(71957,71958).addRange(71960,71983).addRange(71985,71989).addRange(71991,71992).addRange(71999,72002).addRange(72004,72006).addRange(72016,72025).addRange(72096,72103).addRange(72106,72147).addRange(72156,72159).addRange(72161,72164).addRange(72203,72242).addRange(72249,72250).addRange(72255,72262).addRange(72279,72280).addRange(72284,72329).addRange(72346,72354).addRange(72368,72440).addRange(72704,72712).addRange(72714,72751).addRange(72768,72773).addRange(72784,72812).addRange(72816,72847).addRange(72960,72966).addRange(72968,72969).addRange(72971,73008).addRange(73040,73049).addRange(73056,73061).addRange(73063,73064).addRange(73066,73102).addRange(73107,73108),t.addRange(73120,73129).addRange(73440,73458).addRange(73461,73464).addRange(73664,73713).addRange(73727,74649).addRange(74752,74862).addRange(74864,74868).addRange(74880,75075).addRange(77712,77810).addRange(77824,78894).addRange(82944,83526).addRange(92160,92728).addRange(92736,92766).addRange(92768,92777).addRange(92782,92862).addRange(92864,92873).addRange(92880,92909).addRange(92928,92975).addRange(92983,92997).addRange(93008,93017).addRange(93019,93025).addRange(93027,93047).addRange(93053,93071).addRange(93760,93850).addRange(93952,94026).addRange(94032,94087).addRange(94099,94111).addRange(94176,94179).addRange(94192,94193).addRange(94208,100343).addRange(100352,101589).addRange(101632,101640).addRange(110576,110579).addRange(110581,110587).addRange(110589,110590).addRange(110592,110882).addRange(110928,110930).addRange(110948,110951).addRange(110960,111355).addRange(113664,113770).addRange(113776,113788).addRange(113792,113800).addRange(113808,113817).addRange(118608,118723).addRange(118784,119029).addRange(119040,119078).addRange(119081,119140).addRange(119146,119149).addRange(119171,119172).addRange(119180,119209).addRange(119214,119274),t.addRange(119296,119361).addRange(119520,119539).addRange(119552,119638).addRange(119648,119672).addRange(119808,119892).addRange(119894,119964).addRange(119966,119967).addRange(119973,119974).addRange(119977,119980).addRange(119982,119993).addRange(119997,120003).addRange(120005,120069).addRange(120071,120074).addRange(120077,120084).addRange(120086,120092).addRange(120094,120121).addRange(120123,120126).addRange(120128,120132).addRange(120138,120144).addRange(120146,120485).addRange(120488,120779).addRange(120782,121343).addRange(121399,121402).addRange(121453,121460).addRange(121462,121475).addRange(121477,121483).addRange(122624,122654).addRange(123136,123180).addRange(123191,123197).addRange(123200,123209).addRange(123214,123215).addRange(123536,123565).addRange(123584,123627).addRange(123632,123641).addRange(124896,124902).addRange(124904,124907).addRange(124909,124910).addRange(124912,124926).addRange(124928,125124).addRange(125127,125135).addRange(125184,125251).addRange(125264,125273).addRange(125278,125279).addRange(126065,126132).addRange(126209,126269).addRange(126464,126467).addRange(126469,126495).addRange(126497,126498).addRange(126505,126514).addRange(126516,126519).addRange(126541,126543),t.addRange(126545,126546).addRange(126561,126562).addRange(126567,126570).addRange(126572,126578).addRange(126580,126583).addRange(126585,126588).addRange(126592,126601).addRange(126603,126619).addRange(126625,126627).addRange(126629,126633).addRange(126635,126651).addRange(126704,126705).addRange(126976,127019).addRange(127024,127123).addRange(127136,127150).addRange(127153,127167).addRange(127169,127183).addRange(127185,127221).addRange(127232,127405).addRange(127462,127490).addRange(127504,127547).addRange(127552,127560).addRange(127568,127569).addRange(127584,127589).addRange(127744,128727).addRange(128733,128748).addRange(128752,128764).addRange(128768,128883).addRange(128896,128984).addRange(128992,129003).addRange(129024,129035).addRange(129040,129095).addRange(129104,129113).addRange(129120,129159).addRange(129168,129197).addRange(129200,129201).addRange(129280,129619).addRange(129632,129645).addRange(129648,129652).addRange(129656,129660).addRange(129664,129670).addRange(129680,129708).addRange(129712,129722).addRange(129728,129733).addRange(129744,129753).addRange(129760,129767).addRange(129776,129782).addRange(129792,129938).addRange(129940,129994).addRange(130032,130041).addRange(131072,173791),t.addRange(173824,177976).addRange(177984,178205).addRange(178208,183969).addRange(183984,191456).addRange(194560,195101).addRange(196608,201546),e.exports=t},ojjd:function(e,a,n){const t=n("dVj6")();t.addRange(70784,70855).addRange(70864,70873),e.exports=t},olBg:function(e,a,n){const t=n("dVj6")(2768);t.addRange(2385,2386).addRange(2404,2405).addRange(2689,2691).addRange(2693,2701).addRange(2703,2705).addRange(2707,2728).addRange(2730,2736).addRange(2738,2739).addRange(2741,2745).addRange(2748,2757).addRange(2759,2761).addRange(2763,2765).addRange(2784,2787).addRange(2790,2801).addRange(2809,2815).addRange(43056,43065),e.exports=t},oml3:function(e,a,n){const t=n("dVj6")();t.addRange(69376,69415),e.exports=t},or5M:function(e,a,n){var t=n("1hJj"),d=n("QoRX"),r=n("xYSL");e.exports=function(e,a,n,o,i,s){var g=1&n,c=e.length,u=a.length;if(c!=u&&!(g&&u>c))return!1;var l=s.get(e),R=s.get(a);if(l&&R)return l==a&&R==e;var p=-1,f=!0,h=2&n?new t:void 0;for(s.set(e,a),s.set(a,e);++p{let{title:a,children:n}=e;return Object(t.d)("div",{css:d},Object(t.d)("h3",{css:r},a),n)};var i={name:"g7yz65",styles:"display:flex;flex-direction:row;width:100%;flex-wrap:wrap;margin-left:-2em;margin-bottom:2em;"};const s=e=>{let{elems:a}=e;return Object(t.d)("div",{css:i},Object.keys(a).map(e=>Object(t.d)(o,{key:e,title:e},a[e])))};void 0!==s&&s&&s===Object(s)&&Object.isExtensible(s)&&!Object.prototype.hasOwnProperty.call(s,"__filemeta")&&Object.defineProperty(s,"__filemeta",{configurable:!0,value:{name:"Highlights",filename:"docs/home.js"}}),void 0!==s&&s&&s===Object(s)&&Object.isExtensible(s)&&!Object.prototype.hasOwnProperty.call(s,"__filemeta")&&Object.defineProperty(s,"__filemeta",{configurable:!0,value:{name:"Highlights",filename:"docs/home.js"}})},"otv/":function(e,a,n){var t=n("nmnc"),d=t?t.prototype:void 0,r=d?d.valueOf:void 0;e.exports=function(e){return r?Object(r.call(e)):{}}},owBG:function(e,a,n){const t=n("dVj6")(43,124,126,172,177,215,247,1014,8260,8274,8472,8523,8608,8611,8614,8622,8658,8660,9084,9655,9665,9839,64297,65122,65291,65372,65374,65506,120513,120539,120571,120597,120629,120655,120687,120713,120745,120771);t.addRange(60,62).addRange(1542,1544).addRange(8314,8316).addRange(8330,8332).addRange(8512,8516).addRange(8592,8596).addRange(8602,8603).addRange(8654,8655).addRange(8692,8959).addRange(8992,8993).addRange(9115,9139).addRange(9180,9185).addRange(9720,9727).addRange(10176,10180).addRange(10183,10213).addRange(10224,10239).addRange(10496,10626).addRange(10649,10711).addRange(10716,10747).addRange(10750,11007).addRange(11056,11076).addRange(11079,11084).addRange(65124,65126).addRange(65308,65310).addRange(65513,65516).addRange(126704,126705),e.exports=t},owni:function(e,a,n){const t=n("dVj6")();t.addRange(6528,6571).addRange(6576,6601).addRange(6608,6618).addRange(6622,6623),e.exports=t},oxjq:function(e,a,n){"use strict";var t=/[|\\{}()[\]^$+*?.]/g;e.exports=function(e){if("string"!=typeof e)throw new TypeError("Expected a string");return e.replace(t,"\\$&")}},"p+Yj":function(e,a,n){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.codeRenderer=o,a.default=function(e,a){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=new t.default.Renderer;function i(e,a){for(var n=e.children;;){if(!n.length||n[n.length-1].level===a)return n;n=n[n.length-1].children}}function s(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",n=a.split(/(\{\{.*?\}\})/),t=n.map((function(a){var n=a.match(/\{\{(.*)\}\}/);return n?(e.tree.splice(e.tree.indexOf(e.elements[n[1]]),1),e.elements[n[1]]):""!==a?d.default.decode(a):null}));return t}function g(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},d=arguments.length>2?arguments[2]:void 0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:n,o=e.nextElementId++,i=null,g=a.elements&&a.elements[r];return d&&(i=Array.isArray(d)?d.map(s):s(d)),e.elements[o]=a.createElement(g||n,Object.assign({key:o},t,g?{context:e.context}:{}),i),e.tree.push(e.elements[o]),"{{".concat(o,"}}")}return r.code=n.code||o(e,a),r.html=n.html||function(n){var t=e.nextElementId++;e.tree.push(a.createElement("div",{key:t,dangerouslySetInnerHTML:{__html:n}}))},r.paragraph=n.paragraph||function(e){return g("p",null,e)},r.blockquote=n.blockquote||function(e){return g("blockquote",null,e)},r.link=n.link||function(e,a,n){return g("a",{href:e,title:a},n)},r.br=n.br||function(){return g("br")},r.hr=n.hr||function(){return g("hr")},r.strong=n.strong||function(e){return g("strong",null,e)},r.del=n.del||function(e){return g("del",null,e)},r.em=n.em||function(e){return g("em",null,e)},r.heading=n.heading||function(a,n){e.currentId=e.currentId.slice(0,n-1),e.currentId.push(a.replace(/\s/g,"-").toLowerCase());var t=e.currentId.join("-"),d=e.toc[e.toc.length-1];!d||d.level>n?e.toc.push({id:t,title:a,level:n,children:[]}):i(d,n).push({id:t,title:a,level:n,children:[]});return g("h".concat(n),{id:t},a)},r.list=n.list||function(e,a){return g(a?"ol":"ul",null,e)},r.listitem=n.listitem||function(e){return g("li",null,e)},r.table=n.table||function(e,a){return g("table",null,[g("thead",null,e),g("tbody",null,a)])},r.thead=n.thead||function(e){return g("thead",null,e)},r.tbody=n.tbody||function(e){return g("tbody",null,e)},r.tablerow=n.tablerow||function(e){return g("tr",null,e)},r.tablecell=n.tablecell||function(e,a){return g(a.header?"th":"td",{className:a.align?"text-".concat(a.align):void 0},e)},r.codespan=n.codespan||function(e){return g("code",null,e,"codespan")},r.image=n.image||function(e,a,n){return g("img",{src:e,alt:n})},r};var t=r(n("DlQD")),d=r(n("ktc5"));function r(e){return e&&e.__esModule?e:{default:e}}function o(e,a){function n(e){var n;try{n=a.createElement("code",{className:"language-".concat(e.language),dangerouslySetInnerHTML:a.highlight?{__html:a.highlight(e.language,e.code)}:null},a.highlight?null:e.code)}catch(t){console.warn("".concat(e.language," is not supported by your defined highlighter.")),n=a.createElement("code",null,e.code)}return a.createElement("pre",null,n)}return function(t,d){var r=e.nextElementId++;return e.elements[r]=a.createElement(a.elements&&a.elements.code||n,{key:r,code:t,language:d}),e.tree.push(e.elements[r]),"{{".concat(r,"}}")}}},p1v9:function(e,a,n){const t=n("dVj6")(73018);t.addRange(72960,72966).addRange(72968,72969).addRange(72971,73014).addRange(73020,73021).addRange(73023,73031).addRange(73040,73049),e.exports=t},p6v3:function(e,a,n){const t=n("dVj6")(4295,4301,11559,11565);t.addRange(4256,4293).addRange(4304,4351).addRange(7312,7354).addRange(7357,7359).addRange(11520,11557),e.exports=t},pFRH:function(e,a,n){var t=n("cvCv"),d=n("O0oS"),r=n("zZ0H"),o=d?function(e,a){return d(e,"toString",{configurable:!0,enumerable:!1,value:t(a),writable:!0})}:r;e.exports=o},pLr0:function(e,a,n){const t=n("dVj6")(32,133);t.addRange(9,13).addRange(8206,8207).addRange(8232,8233),e.exports=t},pNPk:function(e,a,n){"use strict";const t=n("IAl6").generate,d=n("JfBC").parse,r=n("dVj6"),o=n("s7ZY"),i=n("orRV"),s=n("15JJ"),g=n("RDjL"),c=r().addRange(0,1114111),u=(r().addRange(0,65535),c.clone().remove(10,13,8232,8233)),l=(e,a,n)=>a?n?g.UNICODE_IGNORE_CASE.get(e):g.UNICODE.get(e):g.REGULAR.get(e),R=(e,a)=>{const t=a?"".concat(e,"/").concat(a):"Binary_Property/".concat(e);try{return n("PML8")("./".concat(t,".js"))}catch(d){throw new Error("Failed to recognize value `".concat(a,"` for property ")+"`".concat(e,"`."))}},p=(e,a)=>{const n=e.split("="),t=n[0];let d;if(1==n.length)d=(e=>{try{const a="General_Category",n=i(a,e);return R(a,n)}catch(n){}const a=o(e);return R(a)})(t);else{const e=o(t),a=i(e,n[1]);d=R(e,a)}return a?c.clone().remove(d):d.clone()};r.prototype.iuAddRange=function(e,a){const n=this;do{const a=m(e);a&&n.add(a)}while(++e<=a);return n};const f=(e,a)=>{let n=d(a,v.useUnicodeFlag?"u":"");switch(n.type){case"characterClass":case"group":case"value":break;default:n=h(n,a)}Object.assign(e,n)},h=(e,a)=>({type:"group",behavior:"ignore",body:[e],raw:"(?:".concat(a,")")}),m=e=>s.get(e)||!1,b=(e,a)=>{delete e.name,e.matchIndex=a},y=(e,a,n)=>{switch(e.type){case"dot":if(v.useDotAllFlag)break;v.unicode?f(e,(t=v.dotAll,t?c:u).toString(a)):v.dotAll&&f(e,"[\\s\\S]");break;case"characterClass":e=((e,a)=>{const n=r();for(const t of e.body)switch(t.type){case"value":if(n.add(t.codePoint),v.ignoreCase&&v.unicode&&!v.useUnicodeFlag){const e=m(t.codePoint);e&&n.add(e)}break;case"characterClassRange":const e=t.min.codePoint,a=t.max.codePoint;n.addRange(e,a),v.ignoreCase&&v.unicode&&!v.useUnicodeFlag&&n.iuAddRange(e,a);break;case"characterClassEscape":n.add(l(t.value,v.unicode,v.ignoreCase));break;case"unicodePropertyEscape":n.add(p(t.value,t.negative));break;default:throw new Error("Unknown term type: ".concat(t.type))}return e.negative?f(e,"(?!".concat(n.toString(a),")[\\s\\S]")):f(e,n.toString(a)),e})(e,a);break;case"unicodePropertyEscape":v.unicodePropertyEscape&&f(e,p(e.value,e.negative).toString(a));break;case"characterClassEscape":f(e,l(e.value,v.unicode,v.ignoreCase).toString(a));break;case"group":if("normal"==e.behavior&&n.lastIndex++,e.name&&v.namedGroup){const a=e.name.value;if(n.names[a])throw new Error("Multiple groups with the same name (".concat(a,") are not allowed."));const t=n.lastIndex;delete e.name,n.names[a]=t,n.onNamedGroup&&n.onNamedGroup.call(null,a,t),n.unmatchedReferences[a]&&(n.unmatchedReferences[a].forEach(e=>{b(e,t)}),delete n.unmatchedReferences[a])}case"alternative":case"disjunction":case"quantifier":e.body=e.body.map(e=>y(e,a,n));break;case"value":const d=e.codePoint,o=r(d);if(v.ignoreCase&&v.unicode&&!v.useUnicodeFlag){const e=m(d);e&&o.add(e)}f(e,o.toString(a));break;case"reference":if(e.name){const a=e.name.value,t=n.names[a];if(t){b(e,t);break}n.unmatchedReferences[a]||(n.unmatchedReferences[a]=[]),n.unmatchedReferences[a].push(e)}break;case"anchor":case"empty":case"group":break;default:throw new Error("Unknown term type: ".concat(e.type))}var t;return e},v={ignoreCase:!1,unicode:!1,dotAll:!1,useDotAllFlag:!1,useUnicodeFlag:!1,unicodePropertyEscape:!1,namedGroup:!1};e.exports=(e,a,n)=>{v.unicode=a&&a.includes("u");const r={unicodePropertyEscape:v.unicode,namedGroups:!0,lookbehind:n&&n.lookbehind};v.ignoreCase=a&&a.includes("i");const o=n&&n.dotAllFlag;if(v.dotAll=o&&a&&a.includes("s"),v.namedGroup=n&&n.namedGroup,v.useDotAllFlag=n&&n.useDotAllFlag,v.useUnicodeFlag=n&&n.useUnicodeFlag,v.unicodePropertyEscape=n&&n.unicodePropertyEscape,o&&v.useDotAllFlag)throw new Error("`useDotAllFlag` and `dotAllFlag` cannot both be true!");const i={hasUnicodeFlag:v.useUnicodeFlag,bmpOnly:!v.unicode},s={onNamedGroup:n&&n.onNamedGroup,lastIndex:0,names:Object.create(null),unmatchedReferences:Object.create(null)},g=d(e,a,r);return y(g,i,s),(e=>{const a=Object.keys(e.unmatchedReferences);if(a.length>0)throw new Error("Unknown group names: ".concat(a))})(s),t(g)}},pPeY:function(e,a,n){const t=n("dVj6")();t.addRange(2048,2093).addRange(2096,2110),e.exports=t},pSRY:function(e,a,n){var t=n("QkVE");e.exports=function(e){return t(this,e).has(e)}},pVnL:function(e,a){function n(){return e.exports=n=Object.assign?Object.assign.bind():function(e){for(var a=1;at&&(t=(a=a.trim()).charCodeAt(0)),t){case 38:return a.replace(f,"$1"+e.trim());case 58:return e.trim()+a.replace(f,"$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-"+(102i.charCodeAt(0)&&(i=i.trim()),i=[i],0R)&&(M=(V=V.replace(" ",":")).length),0=4;++t,d-=4)a=1540483477*(65535&(a=255&e.charCodeAt(t)|(255&e.charCodeAt(++t))<<8|(255&e.charCodeAt(++t))<<16|(255&e.charCodeAt(++t))<<24))+(59797*(a>>>16)<<16),n=1540483477*(65535&(a^=a>>>24))+(59797*(a>>>16)<<16)^1540483477*(65535&n)+(59797*(n>>>16)<<16);switch(d){case 3:n^=(255&e.charCodeAt(t+2))<<16;case 2:n^=(255&e.charCodeAt(t+1))<<8;case 1:n=1540483477*(65535&(n^=255&e.charCodeAt(t)))+(59797*(n>>>16)<<16)}return(((n=1540483477*(65535&(n^=n>>>13))+(59797*(n>>>16)<<16))^n>>>15)>>>0).toString(36)},p={animationIterationCount:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1};var f=/[A-Z]|^ms/g,h=/_EMO_([^_]+?)_([^]*?)_EMO_/g,m=function(e){return 45===e.charCodeAt(1)},b=function(e){return null!=e&&"boolean"!=typeof e},y=function(e){var a={};return function(n){return void 0===a[n]&&(a[n]=e(n)),a[n]}}((function(e){return m(e)?e:e.replace(f,"-$&").toLowerCase()})),v=function(e,a){switch(e){case"animation":case"animationName":if("string"==typeof a)return a.replace(h,(function(e,a,n){return O={name:a,styles:n,next:O},a}))}return 1===p[e]||m(e)||"number"!=typeof a||0===a?a:a+"px"};function j(e,a,n,t){if(null==n)return"";if(void 0!==n.__emotion_styles)return n;switch(typeof n){case"boolean":return"";case"object":if(1===n.anim)return O={name:n.name,styles:n.styles,next:O},n.name;if(void 0!==n.styles){var d=n.next;if(void 0!==d)for(;void 0!==d;)O={name:d.name,styles:d.styles,next:O},d=d.next;return n.styles+";"}return function(e,a,n){var t="";if(Array.isArray(n))for(var d=0;d0;)e[t]=e[--t];t!==r++&&(e[t]=n)}return e},i=function(e,a,n,t){for(var d=a.length,r=n.length,o=0,i=0;o=0||(d[n]=e[n]);return d}var m={BASE:"base",BODY:"body",HEAD:"head",HTML:"html",LINK:"link",META:"meta",NOSCRIPT:"noscript",SCRIPT:"script",STYLE:"style",TITLE:"title",FRAGMENT:"Symbol(react.fragment)"},b={rel:["amphtml","canonical","alternate"]},y={type:["application/ld+json"]},v={charset:"",name:["robots","description"],property:["og:type","og:title","og:url","og:image","og:image:alt","og:description","twitter:url","twitter:title","twitter:description","twitter:image","twitter:image:alt","twitter:card","twitter:site"]},j=Object.keys(m).map((function(e){return m[e]})),O={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},_=Object.keys(O).reduce((function(e,a){return e[O[a]]=a,e}),{}),x=function(e,a){for(var n=e.length-1;n>=0;n-=1){var t=e[n];if(Object.prototype.hasOwnProperty.call(t,a))return t[a]}return null},w=function(e){var a=x(e,m.TITLE),n=x(e,"titleTemplate");if(Array.isArray(a)&&(a=a.join("")),n&&a)return n.replace(/%s/g,(function(){return a}));var t=x(e,"defaultTitle");return a||t||void 0},E=function(e){return x(e,"onChangeClientState")||function(){}},k=function(e,a){return a.filter((function(a){return void 0!==a[e]})).map((function(a){return a[e]})).reduce((function(e,a){return R({},e,a)}),{})},S=function(e,a){return a.filter((function(e){return void 0!==e[m.BASE]})).map((function(e){return e[m.BASE]})).reverse().reduce((function(a,n){if(!a.length)for(var t=Object.keys(n),d=0;d/g,">").replace(/"/g,""").replace(/'/g,"'")},B=function(e){return Object.keys(e).reduce((function(a,n){var t=void 0!==e[n]?n+'="'+e[n]+'"':""+n;return a?a+" "+t:t}),"")},N=function(e,a){return void 0===a&&(a={}),Object.keys(e).reduce((function(a,n){return a[O[n]||n]=e[n],a}),a)},I=function(e,a){return a.map((function(a,n){var t,r=((t={key:n})["data-rh"]=!0,t);return Object.keys(a).forEach((function(e){var n=O[e]||e;"innerHTML"===n||"cssText"===n?r.dangerouslySetInnerHTML={__html:a.innerHTML||a.cssText}:r[n]=a[e]})),d.a.createElement(e,r)}))},M=function(e,a,n){switch(e){case m.TITLE:return{toComponent:function(){return n=a.titleAttributes,(t={key:e=a.title})["data-rh"]=!0,r=N(n,t),[d.a.createElement(m.TITLE,r,e)];var e,n,t,r},toString:function(){return function(e,a,n,t){var d=B(n),r=C(a);return d?"<"+e+' data-rh="true" '+d+">"+L(r,t)+"":"<"+e+' data-rh="true">'+L(r,t)+""}(e,a.title,a.titleAttributes,n)}};case"bodyAttributes":case"htmlAttributes":return{toComponent:function(){return N(a)},toString:function(){return B(a)}};default:return{toComponent:function(){return I(e,a)},toString:function(){return function(e,a,n){return a.reduce((function(a,t){var d=Object.keys(t).filter((function(e){return!("innerHTML"===e||"cssText"===e)})).reduce((function(e,a){var d=void 0===t[a]?a:a+'="'+L(t[a],n)+'"';return e?e+" "+d:d}),""),r=t.innerHTML||t.cssText||"",o=-1===T.indexOf(e);return a+"<"+e+' data-rh="true" '+d+(o?"/>":">"+r+"")}),"")}(e,a,n)}}}},z=function(e){var a=e.baseTag,n=e.bodyAttributes,t=e.encode,d=e.htmlAttributes,r=e.noscriptTags,o=e.styleTags,i=e.title,s=void 0===i?"":i,g=e.titleAttributes,c=e.linkTags,u=e.metaTags,l=e.scriptTags,R={toComponent:function(){},toString:function(){return""}};if(e.prioritizeSeoTags){var p=function(e){var a=e.linkTags,n=e.scriptTags,t=e.encode,d=P(e.metaTags,v),r=P(a,b),o=P(n,y);return{priorityMethods:{toComponent:function(){return[].concat(I(m.META,d.priority),I(m.LINK,r.priority),I(m.SCRIPT,o.priority))},toString:function(){return M(m.META,d.priority,t)+" "+M(m.LINK,r.priority,t)+" "+M(m.SCRIPT,o.priority,t)}},metaTags:d.default,linkTags:r.default,scriptTags:o.default}}(e);R=p.priorityMethods,c=p.linkTags,u=p.metaTags,l=p.scriptTags}return{priority:R,base:M(m.BASE,a,t),bodyAttributes:M("bodyAttributes",n,t),htmlAttributes:M("htmlAttributes",d,t),link:M(m.LINK,c,t),meta:M(m.META,u,t),noscript:M(m.NOSCRIPT,r,t),script:M(m.SCRIPT,l,t),style:M(m.STYLE,o,t),title:M(m.TITLE,{title:s,titleAttributes:g},t)}},q=[],V=function(e,a){var n=this;void 0===a&&(a="undefined"!=typeof document),this.instances=[],this.value={setHelmet:function(e){n.context.helmet=e},helmetInstances:{get:function(){return n.canUseDOM?q:n.instances},add:function(e){(n.canUseDOM?q:n.instances).push(e)},remove:function(e){var a=(n.canUseDOM?q:n.instances).indexOf(e);(n.canUseDOM?q:n.instances).splice(a,1)}}},this.context=e,this.canUseDOM=a,a||(e.helmet=z({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}}))},U=d.a.createContext({}),G=o.a.shape({setHelmet:o.a.func,helmetInstances:o.a.shape({get:o.a.func,add:o.a.func,remove:o.a.func})}),H="undefined"!=typeof document,W=function(e){function a(n){var t;return(t=e.call(this,n)||this).helmetData=new V(t.props.context,a.canUseDOM),t}return p(a,e),a.prototype.render=function(){return d.a.createElement(U.Provider,{value:this.helmetData.value},this.props.children)},a}(t.Component);W.canUseDOM=H,W.propTypes={context:o.a.shape({helmet:o.a.shape()}),children:o.a.node.isRequired},W.defaultProps={context:{}},W.displayName="HelmetProvider";var K=function(e,a){var n,t=document.head||document.querySelector(m.HEAD),d=t.querySelectorAll(e+"[data-rh]"),r=[].slice.call(d),o=[];return a&&a.length&&a.forEach((function(a){var t=document.createElement(e);for(var d in a)Object.prototype.hasOwnProperty.call(a,d)&&("innerHTML"===d?t.innerHTML=a.innerHTML:"cssText"===d?t.styleSheet?t.styleSheet.cssText=a.cssText:t.appendChild(document.createTextNode(a.cssText)):t.setAttribute(d,void 0===a[d]?"":a[d]));t.setAttribute("data-rh","true"),r.some((function(e,a){return n=a,t.isEqualNode(e)}))?r.splice(n,1):o.push(t)})),r.forEach((function(e){return e.parentNode.removeChild(e)})),o.forEach((function(e){return t.appendChild(e)})),{oldTags:r,newTags:o}},Y=function(e,a){var n=document.getElementsByTagName(e)[0];if(n){for(var t=n.getAttribute("data-rh"),d=t?t.split(","):[],r=[].concat(d),o=Object.keys(a),i=0;i=0;u-=1)n.removeAttribute(r[u]);d.length===r.length?n.removeAttribute("data-rh"):n.getAttribute("data-rh")!==o.join(",")&&n.setAttribute("data-rh",o.join(","))}},Z=function(e,a){var n=e.baseTag,t=e.htmlAttributes,d=e.linkTags,r=e.metaTags,o=e.noscriptTags,i=e.onChangeClientState,s=e.scriptTags,g=e.styleTags,c=e.title,u=e.titleAttributes;Y(m.BODY,e.bodyAttributes),Y(m.HTML,t),function(e,a){void 0!==e&&document.title!==e&&(document.title=C(e)),Y(m.TITLE,a)}(c,u);var l={baseTag:K(m.BASE,n),linkTags:K(m.LINK,d),metaTags:K(m.META,r),noscriptTags:K(m.NOSCRIPT,o),scriptTags:K(m.SCRIPT,s),styleTags:K(m.STYLE,g)},R={},p={};Object.keys(l).forEach((function(e){var a=l[e],n=a.newTags,t=a.oldTags;n.length&&(R[e]=n),t.length&&(p[e]=l[e].oldTags)})),a&&a(),i(e,R,p)},$=null,X=function(e){function a(){for(var a,n=arguments.length,t=new Array(n),d=0;d elements are self-closing and can not contain children. Refer to our API for more information.")}},n.flattenArrayTypeChildren=function(e){var a,n=e.child,t=e.arrayTypeChildren;return R({},t,((a={})[n.type]=[].concat(t[n.type]||[],[R({},e.newChildProps,this.mapNestedChildrenToProps(n,e.nestedChildren))]),a))},n.mapObjectTypeChildren=function(e){var a,n,t=e.child,d=e.newProps,r=e.newChildProps,o=e.nestedChildren;switch(t.type){case m.TITLE:return R({},d,((a={})[t.type]=o,a.titleAttributes=R({},r),a));case m.BODY:return R({},d,{bodyAttributes:R({},r)});case m.HTML:return R({},d,{htmlAttributes:R({},r)});default:return R({},d,((n={})[t.type]=R({},r),n))}},n.mapArrayTypeChildrenToProps=function(e,a){var n=R({},a);return Object.keys(e).forEach((function(a){var t;n=R({},n,((t={})[a]=e[a],t))})),n},n.warnOnInvalidChildren=function(e,a){return c()(j.some((function(a){return e.type===a})),"function"==typeof e.type?"You may be attempting to nest components within each other, which is not allowed. Refer to our API for more information.":"Only elements types "+j.join(", ")+" are allowed. Helmet does not support rendering <"+e.type+"> elements. Refer to our API for more information."),c()(!a||"string"==typeof a||Array.isArray(a)&&!a.some((function(e){return"string"!=typeof e})),"Helmet expects a string as a child of <"+e.type+">. Did you forget to wrap your children in braces? ( <"+e.type+">{``} ) Refer to our API for more information."),!0},n.mapChildrenToProps=function(e,a){var n=this,t={};return d.a.Children.forEach(e,(function(e){if(e&&e.props){var d=e.props,r=d.children,o=h(d,Q),i=Object.keys(o).reduce((function(e,a){return e[_[a]||a]=o[a],e}),{}),s=e.type;switch("symbol"==typeof s?s=s.toString():n.warnOnInvalidChildren(e,r),s){case m.FRAGMENT:a=n.mapChildrenToProps(r,a);break;case m.LINK:case m.META:case m.NOSCRIPT:case m.SCRIPT:case m.STYLE:t=n.flattenArrayTypeChildren({child:e,arrayTypeChildren:t,newChildProps:i,nestedChildren:r});break;default:a=n.mapObjectTypeChildren({child:e,newProps:a,newChildProps:i,nestedChildren:r})}}})),this.mapArrayTypeChildrenToProps(t,a)},n.render=function(){var e=this.props,a=e.children,n=h(e,J),t=R({},n),r=n.helmetData;return a&&(t=this.mapChildrenToProps(a,t)),!r||r instanceof V||(r=new V(r.context,r.instances)),r?d.a.createElement(X,R({},t,{context:r.value,helmetData:void 0})):d.a.createElement(U.Consumer,null,(function(e){return d.a.createElement(X,R({},t,{context:e}))}))},a}(t.Component);ee.propTypes={base:o.a.object,bodyAttributes:o.a.object,children:o.a.oneOfType([o.a.arrayOf(o.a.node),o.a.node]),defaultTitle:o.a.string,defer:o.a.bool,encodeSpecialCharacters:o.a.bool,htmlAttributes:o.a.object,link:o.a.arrayOf(o.a.object),meta:o.a.arrayOf(o.a.object),noscript:o.a.arrayOf(o.a.object),onChangeClientState:o.a.func,script:o.a.arrayOf(o.a.object),style:o.a.arrayOf(o.a.object),title:o.a.string,titleAttributes:o.a.object,titleTemplate:o.a.string,prioritizeSeoTags:o.a.bool,helmetData:o.a.object},ee.defaultProps={defer:!0,encodeSpecialCharacters:!0,prioritizeSeoTags:!1},ee.displayName="Helmet"},rlJZ:function(e,a,n){var t=n("JBh7");e.exports=t},rqE6:function(e,a,n){const t=n("dVj6")(256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308,310,313,315,317,319,321,323,325,327,330,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,379,381,388,418,420,425,428,437,444,452,455,458,461,463,465,467,469,471,473,475,478,480,482,484,486,488,490,492,494,497,500,506,508,510,512,514,516,518,520,522,524,526,528,530,532,534,536,538,540,542,544,546,548,550,552,554,556,558,560,562,577,584,586,588,590,880,882,886,895,902,908,975,984,986,988,990,992,994,996,998,1e3,1002,1004,1006,1012,1015,1120,1122,1124,1126,1128,1130,1132,1134,1136,1138,1140,1142,1144,1146,1148,1150,1152,1162,1164,1166,1168,1170,1172,1174,1176,1178,1180,1182,1184,1186,1188,1190,1192,1194,1196,1198,1200,1202,1204,1206,1208,1210,1212,1214,1219,1221,1223,1225,1227,1229,1232,1234,1236,1238,1240,1242,1244,1246,1248,1250,1252,1254,1256,1258,1260,1262,1264,1266,1268,1270,1272,1274,1276,1278,1280,1282,1284,1286,1288,1290,1292,1294,1296,1298,1300,1302,1304,1306,1308,1310,1312,1314,1316,1318,1320,1322,1324,1326,4295,4301,7680,7682,7684,7686,7688,7690,7692,7694,7696,7698,7700,7702,7704,7706,7708,7710,7712,7714,7716,7718,7720,7722,7724,7726,7728,7730,7732,7734,7736,7738,7740,7742,7744,7746,7748,7750,7752,7754,7756,7758,7760,7762,7764,7766,7768,7770,7772,7774,7776,7778,7780,7782,7784,7786,7788,7790,7792,7794,7796,7798,7800,7802,7804,7806,7808,7810,7812,7814,7816,7818,7820,7822,7824,7826,7828,7838,7840,7842,7844,7846,7848,7850,7852,7854,7856,7858,7860,7862,7864,7866,7868,7870,7872,7874,7876,7878,7880,7882,7884,7886,7888,7890,7892,7894,7896,7898,7900,7902,7904,7906,7908,7910,7912,7914,7916,7918,7920,7922,7924,7926,7928,7930,7932,7934,8025,8027,8029,8031,8450,8455,8469,8484,8486,8488,8517,8579,11360,11367,11369,11371,11378,11381,11394,11396,11398,11400,11402,11404,11406,11408,11410,11412,11414,11416,11418,11420,11422,11424,11426,11428,11430,11432,11434,11436,11438,11440,11442,11444,11446,11448,11450,11452,11454,11456,11458,11460,11462,11464,11466,11468,11470,11472,11474,11476,11478,11480,11482,11484,11486,11488,11490,11499,11501,11506,42560,42562,42564,42566,42568,42570,42572,42574,42576,42578,42580,42582,42584,42586,42588,42590,42592,42594,42596,42598,42600,42602,42604,42624,42626,42628,42630,42632,42634,42636,42638,42640,42642,42644,42646,42648,42650,42786,42788,42790,42792,42794,42796,42798,42802,42804,42806,42808,42810,42812,42814,42816,42818,42820,42822,42824,42826,42828,42830,42832,42834,42836,42838,42840,42842,42844,42846,42848,42850,42852,42854,42856,42858,42860,42862,42873,42875,42880,42882,42884,42886,42891,42893,42896,42898,42902,42904,42906,42908,42910,42912,42914,42916,42918,42920,42934,42936,42938,42940,42942,42944,42946,42953,42960,42966,42968,42997,119964,119970,120134,120778);t.addRange(65,90).addRange(192,214).addRange(216,222).addRange(376,377).addRange(385,386).addRange(390,391).addRange(393,395).addRange(398,401).addRange(403,404).addRange(406,408).addRange(412,413).addRange(415,416).addRange(422,423).addRange(430,431).addRange(433,435).addRange(439,440).addRange(502,504).addRange(570,571).addRange(573,574).addRange(579,582).addRange(904,906).addRange(910,911).addRange(913,929).addRange(931,939).addRange(978,980).addRange(1017,1018).addRange(1021,1071).addRange(1216,1217).addRange(1329,1366).addRange(4256,4293).addRange(5024,5109).addRange(7312,7354).addRange(7357,7359).addRange(7944,7951).addRange(7960,7965).addRange(7976,7983).addRange(7992,7999).addRange(8008,8013).addRange(8040,8047).addRange(8120,8123).addRange(8136,8139).addRange(8152,8155).addRange(8168,8172).addRange(8184,8187).addRange(8459,8461).addRange(8464,8466).addRange(8473,8477).addRange(8490,8493).addRange(8496,8499).addRange(8510,8511).addRange(11264,11311),t.addRange(11362,11364).addRange(11373,11376).addRange(11390,11392).addRange(42877,42878).addRange(42922,42926).addRange(42928,42932).addRange(42948,42951).addRange(65313,65338).addRange(66560,66599).addRange(66736,66771).addRange(66928,66938).addRange(66940,66954).addRange(66956,66962).addRange(66964,66965).addRange(68736,68786).addRange(71840,71871).addRange(93760,93791).addRange(119808,119833).addRange(119860,119885).addRange(119912,119937).addRange(119966,119967).addRange(119973,119974).addRange(119977,119980).addRange(119982,119989).addRange(120016,120041).addRange(120068,120069).addRange(120071,120074).addRange(120077,120084).addRange(120086,120092).addRange(120120,120121).addRange(120123,120126).addRange(120128,120132).addRange(120138,120144).addRange(120172,120197).addRange(120224,120249).addRange(120276,120301).addRange(120328,120353).addRange(120380,120405).addRange(120432,120457).addRange(120488,120512).addRange(120546,120570).addRange(120604,120628).addRange(120662,120686).addRange(120720,120744).addRange(125184,125217),e.exports=t},rtlb:function(e,a,n){var t=n("g6v/"),d=n("0Dky");e.exports=t&&d((function(){return 42!=Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype}))},rzlk:function(e,a,n){"use strict";n.r(a);var t=n("rePB"),d=n("q1tI"),r=n.n(d),o=n("emEt"),i=n("IOVJ");function s(e,a){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),n.push.apply(n,t)}return n}a.default=e=>{let{location:a}=e;const n=o.default.loadPageSync(a.pathname);return n?r.a.createElement(i.a,function(e){for(var a=1;a=a||n<0||h&&e-p>=c}function j(){var e=d();if(v(e))return O(e);l=setTimeout(j,function(e){var n=a-(e-R);return h?i(n,c-(e-p)):n}(e))}function O(e){return l=void 0,m&&s?b(e):(s=g=void 0,u)}function _(){var e=d(),n=v(e);if(s=arguments,g=this,R=e,n){if(void 0===l)return y(R);if(h)return clearTimeout(l),l=setTimeout(j,a),b(R)}return void 0===l&&(l=setTimeout(j,a)),u}return a=r(a)||0,t(n)&&(f=!!n.leading,c=(h="maxWait"in n)?o(r(n.maxWait)||0,a):c,m="trailing"in n?!!n.trailing:m),_.cancel=function(){void 0!==l&&clearTimeout(l),p=0,s=R=g=l=void 0},_.flush=function(){return void 0===l?u:O(d())},_}},sI65:function(e,a,n){const t=n("dVj6")();t.addRange(5984,5996).addRange(5998,6e3).addRange(6002,6003),e.exports=t},sMr2:function(e,a,n){const t=n("dVj6")(67871);t.addRange(67840,67867),e.exports=t},sR9r:function(e,a,n){const t=n("dVj6")(7376,7378,7386,7410,7412);t.addRange(2385,2386).addRange(2404,2405).addRange(3200,3212).addRange(3214,3216).addRange(3218,3240).addRange(3242,3251).addRange(3253,3257).addRange(3260,3268).addRange(3270,3272).addRange(3274,3277).addRange(3285,3286).addRange(3293,3294).addRange(3296,3299).addRange(3302,3311).addRange(3313,3314).addRange(43056,43061),e.exports=t},sUPn:function(e,a,n){"use strict";n.r(a),n.d(a,"_frontmatter",(function(){return s})),n.d(a,"default",(function(){return u}));var t=n("wx14"),d=n("Ff2n"),r=(n("q1tI"),n("7ljp")),o=n("hhGP");n("qKvR");const i=["components"],s={};void 0!==s&&s&&s===Object(s)&&Object.isExtensible(s)&&!Object.prototype.hasOwnProperty.call(s,"__filemeta")&&Object.defineProperty(s,"__filemeta",{configurable:!0,value:{name:"_frontmatter",filename:"src/components/install/tk/osx.mdx"}});const g={_frontmatter:s},c=o.a;function u(e){let{components:a}=e,n=Object(d.a)(e,i);return Object(r.b)(c,Object(t.a)({},g,n,{components:a,mdxType:"MDXLayout"}),Object(r.b)("p",null,"On macOS, Tanka is best installed using ",Object(r.b)("a",{parentName:"p",href:"https://brew.sh"},Object(r.b)("inlineCode",{parentName:"a"},"brew")),":"),Object(r.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"bash"},Object(r.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(r.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(r.b)("span",{parentName:"span",className:"mtk1"},"$ brew install tanka")))),Object(r.b)("p",null,"This downloads the most recent version of Tanka and installs it.",Object(r.b)("br",{parentName:"p"}),"\n","Also, Tanka is automatically kept up to date as part of ",Object(r.b)("inlineCode",{parentName:"p"},"brew upgrade"),"."),Object(r.b)("style",{className:"vscode-highlight-styles"},"\n \n .material-theme-darker {\nbackground-color: #212121;\ncolor: #EEFFFF;\n}\n\n.material-theme-darker .mtk1 { color: #FFFFFF; }\n.material-theme-darker .mtk2 { color: #212121; }\n.material-theme-darker .mtk3 { color: #545454; }\n.material-theme-darker .mtk4 { color: #F78C6C; }\n.material-theme-darker .mtk5 { color: #89DDFF; }\n.material-theme-darker .mtk6 { color: #C3E88D; }\n.material-theme-darker .mtk7 { color: #FFCB6B; }\n.material-theme-darker .mtk8 { color: #EEFFFF; }\n.material-theme-darker .mtk9 { color: #82AAFF; }\n.material-theme-darker .mtk10 { color: #FF5370; }\n.material-theme-darker .mtk11 { color: #F07178; }\n.material-theme-darker .mtk12 { color: #C792EA; }\n.material-theme-darker .mtk13 { color: #EEFFFF90; }\n.material-theme-darker .mtk14 { color: #65737E; }\n.material-theme-darker .mtk15 { color: #B2CCD6; }\n.material-theme-darker .mtk16 { color: #C17E70; }\n.material-theme-darker .mtki { font-style: italic; }\n.material-theme-darker .mtkb { font-weight: bold; }\n.material-theme-darker .mtku { text-decoration: underline; text-underline-position: under; }\n"))}void 0!==u&&u&&u===Object(u)&&Object.isExtensible(u)&&!Object.prototype.hasOwnProperty.call(u,"__filemeta")&&Object.defineProperty(u,"__filemeta",{configurable:!0,value:{name:"MDXContent",filename:"src/components/install/tk/osx.mdx"}}),u.isMDXComponent=!0},sZCt:function(e,a,n){var t=n("ttrC"),d=n("Ig5p");e.exports=function(e,a,n){return t(d,e,a,n)}},sceD:function(e,a,n){const t=n("dVj6")();t.addRange(43520,43574).addRange(43584,43597).addRange(43600,43609).addRange(43612,43615),e.exports=t},seXi:function(e,a,n){var t=n("qZTm"),d=Object.prototype.hasOwnProperty;e.exports=function(e,a,n,r,o,i){var s=1&n,g=t(e),c=g.length;if(c!=t(a).length&&!s)return!1;for(var u=c;u--;){var l=g[u];if(!(s?l in a:d.call(a,l)))return!1}var R=i.get(e),p=i.get(a);if(R&&p)return R==a&&p==e;var f=!0;i.set(e,a),i.set(a,e);for(var h=s;++u-1&&e%1==0&&e<=9007199254740991}},suAS:function(e,a,n){const t=n("dVj6")(94180);t.addRange(101120,101589),e.exports=t},t2Dn:function(e,a,n){var t=n("hypo"),d=n("ljhN");e.exports=function(e,a,n){(void 0!==n&&!d(e[a],n)||void 0===n&&!(a in e))&&t(e,a,n)}},t2dP:function(e,a){e.exports=function(e,a){for(var n=e.length,t=0;n--;)e[n]===a&&++t;return t}},t4pw:function(e,a,n){const t=n("dVj6")();t.addRange(5792,5866).addRange(5870,5880),e.exports=t},t4zZ:function(e,a,n){const t=n("dVj6")();t.addRange(40960,42124).addRange(42128,42182),e.exports=t},tC4l:function(e,a){var n=Math.ceil,t=Math.floor;e.exports=Math.trunc||function(e){var a=+e;return(a>0?t:n)(a)}},tCnl:function(e,a,n){var t=n("sZCt")("flow",n("56YH"));t.placeholder=n("wuTn"),e.exports=t},tF1p:function(e,a,n){const t=n("dVj6")();t.addRange(7168,7223).addRange(7227,7241).addRange(7245,7247),e.exports=t},tLB3:function(e,a,n){var t=n("jXQH"),d=n("GoyQ"),r=n("/9aa"),o=/^[-+]0x[0-9a-f]+$/i,i=/^0b[01]+$/i,s=/^0o[0-7]+$/i,g=parseInt;e.exports=function(e){if("number"==typeof e)return e;if(r(e))return NaN;if(d(e)){var a="function"==typeof e.valueOf?e.valueOf():e;e=d(a)?a+"":a}if("string"!=typeof e)return 0===e?e:+e;e=t(e);var n=i.test(e);return n||s.test(e)?g(e.slice(2),n?2:8):o.test(e)?NaN:+e}},tMB7:function(e,a,n){var t=n("y1pI");e.exports=function(e){var a=this.__data__,n=t(a,e);return n<0?void 0:a[n][1]}},tUQf:function(e,a,n){const t=n("dVj6")(6148);t.addRange(6144,6145).addRange(6150,6169).addRange(6176,6264).addRange(6272,6314).addRange(71264,71276),e.exports=t},tadb:function(e,a,n){var t=n("Cwc5")(n("Kz5y"),"DataView");e.exports=t},tgrt:function(e,a,n){const t=n("dVj6")(66463);t.addRange(66432,66461),e.exports=t},tiKp:function(e,a,n){var t=n("2oRo"),d=n("VpIT"),r=n("Gi26"),o=n("kOOl"),i=n("BPiQ"),s=n("/b8u"),g=t.Symbol,c=d("wks"),u=s?g.for||g:g&&g.withoutSetter||o;e.exports=function(e){return r(c,e)||(c[e]=i&&r(g,e)?g[e]:u("Symbol."+e)),c[e]}},ttrC:function(e,a,n){var t=n("iGAk"),d=n("wuTn"),r=Array.prototype.push;function o(e,a){return 2==a?function(a,n){return e(a,n)}:function(a){return e(a)}}function i(e){for(var a=e?e.length:0,n=Array(a);a--;)n[a]=e[a];return n}function s(e,a){return function(){var n=arguments.length;if(n){for(var t=Array(n);n--;)t[n]=arguments[n];var d=t[0]=a.apply(void 0,t);return e.apply(void 0,t),d}}}e.exports=function e(a,n,g,c){var u="function"==typeof n,l=n===Object(n);if(l&&(c=g,g=n,n=void 0),null==g)throw new TypeError;c||(c={});var R=!("cap"in c)||c.cap,p=!("curry"in c)||c.curry,f=!("fixed"in c)||c.fixed,h=!("immutable"in c)||c.immutable,m=!("rearg"in c)||c.rearg,b=u?g:d,y="curry"in c&&c.curry,v="fixed"in c&&c.fixed,j="rearg"in c&&c.rearg,O=u?g.runInContext():void 0,_=u?g:{ary:a.ary,assign:a.assign,clone:a.clone,curry:a.curry,forEach:a.forEach,isArray:a.isArray,isError:a.isError,isFunction:a.isFunction,isWeakMap:a.isWeakMap,iteratee:a.iteratee,keys:a.keys,rearg:a.rearg,toInteger:a.toInteger,toPath:a.toPath},x=_.ary,w=_.assign,E=_.clone,k=_.curry,S=_.forEach,D=_.isArray,A=_.isError,C=_.isFunction,P=_.isWeakMap,F=_.keys,T=_.rearg,L=_.toInteger,B=_.toPath,N=F(t.aryMethod),I={castArray:function(e){return function(){var a=arguments[0];return D(a)?e(i(a)):e.apply(void 0,arguments)}},iteratee:function(e){return function(){var a=arguments[0],n=arguments[1],t=e(a,n),d=t.length;return R&&"number"==typeof n?(n=n>2?n-2:1,d&&d<=n?t:o(t,n)):t}},mixin:function(e){return function(a){var n=this;if(!C(n))return e(n,Object(a));var t=[];return S(F(a),(function(e){C(a[e])&&t.push([e,n.prototype[e]])})),e(n,Object(a)),S(t,(function(e){var a=e[1];C(a)?n.prototype[e[0]]=a:delete n.prototype[e[0]]})),n}},nthArg:function(e){return function(a){var n=a<0?1:L(a)+1;return k(e(a),n)}},rearg:function(e){return function(a,n){var t=n?n.length:0;return k(e(a,n),t)}},runInContext:function(n){return function(t){return e(a,n(t),c)}}};function M(e,a){if(R){var n=t.iterateeRearg[e];if(n)return function(e,a){return G(e,(function(e){var n=a.length;return function(e,a){return 2==a?function(a,n){return e.apply(void 0,arguments)}:function(a){return e.apply(void 0,arguments)}}(T(o(e,n),a),n)}))}(a,n);var d=!u&&t.iterateeAry[e];if(d)return function(e,a){return G(e,(function(e){return"function"==typeof e?o(e,a):e}))}(a,d)}return a}function z(e,a,n){if(f&&(v||!t.skipFixed[e])){var d=t.methodSpread[e],o=d&&d.start;return void 0===o?x(a,n):function(e,a){return function(){for(var n=arguments.length,t=n-1,d=Array(n);n--;)d[n]=arguments[n];var o=d[a],i=d.slice(0,a);return o&&r.apply(i,o),a!=t&&r.apply(i,d.slice(a+1)),e.apply(this,i)}}(a,o)}return a}function q(e,a,n){return m&&n>1&&(j||!t.skipRearg[e])?T(a,t.methodRearg[e]||t.aryRearg[n]):a}function V(e,a){for(var n=-1,t=(a=B(a)).length,d=t-1,r=E(Object(e)),o=r;null!=o&&++n1?k(a,n):a}(0,d=M(r,d),e),!1}})),!d})),d||(d=o),d==a&&(d=y?k(d,1):function(){return a.apply(this,arguments)}),d.convert=U(r,a),d.placeholder=a.placeholder=n,d}if(!l)return H(n,g,b);var W=g,K=[];return S(N,(function(e){S(t.aryMethod[e],(function(e){var a=W[t.remap[e]||e];a&&K.push([e,H(e,a,W)])}))})),S(F(W),(function(e){var a=W[e];if("function"==typeof a){for(var n=K.length;n--;)if(K[n][0]==e)return;a.convert=U(e,a),K.push([e,a])}})),S(K,(function(e){W[e[0]]=e[1]})),W.convert=function(e){return W.runInContext.convert(e)(void 0)},W.placeholder=W,S(F(W),(function(e){S(t.realToAlias[e]||[],(function(a){W[a]=W[e]}))})),W}},twGC:function(e,a,n){const t=n("dVj6")();t.addRange(68224,68255),e.exports=t},txSG:function(e,a,n){"use strict";n.d(a,"h",(function(){return _})),n.d(a,"g",(function(){return de})),n.d(a,"j",(function(){return U})),n.d(a,"i",(function(){return ee})),n.d(a,"f",(function(){return M})),n.d(a,"a",(function(){return re})),n.d(a,"c",(function(){return oe})),n.d(a,"d",(function(){return ie})),n.d(a,"e",(function(){return se})),n.d(a,"b",(function(){return ge}));var t=n("7ljp"),d=n("PE4B"),r=n.n(d);var o=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|inert|itemProp|itemScope|itemType|itemID|itemRef|on|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,i=function(e){var a={};return function(n){return void 0===a[n]&&(a[n]=e(n)),a[n]}}((function(e){return o.test(e)||111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&e.charCodeAt(2)<91})),s=n("ITVs"),g=n("q1tI"),c=n("qKvR");function u(){return(u=Object.assign||function(e){for(var a=1;a=0)return l(e,a,a);var n=Math.abs(a),t=l(e,n,n);return"string"==typeof t?"-"+t:-1*t},y=["margin","marginTop","marginRight","marginBottom","marginLeft","marginX","marginY","top","bottom","left","right"].reduce((function(e,a){var n;return u({},e,((n={})[a]=b,n))}),{}),v=function e(a){return function(n){void 0===n&&(n={});var t=u({},p,{},n.theme||n),d={},r=function(e){return function(a){var n={},t=l(a,"breakpoints",R),d=[null].concat(t.map((function(e){return"@media screen and (min-width: "+e+")"})));for(var r in e){var o="function"==typeof e[r]?e[r](a):e[r];if(null!=o)if(Array.isArray(o))for(var i=0;i2?t-2:0),r=2;r=0||(d[n]=e[n]);return d}(e,a);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(t=0;t=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(d[n]=e[n])}return d}function D(e,a){return function(e){if(Array.isArray(e))return e}(e)||function(e,a){if(!(Symbol.iterator in Object(e))&&"[object Arguments]"!==Object.prototype.toString.call(e))return;var n=[],t=!0,d=!1,r=void 0;try{for(var o,i=e[Symbol.iterator]();!(t=(o=i.next()).done)&&(n.push(o.value),!a||n.length!==a);t=!0);}catch(s){d=!0,r=s}finally{try{t||null==i.return||i.return()}finally{if(d)throw r}}return n}(e,a)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}var A="function"==typeof Symbol&&Symbol.for,C=A?Symbol.for("react.element"):60103,P=A?Symbol.for("react.forward_ref"):60103,F=function(e){return!!e&&"object"===x(e)&&e.$$typeof!==C&&e.$$typeof!==P},T=function(e,a,n){return a},L=function(e,a){return r()(e,a,{isMergeableObject:F,arrayMerge:T})};L.all=function(){for(var e=arguments,a=arguments.length,n=new Array(a),t=0;t0&&void 0!==arguments[0]?arguments[0]:{},a={};return Object.keys(e).forEach((function(n){a[n]=B(e[n])(N(n))})),a},V=Object(g.createContext)({emotionVersion:s.a,theme:null,components:z}),U=function(){return Object(g.useContext)(V)},G=function(e){return"--theme-ui-".concat(e)},H=function(e,a){return"var(".concat(G(e),", ").concat(a,")")},W=function(){for(var e=arguments,a=arguments.length,n=new Array(a),t=0;t-1&&e%1==0&&e{if(!n.plugin[e])return;a.getResourcesForPathnameSync=r,a.getResourcesForPathname=d,a.getResourceURLsForPathname=o,a.loadPage=i,a.loadPageSync=s;const t=n.plugin[e](a,n.options);return t&&g&&(a=g({args:a,result:t,plugin:n})),t});return c=c.filter(e=>void 0!==e),c.length>0?c:n?[n]:[]},a.apiRunnerAsync=(e,a,n)=>t.reduce((n,t)=>t.plugin[e]?n.then(()=>t.plugin[e](a,t.options)):n,Promise.resolve())},y1pI:function(e,a,n){var t=n("ljhN");e.exports=function(e,a){for(var n=e.length;n--;)if(t(e[n][0],a))return n;return-1}},y4QH:function(e,a){var n=Math.max;e.exports=function(e,a,t,d){for(var r=-1,o=e.length,i=t.length,s=-1,g=a.length,c=n(o-i,0),u=Array(g+c),l=!d;++sg;)d(t,n=a[g++])&&(~o(c,n)||s(c,n));return c}},yxwC:function(e,a,n){const t=n("dVj6")(1471,1479,1648,1809,2045,2492,2519,2558,2620,2641,2677,2748,2876,2946,3031,3132,3260,3415,3530,3542,3633,3761,3893,3895,3897,4038,4239,6109,6159,6313,6783,7405,7412,11647,43010,43014,43019,43052,43263,43493,43587,43696,43713,64286,66045,66272,68159,69744,69826,70003,70206,70487,70750,72e3,72164,72263,73018,73031,94031,94180,121461,121476,123566);t.addRange(768,879).addRange(1155,1161).addRange(1425,1469).addRange(1473,1474).addRange(1476,1477).addRange(1552,1562).addRange(1611,1631).addRange(1750,1756).addRange(1759,1764).addRange(1767,1768).addRange(1770,1773).addRange(1840,1866).addRange(1958,1968).addRange(2027,2035).addRange(2070,2073).addRange(2075,2083).addRange(2085,2087).addRange(2089,2093).addRange(2137,2139).addRange(2200,2207).addRange(2250,2273).addRange(2275,2307).addRange(2362,2364).addRange(2366,2383).addRange(2385,2391).addRange(2402,2403).addRange(2433,2435).addRange(2494,2500).addRange(2503,2504).addRange(2507,2509).addRange(2530,2531).addRange(2561,2563).addRange(2622,2626).addRange(2631,2632).addRange(2635,2637).addRange(2672,2673).addRange(2689,2691).addRange(2750,2757).addRange(2759,2761).addRange(2763,2765).addRange(2786,2787).addRange(2810,2815).addRange(2817,2819).addRange(2878,2884).addRange(2887,2888).addRange(2891,2893).addRange(2901,2903).addRange(2914,2915).addRange(3006,3010).addRange(3014,3016).addRange(3018,3021),t.addRange(3072,3076).addRange(3134,3140).addRange(3142,3144).addRange(3146,3149).addRange(3157,3158).addRange(3170,3171).addRange(3201,3203).addRange(3262,3268).addRange(3270,3272).addRange(3274,3277).addRange(3285,3286).addRange(3298,3299).addRange(3328,3331).addRange(3387,3388).addRange(3390,3396).addRange(3398,3400).addRange(3402,3405).addRange(3426,3427).addRange(3457,3459).addRange(3535,3540).addRange(3544,3551).addRange(3570,3571).addRange(3636,3642).addRange(3655,3662).addRange(3764,3772).addRange(3784,3789).addRange(3864,3865).addRange(3902,3903).addRange(3953,3972).addRange(3974,3975).addRange(3981,3991).addRange(3993,4028).addRange(4139,4158).addRange(4182,4185).addRange(4190,4192).addRange(4194,4196).addRange(4199,4205).addRange(4209,4212).addRange(4226,4237).addRange(4250,4253).addRange(4957,4959).addRange(5906,5909).addRange(5938,5940).addRange(5970,5971).addRange(6002,6003).addRange(6068,6099).addRange(6155,6157).addRange(6277,6278).addRange(6432,6443).addRange(6448,6459).addRange(6679,6683),t.addRange(6741,6750).addRange(6752,6780).addRange(6832,6862).addRange(6912,6916).addRange(6964,6980).addRange(7019,7027).addRange(7040,7042).addRange(7073,7085).addRange(7142,7155).addRange(7204,7223).addRange(7376,7378).addRange(7380,7400).addRange(7415,7417).addRange(7616,7679).addRange(8400,8432).addRange(11503,11505).addRange(11744,11775).addRange(12330,12335).addRange(12441,12442).addRange(42607,42610).addRange(42612,42621).addRange(42654,42655).addRange(42736,42737).addRange(43043,43047).addRange(43136,43137).addRange(43188,43205).addRange(43232,43249).addRange(43302,43309).addRange(43335,43347).addRange(43392,43395).addRange(43443,43456).addRange(43561,43574).addRange(43596,43597).addRange(43643,43645).addRange(43698,43700).addRange(43703,43704).addRange(43710,43711).addRange(43755,43759).addRange(43765,43766).addRange(44003,44010).addRange(44012,44013).addRange(65024,65039).addRange(65056,65071).addRange(66422,66426).addRange(68097,68099).addRange(68101,68102).addRange(68108,68111).addRange(68152,68154).addRange(68325,68326).addRange(68900,68903).addRange(69291,69292),t.addRange(69446,69456).addRange(69506,69509).addRange(69632,69634).addRange(69688,69702).addRange(69747,69748).addRange(69759,69762).addRange(69808,69818).addRange(69888,69890).addRange(69927,69940).addRange(69957,69958).addRange(70016,70018).addRange(70067,70080).addRange(70089,70092).addRange(70094,70095).addRange(70188,70199).addRange(70367,70378).addRange(70400,70403).addRange(70459,70460).addRange(70462,70468).addRange(70471,70472).addRange(70475,70477).addRange(70498,70499).addRange(70502,70508).addRange(70512,70516).addRange(70709,70726).addRange(70832,70851).addRange(71087,71093).addRange(71096,71104).addRange(71132,71133).addRange(71216,71232).addRange(71339,71351).addRange(71453,71467).addRange(71724,71738).addRange(71984,71989).addRange(71991,71992).addRange(71995,71998).addRange(72002,72003).addRange(72145,72151).addRange(72154,72160).addRange(72193,72202).addRange(72243,72249).addRange(72251,72254).addRange(72273,72283).addRange(72330,72345).addRange(72751,72758).addRange(72760,72767).addRange(72850,72871).addRange(72873,72886).addRange(73009,73014).addRange(73020,73021).addRange(73023,73029),t.addRange(73098,73102).addRange(73104,73105).addRange(73107,73111).addRange(73459,73462).addRange(92912,92916).addRange(92976,92982).addRange(94033,94087).addRange(94095,94098).addRange(94192,94193).addRange(113821,113822).addRange(118528,118573).addRange(118576,118598).addRange(119141,119145).addRange(119149,119154).addRange(119163,119170).addRange(119173,119179).addRange(119210,119213).addRange(119362,119364).addRange(121344,121398).addRange(121403,121452).addRange(121499,121503).addRange(121505,121519).addRange(122880,122886).addRange(122888,122904).addRange(122907,122913).addRange(122915,122916).addRange(122918,122922).addRange(123184,123190).addRange(123628,123631).addRange(125136,125142).addRange(125252,125258).addRange(917760,917999),e.exports=t},yy0I:function(e,a,n){var t=n("Fib7"),d=n("m/L8"),r=n("E9LY"),o=n("Y3Q8");e.exports=function(e,a,n,i){i||(i={});var s=i.enumerable,g=void 0!==i.name?i.name:a;if(t(n)&&r(n,g,i),i.global)s?e[a]=n:o(a,n);else{try{i.unsafe?e[a]&&(s=!0):delete e[a]}catch(c){}s?e[a]=n:d.f(e,a,{value:n,enumerable:!1,configurable:!i.nonConfigurable,writable:!i.nonWritable})}return e}},yyEx:function(e,a,n){const t=n("dVj6")();t.addRange(48,57).addRange(1632,1641).addRange(1776,1785).addRange(1984,1993).addRange(2406,2415).addRange(2534,2543).addRange(2662,2671).addRange(2790,2799).addRange(2918,2927).addRange(3046,3055).addRange(3174,3183).addRange(3302,3311).addRange(3430,3439).addRange(3558,3567).addRange(3664,3673).addRange(3792,3801).addRange(3872,3881).addRange(4160,4169).addRange(4240,4249).addRange(6112,6121).addRange(6160,6169).addRange(6470,6479).addRange(6608,6617).addRange(6784,6793).addRange(6800,6809).addRange(6992,7001).addRange(7088,7097).addRange(7232,7241).addRange(7248,7257).addRange(42528,42537).addRange(43216,43225).addRange(43264,43273).addRange(43472,43481).addRange(43504,43513).addRange(43600,43609).addRange(44016,44025).addRange(65296,65305).addRange(66720,66729).addRange(68912,68921).addRange(69734,69743).addRange(69872,69881).addRange(69942,69951).addRange(70096,70105).addRange(70384,70393).addRange(70736,70745).addRange(70864,70873).addRange(71248,71257).addRange(71360,71369).addRange(71472,71481).addRange(71904,71913).addRange(72016,72025),t.addRange(72784,72793).addRange(73040,73049).addRange(73120,73129).addRange(92768,92777).addRange(92864,92873).addRange(93008,93017).addRange(120782,120831).addRange(123200,123209).addRange(123632,123641).addRange(125264,125273).addRange(130032,130041),e.exports=t},z0Ef:function(e,a,n){const t=n("dVj6")();t.addRange(93760,93850),e.exports=t},z8DC:function(e,a,n){const t=n("dVj6")();t.addRange(2404,2415).addRange(43056,43065).addRange(69968,70006),e.exports=t},z8l3:function(e,a,n){"use strict";n.r(a),n.d(a,"_frontmatter",(function(){return s})),n.d(a,"default",(function(){return u}));var t=n("wx14"),d=n("Ff2n"),r=(n("q1tI"),n("7ljp")),o=n("hhGP");n("qKvR");const i=["components"],s={};void 0!==s&&s&&s===Object(s)&&Object.isExtensible(s)&&!Object.prototype.hasOwnProperty.call(s,"__filemeta")&&Object.defineProperty(s,"__filemeta",{configurable:!0,value:{name:"_frontmatter",filename:"src/components/install/tk/arch.mdx"}});const g={_frontmatter:s},c=o.a;function u(e){let{components:a}=e,n=Object(d.a)(e,i);return Object(r.b)(c,Object(t.a)({},g,n,{components:a,mdxType:"MDXLayout"}),Object(r.b)("p",null,"We maintain two AUR packages, one building ",Object(r.b)("a",{parentName:"p",href:"https://aur.archlinux.org/packages/tanka/"},"from\nsource")," and another one using a\n",Object(r.b)("a",{parentName:"p",href:"https://aur.archlinux.org/packages/tanka-bin/"},"pre-compiled binary"),"."),Object(r.b)("p",null,"These can be installed using any AUR helper, e.g. ",Object(r.b)("a",{parentName:"p",href:"https://github.com/Jguer/yay"},Object(r.b)("inlineCode",{parentName:"a"},"yay")),":"),Object(r.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"bash"},Object(r.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(r.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(r.b)("span",{parentName:"span",className:"mtk3 mtki"},"# from source:")),"\n",Object(r.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(r.b)("span",{parentName:"span",className:"mtk1"},"$ yay tanka")),"\n",Object(r.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(r.b)("span",{parentName:"span",className:"mtk1"})),"\n",Object(r.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(r.b)("span",{parentName:"span",className:"mtk3 mtki"},"# using pre-compiled binary:")),"\n",Object(r.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(r.b)("span",{parentName:"span",className:"mtk1"},"$ yay tanka-bin")))),Object(r.b)("style",{className:"vscode-highlight-styles"},"\n \n .material-theme-darker {\nbackground-color: #212121;\ncolor: #EEFFFF;\n}\n\n.material-theme-darker .mtk1 { color: #FFFFFF; }\n.material-theme-darker .mtk2 { color: #212121; }\n.material-theme-darker .mtk3 { color: #545454; }\n.material-theme-darker .mtk4 { color: #F78C6C; }\n.material-theme-darker .mtk5 { color: #89DDFF; }\n.material-theme-darker .mtk6 { color: #C3E88D; }\n.material-theme-darker .mtk7 { color: #FFCB6B; }\n.material-theme-darker .mtk8 { color: #EEFFFF; }\n.material-theme-darker .mtk9 { color: #82AAFF; }\n.material-theme-darker .mtk10 { color: #FF5370; }\n.material-theme-darker .mtk11 { color: #F07178; }\n.material-theme-darker .mtk12 { color: #C792EA; }\n.material-theme-darker .mtk13 { color: #EEFFFF90; }\n.material-theme-darker .mtk14 { color: #65737E; }\n.material-theme-darker .mtk15 { color: #B2CCD6; }\n.material-theme-darker .mtk16 { color: #C17E70; }\n.material-theme-darker .mtki { font-style: italic; }\n.material-theme-darker .mtkb { font-weight: bold; }\n.material-theme-darker .mtku { text-decoration: underline; text-underline-position: under; }\n"))}void 0!==u&&u&&u===Object(u)&&Object.isExtensible(u)&&!Object.prototype.hasOwnProperty.call(u,"__filemeta")&&Object.defineProperty(u,"__filemeta",{configurable:!0,value:{name:"MDXContent",filename:"src/components/install/tk/arch.mdx"}}),u.isMDXComponent=!0},zA3n:function(e,a){e.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI0LjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCAxNDQgNjguNSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTQ0IDY4LjU7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5zdDB7ZmlsbDp1cmwoI1NWR0lEXzFfKTt9Cgkuc3Qxe2ZpbGw6I0ZGRkZGRjt9Cgkuc3Qye2ZpbGw6bm9uZTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MztzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtbGluZWpvaW46cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fQo8L3N0eWxlPgo8bGluZWFyR3JhZGllbnQgaWQ9IlNWR0lEXzFfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjcxLjQxNjMiIHkxPSItNTMuNTkiIHgyPSI3Mi4xNzAzIiB5Mj0iOTAuNDE0NCI+Cgk8c3RvcCAgb2Zmc2V0PSIwLjM5ODQiIHN0eWxlPSJzdG9wLWNvbG9yOiNGQUNBMTAiLz4KCTxzdG9wICBvZmZzZXQ9IjAuNjQ5OCIgc3R5bGU9InN0b3AtY29sb3I6I0Y0OEMyMCIvPgoJPHN0b3AgIG9mZnNldD0iMC44NjIyIiBzdHlsZT0ic3RvcC1jb2xvcjojRjA1QjJEIi8+CjwvbGluZWFyR3JhZGllbnQ+CjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0xNDQsNTcuOWMwLDEtMC44LDEuNy0xLjcsMS43SDEuN2MtMSwwLTEuNy0wLjgtMS43LTEuN3MwLjgtMS43LDEuNy0xLjdoMTQwLjVDMTQzLjIsNTYuMSwxNDQsNTYuOSwxNDQsNTcuOXoKCSBNMTUuNiw1MC4xaDEwMS42bDEzLjMtMzMuNWwtNTYuNiw0Ljh2LTguM0gyNS4xdjEyLjRMOC42LDI2LjlMMTUuNiw1MC4xeiBNNjYuNCw4LjloLTM0VjBoMzQuMUw2Ni40LDguOXogTTEyNC44LDY1SDE5LjIKCWMtMSwwLTEuNywwLjgtMS43LDEuN3MwLjgsMS43LDEuNywxLjdoMTA1LjVjMSwwLDEuNy0wLjgsMS43LTEuN1MxMjUuNyw2NSwxMjQuOCw2NXoiLz4KPC9zdmc+Cg=="},zBJ4:function(e,a,n){var t=n("2oRo"),d=n("hh1v"),r=t.document,o=d(r)&&d(r.createElement);e.exports=function(e){return o?r.createElement(e):{}}},zEVN:function(e,a,n){var t=n("Gi0A"),d=n("sEf8"),r=n("mdPL"),o=r&&r.isMap,i=o?d(o):t;e.exports=i},zIrX:function(e,a,n){const t=n("dVj6")();t.addRange(77824,78894).addRange(78896,78904),e.exports=t},zKZe:function(e,a,n){var t=n("I+eb"),d=n("YNrV");t({target:"Object",stat:!0,arity:2,forced:Object.assign!==d},{assign:d})},zMEA:function(e,a,n){const t=n("dVj6")();t.addRange(66208,66256),e.exports=t},zSGR:function(e,a,n){const t=n("dVj6")();t.addRange(7104,7155).addRange(7164,7167),e.exports=t},zWlK:function(e,a,n){const t=n("dVj6")();t.addRange(2048,2093).addRange(2096,2110),e.exports=t},zYVL:function(e,a,n){const t=n("dVj6")(6159);t.addRange(6155,6157).addRange(65024,65039).addRange(917760,917999),e.exports=t},zZ0H:function(e,a){e.exports=function(e){return e}},zc4i:function(e,a,n){var t=n("2oRo"),d=n("Fib7"),r=t.WeakMap;e.exports=d(r)&&/native code/.test(String(r))},zoYe:function(e,a,n){var t=n("nmnc"),d=n("eUgh"),r=n("Z0cm"),o=n("/9aa"),i=t?t.prototype:void 0,s=i?i.toString:void 0;e.exports=function e(a){if("string"==typeof a)return a;if(r(a))return d(a,e)+"";if(o(a))return s?s.call(a):"";var n=a+"";return"0"==n&&1/a==-1/0?"-0":n}},zyj0:function(e,a,n){const t=n("dVj6")(2405,6464);t.addRange(6400,6430).addRange(6432,6443).addRange(6448,6459).addRange(6468,6479),e.exports=t}},[["UxWs",0,36,38,35]]]); -//# sourceMappingURL=app-48d0c1584627dc723f2b.js.map \ No newline at end of file diff --git a/pr-preview/pr-991/app-48d0c1584627dc723f2b.js.LICENSE.txt b/pr-preview/pr-991/app-48d0c1584627dc723f2b.js.LICENSE.txt deleted file mode 100644 index 042d4da8f..000000000 --- a/pr-preview/pr-991/app-48d0c1584627dc723f2b.js.LICENSE.txt +++ /dev/null @@ -1,46 +0,0 @@ -/*! - * The buffer module from node.js, for the browser. - * - * @author Feross Aboukhadijeh - * @license MIT - */ - -/*! - * array-sort - * - * Copyright (c) 2015-2017, Jon Schlinkert. - * Released under the MIT License. - */ - -/*! - * domready (c) Dustin Diaz 2014 - License MIT - * ie10 fix - Mikael Kristiansson 2019 - */ - -/*! - * get-value - * - * Copyright (c) 2014-2015, Jon Schlinkert. - * Licensed under the MIT License. - */ - -/*! - * regjsgen 0.5.2 - * Copyright 2014-2020 Benjamin Tan - * Available under the MIT license - */ - -/*! https://mths.be/he v1.2.0 by @mathias | MIT license */ - -/*! https://mths.be/regenerate v1.4.2 by @mathias | MIT license */ - -/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */ - -/** @license React v16.13.1 - * react-is.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ diff --git a/pr-preview/pr-991/app-48d0c1584627dc723f2b.js.map b/pr-preview/pr-991/app-48d0c1584627dc723f2b.js.map deleted file mode 100644 index 88a3cec47..000000000 --- a/pr-preview/pr-991/app-48d0c1584627dc723f2b.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./node_modules/regenerate-unicode-properties/Binary_Property/Dash.js","webpack:///./node_modules/lodash/_listCacheHas.js","webpack:///./node_modules/lodash/_cloneArrayBuffer.js","webpack:///./node_modules/core-js/internals/to-positive-integer.js","webpack:///./node_modules/lodash/_baseMerge.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Khudawadi.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Tamil.js","webpack:///./node_modules/gatsby-link/index.js","webpack:///./node_modules/lodash/property.js","webpack:///./node_modules/regenerate-unicode-properties/Binary_Property/Emoji_Modifier_Base.js","webpack:///./node_modules/lodash/_initCloneObject.js","webpack:///./node_modules/lodash/fp/throttle.js","webpack:///./node_modules/lodash/isSymbol.js","webpack:///./node_modules/core-js/internals/to-indexed-object.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Gunjala_Gondi.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Hanifi_Rohingya.js","webpack:///./node_modules/regenerate-unicode-properties/Binary_Property/ID_Start.js","webpack:///./node_modules/core-js/internals/use-symbol-as-uid.js","webpack:///./node_modules/regenerate-unicode-properties/General_Category/Symbol.js","webpack:///./node_modules/gatsby-react-router-scroll/session-storage.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Nko.js","webpack:///./node_modules/lodash/_updateWrapDetails.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Manichaean.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Lycian.js","webpack:///./node_modules/regenerate-unicode-properties/General_Category/Letter_Number.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Armenian.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Medefaidrin.js","webpack:///./node_modules/lodash/isArguments.js","webpack:///./node_modules/lodash/_createPartial.js","webpack:///./node_modules/core-js/internals/hidden-keys.js","webpack:///./node_modules/lodash/toPath.js","webpack:///./node_modules/lodash/_stackSet.js","webpack:///./node_modules/core-js/internals/fails.js","webpack:///./node_modules/core-js/internals/get-built-in.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Siddham.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Zanabazar_Square.js","webpack:///./node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Gothic.js","webpack:///./node_modules/regenerate-unicode-properties/Binary_Property/Emoji_Modifier.js","webpack:///./node_modules/core-js/internals/object-set-prototype-of.js","webpack:///./node_modules/regenerate-unicode-properties/General_Category/Number.js","webpack:///./node_modules/lodash/stubArray.js","webpack:///./node_modules/lodash/isSet.js","webpack:///./node_modules/regenerate-unicode-properties/Binary_Property/Emoji.js","webpack:///./node_modules/regexpu-core/data/iu-mappings.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Yezidi.js","webpack:///./node_modules/regenerate-unicode-properties/Binary_Property/Logical_Order_Exception.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Cherokee.js","webpack:///./node_modules/regenerate-unicode-properties/Binary_Property/Changes_When_Casemapped.js","webpack:///./node_modules/lodash/_SetCache.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Osage.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Bhaiksuki.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Arabic.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Old_Permic.js","webpack:///./node_modules/@babel/runtime/helpers/interopRequireWildcard.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Latin.js","webpack:///./node_modules/magic-string/dist/magic-string.es.js","webpack:///./node_modules/regenerate-unicode-properties/Script/SignWriting.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Ogham.js","webpack:///./node_modules/regenerate-unicode-properties/Binary_Property/Assigned.js","webpack:///./node_modules/core-js/internals/engine-is-ie-or-edge.js","webpack:///./node_modules/lodash/_baseIsNaN.js","webpack:///./node_modules/core-js/internals/is-symbol.js","webpack:///./node_modules/lodash/_coreJsData.js","webpack:///./node_modules/lodash/_insertWrapDetails.js","webpack:///./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack:///./node_modules/core-js/internals/global.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Common.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Bhaiksuki.js","webpack:///./.cache/normalize-page-path.js","webpack:///./.cache/find-path.js","webpack:///./node_modules/core-js/internals/object-keys.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Phoenician.js","webpack:///./node_modules/lodash/_setCacheHas.js","webpack:///./node_modules/lodash/curry.js","webpack:///./node_modules/core-js/internals/get-method.js","webpack:///./node_modules/lodash/_toSource.js","webpack:///./node_modules/lodash/isArrayLikeObject.js","webpack:///./node_modules/regenerate-unicode-properties/General_Category/Titlecase_Letter.js","webpack:///./node_modules/lodash/_basePropertyOf.js","webpack:///./node_modules/lodash/matchesProperty.js","webpack:///./node_modules/gatsby-react-router-scroll/use-scroll-restoration.js","webpack:///./node_modules/regenerate-unicode-properties/Binary_Property/Default_Ignorable_Code_Point.js","webpack:///./node_modules/lodash/_basePropertyDeep.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Kaithi.js","webpack:///./node_modules/lodash/memoize.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Javanese.js","webpack:///./node_modules/isarray/index.js","webpack:///./node_modules/lodash/_customOmitClone.js","webpack:///./node_modules/core-js/internals/object-get-prototype-of.js","webpack:///./node_modules/core-js/internals/correct-prototype-getter.js","webpack:///./node_modules/regenerate-unicode-properties/Binary_Property/Hex_Digit.js","webpack:///./node_modules/lodash/_Hash.js","webpack:///./node_modules/lodash/_hasPath.js","webpack:///./node_modules/lodash/_castPath.js","webpack:///./node_modules/core-js/internals/function-uncurry-this.js","webpack:///./node_modules/tslib/tslib.es6.js","webpack:///./node_modules/pascal-case/node_modules/lower-case/dist.es2015/index.js","webpack:///./node_modules/pascal-case/node_modules/no-case/dist.es2015/index.js","webpack:///./node_modules/pascal-case/dist.es2015/index.js","webpack:///./node_modules/ulid/dist/index.esm.js","webpack:///./node_modules/match-sorter/dist/match-sorter.esm.js","webpack:///./node_modules/docz/dist/index.esm.js","webpack:///./node_modules/lodash/flow.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Vai.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Cherokee.js","webpack:///./node_modules/lodash/_cloneBuffer.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Lepcha.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Mro.js","webpack:///./src/components/install/jb/go.mdx","webpack:///./node_modules/lodash/_createRecurry.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Linear_A.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Newa.js","webpack:///./node_modules/regenerate-unicode-properties/General_Category/Other_Symbol.js","webpack:///./.cache/emitter.js","webpack:///./node_modules/mitt/dist/mitt.es.js","webpack:///./node_modules/lodash/flattenDepth.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Imperial_Aramaic.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Tai_Le.js","webpack:///./node_modules/core-js/internals/array-buffer-view-core.js","webpack:///./node_modules/lodash/fp/propEq.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Cypro_Minoan.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Bamum.js","webpack:///./node_modules/core-js/internals/copy-constructor-properties.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Soyombo.js","webpack:///./node_modules/lodash/_replaceHolders.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Hatran.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Braille.js","webpack:///./node_modules/lodash/_createWrap.js","webpack:///./node_modules/regenerate-unicode-properties/Binary_Property/Join_Control.js","webpack:///./node_modules/lodash/_LodashWrapper.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Cyrillic.js","webpack:///./node_modules/lodash/fp/first.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Hebrew.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Dogra.js","webpack:///./node_modules/lodash/words.js","webpack:///./node_modules/regenerate-unicode-properties/General_Category/Modifier_Letter.js","webpack:///./node_modules/lodash/_isPrototype.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Egyptian_Hieroglyphs.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Khojki.js","webpack:///./node_modules/lodash/_baseProperty.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Vithkuqi.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Kharoshthi.js","webpack:///./node_modules/lodash/_stackClear.js","webpack:///./node_modules/default-compare/node_modules/kind-of/index.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Tai_Tham.js","webpack:///./node_modules/lodash/keys.js","webpack:///./node_modules/lodash/_nativeKeysIn.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Bamum.js","webpack:///./node_modules/core-js/internals/define-built-in-accessor.js","webpack:///./node_modules/lodash/_mapToArray.js","webpack:///./node_modules/gatsby-react-router-scroll/index.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Mende_Kikakui.js","webpack:///./node_modules/regenerate-unicode-properties/Binary_Property/XID_Continue.js","webpack:///./node_modules/@mdx-js/react/dist/esm.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Lao.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Sinhala.js","webpack:///./node_modules/lodash/_shortOut.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Hanunoo.js","webpack:///./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Cuneiform.js","webpack:///./node_modules/react-simple-code-editor/lib/index.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Marchen.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Imperial_Aramaic.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Yezidi.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Tagalog.js","webpack:///./node_modules/core-js/internals/shared-key.js","webpack:///./.cache/react-lifecycles-compat.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Pau_Cin_Hau.js","webpack:///./node_modules/lodash/_setData.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Tagalog.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Han.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Chakma.js","webpack:///./node_modules/regenerate-unicode-properties/unicode-version.js","webpack:///./node_modules/lodash/_toKey.js","webpack:///./node_modules/lodash/_unicodeWords.js","webpack:///./.cache/caches/gatsby-plugin-mdx/mdx-scopes-dir/3b068767123dfcea6b5f82a6b8c79d55.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Sogdian.js","webpack:///./node_modules/@reach/router/es/lib/history.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Nandinagari.js","webpack:///./node_modules/core-js/internals/classof.js","webpack:///./node_modules/lodash/_isKey.js","webpack:///./node_modules/gatsby-plugin-manifest/get-manifest-pathname.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Gurmukhi.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Thai.js","webpack:///./node_modules/react-frame-component/lib/Content.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Old_Uyghur.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Greek.js","webpack:///./node_modules/regenerate-unicode-properties/General_Category/Spacing_Mark.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Common.js","webpack:///./node_modules/lodash/_baseKeys.js","webpack:///./node_modules/core-js/internals/to-string-tag-support.js","webpack:///./node_modules/lodash/_getRawTag.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Siddham.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Rejang.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Bengali.js","webpack:///./node_modules/core-js/internals/length-of-array-like.js","webpack:///./node_modules/convert-css-length/dist/index.js","webpack:///./node_modules/lodash/stubFalse.js","webpack:///./node_modules/regenerate-unicode-properties/General_Category/Other.js","webpack:///./node_modules/regenerate-unicode-properties/Binary_Property/Bidi_Control.js","webpack:///./node_modules/core-js/internals/engine-ff-version.js","webpack:///./node_modules/gatsby-plugin-catch-links/gatsby-browser.js","webpack:///./node_modules/core-js/internals/symbol-constructor-detection.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Deseret.js","webpack:///./node_modules/lodash/fp/omit.js","webpack:///./node_modules/lodash/_isFlattenable.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Cham.js","webpack:///./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///./node_modules/regenerate-unicode-properties/General_Category/Space_Separator.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Old_Hungarian.js","webpack:///./node_modules/lodash/_arrayPush.js","webpack:///./.cache/caches/gatsby-plugin-mdx/mdx-scopes-dir/3448244fd83aacee0962c5fab74909b8.js","webpack:///./node_modules/lodash/_isStrictComparable.js","webpack:///./node_modules/lodash/_strictIndexOf.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Cyrillic.js","webpack:///./node_modules/regenerate-unicode-properties/Binary_Property/XID_Start.js","webpack:///./node_modules/regenerate-unicode-properties/General_Category/Punctuation.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Yi.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Tagbanwa.js","webpack:///./node_modules/lodash/_getNative.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Dogra.js","webpack:///./node_modules/lodash/set.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Thaana.js","webpack:///./node_modules/core-js/internals/ie8-dom-define.js","webpack:///./node_modules/lodash/isBuffer.js","webpack:///./node_modules/core-js/internals/try-to-string.js","webpack:///./node_modules/marked/lib/marked.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Runic.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Nyiakeng_Puachue_Hmong.js","webpack:///./node_modules/regenerate-unicode-properties/General_Category/Initial_Punctuation.js","webpack:///./node_modules/lodash/_baseAssignIn.js","webpack:///./node_modules/lodash/throttle.js","webpack:///./node_modules/lodash/_isMasked.js","webpack:///./node_modules/core-js/internals/make-built-in.js","webpack:///./node_modules/lodash/_baseRest.js","webpack:///./node_modules/lodash/_copySymbolsIn.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Pahawh_Hmong.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Wancho.js","webpack:///./src/components/home/index.js","webpack:///./node_modules/lodash/fp/assoc.js","webpack:///./node_modules/lodash/_getFuncName.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Osmanya.js","webpack:///./node_modules/typography-breakpoint-constants/dist/index.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Kayah_Li.js","webpack:///./node_modules/lodash/_createCtor.js","webpack:///./node_modules/gatsby-react-router-scroll/scroll-handler.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Khojki.js","webpack:///./node_modules/lodash/_isKeyable.js","webpack:///./node_modules/lodash/fp/_falseOptions.js","webpack:///./node_modules/lodash/isObjectLike.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Old_South_Arabian.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Old_South_Arabian.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Ol_Chiki.js","webpack:///./node_modules/array-sort/index.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Caucasian_Albanian.js","webpack:///./node_modules/lodash/_baseSet.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack:///./node_modules/core-js/internals/is-callable.js","webpack:///./node_modules/lodash/defaultTo.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Arabic.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Miao.js","webpack:///./node_modules/lodash/_getAllKeysIn.js","webpack:///./node_modules/core-js/internals/to-offset.js","webpack:///./node_modules/lodash/_baseMatchesProperty.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Khudawadi.js","webpack:///./node_modules/lodash/_stringToPath.js","webpack:///./node_modules/regenerate-unicode-properties/General_Category/Private_Use.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Avestan.js","webpack:///./node_modules/lodash/_baseIsMap.js","webpack:///./node_modules/core-js/internals/has-own-property.js","webpack:///./node_modules/lodash/isObject.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Ahom.js","webpack:///./node_modules/shallowequal/index.js","webpack:///./node_modules/base64-js/index.js","webpack:///./node_modules/lodash/_mapCacheSet.js","webpack:///./node_modules/node-libs-browser/node_modules/buffer/index.js","webpack:///./node_modules/lodash/_equalByTag.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Coptic.js","webpack:///./src/components/install/tk/go.mdx","webpack:///./node_modules/regenerate-unicode-properties/Script/Bopomofo.js","webpack:///./node_modules/lodash/_Promise.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Syriac.js","webpack:///./node_modules/core-js/internals/require-object-coercible.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Malayalam.js","webpack:///./node_modules/regenerate-unicode-properties/General_Category/Separator.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Meroitic_Cursive.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Dives_Akuru.js","webpack:///./node_modules/lodash/_hashDelete.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Modi.js","webpack:///./node_modules/core-js/internals/export.js","webpack:///./node_modules/lodash/_memoizeCapped.js","webpack:///./node_modules/core-js/internals/to-absolute-index.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Wancho.js","webpack:///./node_modules/regjsgen/regjsgen.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Old_Hungarian.js","webpack:///./node_modules/regenerate-unicode-properties/Binary_Property/Changes_When_Titlecased.js","webpack:///./.cache/page-renderer.js","webpack:///./node_modules/lodash/_matchesStrictComparable.js","webpack:///./node_modules/regenerate-unicode-properties/Binary_Property/Noncharacter_Code_Point.js","webpack:///./node_modules/core-js/modules/es.typed-array.sort.js","webpack:///./node_modules/lodash/fp/_util.js","webpack:///./node_modules/react-frame-component/lib/index.js","webpack:///./node_modules/lodash/_overRest.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Tai_Viet.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Meetei_Mayek.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Kharoshthi.js","webpack:///./node_modules/regenerate-unicode-properties/General_Category/Connector_Punctuation.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Masaram_Gondi.js","webpack:///./node_modules/core-js/es/object/assign.js","webpack:///./node_modules/core-js/internals/object-get-own-property-names.js","webpack:///./node_modules/lodash/_baseForOwn.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Warang_Citi.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Buginese.js","webpack:///./node_modules/lodash/_Uint8Array.js","webpack:///./node_modules/lodash/_mapCacheGet.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Bopomofo.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Nushu.js","webpack:///./node_modules/lodash/_hashSet.js","webpack:///./.cache/caches/gatsby-plugin-mdx/mdx-scopes-dir/e92f8988d65cf25c087d226e6c0ef06f.js","webpack:///./node_modules/regenerate-unicode-properties/General_Category/Cased_Letter.js","webpack:///./node_modules/lodash/_baseIsArguments.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Warang_Citi.js","webpack:///./node_modules/lodash/_realNames.js","webpack:///./node_modules/regjsparser/parser.js","webpack:///./node_modules/regenerate-unicode-properties/General_Category/Open_Punctuation.js","webpack:///./node_modules/lodash/_baseHasIn.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Batak.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Kaithi.js","webpack:///./node_modules/regenerate-unicode-properties/General_Category/Final_Punctuation.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Elymaic.js","webpack:///./node_modules/lodash/_getData.js","webpack:///./node_modules/lodash/_listCacheClear.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Bassa_Vah.js","webpack:///./node_modules/lodash/_objectToString.js","webpack:///./node_modules/lodash/wrapperLodash.js","webpack:///./node_modules/regenerate-unicode-properties/Binary_Property/IDS_Binary_Operator.js","webpack:///./node_modules/lodash/fp/head.js","webpack:///./node_modules/lodash/_baseFindIndex.js","webpack:///./node_modules/lodash/_baseSlice.js","webpack:///./node_modules/lodash/_root.js","webpack:///./node_modules/lodash/_stackDelete.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Balinese.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Syloti_Nagri.js","webpack:///./node_modules/lodash/_baseUniq.js","webpack:///./node_modules/core-js/internals/engine-v8-version.js","webpack:///./node_modules/lodash/_arrayFilter.js","webpack:///./node_modules/@reach/router/es/lib/utils.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Sinhala.js","webpack:///./node_modules/regenerate-unicode-properties/General_Category/Close_Punctuation.js","webpack:///./node_modules/lodash/_getPrototype.js","webpack:///./.cache/api-runner-browser-plugins.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Marchen.js","webpack:///./node_modules/lodash/_createAssigner.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Old_Persian.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Oriya.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Tifinagh.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Multani.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Anatolian_Hieroglyphs.js","webpack:///./node_modules/@mikaelkristiansson/domready/ready.js","webpack:///./node_modules/lodash/_composeArgsRight.js","webpack:///./node_modules/lodash/isArrayLike.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Pau_Cin_Hau.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Takri.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Tibetan.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Cypriot.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Katakana.js","webpack:///./node_modules/lodash/_assignValue.js","webpack:///./node_modules/lodash/_getSymbols.js","webpack:///./src/components/install/jb/arch.mdx","webpack:///./node_modules/lodash/kebabCase.js","webpack:///./node_modules/lodash/_isLaziable.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Gunjala_Gondi.js","webpack:///./node_modules/lodash/_createFlow.js","webpack:///./node_modules/core-js/internals/engine-user-agent.js","webpack:///./node_modules/lodash/_baseIsNative.js","webpack:///./.cache/register-service-worker.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Ol_Chiki.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Sharada.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Sora_Sompeng.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Phags_Pa.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Sogdian.js","webpack:///./node_modules/lodash/_getValue.js","webpack:///./.cache/_this_is_virtual_fs_path_/$virtual/async-requires.js","webpack:///./node_modules/lodash/_baseGetTag.js","webpack:///./node_modules/lodash/_defineProperty.js","webpack:///./node_modules/core-js/internals/a-possible-prototype.js","webpack:///./node_modules/lodash/_getMatchData.js","webpack:///./node_modules/lodash/_baseClone.js","webpack:///./node_modules/regenerate-unicode-properties/General_Category/Modifier_Symbol.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Thai.js","webpack:///./node_modules/regenerate-unicode-properties/General_Category/Dash_Punctuation.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Deseret.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Canadian_Aboriginal.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Nandinagari.js","webpack:///./node_modules/lodash/_WeakMap.js","webpack:///./node_modules/regenerate-unicode-properties/General_Category/Format.js","webpack:///./node_modules/core-js/internals/object-is-prototype-of.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Hanunoo.js","webpack:///./node_modules/deepmerge/dist/cjs.js","webpack:///./node_modules/core-js/modules/es.typed-array.set.js","webpack:///./node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack:///./node_modules/regenerate-unicode-properties sync ^\\.\\/.*\\.js$","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Lao.js","webpack:///./src/components/home/snippet.mdx","webpack:///./node_modules/regenerate-unicode-properties/General_Category/Letter.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Cypriot.js","webpack:///./node_modules/regenerate-unicode-properties/Binary_Property/Alphabetic.js","webpack:///./node_modules/regenerate-unicode-properties/General_Category/Lowercase_Letter.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Cuneiform.js","webpack:///./.cache/caches/gatsby-plugin-mdx/mdx-scopes-dir/f46d506c1bb0c0f8de171a434f695927.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Meetei_Mayek.js","webpack:///./node_modules/lodash/isError.js","webpack:///./node_modules/lodash/omit.js","webpack:///./node_modules/lodash/_copyArray.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Toto.js","webpack:///./node_modules/lodash/now.js","webpack:///./node_modules/invariant/browser.js","webpack:///./node_modules/core-js/internals/function-bind-native.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Khmer.js","webpack:///./node_modules/regenerate-unicode-properties/General_Category/Unassigned.js","webpack:///./node_modules/lodash/_baseKeysIn.js","webpack:///./node_modules/lodash/_getMapData.js","webpack:///./node_modules/lodash/merge.js","webpack:///./node_modules/core-js/internals/path.js","webpack:///./node_modules/lodash/_arraySome.js","webpack:///./node_modules/lodash/_getTag.js","webpack:///./node_modules/lodash/_baseIndexOf.js","webpack:///./node_modules/regenerate-unicode-properties/Binary_Property/Changes_When_Uppercased.js","webpack:///./node_modules/lodash/last.js","webpack:///./node_modules/regexpu-core/data/character-class-escape-sets.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Hangul.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Shavian.js","webpack:///./node_modules/core-js/internals/indexed-object.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Pahawh_Hmong.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Makasar.js","webpack:///./node_modules/core-js/internals/function-uncurry-this-clause.js","webpack:///./node_modules/regenerate-unicode-properties/Binary_Property/Lowercase.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Takri.js","webpack:///./node_modules/lodash/_baseLodash.js","webpack:///./node_modules/lodash/_createCurry.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Balinese.js","webpack:///./node_modules/regenerate-unicode-properties/General_Category/Currency_Symbol.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Nushu.js","webpack:///./node_modules/lodash/_baseUnset.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Elymaic.js","webpack:///./node_modules/core-js/internals/ordinary-to-primitive.js","webpack:///./node_modules/regenerate-unicode-properties/Binary_Property/Terminal_Punctuation.js","webpack:///./node_modules/unicode-property-aliases-ecmascript/index.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Osmanya.js","webpack:///./node_modules/lodash/_hashClear.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Chorasmian.js","webpack:///./node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack:///./node_modules/core-js/internals/array-buffer-basic-detection.js","webpack:///./node_modules/lodash/toInteger.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Psalter_Pahlavi.js","webpack:///./node_modules/lodash/_baseMergeDeep.js","webpack:///./node_modules/lodash/_setWrapToString.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Greek.js","webpack:///./node_modules/parse-unit/index.js","webpack:///./node_modules/lodash/deburr.js","webpack:///./node_modules/lodash/_trimmedEndIndex.js","webpack:///./node_modules/react-is/index.js","webpack:///./node_modules/regenerate-unicode-properties/Binary_Property/Soft_Dotted.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Gurmukhi.js","webpack:///./node_modules/regenerate-unicode-properties/Binary_Property/ASCII.js","webpack:///./node_modules/core-js/internals/array-includes.js","webpack:///./node_modules/lodash/flatten.js","webpack:///./node_modules/core-js/internals/array-slice-simple.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Inherited.js","webpack:///./src/components/install/jb/binary.mdx","webpack:///./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack:///./node_modules/regenerate-unicode-properties/General_Category/Paragraph_Separator.js","webpack:///./node_modules/core-js/modules/es.regexp.flags.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Meroitic_Cursive.js","webpack:///./node_modules/core-js/internals/to-length.js","webpack:///./node_modules/lodash/_baseTimes.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Mro.js","webpack:///./node_modules/core-js/internals/engine-webkit-version.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Palmyrene.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Inherited.js","webpack:///./.cache/route-announcer-props.js","webpack:///./.cache/navigation.js","webpack:///./node_modules/shallow-compare/es/index.js","webpack:///./.cache/ensure-resources.js","webpack:///./.cache/production-app.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Nabataean.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Katakana.js","webpack:///./node_modules/regenerate-unicode-properties/Binary_Property/Grapheme_Extend.js","webpack:///./node_modules/lodash/_nativeKeys.js","webpack:///./node_modules/regenerate-unicode-properties/Binary_Property/Radical.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Carian.js","webpack:///./node_modules/lodash/_getHolder.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Tangsa.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Old_Italic.js","webpack:///./node_modules/lodash/_copySymbols.js","webpack:///./node_modules/lodash/_stackHas.js","webpack:///./node_modules/@babel/runtime/helpers/inheritsLoose.js","webpack:///./node_modules/regenerate-unicode-properties/Binary_Property/Ideographic.js","webpack:///./node_modules/core-js/internals/shared.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Han.js","webpack:///./node_modules/core-js/internals/own-keys.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Meroitic_Hieroglyphs.js","webpack:///./node_modules/lodash/_freeGlobal.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Mongolian.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Linear_B.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Caucasian_Albanian.js","webpack:///./node_modules/core-js/internals/to-integer-or-infinity.js","webpack:///./node_modules/copy-text-to-clipboard/index.js","webpack:///./.cache/gatsby-browser-entry.js","webpack:///./node_modules/core-js/internals/a-callable.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Multani.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Shavian.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Adlam.js","webpack:///./node_modules/lodash/_baseAssign.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Syloti_Nagri.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Tangut.js","webpack:///./node_modules/lodash/_baseFlatten.js","webpack:///./node_modules/core-js/internals/create-property-descriptor.js","webpack:///./src/components/install/index.js","webpack:///./node_modules/lodash/_cloneDataView.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Old_North_Arabian.js","webpack:///./node_modules/gatsby-theme-docz/gatsby-browser.js","webpack:///./node_modules/unicode-canonical-property-names-ecmascript/index.js","webpack:///./node_modules/modularscale/dist/index.js","webpack:///./node_modules/lodash/_ListCache.js","webpack:///./src/components/install/tk/binary.mdx","webpack:///./node_modules/core-js/internals/function-name.js","webpack:///./node_modules/lodash-es/_freeGlobal.js","webpack:///./node_modules/lodash/_arrayIncludesWith.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Zanabazar_Square.js","webpack:///./node_modules/core-js/actual/object/assign.js","webpack:///./node_modules/core-js/internals/define-global-property.js","webpack:///./node_modules/regenerate-unicode-properties/Binary_Property/Bidi_Mirrored.js","webpack:///./node_modules/lodash/_nativeCreate.js","webpack:///./node_modules/regenerate-unicode-properties/Binary_Property/Case_Ignorable.js","webpack:///./node_modules/regenerate-unicode-properties/Binary_Property/Pattern_Syntax.js","webpack:///./node_modules/core-js/internals/object-assign.js","webpack:///./node_modules/lodash/isPlainObject.js","webpack:///./node_modules/gatsby/dist/internal-plugins/bundle-optimisations/polyfills/object-assign.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Thaana.js","webpack:///./node_modules/lodash/_LazyWrapper.js","webpack:///(webpack)/buildin/module.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Avestan.js","webpack:///./node_modules/@reach/router/es/index.js","webpack:///./docs/tutorial/TutorialButtons.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Cypro_Minoan.js","webpack:///./node_modules/lodash/isArray.js","webpack:///./node_modules/regenerate-unicode-properties/Binary_Property/ID_Continue.js","webpack:///./node_modules/react-frame-component/lib/Context.js","webpack:///./node_modules/lodash/_listCacheSet.js","webpack:///./node_modules/lodash.isnumber/index.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Tifinagh.js","webpack:///./node_modules/lodash/toFinite.js","webpack:///./node_modules/lodash/_baseMatches.js","webpack:///./node_modules/marksy/lib/index.js","webpack:///./node_modules/regenerate-unicode-properties/General_Category/Control.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Soyombo.js","webpack:///./node_modules/lodash/_baseGet.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Old_Turkic.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/New_Tai_Lue.js","webpack:///./node_modules/regenerate-unicode-properties/Binary_Property/Math.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Kayah_Li.js","webpack:///./node_modules/lodash/_createHybrid.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Telugu.js","webpack:///./node_modules/lodash/_metaMap.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Grantha.js","webpack:///./node_modules/regenerate-unicode-properties/index.js","webpack:///./node_modules/regenerate-unicode-properties/General_Category/Enclosing_Mark.js","webpack:///./node_modules/core-js/full/object/assign.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Lisu.js","webpack:///./node_modules/fast-deep-equal/index.js","webpack:///./node_modules/gray-percentage/index.js","webpack:///./node_modules/lodash/_listCacheDelete.js","webpack:///./node_modules/core-js/internals/internal-state.js","webpack:///./node_modules/gatsby-plugin-react-helmet-async/gatsby-browser.js","webpack:///./node_modules/lodash/_arrayReduce.js","webpack:///./node_modules/regenerate-unicode-properties/Binary_Property/Changes_When_NFKC_Casefolded.js","webpack:///./node_modules/lodash/_cloneRegExp.js","webpack:///./node_modules/lodash/fp/mapValues.js","webpack:///./node_modules/lodash/_arrayLikeKeys.js","webpack:///./node_modules/lodash/fp/flattenDepth.js","webpack:///./node_modules/regenerate-unicode-properties/Binary_Property/Quotation_Mark.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Mandaic.js","webpack:///./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","webpack:///./node_modules/lodash/rearg.js","webpack:///./node_modules/react-fast-compare/index.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Brahmi.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Myanmar.js","webpack:///./node_modules/react-frame-component/lib/Frame.js","webpack:///./node_modules/lodash/isTypedArray.js","webpack:///./node_modules/@babel/runtime/helpers/typeof.js","webpack:///./.cache/strip-prefix.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Modi.js","webpack:///./node_modules/lodash/iteratee.js","webpack:///./node_modules/core-js/internals/is-null-or-undefined.js","webpack:///./node_modules/core-js/internals/function-uncurry-this-accessor.js","webpack:///./node_modules/lodash/_baseFor.js","webpack:///./node_modules/gatsby-link/parse-path.js","webpack:///./node_modules/lodash/constant.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Vai.js","webpack:///./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Rejang.js","webpack:///./node_modules/lodash/_baseIsTypedArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack:///./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Latin.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Anatolian_Hieroglyphs.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Khitan_Small_Script.js","webpack:///./node_modules/lodash/_createSet.js","webpack:///./node_modules/lodash/_baseCreate.js","webpack:///./node_modules/regenerate/regenerate.js","webpack:///./node_modules/lodash/_asciiWords.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Hanifi_Rohingya.js","webpack:///./node_modules/lodash/toString.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Hatran.js","webpack:///./node_modules/lodash/fp/get.js","webpack:///./node_modules/gatsby-plugin-offline/gatsby-browser.js","webpack:///./node_modules/lodash/_MapCache.js","webpack:///./node_modules/lodash/_baseIsEqualDeep.js","webpack:///./node_modules/core-js/internals/enum-bug-keys.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Glagolitic.js","webpack:///./node_modules/lodash/_arrayMap.js","webpack:///./node_modules/sourcemap-codec/dist/sourcemap-codec.es.js","webpack:///./node_modules/default-compare/index.js","webpack:///./node_modules/lodash/_Map.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Ethiopic.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Hiragana.js","webpack:///./node_modules/lodash/_hashHas.js","webpack:///./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack:///./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack:///./.cache/prefetch.js","webpack:///./.cache/loader.js","webpack:///./node_modules/regenerate-unicode-properties/Binary_Property/Emoji_Presentation.js","webpack:///./node_modules/core-js/internals/to-object.js","webpack:///./node_modules/regenerate-unicode-properties/General_Category/Nonspacing_Mark.js","webpack:///./node_modules/lodash/_mapCacheClear.js","webpack:///./node_modules/lodash/_baseGetAllKeys.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Ogham.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Bengali.js","webpack:///./node_modules/gatsby-plugin-mdx/context.js","webpack:///./node_modules/gatsby-plugin-mdx/loaders/mdx-scopes.js","webpack:///./node_modules/gatsby-plugin-mdx/wrap-root-element.js","webpack:///./node_modules/gatsby-plugin-mdx/gatsby-browser.js","webpack:///./node_modules/lodash/_Stack.js","webpack:///./node_modules/lodash/_hasUnicodeWord.js","webpack:///./node_modules/lodash/_setCacheAdd.js","webpack:///./node_modules/core-js/features/object/assign.js","webpack:///./node_modules/core-js/internals/descriptors.js","webpack:///./node_modules/lodash/_stackGet.js","webpack:///./node_modules/lodash/_arrayEach.js","webpack:///./node_modules/regenerate-unicode-properties/Binary_Property/Regional_Indicator.js","webpack:///./node_modules/gatsby-plugin-mdx/loaders/mdx-components.js","webpack:///./node_modules/core-js/internals/an-object.js","webpack:///./node_modules/lodash/_parent.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Grantha.js","webpack:///./node_modules/regenerate-unicode-properties/Binary_Property/Extended_Pictographic.js","webpack:///./node_modules/lodash/isWeakMap.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Georgian.js","webpack:///./node_modules/core-js/internals/create-property.js","webpack:///./node_modules/regenerate-unicode-properties/Binary_Property/Cased.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Tibetan.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Devanagari.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Glagolitic.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Kannada.js","webpack:///./node_modules/gatsby-react-router-scroll/scroll-container.js","webpack:///./node_modules/lodash/_apply.js","webpack:///./node_modules/regenerate-unicode-properties/Binary_Property/Any.js","webpack:///./node_modules/lodash/hasIn.js","webpack:///./node_modules/core-js/internals/is-object.js","webpack:///./node_modules/gatsby-theme-docz/src/hooks/useDbQuery.js","webpack:///./node_modules/gatsby-theme-docz/src/wrapper.js","webpack:///./node_modules/@theme-ui/typography/dist/index.esm.js","webpack:///./node_modules/gatsby-theme-docz/src/theme/colors.js","webpack:///./node_modules/gatsby-theme-docz/src/theme/prism/dark.js","webpack:///./node_modules/gatsby-theme-docz/src/theme/prism/light.js","webpack:///./node_modules/gatsby-theme-docz/src/theme/modes.js","webpack:///./node_modules/gatsby-theme-docz/src/theme/prism/index.js","webpack:///./node_modules/gatsby-theme-docz/src/theme/styles.js","webpack:///./node_modules/gatsby-theme-docz/src/theme/index.js","webpack:///./node_modules/gatsby-theme-docz/src/components/Headings/index.js","webpack:///./node_modules/@emotion/react/node_modules/@emotion/sheet/dist/emotion-sheet.browser.esm.js","webpack:///./node_modules/stylis/dist/stylis.mjs","webpack:///./node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","webpack:///./node_modules/@emotion/react/node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js","webpack:///./node_modules/@emotion/react/node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","webpack:///./node_modules/@emotion/react/node_modules/@emotion/unitless/dist/emotion-unitless.esm.js","webpack:///./node_modules/@emotion/react/node_modules/@emotion/serialize/dist/emotion-serialize.browser.esm.js","webpack:///./node_modules/@emotion/react/node_modules/@emotion/hash/dist/emotion-hash.esm.js","webpack:///./node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js","webpack:///./node_modules/@emotion/react/dist/emotion-element-c39617d8.browser.esm.js","webpack:///./node_modules/@emotion/react/dist/emotion-react.browser.esm.js","webpack:///./node_modules/gatsby-theme-docz/src/theme/global.js","webpack:///./node_modules/gatsby-theme-docz/src/utils/mixins.js","webpack:///./node_modules/gatsby-theme-docz/src/theme/breakpoints.js","webpack:///./node_modules/gatsby-theme-docz/src/components/Header/styles.js","webpack:///./node_modules/react-feather/dist/icons/chevron-down.js","webpack:///./node_modules/react-feather/dist/icons/chevron-up.js","webpack:///./node_modules/react-feather/dist/icons/clipboard.js","webpack:///./node_modules/react-feather/dist/icons/code.js","webpack:///./node_modules/react-feather/dist/icons/edit-2.js","webpack:///./node_modules/react-feather/dist/icons/github.js","webpack:///./node_modules/react-feather/dist/icons/menu.js","webpack:///./node_modules/react-feather/dist/icons/search.js","webpack:///./node_modules/react-feather/dist/icons/sun.js","webpack:///./node_modules/gatsby-theme-docz/src/components/Icons/index.js","webpack:///./node_modules/gatsby-theme-docz/src/components/Logo/styles.js","webpack:///./src/gatsby-theme-docz/components/Logo/index.js","webpack:///./node_modules/gatsby-theme-docz/src/components/Header/index.js","webpack:///./node_modules/gatsby-theme-docz/src/components/Sidebar/styles.js","webpack:///./node_modules/gatsby-theme-docz/src/components/NavSearch/styles.js","webpack:///./node_modules/gatsby-theme-docz/src/components/NavSearch/index.js","webpack:///./node_modules/gatsby-theme-docz/src/components/NavLink/styles.js","webpack:///./node_modules/gatsby-theme-docz/src/components/NavLink/index.js","webpack:///./node_modules/gatsby-theme-docz/src/components/NavGroup/styles.js","webpack:///./node_modules/gatsby-theme-docz/src/components/NavGroup/index.js","webpack:///./node_modules/gatsby-theme-docz/src/components/Sidebar/index.js","webpack:///./node_modules/gatsby-theme-docz/src/components/MainContainer/styles.js","webpack:///./node_modules/gatsby-theme-docz/src/components/MainContainer/index.js","webpack:///./node_modules/gatsby-theme-docz/src/components/Layout/styles.js","webpack:///./node_modules/gatsby-theme-docz/src/components/Layout/index.js","webpack:///./node_modules/prism-react-renderer/prism/index.js","webpack:///./node_modules/prism-react-renderer/dist/index.js","webpack:///./node_modules/react-live/dist/react-live.es.js","webpack:///./node_modules/re-resizable/lib/resizer.js","webpack:///./node_modules/re-resizable/lib/index.js","webpack:///./node_modules/raf-schd/dist/raf-schd.esm.js","webpack:///./node_modules/lodash-es/isObject.js","webpack:///./node_modules/lodash-es/_root.js","webpack:///./node_modules/lodash-es/now.js","webpack:///./node_modules/lodash-es/_trimmedEndIndex.js","webpack:///./node_modules/lodash-es/_baseTrim.js","webpack:///./node_modules/lodash-es/_Symbol.js","webpack:///./node_modules/lodash-es/_getRawTag.js","webpack:///./node_modules/lodash-es/_objectToString.js","webpack:///./node_modules/lodash-es/_baseGetTag.js","webpack:///./node_modules/lodash-es/isObjectLike.js","webpack:///./node_modules/lodash-es/isSymbol.js","webpack:///./node_modules/lodash-es/toNumber.js","webpack:///./node_modules/lodash-es/debounce.js","webpack:///./node_modules/lodash-es/throttle.js","webpack:///./node_modules/react-resize-detector/lib/esm/lib/utils.js","webpack:///./node_modules/react-resize-detector/lib/esm/components/ChildWrapper.js","webpack:///./node_modules/react-resize-detector/lib/esm/components/ResizeDetector.js","webpack:///./node_modules/react-resize-detector/lib/esm/index.js","webpack:///./node_modules/gatsby-theme-docz/src/components/Playground/styles.js","webpack:///./node_modules/gatsby-theme-docz/src/components/Playground/Wrapper.js","webpack:///./node_modules/gatsby-theme-docz/src/utils/theme.js","webpack:///./node_modules/gatsby-theme-docz/src/components/Playground/index.js","webpack:///./node_modules/gatsby-theme-docz/src/components/Props/styles.js","webpack:///./node_modules/gatsby-theme-docz/src/components/Props/index.js","webpack:///./src/gatsby-theme-docz/components/codeblock.js","webpack:///./src/gatsby-theme-docz/components/index.js","webpack:///./node_modules/gatsby-theme-docz/src/index.js","webpack:///./node_modules/gatsby-theme-docz/src/base/Seo.js","webpack:///./node_modules/gatsby-theme-docz/src/base/Layout.js","webpack:///./node_modules/gatsby-plugin-catch-links/catch-links.js","webpack:///./node_modules/lodash/fp/merge.js","webpack:///./node_modules/lodash/unionBy.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Syriac.js","webpack:///./node_modules/lodash/_baseAssignValue.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Osage.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Hiragana.js","webpack:///./node_modules/lodash/fp/_mapping.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Elbasan.js","webpack:///./node_modules/core-js/internals/inspect-source.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Sharada.js","webpack:///./node_modules/lodash/_createBind.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Tai_Tham.js","webpack:///./node_modules/lodash/_safeGet.js","webpack:///./node_modules/lodash/fp/unionBy.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Hangul.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Sora_Sompeng.js","webpack:///./node_modules/get-value/index.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Khmer.js","webpack:///./node_modules/typography-theme-moraga/dist/index.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Old_Sogdian.js","webpack:///./node_modules/lodash/_baseTrim.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Brahmi.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Linear_B.js","webpack:///./node_modules/lodash/_arrayIncludes.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Phags_Pa.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Makasar.js","webpack:///./node_modules/lodash/toPlainObject.js","webpack:///./node_modules/regenerate-unicode-properties/Binary_Property/Extender.js","webpack:///./node_modules/core-js/internals/document-all.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Duployan.js","webpack:///./node_modules/lodash/_copyObject.js","webpack:///./node_modules/lodash/fp/kebabCase.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Chorasmian.js","webpack:///./node_modules/lodash/_mapCacheDelete.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Old_Persian.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Bassa_Vah.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Palmyrene.js","webpack:///./node_modules/core-js/internals/uid.js","webpack:///./node_modules/core-js/internals/create-non-enumerable-property.js","webpack:///./node_modules/ieee754/index.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Ugaritic.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Miao.js","webpack:///./node_modules/lodash/_overArg.js","webpack:///./node_modules/compass-vertical-rhythm/dist/index.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Myanmar.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Old_Permic.js","webpack:///./node_modules/he/he.js","webpack:///./node_modules/regenerate-unicode-properties/General_Category/Other_Number.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Vithkuqi.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Inscriptional_Parthian.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Linear_A.js","webpack:///./node_modules/core-js/internals/is-forced.js","webpack:///./node_modules/lodash/isFunction.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Gothic.js","webpack:///./node_modules/lodash/eq.js","webpack:///./node_modules/lodash/_baseIsMatch.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Braille.js","webpack:///./node_modules/regenerate-unicode-properties/Binary_Property/Unified_Ideograph.js","webpack:///./.cache/public-page-renderer.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Lydian.js","webpack:///./node_modules/core-js/internals/object-define-property.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Inscriptional_Pahlavi.js","webpack:///./node_modules/capitalize/index.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Saurashtra.js","webpack:///./node_modules/regenerate-unicode-properties/Binary_Property/White_Space.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/SignWriting.js","webpack:///./node_modules/lodash/keysIn.js","webpack:///./node_modules/lodash/_createBaseFor.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Adlam.js","webpack:///./node_modules/lodash/_nodeUtil.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Tamil.js","webpack:///./node_modules/lodash/fp/set.js","webpack:///./node_modules/lodash/_isIterateeCall.js","webpack:///./node_modules/lodash/get.js","webpack:///./node_modules/regenerate-unicode-properties/Binary_Property/Emoji_Component.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Lydian.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Manichaean.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Tangut.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Ahom.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Toto.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Tai_Le.js","webpack:///./node_modules/lodash/fp/defaultTo.js","webpack:///./node_modules/lodash/_Symbol.js","webpack:///./node_modules/lodash/mapValues.js","webpack:///./node_modules/gatsby-plugin-manifest/gatsby-browser.js","webpack:///./.cache/create-react-context.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Inscriptional_Pahlavi.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Coptic.js","webpack:///./node_modules/lodash/_getSymbolsIn.js","webpack:///./node_modules/core-js/internals/to-property-key.js","webpack:///./node_modules/regenerate-unicode-properties/General_Category/Line_Separator.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Old_Uyghur.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Ethiopic.js","webpack:///./node_modules/lodash/fp/matchesProperty.js","webpack:///./node_modules/regenerate-unicode-properties/General_Category/Other_Punctuation.js","webpack:///./src/components/install/jb/osx.mdx","webpack:///./node_modules/regenerate-unicode-properties/Binary_Property/Grapheme_Base.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Tirhuta.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Gujarati.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Old_Sogdian.js","webpack:///./node_modules/lodash/_equalArrays.js","webpack:///./node_modules/unicode-match-property-value-ecmascript/index.js","webpack:///./docs/home.js","webpack:///./node_modules/lodash/_cloneSymbol.js","webpack:///./node_modules/regenerate-unicode-properties/General_Category/Math_Symbol.js","webpack:///./node_modules/regenerate-unicode-properties/Script/New_Tai_Lue.js","webpack:///./node_modules/escape-string-regexp/index.js","webpack:///./node_modules/marksy/lib/createRenderer.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Masaram_Gondi.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Georgian.js","webpack:///./node_modules/lodash/_baseSetToString.js","webpack:///./node_modules/regenerate-unicode-properties/Binary_Property/Pattern_White_Space.js","webpack:///./node_modules/regexpu-core/rewrite-pattern.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Samaritan.js","webpack:///./node_modules/lodash/_mapCacheHas.js","webpack:///./node_modules/@babel/runtime/helpers/extends.js","webpack:///./node_modules/lodash/head.js","webpack:///./node_modules/unicode-match-property-value-ecmascript/data/mappings.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Nabataean.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Sundanese.js","webpack:///./node_modules/lodash/_reorder.js","webpack:///./node_modules/lodash/_mergeData.js","webpack:///./node_modules/@emotion/sheet/dist/sheet.browser.esm.js","webpack:///./node_modules/@emotion/stylis/dist/stylis.browser.esm.js","webpack:///./node_modules/@emotion/cache/dist/cache.browser.esm.js","webpack:///./node_modules/@emotion/utils/dist/utils.browser.esm.js","webpack:///./node_modules/@emotion/hash/dist/hash.browser.esm.js","webpack:///./node_modules/@emotion/unitless/dist/unitless.browser.esm.js","webpack:///./node_modules/@emotion/serialize/node_modules/@emotion/memoize/dist/memoize.browser.esm.js","webpack:///./node_modules/@emotion/serialize/dist/serialize.browser.esm.js","webpack:///./node_modules/@emotion/core/dist/emotion-element-04d85134.browser.esm.js","webpack:///./node_modules/@emotion/css/dist/css.browser.esm.js","webpack:///./node_modules/@emotion/core/dist/core.browser.esm.js","webpack:///./node_modules/lodash/_deburrLetter.js","webpack:///./node_modules/react-is/cjs/react-is.production.min.js","webpack:///./node_modules/lodash/_getAllKeys.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Dives_Akuru.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Lisu.js","webpack:///./node_modules/lodash/_setToArray.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Buginese.js","webpack:///./node_modules/regenerate-unicode-properties/Binary_Property/ASCII_Hex_Digit.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Duployan.js","webpack:///./node_modules/core-js/internals/regexp-flags.js","webpack:///./node_modules/regenerate-unicode-properties/Binary_Property/IDS_Trinary_Operator.js","webpack:///./node_modules/core-js/internals/array-sort.js","webpack:///./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack:///./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack:///./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///./node_modules/react-helmet-async/lib/index.module.js","webpack:///./node_modules/core-js/stable/object/assign.js","webpack:///./node_modules/regenerate-unicode-properties/General_Category/Uppercase_Letter.js","webpack:///./node_modules/core-js/internals/v8-prototype-define-bug.js","webpack:///./.cache/public-page-renderer-prod.js","webpack:///./node_modules/lodash/_baseSetData.js","webpack:///./node_modules/regenerate-unicode-properties/Binary_Property/Diacritic.js","webpack:///./node_modules/unicode-match-property-ecmascript/index.js","webpack:///./node_modules/array-sort/node_modules/kind-of/index.js","webpack:///./node_modules/lodash/_baseUnary.js","webpack:///./node_modules/lodash/debounce.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Tagbanwa.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Phoenician.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Kannada.js","webpack:///./src/components/install/tk/osx.mdx","webpack:///./node_modules/lodash/fp/convert.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Cham.js","webpack:///./node_modules/lodash/_equalObjects.js","webpack:///./node_modules/lodash/_createCompounder.js","webpack:///./node_modules/lodash/isLength.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Khitan_Small_Script.js","webpack:///./node_modules/lodash/_assignMergeValue.js","webpack:///./node_modules/lodash/_countHolders.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Runic.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Yi.js","webpack:///./node_modules/core-js/internals/math-trunc.js","webpack:///./node_modules/lodash/fp/flow.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Lepcha.js","webpack:///./node_modules/lodash/toNumber.js","webpack:///./node_modules/lodash/_listCacheGet.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Mongolian.js","webpack:///./node_modules/lodash/_DataView.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Ugaritic.js","webpack:///./node_modules/core-js/internals/well-known-symbol.js","webpack:///./node_modules/lodash/fp/_baseConvert.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Old_North_Arabian.js","webpack:///./node_modules/@emotion/is-prop-valid/node_modules/@emotion/memoize/dist/memoize.browser.esm.js","webpack:///./node_modules/@emotion/is-prop-valid/dist/is-prop-valid.browser.esm.js","webpack:///./node_modules/@styled-system/css/dist/index.esm.js","webpack:///./node_modules/theme-ui/dist/index.esm.js","webpack:///./node_modules/lodash/_hashGet.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Limbu.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Oriya.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Devanagari.js","webpack:///./node_modules/lodash/clone.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Canadian_Aboriginal.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Hebrew.js","webpack:///./node_modules/lodash/_getWrapDetails.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Mandaic.js","webpack:///./node_modules/lodash/_baseIteratee.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Mahajani.js","webpack:///./node_modules/regenerate-unicode-properties/General_Category/Other_Letter.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Armenian.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Newa.js","webpack:///./node_modules/regenerate-unicode-properties/Binary_Property/Changes_When_Lowercased.js","webpack:///./node_modules/lodash/ary.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Inscriptional_Parthian.js","webpack:///./node_modules/lodash/noop.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Tangsa.js","webpack:///./node_modules/regenerate-unicode-properties/General_Category/Surrogate.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Chakma.js","webpack:///./node_modules/lodash/_baseIsSet.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Tai_Viet.js","webpack:///./node_modules/core-js/internals/to-primitive.js","webpack:///./node_modules/lodash/_baseIsEqual.js","webpack:///./node_modules/regenerate-unicode-properties/Binary_Property/Uppercase.js","webpack:///./node_modules/lodash/_isIndex.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Saurashtra.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Gujarati.js","webpack:///./node_modules/regenerate-unicode-properties/Binary_Property/Deprecated.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Buhid.js","webpack:///./node_modules/lodash/_setToString.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Meroitic_Hieroglyphs.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Nko.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Tirhuta.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Buhid.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Lycian.js","webpack:///./node_modules/lodash/_initCloneByTag.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Malayalam.js","webpack:///./node_modules/lodash/fp/placeholder.js","webpack:///./node_modules/@babel/runtime/helpers/esm/extends.js","webpack:///./node_modules/regenerate-unicode-properties/Binary_Property/Changes_When_Casefolded.js","webpack:///./node_modules/core-js/internals/is-pure.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Mende_Kikakui.js","webpack:///./node_modules/lodash/_wrapperClone.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Elbasan.js","webpack:///./node_modules/lodash/fp/pipe.js","webpack:///./node_modules/lodash/_cacheHas.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Old_Italic.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Telugu.js","webpack:///./node_modules/core-js/internals/function-call.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Javanese.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Old_Turkic.js","webpack:///./node_modules/core-js/internals/classof-raw.js","webpack:///./node_modules/lodash/_flatRest.js","webpack:///./node_modules/core-js/internals/shared-store.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Sundanese.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Nyiakeng_Puachue_Hmong.js","webpack:///./.cache/api-runner-browser.js","webpack:///./node_modules/lodash/_assocIndexOf.js","webpack:///./node_modules/lodash/_composeArgs.js","webpack:///./node_modules/lodash/_Set.js","webpack:///./node_modules/lodash/_initCloneArray.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/regenerate-unicode-properties/Binary_Property/Sentence_Terminal.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Psalter_Pahlavi.js","webpack:///./node_modules/lodash/_cloneTypedArray.js","webpack:///./node_modules/core-js/internals/object-keys-internal.js","webpack:///./node_modules/regenerate-unicode-properties/General_Category/Mark.js","webpack:///./node_modules/core-js/internals/define-built-in.js","webpack:///./node_modules/regenerate-unicode-properties/General_Category/Decimal_Number.js","webpack:///./node_modules/regenerate-unicode-properties/Script/Medefaidrin.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Mahajani.js","webpack:///./src/components/install/tk/arch.mdx","webpack:///./img/logo.svg","webpack:///./node_modules/core-js/internals/document-create-element.js","webpack:///./node_modules/lodash/isMap.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Egyptian_Hieroglyphs.js","webpack:///./node_modules/core-js/modules/es.object.assign.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Carian.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Batak.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Samaritan.js","webpack:///./node_modules/regenerate-unicode-properties/Binary_Property/Variation_Selector.js","webpack:///./node_modules/lodash/identity.js","webpack:///./node_modules/core-js/internals/weak-map-basic-detection.js","webpack:///./node_modules/lodash/_baseToString.js","webpack:///./node_modules/regenerate-unicode-properties/Script_Extensions/Limbu.js"],"names":["set","addRange","module","exports","assocIndexOf","key","this","__data__","Uint8Array","arrayBuffer","result","constructor","byteLength","toIntegerOrInfinity","$RangeError","RangeError","it","Stack","assignMergeValue","baseFor","baseMergeDeep","isObject","keysIn","safeGet","baseMerge","object","source","srcIndex","customizer","stack","srcValue","newValue","undefined","_interopRequireDefault","__esModule","withPrefix","withAssetPrefix","path","getGlobalPathPrefix","navigateTo","replace","push","navigate","default","_objectWithoutPropertiesLoose2","_assertThisInitialized2","_inheritsLoose2","_extends2","_propTypes","_react","_router","_utils","_parsePath","parsePath","isAbsolutePath","startsWith","prefix","_ref","_prefix","getGlobalBasePrefix","isLocalLink","base","endsWith","slice","rewriteLinkPath","relativeTo","current","resolve","absolutify","NavLinkPropTypes","activeClassName","string","activeStyle","partiallyActive","bool","GatsbyLinkLocationWrapper","props","createElement","Location","_ref2","location","GatsbyLink","_location","_React$Component","_this","call","defaultGetProps","_ref3","isPartiallyCurrent","isCurrent","className","filter","Boolean","join","style","IOSupported","window","IntersectionObserver","state","handleRef","bind","_proto","prototype","_prefetch","currentPath","pathname","rewrittenPath","to","newPathName","___loader","enqueue","componentDidUpdate","prevProps","prevState","componentDidMount","componentWillUnmount","io","_this$io","instance","el","unobserve","disconnect","ref","cb","_this2","innerRef","hasOwnProperty","entries","forEach","entry","target","isIntersecting","intersectionRatio","observe","render","_this3","_this$props","_this$props$getProps","getProps","_onClick","onClick","_onMouseEnter","onMouseEnter","rest","prefixedTo","Link","e","hovering","button","defaultPrevented","metaKey","altKey","ctrlKey","shiftKey","preventDefault","shouldReplace","encodeURI","___navigate","href","Component","propTypes","func","isRequired","showDeprecationWarning","functionName","altFunctionName","version","console","warn","_default","forwardRef","options","___push","___replace","baseProperty","basePropertyDeep","isKey","toKey","baseCreate","getPrototype","isPrototype","convert","placeholder","baseGetTag","isObjectLike","value","IndexedObject","requireObjectCoercible","NATIVE_SYMBOL","Symbol","sham","iterator","SessionStorage","read","stateKey","getStateKey","sessionStorage","getItem","JSON","parse","save","storedValue","stringify","setItem","stateKeyBase","arrayEach","arrayIncludes","wrapFlags","details","bitmask","pair","sort","baseIsArguments","objectProto","Object","propertyIsEnumerable","isArguments","arguments","apply","createCtor","root","thisArg","partials","isBind","Ctor","wrapper","argsIndex","argsLength","length","leftIndex","leftLength","args","Array","fn","arrayMap","copyArray","isArray","isSymbol","stringToPath","toString","ListCache","Map","MapCache","data","pairs","LARGE_ARRAY_SIZE","size","exec","error","global","isCallable","aFunction","argument","namespace","method","$propertyIsEnumerable","getOwnPropertyDescriptor","NASHORN_BUG","1","f","V","descriptor","enumerable","uncurryThisAccessor","anObject","aPossiblePrototype","setPrototypeOf","setter","CORRECT_SETTER","test","O","proto","__proto__","baseIsSet","baseUnary","nodeUtil","nodeIsSet","isSet","setCacheAdd","setCacheHas","SetCache","values","index","add","has","_typeof","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","cache","get","newObj","hasPropertyDescriptor","defineProperty","desc","BitSet","arg","bits","n","Chunk","start","end","content","original","intro","outro","storeName","edited","defineProperties","previous","writable","next","appendLeft","appendRight","clone","chunk","contains","eachNext","eachPrevious","edit","contentOnly","prependLeft","prependRight","split","sliceIndex","originalBefore","originalAfter","newChunk","trimEnd","rx","trimmed","trimStart","btoa","Error","str","unescape","encodeURIComponent","Buffer","from","SourceMap","properties","file","sources","sourcesContent","names","mappings","guessIndent","code","lines","tabbed","line","spaced","min","reduce","numSpaces","Math","Infinity","getRelativePath","fromParts","toParts","pop","shift","i","concat","toUrl","thing","getLocator","originalLines","lineOffsets","pos","j","m","column","Mappings","hires","generatedCodeLine","generatedCodeColumn","raw","rawSegments","pending","addEdit","sourceIndex","loc","nameIndex","segment","advance","addUneditedChunk","sourcemapLocations","originalCharIndex","first","warned","insertLeft","insertRight","MagicString","firstChunk","lastChunk","lastSearchedChunk","byStart","byEnd","filename","indentExclusionRanges","storedNames","indentStr","addSourcemapLocation","char","append","TypeError","_split","cloned","originalChunk","clonedChunk","nextOriginalChunk","nextClonedChunk","generateDecodedMap","this$1$1","keys","locate","indexOf","includeContent","generateMap","getIndentString","indent","pattern","isExcluded","exclude","exclusion","shouldIndentNextCharacter","indentStart","replacer","match","charIndex","_splitChunk","insert","move","last","oldLeft","oldRight","newRight","newLeft","overwrite","prepend","remove","lastChar","lastLine","lineIndex","lastIndexOf","substr","lineStr","startChunk","containsEnd","sliceStart","sliceEnd","snip","searchForward","isEmpty","trim","trimLines","charType","trimEndAborted","RegExp","aborted","trimStartAborted","hasOwnProp","Bundle","separator","uniqueSources","uniqueSourceIndexByFilename","addSource","option","uniqueSource","bundle","name","magicString","map","indentStringCounts","a","b","trailingNewline","body","some","UA","getBuiltIn","isPrototypeOf","USE_SYMBOL_AS_UID","$Object","$Symbol","coreJsData","reWrapComment","lastIndex","reactIs","REACT_STATICS","childContextTypes","contextType","contextTypes","defaultProps","displayName","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","type","KNOWN_STATICS","caller","callee","arity","MEMO_STATICS","compare","TYPE_STATICS","getStatics","component","isMemo","ForwardRef","Memo","getOwnPropertyNames","getOwnPropertySymbols","getPrototypeOf","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","check","globalThis","self","Function","charAt","pathCache","matchPaths","trimPathname","rawPathname","decodeURIComponent","stripPrefix","__BASE_PATH__","URL","setMatchPaths","findMatchPath","trimmedPathname","cleanPath","pickPaths","matchPath","originalPath","pick","normalizePagePath","route","grabMatchParams","params","findPath","foundPath","internalObjectKeys","enumBugKeys","createWrap","curry","guard","aCallable","isNullOrUndefined","P","funcToString","isArrayLike","baseClone","baseMatchesProperty","useScrollRestoration","identifier","useLocation","useContext","_scrollHandler","ScrollContext","useRef","useLayoutEffect","position","scrollTo","onScroll","scrollTop","baseGet","memoize","resolver","memoized","Cache","arr","isPlainObject","hasOwn","toObject","sharedKey","CORRECT_PROTOTYPE_GETTER","IE_PROTO","ObjectPrototype","fails","F","hashClear","hashDelete","hashGet","hashHas","hashSet","Hash","clear","castPath","isIndex","isLength","hasFunc","NATIVE_BIND","FunctionPrototype","uncurryThisWithBind","__assign","assign","t","s","p","__rest","create","lowerCase","toLowerCase","DEFAULT_SPLIT_REGEXP","DEFAULT_STRIP_REGEXP","input","re","pascalCaseTransform","firstChar","lowerChars","toUpperCase","pascalCase","_a","splitRegexp","_b","stripRegexp","_c","transform","_d","delimiter","noCase","createError","message","err","ENCODING","ENCODING_LEN","TIME_MAX","pow","randomChar","prng","rand","floor","encodeTime","now","len","isNaN","Number","isInteger","mod","encodeRandom","detectPrng","allowInsecure","browserCrypto","crypto","msCrypto","buffer","getRandomValues","nodeCrypto","randomBytes","readUInt8","random","currPrng","ulid","seedTime","Date","characterMap","chars","allAccents","firstAccent","removeAccents","removeAccents_1","_extends","rankings","CASE_SENSITIVE_EQUAL","EQUAL","STARTS_WITH","WORD_STARTS_WITH","STRING_CASE","STRING_CASE_ACRONYM","CONTAINS","ACRONYM","MATCHES","NO_MATCH","caseRankings","CAMEL","PASCAL","KEBAB","SNAKE","NO_CASE","matchSorter","items","_options$threshold","threshold","matchedItems","matches","item","_getHighestRanking","getHighestRanking","rankedItem","rank","keyIndex","_getHighestRanking$ke","keyThreshold","sortRankedItems","allVals","itemObj","nestedKey","getItemValues","itemValue","attributes","getKeyAttributes","getAllValuesToRank","newRank","getMatchRanking","minRanking","maxRanking","testString","stringToRank","prepareValueForComparison","acronym","caseRank","containsUpperCase","containsDash","containsUnderscore","getCaseRanking","isPartial","caseRanking","testIndex","isPartialOfCase","isCasedAcronym","splitValue","splitTestString","correct","splitItem","isCaseAcronym","wordInString","splitByHyphenWord","matchingInOrderCharCount","charNumber","findMatchingCharacter","matchChar","firstIndex","spread","inOrderPercentage","getRanking","getClosenessRanking","aRankedItem","aRank","aKeyIndex","bRankedItem","bRank","bKeyIndex","String","localeCompare","_ref4","keepDiacritics","isExtensible","configurable","defaultComponents","layout","children","Fragment","notFound","playground","ComponentsProvider","components","themeComponents","Provider","useComponents","doczState","initial","ctx","listeners","Set","context","listener","dispatch","_Component","setState","useConfig","config","themeConfig","newConfig","transformed","useComponentProps","componentName","fileName","stateProps","found","find","includes","componentMatcher","firstDefinition","definition","compile","elements","prop","tree","parseDescs","useCurrentDoc","updateState","ev","payload","useDataServer","url","socket","WebSocket","onmessage","close","reverse","useDocs","_ref5","noMenu","menu","entriesOfMenu","fromMenu","menusFromEntries","entriesWithoutMenu","menus","parseMenu","normalize","selected","parseItemStr","id","parent","normalizeAndClean","mergeMenus","entriesMenu","configMenu","second","foundMenu","findPos","orderedList","findIndex","sortByName","sortMenus","list","useMenus","opts","query","_ref6","sorted","merged","val","flattened","flattenedDeduplicated","search","usePrevious","defaultValue","isClient","getSize","initialWidth","initialHeight","innerHeight","innerWidth","outerHeight","outerWidth","useWindowSize","throttleMs","_initialWidth","0","windowSize","setWindowSize","tSetWindowResize","addEventListener","removeEventListener","Playground","_ref7","__scope","__position","__code","language","useScoping","PlaygroundComponent","scope","RE_OBJECTOF","getTypeStr","computed","v","shape","rst","humanize","getPropType","propName","flowType","isEnum","Props","title","isToggle","isRaw","of","PropsComponent","theme","c","WrappedComponent","Theme","db","currentEntry","flow","createFlow","freeExports","nodeType","freeModule","allocUnsafe","isDeep","copy","_frontmatter","layoutProps","MDXLayout","DefaultLayout","MDXContent","_objectWithoutProperties","_excluded","mdx","mdxType","parentName","isMDXComponent","isLaziable","setData","setWrapToString","wrapFunc","holders","argPos","ary","isCurry","newData","emitter","all","on","handler","off","splice","emit","evt","mitt","baseFlatten","toInteger","array","depth","NAME","Constructor","Prototype","NATIVE_ARRAY_BUFFER","DESCRIPTORS","classof","tryToString","createNonEnumerableProperty","defineBuiltIn","defineBuiltInAccessor","wellKnownSymbol","uid","InternalStateModule","enforceInternalState","enforce","getInternalState","Int8Array","Int8ArrayPrototype","Uint8ClampedArray","Uint8ClampedArrayPrototype","TypedArray","TypedArrayPrototype","TO_STRING_TAG","TYPED_ARRAY_TAG","NATIVE_ARRAY_BUFFER_VIEWS","opera","TYPED_ARRAY_TAG_REQUIRED","TypedArrayConstructorsList","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigIntArrayConstructorsList","BigInt64Array","BigUint64Array","getTypedArrayConstructor","isTypedArray","klass","aTypedArray","aTypedArrayConstructor","C","exportTypedArrayMethod","KEY","property","forced","ARRAY","TypedArrayConstructor","error2","exportTypedArrayStaticMethod","isView","ownKeys","getOwnPropertyDescriptorModule","definePropertyModule","exceptions","resIndex","baseSetData","createBind","createCurry","createHybrid","createPartial","getData","mergeData","nativeMax","max","isBindKey","partialsRight","holdersRight","baseLodash","LodashWrapper","chainAll","__wrapped__","__actions__","__chain__","__index__","__values__","asciiWords","hasUnicodeWord","unicodeWords","isBuffer","arrayLikeKeys","baseKeys","makeBuiltIn","getter","ScrollContainer","ScrollHandler","_scrollContainer","_useScrollRestoration","_defineProperty","enumerableOnly","symbols","sym","_objectSpread2","getOwnPropertyDescriptors","excluded","sourceKeys","_objectWithoutPropertiesLoose","sourceSymbolKeys","MDXContext","createContext","withMDXComponents","allComponents","useMDXComponents","contextComponents","MDXProvider","DEFAULTS","inlineCode","MDXCreateElement","propComponents","originalType","etc","createElementArgArray","newProps","nativeNow","count","lastCalled","stamp","remaining","extendStatics","__extends","d","__","__createBinding","o","k","k2","__setModuleDefault","__importStar","React","isWindows","navigator","platform","isMacLike","cssText","Editor","_super","capture","_recordCurrentState","_input","selectionStart","selectionEnd","_recordChange","_getLines","text","substring","record","_history","offset","extras","timestamp","_updateInput","onValueChange","_applyEdits","_undoEdit","_redoEdit","_handleKeyDown","tabSize","insertSpaces","ignoreTabKey","onKeyDown","keyCode","currentTarget","blur","tabCharacter","repeat","startLine_1","linesBeforeCaret","endLine_1","nextValue","startLineText","startLine_2","endLine_2","updatedSelection","hasSelection","_handleChange","history","session","padding","highlight","textareaId","textareaClassName","autoFocus","disabled","form","maxLength","minLength","readOnly","required","onFocus","onBlur","onKeyUp","preClassName","contentStyle","paddingTop","paddingRight","paddingBottom","paddingLeft","highlighted","styles","container","editor","textarea","onChange","autoCapitalize","autoComplete","autoCorrect","spellCheck","dangerouslySetInnerHTML","__html","textAlign","boxSizing","overflow","top","left","height","width","resize","color","MozOsxFontSmoothing","WebkitFontSmoothing","WebkitTextFillColor","pointerEvents","margin","border","background","display","fontFamily","fontSize","fontStyle","fontVariantLigatures","fontWeight","letterSpacing","lineHeight","textIndent","textRendering","textTransform","whiteSpace","wordBreak","overflowWrap","shared","polyfill","shortOut","rsBreakRange","rsMathOpRange","rsBreak","rsDigits","rsDingbat","rsLower","rsMisc","rsRegional","rsSurrPair","rsUpper","rsMiscLower","rsMiscUpper","reOptMod","rsModifier","rsSeq","rsEmoji","reUnicodeWord","PlatformInstall","Tanka","Jb","getLocation","_source$location","hash","origin","protocol","host","hostname","port","canUseDOM","decodeURI","createHistory","transitioning","resolveTransition","_onTransitionComplete","listen","popstateListener","action","_ref$replace","go","replaceState","pushState","transition","Promise","res","createMemorySource","initialPath","searchIndex","initialLocation","states","_","uri","_uri$split","_uri$split$","_uri$split2","_uri$split2$","newIndex","document","globalHistory","TO_STRING_TAG_SUPPORT","classofRaw","CORRECT_ARGUMENTS","tag","tryGet","reIsDeepProp","reIsPlainProp","localizedManifests","localizedManifest","app","start_url","lang","_createClass","protoProps","staticProps","_propTypes2","_classCallCheck","_possibleConstructorReturn","ReferenceError","Content","subClass","superClass","_inherits","contentDidMount","contentDidUpdate","Children","only","element","nativeKeys","nativeObjectToString","symToStringTag","toStringTag","isOwn","unmasked","toLength","r","u","l","parseFloat","toFixed","firefox","require","_gatsby","_catchLinks","onClientEntry","pluginOptions","V8_VERSION","$String","symbol","spreadableSymbol","isConcatSpreadable","propertyIsEnumerableModule","createPropertyDescriptor","toIndexedObject","toPropertyKey","IE8_DOM_DEFINE","$getOwnPropertyDescriptor","Highlights","Catcher","fromIndex","baseIsNative","getValue","baseSet","stubFalse","block","newline","fences","noop","hr","heading","nptable","blockquote","html","def","table","lheading","paragraph","Lexer","tokens","links","marked","defaults","rules","normal","gfm","tables","_label","_title","getRegex","bullet","_tag","merge","lex","src","token","loose","cap","bull","space","isordered","pedantic","header","align","cells","ordered","smartLists","sanitize","pre","sanitizer","charCodeAt","inline","escape","autolink","link","reflink","nolink","strong","em","br","del","InlineLexer","renderer","Renderer","breaks","TextRenderer","Parser","encode","fromCharCode","parseInt","regex","opt","resolveUrl","baseUrls","_scheme","_email","_inside","_href","_backpedal","output","out","mangle","inLink","outputLink","codespan","smartypants","image","ch","escaped","langPrefix","quote","level","headerPrefix","xhtml","listitem","tablerow","tablecell","flags","prot","baseUrl","originIndependentUrl","inlineText","tok","peek","parseText","row","cell","callback","done","silent","setOptions","parser","lexer","inlineLexer","copyObject","debounce","wait","leading","trailing","maskSrcKey","uncurryThis","CONFIGURABLE_FUNCTION_NAME","CONFIGURABLE","inspectSource","stringSlice","CONFIGURABLE_LENGTH","TEMPLATE","identity","overRest","setToString","getSymbolsIn","elemCss","flexGrow","flexDirection","flexBasis","justifyContent","marginBottom","marginLeft","___EmotionJSX","css","Button","_css","_objectSpread","overflowX","marginTop","Snip","realNames","otherFunc","LARGER_DISPLAY_WIDTH","LARGE_DISPLAY_WIDTH","DEFAULT_WIDTH","TABLET_WIDTH","MOBILE_WIDTH","LARGER_DISPLAY_MEDIA_QUERY","LARGE_DISPLAY_MEDIA_QUERY","DEFAULT_MEDIA_QUERY","TABLET_MEDIA_QUERY","MOBILE_MEDIA_QUERY","MIN_LARGER_DISPLAY_MEDIA_QUERY","MIN_LARGE_DISPLAY_MEDIA_QUERY","MIN_DEFAULT_MEDIA_QUERY","MIN_TABLET_MEDIA_QUERY","MIN_MOBILE_MEDIA_QUERY","thisBinding","_interopRequireWildcard","_sessionStorage","_len","_key","_stateStorage","scrollListener","scrollY","windowScroll","shouldUpdateScroll","scrollToHash","node","getElementById","scrollIntoView","prevRouterProps","routerProps","scrollPosition","_this$props$location","_this$props$location2","defaultCompare","typeOf","sortBy","flatten","assignValue","nested","objValue","$documentAll","documentAll","IS_HTMLDDA","baseGetAllKeys","toPositiveInteger","BYTES","baseIsEqual","hasIn","isStrictComparable","matchesStrictComparable","COMPARE_PARTIAL_FLAG","memoizeCapped","rePropName","reEscapeChar","number","subString","getTag","objA","objB","compareContext","ret","keysA","keysB","bHasOwnProperty","idx","valueA","valueB","b64","lens","getLens","validLen","placeHoldersLen","toByteArray","tmp","Arr","_byteLength","curByte","revLookup","fromByteArray","uint8","extraBytes","parts","len2","encodeChunk","lookup","num","getMapData","base64","ieee754","kMaxLength","TYPED_ARRAY_SUPPORT","createBuffer","that","encodingOrOffset","ArrayBuffer","byteOffset","fromArrayLike","fromArrayBuffer","encoding","isEncoding","actual","write","fromString","checked","fromObject","assertSize","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","bidirectionalIndexOf","dir","arrayIndexOf","indexSize","arrLength","valLength","buf","readUInt16BE","foundIndex","hexWrite","strLen","parsed","utf8Write","blitBuffer","asciiWrite","byteArray","asciiToBytes","latin1Write","base64Write","ucs2Write","units","hi","lo","utf16leToBytes","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","codePoints","decodeCodePointsArray","SlowBuffer","alloc","INSPECT_MAX_BYTES","foo","subarray","typedArraySupport","poolSize","_augment","species","fill","allocUnsafeSlow","_isBuffer","x","y","swap16","swap32","swap64","equals","inspect","thisStart","thisEnd","thisCopy","targetCopy","isFinite","toJSON","_arr","toHex","bytes","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","INVALID_BASE64_RE","leadSurrogate","stringtrim","base64clean","dst","eq","equalArrays","mapToArray","setToArray","symbolProto","symbolValueOf","valueOf","other","equalFunc","stacked","getNative","$TypeError","defineGlobalProperty","copyConstructorProperties","isForced","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","dontCallGetSet","integer","objectTypes","hasFreeModule","freeGlobal","fromCodePoint","highSurrogate","lowSurrogate","assertTypeRegexMap","assertType","expected","generate","generators","generateSequence","generator","terms","term","kind","generateClassAtom","generateIdentifier","generateTerm","negative","behavior","behaviour","quantifier","greedy","generateAtom","matchIndex","regjsgen","PageRenderer","_inheritsLoose","pageResources","json","pageContext","__params","pathContext","replacementElement","apiRunner","loader","publicLoader","pageElement","page","internalSort","ArrayBufferViewCore","FF","IE_OR_EDGE","V8","WEBKIT","nativeSort","ACCEPT_INCORRECT_ARGUMENTS","STABLE_SORT","comparefn","getSortCompare","FrameContextConsumer","FrameContext","_Context","_Frame","_Frame2","otherArgs","hiddenKeys","iteratee","nativeCreate","stringFromCharCode","regjsparser","MAX_SIZE","codeUnits","features","addRaw","range","updateRawStart","createAnchor","rawLength","createValue","createEscaped","fromOffset","createCharacter","_char","hasUnicodeFlag","lookahead","createQuantifier","createCharacterClass","contents","createClassRange","bail","flattenBody","incr","amount","skip","matchReg","regExp","parseDisjunction","parseAlternative","alternatives","createDisjunction","parseTerm","createAlternative","anchor","parseGroup","atom","parseAtomEscape","parseCharacterClass","lookbehind","namedGroups","parseIdentifier","group","finishGroup","parseAtomAndExtendedAtom","pos_backup","parseQuantifier","matchA","typeA","matchB","typeB","disjunction","createGroup","firstIteration","closedCaptureCounter","parseUnicodeSurrogatePairEscape","firstEscape","prevPos","secondEscape","parseClassEscape","insideCharacterClass","refIdx","backrefDenied","parseDecimalEscape","createNamedReference","parseNamedReference","parseCharacterClassEscape","parseCharacterEscape","unicodePropertyEscape","hasUnicodeSetFlag","parseRegExpUnicodeEscapeSequence","parseIdentifierAtom","esc","isIdentifierStart","isIdentifierPart","parseClassRanges","operand","parseClassOperand","parseClassContents","parseClassAtom","parseHelperClassRanges","atomTo","dash","classRanges","parseNonemptyClassRangesNoDash","parseClassAtomNoDash","allowRanges","parseClassCharacterEscapedHelper","parseClassCharacterUnescapedHelper","parseClassString","strings","createClassStrings","parseClassStrings","parseClassCharacter","codePointAt","characters","createClassString","contextStart","contextEnd","pointer","SyntaxError","unicodeSet","metaMap","LazyWrapper","wrapperClone","lodash","predicate","fromRight","freeSelf","arrayIncludesWith","cacheHas","createSet","comparator","isCommon","seen","outer","seenIndex","userAgent","process","Deno","versions","v8","routes","default_","uriPathname","uriSegments","segmentize","isRootUri","ranked","rankRoutes","missed","routeSegments","routeSegment","uriSegment","isSplat","dynamicMatch","paramRe","reservedNames","_to$split","toPathname","toQuery","basePathname","toSegments","baseSegments","addQuery","allSegments","segments","insertParams","_path$split","pathBase","_path$split$","constructedPath","_params$location","_params$location$sear","searchSplit","validateRedirect","isDynamic","rankRoute","score","isRootSegment","SEGMENT_POINTS","q","shallowCompare","obj1","obj2","obj1Keys","every","overArg","plugin","baseRest","isIterateeCall","assigner","ie10","appVersion","fns","doc","hack","documentElement","doScroll","loaded","readyState","setTimeout","isCurried","holdersIndex","holdersLength","rightIndex","rightLength","rangeLength","isUncurried","isFunction","baseAssignValue","arrayFilter","stubArray","nativeGetSymbols","getSymbols","kebabCase","createCompounder","word","getFuncName","funcName","flatRest","funcs","prereq","thru","plant","isMasked","toSource","reIsHostCtor","funcProto","reIsNative","serviceWorker","register","then","reg","installingWorker","installing","log","controller","___swUpdated","___failedResources","reload","catch","component---cache-caches-gatsby-plugin-offline-app-shell-js","component---docs-completion-md","component---docs-config-md","component---docs-diff-strategy-md","component---docs-directory-structure-md","component---docs-env-vars-md","component---docs-exporting-md","component---docs-faq-md","component---docs-formatting-md","component---docs-garbage-collection-md","component---docs-helm-mdx","component---docs-inline-environments-mdx","component---docs-installation-mdx","component---docs-introduction-mdx","component---docs-jsonnet-injecting-values-md","component---docs-jsonnet-main-md","component---docs-jsonnet-native-functions-md","component---docs-jsonnet-overview-md","component---docs-known-issues-md","component---docs-kustomize-mdx","component---docs-libraries-import-paths-md","component---docs-libraries-install-publish-md","component---docs-libraries-overriding-md","component---docs-namespaces-md","component---docs-server-side-apply-md","component---docs-targets-md","component---docs-tutorial-abstraction-mdx","component---docs-tutorial-environments-mdx","component---docs-tutorial-jsonnet-mdx","component---docs-tutorial-k-lib-mdx","component---docs-tutorial-overview-mdx","component---docs-tutorial-parameterizing-mdx","component---docs-tutorial-refresher-mdx","component---src-components-home-snippet-mdx","component---src-components-install-jb-arch-mdx","component---src-components-install-jb-binary-mdx","component---src-components-install-jb-go-mdx","component---src-components-install-jb-osx-mdx","component---src-components-install-tk-arch-mdx","component---src-components-install-tk-binary-mdx","component---src-components-install-tk-go-mdx","component---src-components-install-tk-osx-mdx","getRawTag","objectToString","baseAssign","baseAssignIn","cloneBuffer","copySymbols","copySymbolsIn","getAllKeys","getAllKeysIn","initCloneArray","initCloneByTag","initCloneObject","isMap","cloneableTags","isFlat","isFull","isArr","isFunc","subValue","isMergeableObject","isNonNullObject","stringValue","$$typeof","REACT_ELEMENT_TYPE","isReactElement","isSpecial","for","cloneUnlessOtherwiseSpecified","deepmerge","defaultArrayMerge","getKeys","getEnumerableOwnPropertySymbols","propertyIsOnObject","mergeObject","destination","propertyIsUnsafe","customMerge","getMergeFunction","arrayMerge","sourceIsArray","prev","deepmerge_1","lengthOfArrayLike","toOffset","$set","WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS","TO_OBJECT_BUG","arrayLike","webpackContext","req","webpackContextResolve","__webpack_require__","TutorialButtons","baseUnset","customOmitClone","omit","paths","CLONE_DEEP_FLAG","condition","format","argIndex","framesToPop","nativeKeysIn","isProto","isKeyable","createAssigner","DataView","dataViewCtorString","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","ctorString","baseFindIndex","baseIsNaN","strictIndexOf","regenerate","REGULAR","UNICODE","UNICODE_IGNORE_CASE","createRecurry","getHolder","replaceHolders","pref","_setPrototypeOf","toFinite","remainder","cloneTypedArray","isArrayLikeObject","toPlainObject","mergeFunc","isBuff","isTyped","getWrapDetails","insertWrapDetails","updateWrapDetails","reference","deburrLetter","reLatin","reComboMark","reWhitespace","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","createProperty","$Array","fin","regExpFlags","RegExpPrototype","INDICES_SUPPORT","calls","addGetter","chr","dotAll","ignoreCase","multiline","sticky","hasIndices","webkit","RouteAnnouncerProps","clip","redirectMap","redirectIgnoreCaseMap","maybeRedirect","redirect","toPath","redirects","fromPath","onPreRouteUpdate","prevLocation","onRouteUpdate","timeoutId","loadPage","status","PageResourceStatus","clearTimeout","webpackCompilationHash","___webpackCompilationHash","postMessage","gatsbyApi","reachNavigate","results","getSavedScrollPosition","oldPathname","RouteAnnouncer","announcementRef","createRef","nextProps","requestAnimationFrame","pageName","pageHeadings","querySelectorAll","textContent","newAnnouncement","innerText","compareLocationProps","nextLocation","_prevLocation$state","_nextLocation$state","RouteUpdates","_React$Component2","_proto2","shouldComponentUpdate","shallowDiffers","_i","EnsureResources","loadPageSync","loadResources","rawPath","nextState","ProdLoader","asyncRequires","setLoader","setApiRunner","___emitter","apiRunnerAsync","RouteHandler","BaseContext","baseuri","basepath","DataContext","GatsbyRoot","staticQueryResults","getStaticQueryResults","StaticQueryContext","LocationHandler","Consumer","Router","pagePath","browserLoc","SiteRoot","App","ReactDOM","hydrate","domReady","IS_PURE","store","mode","copyright","license","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","trunc","copyTextToClipboard","previouslyFocusedElement","activeElement","setAttribute","contain","selection","getSelection","originalRange","rangeCount","getRangeAt","select","isSuccess","execCommand","removeAllRanges","focus","prefetchPathname","StaticQueryDataRenderer","staticQueryData","finalData","StaticQuery","useStaticQuery","_context$query","graphql","arrayPush","isFlattenable","isStrict","bitmap","macOS","Osx","ArchLinux","Arch","Binary","Go","JbOsx","JbArch","JbBinary","JbGo","elems","setCurrent","useState","borderRadius","outline","cursor","cloneArrayBuffer","dataView","isNumber","ratios","sqrt","ratio","listCacheClear","listCacheDelete","listCacheGet","listCacheHas","listCacheSet","getDescriptor","EXISTS","PROPER","objectKeys","$assign","A","B","T","argumentsLength","S","objectCtorString","__dir__","__filtered__","__iteratees__","__takeCount__","__views__","webpackPolyfill","deprecate","createNamedContext","Ctx","LocationContext","LocationProvider","_temp","getContext","refs","unlisten","_props$history","componentDidCatch","info","isRedirect","_navigate","unmounted","ServerLocation","baseContext","locationContext","RouterImpl","_React$PureComponent","_props","_navigate2","primary","_props$component","domProps","toArray","child","createRoute","cloneElement","FocusWrapper","FocusHandler","wrapperProps","PureComponent","FocusContext","requestFocus","FocusHandlerImpl","initialRender","focusHandlerCount","_temp2","_this4","_len2","_key2","shouldFocus","myURIChanged","navigatedUpToMe","_this5","_props2","_props2$component","Comp","tabIndex","_props$getProps","anchorProps","encodedHref","event","shouldNavigate","_location$state","restState","RedirectRequest","redirectTo","RedirectImpl","_React$Component3","_props3","_props3$replace","noThrow","resolvedTo","_props4","Redirect","Match","_ref8","_ref9","_ref10","resolvedPath","useNavigate","useParams","useMatch","stripSlashes","elementPath","alone","jsx","sx","flexShrink","textDecoration","flexWrap","FrameContextProvider","_react2","win","toNumber","baseIsMatch","getMatchData","matchData","marksy","_marked","_createRenderer","isNativeReflectConstruct","Reflect","construct","Proxy","_construct","Parent","Class","_toConsumableArray","arr2","_arrayWithoutHoles","iter","_iterableToArray","_nonIterableSpread","tracker","nextElementId","toc","currentIdLevel","currentId","_code","elementId","componentProps","codeRenderer","markedOptions","composeArgs","composeArgsRight","countHolders","reorder","isAry","isFlip","holdersCount","newHolders","keyList","hasProp","equal","arrA","arrB","dateA","dateB","getTime","regexpA","regexpB","isNumeric","lightness","hue","darkBackground","saturation","opacity","NATIVE_WEAK_MAP","metadata","facade","STATE","getterFor","TYPE","__importDefault","wrapRootElement","react_1","react_helmet_async_1","HelmetProvider","accumulator","initAccum","reFlags","regexp","baseTimes","inherited","isArg","isType","skipIndexes","MapShim","getIndex","class_1","__entries__","delete","isBrowser","global$1","requestAnimationFrame$1","transitionKeys","mutationObserverSupported","MutationObserver","ResizeObserverController","connected_","mutationEventsAdded_","mutationsObserver_","observers_","onTransitionEnd_","refresh","delay","leadingCall","trailingCall","lastCallTime","resolvePending","proxy","timeoutCallback","timeStamp","throttle","addObserver","observer","connect_","removeObserver","observers","disconnect_","updateObservers_","activeObservers","gatherActive","hasActive","broadcastActive","childList","characterData","subtree","propertyName","getInstance","instance_","defineConfigurable","getWindowOf","ownerDocument","defaultView","emptyRect","createRectInit","toFloat","getBordersSize","positions","getHTMLElementContentRect","clientWidth","clientHeight","getComputedStyle","paddings","positions_1","getPaddings","horizPad","right","vertPad","bottom","round","isDocumentElement","vertScrollbar","horizScrollbar","abs","isSVGGraphicsElement","SVGGraphicsElement","SVGElement","getBBox","getContentRect","bbox","getSVGContentRect","ResizeObservation","broadcastWidth","broadcastHeight","contentRect_","isActive","rect","broadcastRect","ResizeObserverEntry","rectInit","Constr","contentRect","DOMRectReadOnly","ResizeObserverSPI","callbackCtx","activeObservations_","observations_","callback_","controller_","callbackCtx_","Element","observations","clearActive","observation","ResizeObserver","rearg","indexes","hasElementType","hasMap","hasSet","hasArrayBuffer","_reactDom2","_Content2","Frame","handleLoad","forceUpdate","_isMounted","getDoc","contentDocument","mountTarget","querySelector","parentView","open","initialContent","getMountTarget","createPortal","head","renderFrameContents","oneOfType","arrayOf","baseIsTypedArray","nodeIsTypedArray","baseIteratee","createBaseFor","hashIndex","typedArrayTags","objectCreate","ERRORS","regexNull","pad","totalCharacters","hex","dataRemove","dataRemoveRange","rangeStart","rangeEnd","dataAdd","dataAddData","dataA","dataB","dataAddRange","dataRemoveData","added","dataContains","dataIsEmpty","dataIsSingleton","dataToArray","codePointToString","codePointToStringUnicode","symbolToCodePoint","createBMPCharacterClasses","optimizeByLowSurrogates","surrogateMappings","innerIndex","mapping","lowSurrogates","lowSurrogateStart","lowSurrogateEnd","otherMapping","otherLowSurrogates","otherLowSurrogateStart","otherLowSurrogateEnd","surrogateSet","startHigh","startLow","endHigh","endLow","endsWithHighestLowSurrogate","complete","LOW_SURROGATE_MAX","nextMapping","highSurrogates","nextHighSurrogates","nextLowSurrogates","tmpLow","addLow","optimizeSurrogateMappings","createCharacterClassesFromData","bmpOnly","createUnicodeCharacterClasses","loneHighSurrogates","loneLowSurrogates","bmp","astral","HIGH_SURROGATE_MAX","splitAtBMP","hasLoneHighSurrogates","hasLoneLowSurrogates","surrogateMapping","createSurrogateCharacterClasses","extend","startCodePoint","endCodePoint","isStart","dataFromCodePoints","dataIntersection","reAsciiWord","baseToString","registerServiceWorker","whiteListLinkRels","prefetchedPathnames","setPathResources","getResourceURLsForPathname","resources","onServiceWorkerActive","active","nodes","headerResources","tagName","getAttribute","prefetchedResources","resource","rel","onload","onerror","appendChild","onPostPrefetchPathname","mapCacheClear","mapCacheDelete","mapCacheGet","mapCacheHas","mapCacheSet","equalByTag","equalObjects","objectTag","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","charToInteger","decoded","sourceFileIndex","sourceCodeLine","sourceCodeColumn","lineMappings","line_1","segmentMappings","encodeInteger","clamped","_arrayLikeToArray","minLen","supportedPrefetchStrategy","feature","fakeLink","relList","supports","support","reject","getElementsByTagName","getElementsByName","parentNode","XMLHttpRequest","send","preFetched","prefetch","Success","preferDefault","createPageDataUrl","__PATH_PREFIX__","doFetch","onreadystatechange","toPageResources","pageData","componentChunkName","staticQueryHashes","BaseLoader","loadComponent","inFlightNetworkRequests","pageDb","inFlightDb","staticQueryDb","pageDataDb","prefetchTriggered","prefetchCompleted","memoizedGet","inFlightPromise","response","prefetchDisabled","fetchPageDataJson","loadObj","retries","responseText","jsonPayload","loadPageDataJson","_findMatchPath","loadAppData","allData","finalResult","componentChunkPromise","createdAt","staticQueryBatchPromise","staticQueryHash","staticQueryResultsMap","shouldPrefetch","doesConnectionSupportPrefetch","connection","effectiveType","saveData","realPath","doPrefetch","pageDataUrl","prefetchHelper","crossOrigin","as","createComponentUrls","isPageNotFound","appData","___chunkMapping","_BaseLoader","chunkName","componentUrls","_loader","getResourcesForPathname","getResourcesForPathnameSync","keysFunc","symbolsFunc","GatsbyMDXScopeContext","useMDXScope","contextScope","MDXScopeProvider","__mdxScope","scope_0","scope_1","scope_2","scope_3","__DOCZ_DUMMY_EXPORT_DEFAULT","componentsAndGuards","componentFromGuards","mdxPlugins","guards","acc","MDXConsumer","componentsFromContext","scopeContexts","WrapRootElement","wrap","stackClear","stackDelete","stackGet","stackHas","stackSet","reHasUnicodeWord","plugins","baseSlice","propertyKey","_reactDom","scrollKey","ScrollContainerImplementation","findDOMNode","baseHasIn","hasPath","useDbQuery","doczDb","Wrapper","img","maxWidth","h1","h2","h3","h4","h5","h6","ul","listStylePosition","listStyleImage","ml","ol","li","mb","pl","my","borderCollapse","th","borderBottom","px","py","pr","td","mt","mx","baseFontSize","baseLineHeight","headerLineHeight","scaleRatio","googleFonts","headerFontFamily","bodyFontFamily","headerWeight","bodyWeight","boldWeight","includeNormalize","blockMarginBottom","toUnitless","getSpace","rhythm","genericFontFamilies","wrapFontFamily","stackFonts","fonts","getFonts","getFontSizes","scale","getLineHeights","getFontWeights","bold","white","grayUltraLight","grayExtraLight","grayLight","gray","grayDark","grayExtraDark","dark","blueLight","blue","skyBlue","plain","backgroundColor","types","light","colors","muted","sidebar","bg","navGroup","navLink","navLinkActive","tocLink","tocLinkActive","descriptionText","descriptionBg","prism","prismLight","prismDark","Container","borderLeft","variant","borderSpacing","borderColor","borderBottomStyle","verticalAlign","borderBottomWidth","moraga","typography","_opts","rhythmUnit","typo","fontSizes","fontWeights","lineHeights","toTheme","_merge","initialColorMode","showLiveError","showLivePreview","showPlaygroundEditor","showDarkModeSwitch","showMarkdownEditButton","useScopingInPlayground","modes","monospace","letterSpacings","caps","radii","square","radius","rounded","Tag","StyleSheet","_insertTag","before","tags","insertionPoint","nextSibling","firstChild","insertBefore","isSpeedy","speedy","ctr","nonce","rule","createTextNode","createStyleElement","sheet","styleSheets","ownerNode","sheetForTag","insertRule","cssRules","flush","removeChild","h","g","z","M","D","E","G","H","I","J","return","K","Q","R","U","W","X","Z","ee","ae","ne","ce","se","w","$","ue","ie","te","oe","le","pe","begin","points","character","fixedElements","compat","isImplicitRule","parentRules","removeLabel","defaultStylisPlugins","ssrStyles","stylisPlugins","_insert","inserted","nodesToHydrate","attrib","omnipresentPlugins","currentSheet","finalizingPlugins","serializer","selector","serialized","shouldCache","stylis","registered","registerStyles","isStringTag","insertStyles","unitlessKeys","animationIterationCount","aspectRatio","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexPositive","flexNegative","flexOrder","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","msGridRow","msGridRowSpan","msGridColumn","msGridColumnSpan","order","orphans","widows","zIndex","zoom","WebkitLineClamp","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","hyphenateRegex","animationRegex","isCustomProperty","isProcessableValue","processStyleName","styleName","p1","p2","handleInterpolation","mergedProps","interpolation","__emotion_styles","anim","interpolated","createStringFromObject","previousCursor","cached","labelPattern","stringMode","identifierName","useInsertionEffect","useInsertionEffectWithLayoutFallback","EmotionCacheContext","HTMLElement","ThemeContext","Global","sheetRef","rehydrating","sheetRefCurrent","nextElementSibling","centerAlign","alignItems","ghostButton","mountMedia","breakpoints","mobile","tablet","desktop","media","innerContainer","menuIcon","menuButton","headerButton","editButton","_ref$color","_ref$size","xmlns","viewBox","stroke","strokeLinecap","strokeLinejoin","ry","Edit2","GitHub","x1","y1","x2","y2","cx","cy","ChevronDown","ChevronUp","Clipboard","Code","Edit","Github","Menu","Search","Sun","logo","Logo","Flex","data-testid","alt","maxHeight","marginRight","float","description","Header","onOpen","repository","_useCurrentDoc","colorMode","setColorMode","useColorMode","Box","mr","toggleColorMode","aria-label","overlay","visibility","minWidth","borderRight","WebkitOverflowScrolling","icon","NavSearch","smallLink","NavLink","docs","hidden","headings","getHeadings","_get","showHeadings","currentHash","slug","sublinkWrapper","chevron","alignSelf","transformOrigin","NavGroup","sidebarRef","currentDoc","currentDocRef","subheadingsVisible","setShowsubheadings","useEffect","offsetTop","toggleSubheadings","Sidebar","setQuery","pt","MainContainer","main","minHeight","gridTemplateColumns","Layout","setOpen","nav","BaseLayout","Main","Prism","uniqueId","plainTextGrammar","util","Token","alias","objId","deepClone","visited","getLanguage","parentElement","setLanguage","classList","defaultActivation","no","languages","plaintext","txt","redef","inside","grammar","newToken","old","DFS","propertyType","env","hooks","run","tokenize","tokenList","LinkedList","addAfter","matchGrammar","startNode","startPos","rematch","patterns","cause","patternObj","currentNode","tail","reach","removeCount","matchPattern","matchStr","after","removeFrom","removeRange","wrapped","nestedRematch","callbacks","matchedStr","lookbehindLength","newNode","classes","aliases","markup","includedCdataInside","attrName","mathml","svg","xml","ssml","rss","envVars","commandAfterHeredoc","insideString","bash","entity","variable","toBeCopied","shell","clike","keyword","modName","cpp","addInlined","addAttribute","selectorInside","unit","javascript","js","comment","coffeescript","coffee","anchorOrAlias","plainKey","createValuePattern","yaml","yml","inner","createInline","tableCell","tableRow","tableLine","markdown","punctuation","walkTokens","codeLang","codeBlock","cls","tagPattern","known","KNOWN_ENTITY_NAMES","autoloader","loadLanguages","ele","innerHTML","md","validTokens","currentIndex","startToken","inputVariables","isTokenType","getToken","definitionEnd","findClosingBracket","addAlias","mutationEnd","varToken","stackHeight","sql","templateString","templateLiteralPattern","interpolationObject","interpolationPunctuationObject","interpolationPattern","createTemplate","getPlaceholder","counter","tokenizeWithHooks","tokenizeInterpolationExpression","expression","tempGrammar","tokenizeEmbedded","_tokens","placeholderCounter","placeholderMap","embeddedTokens","interpolationExpression","placeholders","middle","replacement","afterTokens","supportedLanguages","stringContent","findTemplateStrings","embedded","typescript","typeInside","ts","withId","unshift","maybeClassNameTokens","braces","stringifyToken","openedTags","notTagNorBrace","openedBraces","plainText","diff","PREFIXES","git","buildPlaceholders","placeholderPattern","replaceFilter","tokenStack","tokenizePlaceholders","handlebars","hbs","webmanifest","less","makefile","objectivec","objc","ocaml","python","reason","function","sass","atrule","operator","important","scss","stylus","tsx","wasm","newlineRe","normalizeEmptyLines","empty","appendTypes","typesSize","themeToDict","themeDict","themeEntry","accStyle","Highlight","this$1","prevTheme","prevLanguage","getThemeDict","baseStyle","typeStyles","getStyleForToken","typeArrStack","tokenArrStack","tokenArrIndexStack","tokenArrSizeStack","stackIndex","currentLine","splitByNewlines","newlineCount","i$1","normalizeTokens","getLineProps","getTokenProps","_excluded$1","ownKeys$3","_objectSpread$3","_useState","prevCodeProp","theme$1","baseTheme","LiveContext$1","ownKeys$2","_objectSpread$2","_poly","transpileOptions","objectAssign","transforms","dangerousForOf","dangerousTaggedTemplateString","errorBoundary$1","errorCallback","ErrorBoundary","isValidElement","_isNativeReflectConstruct","evalCode$1","scopeKeys","scopeValues","ownKeys$1","_objectSpread$1","LiveProvider","transformCode","_ref$noInline","noInline","transpile","newCode","renderElement","resultCallback","_ref2$code","_ref2$scope","renderElementAsync","_ref$code","_ref$scope","codeTrimmed","generateElement","onError","LiveEditor","_useContext","LiveError","LivePreview","rowSizeBase","colSizeBase","edgeBase","topRight","bottomRight","bottomLeft","topLeft","Resizer","onMouseDown","onResizeStart","direction","onTouchStart","userSelect","replaceStyles","DEFAULT_SIZE","clamp","snap","hasDirection","isTouchEvent","touches","findClosestSnap","snapArray","snapGap","closestGapIndex","curr","gap","getStringSize","getPixelSize","parentSize","definedProps","Resizable","resizable","parentLeft","parentTop","resizableLeft","resizableRight","resizableTop","resizableBottom","targetLeft","targetTop","appendBase","removeBase","isResizing","propsSize","backgroundStyle","onMouseMove","onMouseUp","defaultSize","orgWidth","offsetWidth","orgHeight","offsetHeight","orgPosition","getParentSize","wrapChanged","bindEvents","passive","unbindEvents","computedStyle","createSizeForCssProperty","newSize","calculateNewMaxFromBoundary","boundWidth","boundHeight","boundsByDirection","widthByDirection","heightByDirection","bounds","parent_1","calculateNewSizeFromDirection","clientX","clientY","resizeRatio","lockAspectRatio","lockAspectRatioExtraHeight","lockAspectRatioExtraWidth","newWidth","newHeight","extraHeight","extraWidth","calculateNewSizeFromAspectRatio","computedMinWidth","computedMaxWidth","computedMinHeight","computedMaxHeight","extraMinWidth","extraMaxWidth","extraMinHeight","extraMaxHeight","lockedMinWidth","lockedMaxWidth","lockedMinHeight","lockedMaxHeight","setBoundingClientRect","parent_2","parentRect","getBoundingClientRect","targetRect","top_1","nativeEvent","isMouseEvent","parent_3","flexDir","TouchEvent","stopPropagation","calculateNewMax","boundaryMax","grid","newGridWidth","newGridHeight","delta","newState","onResize","onResizeStop","updateSize","renderResizer","enable","handleStyles","handleClasses","handleWrapperStyle","handleWrapperClass","handleComponent","resizers","extendsProps","sizeStyle","lastArgs","frameId","wrapperFn","cancel","cancelAnimationFrame","reTrimStart","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","isBinary","nativeMin","lastThis","maxWait","timerId","lastInvokeTime","maxing","invokeFunc","time","leadingEdge","timerExpired","shouldInvoke","timeSinceLastCall","trailingEdge","timeWaiting","remainingWait","debounced","isInvoking","listHandle","isSSR","_defineProperties","_assertThisInitialized","_getPrototypeOf","_PureComponent","ChildWrapper","Derived","Super","NewTarget","ResizeDetector","resizeHandler","raf","getElement","resizeObserver","targetDomEl","HTMLDocument","currentElement","rafClean","_this$state","widthCurrent","heightCurrent","_this$props2","handleWidth","handleHeight","updater","createUpdater","isSizeChanged","skipOnMount","_this$props3","_this$props4","_this$state2","childProps","getRenderType","refreshMode","refreshRate","refreshOptions","handle","createResizeHandler","toggleObserver","cancelHandler","onRef","getTargetComponent","borderTop","previewWrapper","wrapperBorder","showingCode","preview","buttons","IframeWrapper","containerHeight","setHeight","Iframe","ReactResizeDetector","NormalWrapper","themeProp","usePrismTheme","useThemeUI","_pipe","_defaultTo","getTheme","scopeOnMount","setShowingCode","setWidth","resizableProps","getResizableProps","copyCode","Icons","toggleCode","pb","propType","propRequired","openDescBtn","getDefaultValue","Prop","showing","setShowing","toggle","CodeBlock","_c$props","LongCode","Pre","ThemeStyles","toggled","setToggled","Expand","localStyles","defaultTheme","ThemeProvider","Styled","SEO","meta","keywords","initialTitle","metaDescription","Helmet","titleTemplate","htmlAttributes","Route","isTransclusion","NotFound","_excluded2","findEntry","frontmatter","eqIndex","_propEq","filepath","includesTransclusion","clickHandler","routeThroughBrowserOrApp","hashShouldBeFollowed","pathIsNotHandledByApp","urlsAreOnSameOrigin","authorIsForcingNavigation","anchorsTargetIsEquivalentToSelf","findClosestAnchor","navigationWasHandledElsewhere","slashedPathname","userIsForcingNavigation","_escapeStringRegexp","nodeName","hasAttribute","pathStartRegEx","hrefHandler","clickedAnchor","SVGAnimatedString","animVal","excludePattern","destinationPathname","baseUniq","unionBy","arrays","aliasToReal","aryMethod","aryRearg","iterateeAry","iterateeRearg","methodRearg","methodSpread","mutate","realToAlias","remap","skipFixed","skipRearg","functionToString","segs","_grayPercentage2","_typographyBreakpointConstants","_compassVerticalRhythm2","headerColor","bodyColor","overrideStyles","vr","establishBaseline","trimmedEndIndex","baseIndexOf","isNew","postfix","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","NaN","rt","LN2","defaultRhythmBorderWidth","defaultRhythmBorderStyle","roundToNearestHalfLine","minLinePadding","baseLineHeightInPx","ceil","linesForFontSize","adjustFontSizeTo","regexAstralSymbols","regexAsciiWhitelist","regexBmpWhitelist","regexEncodeNonAscii","encodeMap","'","regexEscape","escapeMap","regexInvalidEntity","regexInvalidRawCodePoint","regexDecode","decodeMap","decodeMapLegacy","decodeMapNumeric","invalidReferenceCodePoints","codePointToSymbol","strict","parseError","hexEscape","decEscape","encodeEverything","useNamedReferences","allowUnsafeSymbols","escapeCodePoint","decimal","escapeBmpSymbol","$0","high","low","decode","$1","$2","$3","$4","$5","$6","$7","$8","semicolon","decDigits","hexDigits","isAttributeValue","he","detection","POLYFILL","NATIVE","noCustomizer","V8_PROTOTYPE_DEFINE_BUG","$defineProperty","Attributes","capitalize","normalizeOptions","preserve","QUOTE","WORD","skipWord","rgx","words","startOfWord","nonWord","sep","sepStart","baseKeysIn","iterable","freeProcess","binding","baseForOwn","toPrimitive","arraySome","othLength","arrStacked","othStacked","arrValue","othValue","compared","othIndex","propertyToValueAliases","aliasToValue","canonicalValue","matchOperatorsRe","overrides","getTocPosition","currentLevel","populateInlineContent","contentArray","extractedElements","elementIdMatch","_he","addElement","inlineContent","elementType","lastToc","thead","tbody","flag","CodeComponent","constant","baseSetToString","unicodeMatchProperty","unicodeMatchPropertyValue","iuMappings","ESCAPE_SETS","UNICODE_SET","DOT_SET_UNICODE","getCharacterClassEscapeSet","unicode","getUnicodePropertyValueSet","exception","getUnicodePropertyEscapeSet","isNegative","firstPart","category","handleLoneUnicodePropertyNameOrValue","iuAddRange","folded","caseFold","update","useUnicodeFlag","updateNamedReference","processTerm","regenerateOptions","groups","useDotAllFlag","characterClassItem","processCharacterClass","namedGroup","onNamedGroup","unmatchedReferences","regjsparserFeatures","supportDotAllFlag","dotAllFlag","unmatchedReferencesNames","assertNoUnmatchedReferences","oldArray","srcBitmask","newBitmask","isCombo","isImportRule","ia","L","ja","ka","aa","ba","la","ma","na","ea","oa","N","ca","da","fa","Y","ha","use","toSheet","Sheet","ruleSheet","selectors","parents","ns","at","stylisOptions","getRegisteredStyles","registeredStyles","classNames","rawClassName","couldBeSelectorInterpolation","typePropName","createEmotionProps","Noop","cssProp","possiblyStyleElement","Emotion","InnerGlobal","classnames","toAdd","basePropertyOf","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Lazy","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","unicodeSets","arraySlice","mergeSort","insertionSort","llength","rlength","lindex","rindex","_toPropertyKey","hint","prim","BASE","BODY","HEAD","HTML","LINK","META","NOSCRIPT","SCRIPT","STYLE","TITLE","FRAGMENT","charset","accesskey","class","contenteditable","contextmenu","itemprop","tabindex","priority","toComponent","titleAttributes","baseTag","bodyAttributes","noscriptTags","styleTags","linkTags","metaTags","scriptTags","prioritizeSeoTags","priorityMethods","noscript","script","instances","setHelmet","helmet","helmetInstances","encodeSpecialCharacters","helmetData","styleSheet","isEqualNode","oldTags","newTags","removeAttribute","onChangeClientState","rendered","emitChange","defer","init","mapNestedChildrenToProps","flattenArrayTypeChildren","arrayTypeChildren","newChildProps","nestedChildren","mapObjectTypeChildren","mapArrayTypeChildrenToProps","warnOnInvalidChildren","mapChildrenToProps","defaultTitle","ProdPageRenderer","InternalPageRenderer","canonicalProperties","propertyAliases","baseConvert","objProps","objLength","objStacked","skipCtor","objCtor","othCtor","arrayReduce","deburr","reApos","baseTrim","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","fallbackHolder","baseAry","cloneArray","wrapImmutable","cloner","isLib","isObj","fixed","immutable","defaultHolder","forceCurry","forceFixed","forceRearg","pristine","runInContext","helpers","isError","isWeakMap","each","aryMethodKeys","wrappers","castArray","mixin","nthArg","castCap","baseArity","castFixed","flatSpread","castRearg","cloneByPath","createConverter","realName","methodName","oldOptions","newUtil","newFunc","newOptions","createCloner","aryKey","otherName","afterRearg","castCurry","reactPropsRegex","undef","defaultBreakpoints","multiples","marginX","marginY","paddingX","paddingY","scales","gridGap","gridColumnGap","gridRowGap","columnGap","rowGap","borderWidth","borderStyle","borderTopRightRadius","borderTopLeftRadius","borderBottomRightRadius","borderBottomLeftRadius","borderTopWidth","borderTopColor","borderTopStyle","borderBottomColor","borderLeftWidth","borderLeftColor","borderLeftStyle","borderRightWidth","borderRightColor","borderRightStyle","outlineColor","boxShadow","textShadow","positiveOrNegative","absolute","mediaQueries","responsive","scaleName","dirs","parseProps","css$$1","jsx$1","arguments$1","_slicedToArray","_arrayWithHoles","_n","_e","_s","_iterableToArrayLimit","_nonIterableRest","canUseSymbol","REACT_ELEMENT","FORWARD_REF","destinationArray","sourceArray","shouldForwardProps","thematicBreak","createComponents","Context","emotionVersion","toVarName","toVarValue","numberScales","reservedKeys","useCustomProperties","initialColorModeName","toPixel","HAS_STORAGE","Storage","storage","localStorage","_useState2","getName","setMode","stored","darkQuery","mql","matchMedia","useColorSchemeMediaQuery","_useThemeUI","components$$1","toCustomProperties","themeKey","_ref2$theme","propsTheme","propsThemeObject","_useColorState2","__THEME_UI__","NestedProvider","scoped","reWrapDetails","reSplitDetails","baseMatches","getMethod","ordinaryToPrimitive","TO_PRIMITIVE","exoticToPrim","baseIsEqualDeep","reIsUint","cloneDataView","cloneRegExp","cloneSymbol","api","defaultReturn","argTransform","typedArray","simple","unsafe","nonConfigurable","nonWritable","baseIsMap","nodeIsMap","symbolToString"],"mappings":"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,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAClpCD,EAAIC,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,KAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAC7tCD,EAAIC,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OACvvCD,EAAIC,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OACvvCD,EAAIC,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OACxwCD,EAAIC,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAC51CD,EAAIC,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAC51CD,EAAIC,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAC51CD,EAAIC,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS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,MAAS,CAAC,IAAO,KAAQ,CAAC,IAAO,MAAQ,CAAC,IAAO,KAAQ,CAAC,IAAO,KAAQ,CAAC,KAAO,KAAQ,CAAC,KAAO,KAAQ,CAAC,KAAO,CAAC,IAAO,IAAO,MAAS,CAAC,KAAO,KAAQ,CAAC,KAAO,MAAS,CAAC,KAAO,MAAS,CAAC,KAAO,MAAS,CAAC,KAAO,MAAS,CAAC,KAAO,MAAS,CAAC,KAAO,MAAS,CAAC,KAAO,MAAS,CAAC,KAAQ,MAAQ,CAAC,KAAQ,MAAQ,CAAC,KAAQ,MAAQ,CAAC,KAAQ,MAAQ,CAAC,KAAQ,MAAS,CAAC,KAAQ,CAAC,KAAO,OAAU,CAAC,KAAQ,MAAQ,CAAC,KAAQ,MAAQ,CAAC,KAAQ,OAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,KAAO,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,CAAC,IAAO,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,CAAC,IAAO,MAAS,CAAC,KAAQ,IAAO,CAAC,KAAQ,CAAC,IAAM,MAAQ,CAAC,MAAQ,OAAS,CAAC,MAAQ,OAAS,CAAC,MAAQ,MAAS,CAAC,MAAQ,OAAS,CAAC,MAAQ,OAAS,CAAC,MAAQ,OAAS,CAAC,MAAQ,OAAS,CAAC,MAAQ,OAAS,CAAC,MAAQ,OAAS,CAAC,MAAQ,OAAS,CAAC,MAAQ,OAAS,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,MAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,KAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU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AAS,IAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAChpCD,EAAIC,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAClpCD,EAAIC,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MACvqCD,EAAIC,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,KAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MACvvCD,EAAIC,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OACvvCD,EAAIC,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OACvvCD,EAAIC,SAAS,MAAQ,OAAQA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,KAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAC11CD,EAAIC,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAC51CD,EAAIC,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAC51CD,EAAIC,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAC51CD,EAAIC,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAC51CD,EAAIC,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAC51CD,EAAIC,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,SAASA,SAAS,QAAU,SACnjBC,EAAOC,QAAUH,G,uBCdjB,IAAIme,EAAK,EAAQ,QAEjBje,EAAOC,QAAU,eAAe0Q,KAAKsN,I,qBCSrCje,EAAOC,QAJP,SAAmBsL,GACjB,OAAOA,GAAUA,I,uBCRnB,IAAI2S,EAAa,EAAQ,QACrB1O,EAAa,EAAQ,QACrB2O,EAAgB,EAAQ,QACxBC,EAAoB,EAAQ,QAE5BC,EAAUjR,OAEdpN,EAAOC,QAAUme,EAAoB,SAAUtd,GAC7C,MAAoB,iBAANA,GACZ,SAAUA,GACZ,IAAIwd,EAAUJ,EAAW,UACzB,OAAO1O,EAAW8O,IAAYH,EAAcG,EAAQlY,UAAWiY,EAAQvd,M,uBCXzE,IAGIyd,EAHO,EAAQ,QAGG,sBAEtBve,EAAOC,QAAUse,G,qBCJjB,IAAIC,EAAgB,4CAqBpBxe,EAAOC,QAXP,SAA2BuB,EAAQsL,GACjC,IAAIoB,EAASpB,EAAQoB,OACrB,IAAKA,EACH,OAAO1M,EAET,IAAIid,EAAYvQ,EAAS,EAGzB,OAFApB,EAAQ2R,IAAcvQ,EAAS,EAAI,KAAO,IAAMpB,EAAQ2R,GACxD3R,EAAUA,EAAQnH,KAAKuI,EAAS,EAAI,KAAO,KACpC1M,EAAOc,QAAQkc,EAAe,uBAAyB1R,EAAU,Y,oCCjB1E,IAAI4R,EAAU,EAAQ,QAMlBC,EAAgB,CAClBC,mBAAmB,EACnBC,aAAa,EACbC,cAAc,EACdC,cAAc,EACdC,aAAa,EACbC,iBAAiB,EACjBC,0BAA0B,EAC1BC,0BAA0B,EAC1BC,QAAQ,EACRtV,WAAW,EACXuV,MAAM,GAEJC,EAAgB,CAClB9B,MAAM,EACNtP,QAAQ,EACR9H,WAAW,EACXmZ,QAAQ,EACRC,QAAQ,EACRjS,WAAW,EACXkS,OAAO,GASLC,EAAe,CACjB,UAAY,EACZC,SAAS,EACTZ,cAAc,EACdC,aAAa,EACblV,WAAW,EACXuV,MAAM,GAEJO,EAAe,GAGnB,SAASC,EAAWC,GAElB,OAAIpB,EAAQqB,OAAOD,GACVJ,EAGFE,EAAaE,EAAoB,WAAMnB,EARhDiB,EAAalB,EAAQsB,YAhBK,CACxB,UAAY,EACZ5X,QAAQ,EACR2W,cAAc,EACdC,aAAa,EACblV,WAAW,GAYb8V,EAAalB,EAAQuB,MAAQP,EAS7B,IAAIpN,EAAiBlF,OAAOkF,eACxB4N,EAAsB9S,OAAO8S,oBAC7BC,EAAwB/S,OAAO+S,sBAC/BrQ,EAA2B1C,OAAO0C,yBAClCsQ,EAAiBhT,OAAOgT,eACxBC,EAAkBjT,OAAOhH,UA6B7BpG,EAAOC,QA5BP,SAASqgB,EAAqBC,EAAiBC,EAAiBC,GAC9D,GAA+B,iBAApBD,EAA8B,CAEvC,GAAIH,EAAiB,CACnB,IAAIK,EAAqBN,EAAeI,GACpCE,GAAsBA,IAAuBL,GAC/CC,EAAqBC,EAAiBG,EAAoBD,GAG9D,IAAIzG,EAAOkG,EAAoBM,GAC3BL,IACFnG,EAAOA,EAAKpD,OAAOuJ,EAAsBK,KAI3C,IAFA,IAAIG,EAAgBd,EAAWU,GAC3BK,EAAgBf,EAAWW,GACtB7J,EAAI,EAAGA,EAAIqD,EAAK9L,SAAUyI,EAAG,CACpC,IAAIxW,EAAM6Z,EAAKrD,GACf,KAAK2I,EAAcnf,IAAUsgB,GAAaA,EAAUtgB,IAAWygB,GAAiBA,EAAczgB,IAAWwgB,GAAiBA,EAAcxgB,IAAO,CAC7I,IAAIgQ,EAAaL,EAAyB0Q,EAAiBrgB,GAC3D,IAEEmS,EAAeiO,EAAiBpgB,EAAKgQ,GACrC,MAAOnH,OAIf,OAAOuX,I,wBCxFT,8BACE,OAAOzf,GAAMA,EAAGsV,MAAQA,MAAQtV,GAIlCd,EAAOC,QAEL4gB,EAA2B,iBAAdC,YAA0BA,aACvCD,EAAuB,iBAAV/a,QAAsBA,SAEnC+a,EAAqB,iBAARE,MAAoBA,OACjCF,EAAuB,iBAAVtR,GAAsBA,IAEnC,WAAe,OAAOnP,KAAtB,IAAoCA,MAAQ4gB,SAAS,cAATA,K,6CCb9C,MAAMlhB,EAAM,EAAQ,OAAR,CAAsB,IAAM,IAAM,IAAO,IAAO,IAAO,IAAO,KAAO,KAAO,KAAO,KAAO,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,OAAS,OAAS,OAAS,OAAS,QAClNA,EAAIC,SAAS,EAAK,IAAMA,SAAS,GAAM,IAAMA,SAAS,IAAM,KAAMA,SAAS,IAAM,KAAMA,SAAS,IAAM,KAAMA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,KAAO,MAAOA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAC1tCD,EAAIC,SAAS,MAAQ,OAAQA,SAAS,MAAS,OAASA,SAAS,KAAS,OAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAC11CD,EAAIC,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAC7kBC,EAAOC,QAAUH,G,uBCJjB,MAAMA,EAAM,EAAQ,OAAR,GACZA,EAAIC,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OACvGC,EAAOC,QAAUH,G,wMCFFqC,UACAL,IAATK,EACKA,EAED,MAAJA,EACI,IAEwB,MAA5BA,EAAK8e,OAAO9e,EAAK+L,OAAS,GACrB/L,EAAK0B,MAAM,GAAI,GAEjB1B,ECNT,MAAM+e,EAAY,IAAInS,IACtB,IAAIoS,EAAa,GAEjB,MAAMC,EAAeC,IACnB,MAAM9a,EAAW+a,mBAAmBD,GAQpC,OANwBE,YAAYhb,EAAUib,sBAE3CpN,MAAM,KAAK,GAEXA,MAAM,KAAK,IAKhB,SAASlQ,EAAW/B,GAElB,OACEA,EAAKkB,WAAW,MAChBlB,EAAKkB,WAAW,aAChBlB,EAAKkB,WAAW,WAETlB,EAIF,IAAIsf,IACTtf,EACA2D,OAAOhB,SAAS8E,MAAQ9D,OAAOhB,SAAS8E,KAAKhG,SAAS,KAAI,SAC1D2C,SAQG,MAAMmb,EAAgBnW,IAC3B4V,EAAa5V,GAWFoW,EAAgBN,IAC3B,MAAMO,EAAkBC,EAAUR,GAE5BS,EAAYX,EAAWzD,IAAIna,IAA0B,IAAzB,KAAEpB,EAAI,UAAE4f,GAAWxe,EACnD,MAAO,CACLpB,KAAM4f,EACNC,aAAc7f,KAIZA,EAAO8f,eAAKH,EAAWF,GAE7B,OAAIzf,EACK+f,EAAkB/f,EAAKggB,MAAMH,cAG/B,MAYII,EAAkBf,IAC7B,MAAMO,EAAkBC,EAAUR,GAE5BS,EAAYX,EAAWzD,IAAI7Y,IAA0B,IAAzB,KAAE1C,EAAI,UAAE4f,GAAWld,EACnD,MAAO,CACL1C,KAAM4f,EACNC,aAAc7f,KAIZA,EAAO8f,eAAKH,EAAWF,GAE7B,OAAIzf,EACKA,EAAKkgB,OAGP,IAWIC,EAAWjB,IACtB,MAAMO,EAAkBR,EAAald,EAAWmd,IAChD,GAAIH,EAAUxP,IAAIkQ,GAChB,OAAOV,EAAU/O,IAAIyP,GAGvB,IAAIW,EAAYZ,EAAcC,GAQ9B,OANKW,IACHA,EAAYV,EAAUR,IAGxBH,EAAUphB,IAAI8hB,EAAiBW,GAExBA,GAUIV,EAAYR,IAGvB,IAAIkB,EAFoBnB,EAAald,EAAWmd,IAShD,MANa,gBAATkB,IACFA,EAAS,KAGXA,EAAYL,EAAkBK,GAEvBA,I,uBC9IT,IAAIC,EAAqB,EAAQ,QAC7BC,EAAc,EAAQ,QAK1BziB,EAAOC,QAAUmN,OAAO4M,MAAQ,SAAcpJ,GAC5C,OAAO4R,EAAmB5R,EAAG6R,K,uBCP/B,MAAM3iB,EAAM,EAAQ,OAAR,CAAsB,OAClCA,EAAIC,SAAS,MAAS,OACtBC,EAAOC,QAAUH,G,qBCWjBE,EAAOC,QAJP,SAAqBsL,GACnB,OAAOnL,KAAKC,SAASqR,IAAInG,K,uBCV3B,IAAImX,EAAa,EAAQ,QA8CzB,SAASC,EAAM5Y,EAAM0V,EAAOmD,GAE1B,IAAIpiB,EAASkiB,EAAW3Y,EA7CJ,OA6C2BjI,OAAWA,OAAWA,OAAWA,OAAWA,EAD3F2d,EAAQmD,OAAQ9gB,EAAY2d,GAG5B,OADAjf,EAAO4K,YAAcuX,EAAMvX,YACpB5K,EAITmiB,EAAMvX,YAAc,GAEpBpL,EAAOC,QAAU0iB,G,uBCxDjB,IAAIE,EAAY,EAAQ,QACpBC,EAAoB,EAAQ,QAIhC9iB,EAAOC,QAAU,SAAUiQ,EAAG6S,GAC5B,IAAIhZ,EAAOmG,EAAE6S,GACb,OAAOD,EAAkB/Y,QAAQjI,EAAY+gB,EAAU9Y,K,qBCNzD,IAGIiZ,EAHYhC,SAAS5a,UAGIyI,SAqB7B7O,EAAOC,QAZP,SAAkB8J,GAChB,GAAY,MAARA,EAAc,CAChB,IACE,OAAOiZ,EAAa7d,KAAK4E,GACzB,MAAOf,IACT,IACE,OAAQe,EAAO,GACf,MAAOf,KAEX,MAAO,K,uBCtBT,IAAIia,EAAc,EAAQ,QACtB3X,EAAe,EAAQ,QA+B3BtL,EAAOC,QAJP,SAA2BsL,GACzB,OAAOD,EAAaC,IAAU0X,EAAY1X,K,uBC7B5C,MAAMzL,EAAM,EAAQ,OAAR,CAAsB,IAAO,IAAO,IAAO,IAAO,KAAQ,KAAQ,MAC9EA,EAAIC,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MACvEC,EAAOC,QAAUH,G,qBCWjBE,EAAOC,QANP,SAAwBsB,GACtB,OAAO,SAASpB,GACd,OAAiB,MAAVoB,OAAiBO,EAAYP,EAAOpB,M,uBCT/C,IAAI+iB,EAAY,EAAQ,QACpBC,EAAsB,EAAQ,QA0ClCnjB,EAAOC,QAJP,SAAyBkC,EAAMP,GAC7B,OAAOuhB,EAAoBhhB,EAAM+gB,EAAUthB,EApCvB,M,oCCFtB3B,EAAQ+B,YAAa,EACrB/B,EAAQmjB,qBAQR,SAA8BC,GAC5B,IAAIve,GAAW,EAAI9B,EAAQsgB,eACvBtd,GAAQ,EAAIjD,EAAOwgB,YAAYC,EAAeC,eAC9Cjc,GAAM,EAAIzE,EAAO2gB,UAOrB,OANA,EAAI3gB,EAAO4gB,kBAAiB,WAC1B,GAAInc,EAAIxD,QAAS,CACf,IAAI4f,EAAW5d,EAAM+F,KAAKjH,EAAUue,GACpC7b,EAAIxD,QAAQ6f,SAAS,EAAGD,GAAY,MAErC,IACI,CACLpc,IAAKA,EACLsc,SAAU,WACJtc,EAAIxD,SACNgC,EAAMsG,KAAKxH,EAAUue,EAAY7b,EAAIxD,QAAQ+f,cApBrD,IAAIP,EAAiB,EAAQ,QAEzBzgB,EAAS,EAAQ,QAEjBC,EAAU,EAAQ,S,uBCTtB,MAAMlD,EAAM,EAAQ,OAAR,CAAsB,IAAM,IAAO,KAAO,MAAQ,MAAQ,OACtEA,EAAIC,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QACpRC,EAAOC,QAAUH,G,uBCFjB,IAAIkkB,EAAU,EAAQ,QAetBhkB,EAAOC,QANP,SAA0BkC,GACxB,OAAO,SAASZ,GACd,OAAOyiB,EAAQziB,EAAQY,M,qBCX3B,MAAMrC,EAAM,EAAQ,OAAR,CAAsB,OAClCA,EAAIC,SAAS,MAAS,OACtBC,EAAOC,QAAUH,G,uBCFjB,IAAIkP,EAAW,EAAQ,QAiDvB,SAASiV,EAAQla,EAAMma,GACrB,GAAmB,mBAARna,GAAmC,MAAZma,GAAuC,mBAAZA,EAC3D,MAAM,IAAI3K,UAhDQ,uBAkDpB,IAAI4K,EAAW,WACb,IAAI9V,EAAOd,UACPpN,EAAM+jB,EAAWA,EAAS1W,MAAMpN,KAAMiO,GAAQA,EAAK,GACnD6D,EAAQiS,EAASjS,MAErB,GAAIA,EAAMR,IAAIvR,GACZ,OAAO+R,EAAMC,IAAIhS,GAEnB,IAAIK,EAASuJ,EAAKyD,MAAMpN,KAAMiO,GAE9B,OADA8V,EAASjS,MAAQA,EAAMpS,IAAIK,EAAKK,IAAW0R,EACpC1R,GAGT,OADA2jB,EAASjS,MAAQ,IAAK+R,EAAQG,OAASpV,GAChCmV,EAITF,EAAQG,MAAQpV,EAEhBhP,EAAOC,QAAUgkB,G,uBCxEjB,MAAMnkB,EAAM,EAAQ,OAAR,GACZA,EAAIC,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OACvEC,EAAOC,QAAUH,G,qBCFjB,IAAI+O,EAAW,GAAGA,SAClB7O,EAAOC,QAAUqO,MAAMI,SAAW,SAAU2V,GAC1C,MAA6B,kBAAtBxV,EAAS1J,KAAKkf,K,uBCFvB,IAAIC,EAAgB,EAAQ,QAe5BtkB,EAAOC,QAJP,SAAyBsL,GACvB,OAAO+Y,EAAc/Y,QAASzJ,EAAYyJ,I,uBCZ5C,IAAIgZ,EAAS,EAAQ,QACjB/U,EAAa,EAAQ,QACrBgV,EAAW,EAAQ,QACnBC,EAAY,EAAQ,QACpBC,EAA2B,EAAQ,QAEnCC,EAAWF,EAAU,YACrBpG,EAAUjR,OACVwX,EAAkBvG,EAAQjY,UAK9BpG,EAAOC,QAAUykB,EAA2BrG,EAAQ+B,eAAiB,SAAUxP,GAC7E,IAAIrP,EAASijB,EAAS5T,GACtB,GAAI2T,EAAOhjB,EAAQojB,GAAW,OAAOpjB,EAAOojB,GAC5C,IAAIlkB,EAAcc,EAAOd,YACzB,OAAI+O,EAAW/O,IAAgBc,aAAkBd,EACxCA,EAAY2F,UACZ7E,aAAkB8c,EAAUuG,EAAkB,O,uBCnBzD,IAAIC,EAAQ,EAAQ,QAEpB7kB,EAAOC,SAAW4kB,GAAM,WACtB,SAASC,KAGT,OAFAA,EAAE1e,UAAU3F,YAAc,KAEnB2M,OAAOgT,eAAe,IAAI0E,KAASA,EAAE1e,c,uBCN9C,MAAMtG,EAAM,EAAQ,OAAR,GACZA,EAAIC,SAAS,GAAM,IAAMA,SAAS,GAAM,IAAMA,SAAS,GAAM,KAAMA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OACtIC,EAAOC,QAAUH,G,uBCFjB,IAAIilB,EAAY,EAAQ,QACpBC,EAAa,EAAQ,QACrBC,EAAU,EAAQ,QAClBC,EAAU,EAAQ,QAClBC,EAAU,EAAQ,QAStB,SAASC,EAAKvd,GACZ,IAAI2J,GAAS,EACTtD,EAAoB,MAAXrG,EAAkB,EAAIA,EAAQqG,OAG3C,IADA9N,KAAKilB,UACI7T,EAAQtD,GAAQ,CACvB,IAAInG,EAAQF,EAAQ2J,GACpBpR,KAAKN,IAAIiI,EAAM,GAAIA,EAAM,KAK7Bqd,EAAKhf,UAAUif,MAAQN,EACvBK,EAAKhf,UAAkB,OAAI4e,EAC3BI,EAAKhf,UAAU+L,IAAM8S,EACrBG,EAAKhf,UAAUsL,IAAMwT,EACrBE,EAAKhf,UAAUtG,IAAMqlB,EAErBnlB,EAAOC,QAAUmlB,G,uBC/BjB,IAAIE,EAAW,EAAQ,QACnBhY,EAAc,EAAQ,QACtBoB,EAAU,EAAQ,QAClB6W,EAAU,EAAQ,QAClBC,EAAW,EAAQ,QACnBza,EAAQ,EAAQ,QAiCpB/K,EAAOC,QAtBP,SAAiBsB,EAAQY,EAAMsjB,GAO7B,IAJA,IAAIjU,GAAS,EACTtD,GAHJ/L,EAAOmjB,EAASnjB,EAAMZ,IAGJ2M,OACd1N,GAAS,IAEJgR,EAAQtD,GAAQ,CACvB,IAAI/N,EAAM4K,EAAM5I,EAAKqP,IACrB,KAAMhR,EAAmB,MAAVe,GAAkBkkB,EAAQlkB,EAAQpB,IAC/C,MAEFoB,EAASA,EAAOpB,GAElB,OAAIK,KAAYgR,GAAStD,EAChB1N,KAET0N,EAAmB,MAAV3M,EAAiB,EAAIA,EAAO2M,SAClBsX,EAAStX,IAAWqX,EAAQplB,EAAK+N,KACjDQ,EAAQnN,IAAW+L,EAAY/L,M,uBCnCpC,IAAImN,EAAU,EAAQ,QAClB5D,EAAQ,EAAQ,QAChB8D,EAAe,EAAQ,QACvBC,EAAW,EAAQ,QAiBvB7O,EAAOC,QAPP,SAAkBsL,EAAOhK,GACvB,OAAImN,EAAQnD,GACHA,EAEFT,EAAMS,EAAOhK,GAAU,CAACgK,GAASqD,EAAaC,EAAStD,M,uBCjBhE,IAAIma,EAAc,EAAQ,QAEtBC,EAAoB3E,SAAS5a,UAC7BjB,EAAOwgB,EAAkBxgB,KACzBygB,EAAsBF,GAAeC,EAAkBzf,KAAKA,KAAKf,EAAMA,GAE3EnF,EAAOC,QAAUylB,EAAcE,EAAsB,SAAUrX,GAC7D,OAAO,WACL,OAAOpJ,EAAKqI,MAAMe,EAAIhB,c,ogBC0BnB,IAAIsY,EAAW,WAQpB,OAPAA,EAAWzY,OAAO0Y,QAAU,SAAkBC,GAC5C,IAAK,IAAIC,EAAGrP,EAAI,EAAGhE,EAAIpF,UAAUW,OAAQyI,EAAIhE,EAAGgE,IAE9C,IAAK,IAAIsP,KADTD,EAAIzY,UAAUoJ,GACOvJ,OAAOhH,UAAUwB,eAAezC,KAAK6gB,EAAGC,KAAIF,EAAEE,GAAKD,EAAEC,IAE5E,OAAOF,IAEOvY,MAAMpN,KAAMmN,YAEvB,SAAS2Y,EAAOF,EAAGhd,GACxB,IAAI+c,EAAI,GACR,IAAK,IAAIE,KAAKD,EAAO5Y,OAAOhH,UAAUwB,eAAezC,KAAK6gB,EAAGC,IAAMjd,EAAEkR,QAAQ+L,GAAK,IAAGF,EAAEE,GAAKD,EAAEC,IAC9F,GAAS,MAALD,GAAqD,mBAAjC5Y,OAAO+S,sBAA2C,KAAIxJ,EAAI,EAAb,IAAgBsP,EAAI7Y,OAAO+S,sBAAsB6F,GAAIrP,EAAIsP,EAAE/X,OAAQyI,IAClI3N,EAAEkR,QAAQ+L,EAAEtP,IAAM,GAAKvJ,OAAOhH,UAAUiH,qBAAqBlI,KAAK6gB,EAAGC,EAAEtP,MAAKoP,EAAEE,EAAEtP,IAAMqP,EAAEC,EAAEtP,KAEhG,OAAOoP,EA6LoB3Y,OAAO+Y,OAuKX/Y,OAAO+Y,OCzWzB,SAASC,EAAUrR,GACxB,OAAOA,EAAIsR,cC5Cb,IAAIC,EAAuB,CAAC,qBAAsB,wBAE9CC,EAAuB,eA4B3B,SAASjkB,EAAQkkB,EAAOC,EAAIlb,GAC1B,OAAIkb,aAAc7J,OAAe4J,EAAMlkB,QAAQmkB,EAAIlb,GAC5Ckb,EAAGvQ,QAAO,SAAUsQ,EAAOC,GAChC,OAAOD,EAAMlkB,QAAQmkB,EAAIlb,KACxBib,GClCE,SAASE,EAAoBF,EAAOhV,GACzC,IAAImV,EAAYH,EAAMvF,OAAO,GACzB2F,EAAaJ,EAAMzK,OAAO,GAAGsK,cACjC,OAAI7U,EAAQ,GAAKmV,GAAa,KAAOA,GAAa,IACzC,IAAMA,EAAYC,EAEpB,GAAKD,EAAUE,cAAgBD,EAKjC,SAASE,EAAWN,EAAO/b,GAIhC,YAHgB,IAAZA,IACFA,EAAU,IDPP,SAAgB+b,EAAO/b,QACZ,IAAZA,IACFA,EAAU,IAcZ,IAZA,IAAIsc,EAAKtc,EAAQuc,YACfA,OAAqB,IAAPD,EAAgBT,EAAuBS,EACrDE,EAAKxc,EAAQyc,YACbA,OAAqB,IAAPD,EAAgBV,EAAuBU,EACrDE,EAAK1c,EAAQ2c,UACbA,OAAmB,IAAPD,EAAgBf,EAAYe,EACxCE,EAAK5c,EAAQ6c,UACbA,OAAmB,IAAPD,EAAgB,IAAMA,EAChC7mB,EAAS8B,EAAQA,EAAQkkB,EAAOQ,EAAa,UAAWE,EAAa,MACrErU,EAAQ,EACRC,EAAMtS,EAAO0N,OAEe,OAAzB1N,EAAOygB,OAAOpO,IAAiBA,IACtC,KAAkC,OAA3BrS,EAAOygB,OAAOnO,EAAM,IAAaA,IAExC,OAAOtS,EAAOqD,MAAMgP,EAAOC,GAAKsB,MAAM,MAAMsJ,IAAI0J,GAAWzhB,KAAK2hB,GCVzDC,CAAOf,EAAOX,EAAS,CAC5ByB,UAAW,GACXF,UAAWV,GACVjc,I,sJClBL,SAAS+c,EAAYC,GACnB,IAAIC,EAAM,IAAI5S,MAAM2S,GAEpB,OADAC,EAAIlmB,OAAS,OACNkmB,EAIT,IAAIC,EAAW,mCACXC,EAAeD,EAASzZ,OACxB2Z,EAAWzR,KAAK0R,IAAI,EAAG,IAAM,EAgCjC,SAASC,EAAWC,GAClB,IAAIC,EAAO7R,KAAK8R,MAAMF,IAASJ,GAI/B,OAHIK,IAASL,IACXK,EAAOL,EAAe,GAEjBD,EAAS1G,OAAOgH,GAEzB,SAASE,EAAWC,EAAKC,GACvB,GAAIC,MAAMF,GACR,MAAM,IAAItT,MAAMsT,EAAM,qBAExB,GAAIA,EAAMP,EACR,MAAML,EAAY,mCAAqCK,GAEzD,GAAIO,EAAM,EACR,MAAMZ,EAAY,yBAEpB,IAA8B,IAA1Be,OAAOC,UAAUJ,GACnB,MAAMZ,EAAY,2BAIpB,IAFA,IAAIiB,OAAM,EACN1T,EAAM,GACHsT,EAAM,EAAGA,IAEdtT,EAAM4S,EAAS1G,OADfwH,EAAML,EAAMR,GACiB7S,EAC7BqT,GAAOA,EAAMK,GAAOb,EAEtB,OAAO7S,EAET,SAAS2T,EAAaL,EAAKL,GAEzB,IADA,IAAIjT,EAAM,GACHsT,EAAM,EAAGA,IACdtT,EAAMgT,EAAWC,GAAQjT,EAE3B,OAAOA,EAkBT,SAAS4T,IACP,IAAIC,EAAgBrb,UAAUW,OAAS,QAAsBpM,IAAjByL,UAAU,IAAmBA,UAAU,GAC/EG,EAAOH,UAAU,GAChBG,IACHA,EAAyB,oBAAX5H,OAAyBA,OAAS,MAElD,IAAI+iB,EAAgBnb,IAASA,EAAKob,QAAUpb,EAAKqb,UACjD,GAAIF,EACF,OAAO,WACL,IAAIG,EAAS,IAAI1oB,WAAW,GAE5B,OADAuoB,EAAcI,gBAAgBD,GACvBA,EAAO,GAAK,KAGrB,IACE,IAAIE,EAAa,EAAQ,QACzB,OAAO,WACL,OAAOA,EAAWC,YAAY,GAAGC,YAAc,KAEjD,MAAOpgB,IAEX,GAAI4f,EAAe,CACjB,IACEve,QAAQiF,MAAM,mEACd,MAAOtG,IACT,OAAO,WACL,OAAOoN,KAAKiT,UAGhB,MAAM7B,EAAY,4DAgCpB,IA9BiB8B,EA8BbC,GA7BGD,IACHA,EAAWX,KAEN,SAAca,GAInB,OAHIlB,MAAMkB,KACRA,EAAWC,KAAKrB,OAEXD,EAAWqB,EA1HP,IA0H6Bd,EAzH3B,GAyHoDY,KCtIjEI,EAAe,CACjB,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,KACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,KACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,KAAM,IACN,KAAM,IACN,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,KACL,IAAK,KACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,KAAM,IACN,KAAM,IACN,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,KAAM,IACN,KAAM,IACN,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,KAAM,IACN,KAAM,IACN,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,KACL,IAAK,KACL,KAAM,IACN,KAAM,IACN,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,KAAM,IACN,KAAM,IACN,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,KAAM,IACN,KAAM,IACN,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,KAAM,IACN,KAAM,IACN,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,KAAM,IACN,KAAM,IACN,IAAK,IACL,IAAK,IACL,IAAK,IACL,KAAM,IACN,KAAM,IACN,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,KACL,IAAK,KACL,IAAK,IACL,IAAK,IACL,IAAK,KACL,IAAK,KACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,KAAM,IACN,KAAM,IACN,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,KAAM,IACN,KAAM,IACN,KAAM,IACN,KAAM,IACN,KAAM,IACN,KAAM,IACN,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,KAAM,IACN,KAAM,IACN,KAAM,IACN,KAAM,IACN,KAAM,IACN,KAAM,IACN,KAAM,IACN,KAAM,IACN,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,KAAM,IACN,IAAK,IACL,IAAK,IACL,IAAK,IACL,KAAM,IACN,KAAM,IACN,KAAM,IACN,KAAM,IACN,KAAM,IACN,KAAM,IACN,KAAM,IACN,KAAM,IACN,IAAK,IACL,IAAK,IACL,KAAM,IACN,KAAM,IACN,KAAM,IACN,KAAM,IACN,KAAM,IACN,KAAM,IACN,KAAM,IACN,KAAM,IACN,KAAM,IACN,KAAM,IACN,KAAM,IACN,KAAM,IACN,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,K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,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MACvoCD,EAAIC,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAClpCD,EAAIC,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAClpCD,EAAIC,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,KAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAC3tCD,EAAIC,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MACvvCD,EAAIC,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OACvvCD,EAAIC,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OACvvCD,EAAIC,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OACp1CD,EAAIC,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAC51CD,EAAIC,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAC51CD,EAAIC,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAC51CD,EAAIC,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAC51CD,EAAIC,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS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AAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAC7oCD,EAAIC,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAC3qCD,EAAIC,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MACvvCD,EAAIC,SAAS,KAAQ,MAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OACvvCD,EAAIC,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OACx0CD,EAAIC,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAC51CD,EAAIC,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAC51CD,EAAIC,SAAS,MAAS,OAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS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AOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MACzoCD,EAAIC,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAClpCD,EAAIC,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,KAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MACjuCD,EAAIC,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OACvvCD,EAAIC,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OACvvCD,EAAIC,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAC1wCD,EAAIC,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAC51CD,EAAIC,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAC51CD,EAAIC,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAC51CD,EAAIC,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS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AO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,OACxmIA,EAAIC,SAAS,GAAM,KAAMA,SAAS,IAAM,KAAMA,SAAS,IAAM,KAAMA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS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AAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MACzoCD,EAAIC,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAClpCD,EAAIC,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,KAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAC7tCD,EAAIC,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OACvvCD,EAAIC,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OACvvCD,EAAIC,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OACtwCD,EAAIC,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAC51CD,EAAIC,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAC51CD,EAAIC,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,Q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KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MACzoCD,EAAIC,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAClpCD,EAAIC,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAClpCD,EAAIC,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,KAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MACjuCD,EAAIC,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MACvvCD,EAAIC,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OACvvCD,EAAIC,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAChwCD,EAAIC,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAC51CD,EAAIC,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAC51CD,EAAIC,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAC51CD,EAAIC,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAC51CD,EAAIC,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAC1rCC,EAAOC,QAAUH,G,qBCbjB,MAAMA,EAAM,EAAQ,OAAR,CAAsB,IAAM,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAA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OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QACr8DA,EAAIC,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAClpCD,EAAIC,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MACjrCD,EAAIC,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OACvvCD,EAAIC,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OACvvCD,EAAIC,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OACp1CD,EAAIC,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAC51CD,EAAIC,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAC51CD,EAAIC,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAC51CD,EAAIC,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAA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O,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAA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,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ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MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAClpCD,EAAIC,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SA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S,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAChpCD,EAAIC,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MACjuCD,EAAIC,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,KAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OACvvCD,EAAIC,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OACl1CD,EAAIC,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAC51CD,EAAIC,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QACxLC,EAAOC,QAAUH,G,oECPjB,MAAMA,EAAM,EAAQ,OAAR,CAAsB,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,OAClFA,EAAIC,SAAS,GAAM,IAAMA,SAAS,GAAM,IAAMA,SAAS,GAAM,IAAMA,SAAS,IAAM,KAAMA,SAAS,IAAM,KAAMA,SAAS,IAAM,KAAMA,SAAS,IAAM,KAAMA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAC3bC,EAAOC,QAAUH,G,kCCDjB,IAAIk7B,EAAc,EAAQ,QACtB4d,EAAc,EAAQ,QACtBzzC,EAAO,EAAQ,QACf0f,EAAQ,EAAQ,QAChBqqD,EAAa,EAAQ,QACrB3D,EAA8B,EAAQ,QACtC36B,EAA6B,EAAQ,QACrCpsB,EAAW,EAAQ,QACnBhZ,EAAgB,EAAQ,QAGxB2jE,EAAU/hE,OAAO0Y,OAEjBxT,EAAiBlF,OAAOkF,eACxBsE,EAASgiC,EAAY,GAAGhiC,QAI5B5W,EAAOC,SAAWkvE,GAAWtqD,GAAM,WAEjC,GAAImW,GAQiB,IARFm0C,EAAQ,CAAEtxD,EAAG,GAAKsxD,EAAQ78D,EAAe,GAAI,IAAK,CACnElC,YAAY,EACZ+B,IAAK,WACHG,EAAelS,KAAM,IAAK,CACxBmL,MAAO,EACP6E,YAAY,OAGd,CAAEyN,EAAG,KAAMA,EAAS,OAAO,EAE/B,IAAIuxD,EAAI,GACJC,EAAI,GAEJ5+B,EAAS9kC,SAIb,OAFAyjE,EAAE3+B,GAAU,EADG,uBAENr8B,MAAM,IAAItM,SAAQ,SAAUg+D,GAAOuJ,EAAEvJ,GAAOA,KACpB,GAA1BqJ,EAAQ,GAAIC,GAAG3+B,IAHP,wBAGuBy+B,EAAWC,EAAQ,GAAIE,IAAI1pE,KAAK,OACnE,SAAgBqC,EAAQxG,GAM3B,IALA,IAAI8tE,EAAI9qD,EAASxc,GACbunE,EAAkBhiE,UAAUW,OAC5BsD,EAAQ,EACR2O,EAAwBorD,EAA4Bt7D,EACpD5C,EAAuBujC,EAA2B3gC,EAC/Cs/D,EAAkB/9D,GAMvB,IALA,IAIIrR,EAJAqvE,EAAIhkE,EAAc+B,UAAUiE,MAC5BwI,EAAOmG,EAAwBvJ,EAAOs4D,EAAWM,GAAIrvD,EAAsBqvD,IAAMN,EAAWM,GAC5FthE,EAAS8L,EAAK9L,OACdiJ,EAAI,EAEDjJ,EAASiJ,GACdhX,EAAM6Z,EAAK7C,KACN6jB,IAAe71B,EAAKkI,EAAsBmiE,EAAGrvE,KAAMmvE,EAAEnvE,GAAOqvE,EAAErvE,IAErE,OAAOmvE,GACPH,G,qBCxDJ,IAAI9jE,EAAa,EAAQ,QACrBJ,EAAe,EAAQ,QACvBK,EAAe,EAAQ,QAMvB+vD,EAAYr6C,SAAS5a,UACrB+G,EAAcC,OAAOhH,UAGrB4c,EAAeq4C,EAAUxsD,SAGzBjH,EAAiBuF,EAAYvF,eAG7B6nE,EAAmBzsD,EAAa7d,KAAKiI,QA2CzCpN,EAAOC,QAbP,SAAuBsL,GACrB,IAAKD,EAAaC,IA5CJ,mBA4CcF,EAAWE,GACrC,OAAO,EAET,IAAIsF,EAAQ5F,EAAaM,GACzB,GAAc,OAAVsF,EACF,OAAO,EAET,IAAI/C,EAAOlG,EAAezC,KAAK0L,EAAO,gBAAkBA,EAAMpQ,YAC9D,MAAsB,mBAARqN,GAAsBA,aAAgBA,GAClDkV,EAAa7d,KAAK2I,IAAS2hE,I,kCCxD/BzvE,EAAOC,QAAUmN,OAAO0Y,Q,qBCFxB,MAAMhmB,EAAM,EAAQ,OAAR,CAAsB,KAAO,KAAO,MAAQ,OACxDA,EAAIC,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAClEC,EAAOC,QAAUH,G,qBCFjB,IAAIkL,EAAa,EAAQ,QACrBi0B,EAAa,EAAQ,QAYzB,SAAS21B,EAAYrpD,GACnBnL,KAAKg/B,YAAc7zB,EACnBnL,KAAKi/B,YAAc,GACnBj/B,KAAKsvE,QAAU,EACftvE,KAAKuvE,cAAe,EACpBvvE,KAAKwvE,cAAgB,GACrBxvE,KAAKyvE,cAfgB,WAgBrBzvE,KAAK0vE,UAAY,GAInBlb,EAAYxuD,UAAY4E,EAAWi0B,EAAW74B,WAC9CwuD,EAAYxuD,UAAU3F,YAAcm0D,EAEpC50D,EAAOC,QAAU20D,G,mBC3BjB50D,EAAOC,QAAU,SAASD,GAoBzB,OAnBKA,EAAO+vE,kBACX/vE,EAAOgwE,UAAY,aACnBhwE,EAAOqiE,MAAQ,GAEVriE,EAAOyvB,WAAUzvB,EAAOyvB,SAAW,IACxCriB,OAAOkF,eAAetS,EAAQ,SAAU,CACvCoQ,YAAY,EACZ+B,IAAK,WACJ,OAAOnS,EAAO8vC,KAGhB1iC,OAAOkF,eAAetS,EAAQ,KAAM,CACnCoQ,YAAY,EACZ+B,IAAK,WACJ,OAAOnS,EAAO2W,KAGhB3W,EAAO+vE,gBAAkB,GAEnB/vE,I,qBCpBR,MAAMF,EAAM,EAAQ,OAAR,GACZA,EAAIC,SAAS,MAAS,OAASA,SAAS,MAAS,OACjDC,EAAOC,QAAUH,G,kCCFjB,u7BAAIkqB,EAAW5c,OAAO0Y,QAAU,SAAU9d,GAAU,IAAK,IAAI2O,EAAI,EAAGA,EAAIpJ,UAAUW,OAAQyI,IAAK,CAAE,IAAInV,EAAS+L,UAAUoJ,GAAI,IAAK,IAAIxW,KAAOqB,EAAc4L,OAAOhH,UAAUwB,eAAezC,KAAK3D,EAAQrB,KAAQ6H,EAAO7H,GAAOqB,EAAOrB,IAAY,OAAO6H,GAEvP,SAASgxB,EAAyB/mB,EAAK+H,GAAQ,IAAIhS,EAAS,GAAI,IAAK,IAAI2O,KAAK1E,EAAW+H,EAAKE,QAAQvD,IAAM,GAAkBvJ,OAAOhH,UAAUwB,eAAezC,KAAK8M,EAAK0E,KAAc3O,EAAO2O,GAAK1E,EAAI0E,IAAM,OAAO3O,EAEnN,SAASymC,EAAgBrnC,EAAUyzB,GAAe,KAAMzzB,aAAoByzB,GAAgB,MAAM,IAAIthB,UAAU,qCAEhH,SAASm1B,EAA2B3tB,EAAM5b,GAAQ,IAAK4b,EAAQ,MAAM,IAAI4tB,eAAe,6DAAgE,OAAOxpC,GAAyB,iBAATA,GAAqC,mBAATA,EAA8B4b,EAAP5b,EAElO,SAAS4pC,EAAUF,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIv1B,UAAU,kEAAoEu1B,GAAeD,EAASzoC,UAAYgH,OAAO+Y,OAAO2oB,GAAcA,EAAW1oC,UAAW,CAAE3F,YAAa,CAAE8K,MAAOsjC,EAAUz+B,YAAY,EAAOmD,UAAU,EAAM+b,cAAc,KAAewf,IAAY1hC,OAAOoD,eAAiBpD,OAAOoD,eAAeq+B,EAAUC,GAAcD,EAAS/9B,UAAYg+B,GAaje,IAAImhC,EAAqB,SAA4BzyD,EAAMyX,GACzD,IAAIi7C,EAAM,IAAcj7C,GAExB,OADAi7C,EAAIlxD,YAAcxB,EACX0yD,GAKLC,EAAkBF,EAAmB,YAIrCrrE,EAAW,SAAkBrB,GAC/B,IAAIksB,EAAWlsB,EAAKksB,SACpB,OAAO,IAAM9qB,cACXwrE,EAAgB3F,SAChB,MACA,SAAUj6C,GACR,OAAOA,EAAUd,EAASc,GAAW,IAAM5rB,cACzCyrE,EACA,KACA3gD,OAMJ2gD,EAAmB,SAAUnrE,GAG/B,SAASmrE,IACP,IAAIC,EAAOnrE,EAEXupC,EAAgBruC,KAAMgwE,GAEtB,IAAK,IAAI10B,EAAOnuC,UAAUW,OAAQG,EAAOC,MAAMotC,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAC3EttC,EAAKstC,GAAQpuC,UAAUouC,GAGzB,OAAe00B,EAASnrE,EAAQwpC,EAA2BtuC,KAAM6E,EAAiBE,KAAKqI,MAAMvI,EAAkB,CAAC7E,MAAMwW,OAAOvI,KAAiBnJ,EAAMc,MAAQ,CAC1JuqB,QAASrrB,EAAMorE,aACfC,KAAM,CAAEC,SAAU,OACT9hC,EAA2BxpC,EAAnCmrE,GAkEL,OAhFAthC,EAAUqhC,EAAkBnrE,GAiB5BmrE,EAAiBhqE,UAAUkqE,WAAa,WACtC,IAAIG,EAAiBrwE,KAAKsE,MAAMkhC,QAIhC,MAAO,CAAEpjC,SAHMiuE,EAAejuE,SAGDsC,SAFd2rE,EAAe3rE,WAKhCsrE,EAAiBhqE,UAAUsqE,kBAAoB,SAA2BphE,EAAOqhE,GAC/E,IAAIC,EAAWthE,GAKb,MAAMA,GAFNuhE,EAFgBzwE,KAAKsE,MAAMkhC,QAAQpjC,UAEzB8M,EAAM29B,IAAK,CAAE3qC,SAAS,KAMpC8tE,EAAiBhqE,UAAUS,mBAAqB,SAA4BC,EAAWC,GACjFA,EAAUwpB,QAAQzrB,WAAa1E,KAAK4F,MAAMuqB,QAAQzrB,UACpD1E,KAAKsE,MAAMkhC,QAAQoG,yBAIvBokC,EAAiBhqE,UAAUY,kBAAoB,WAC7C,IAAIU,EAAStH,KAETmwE,EAAOnwE,KAAK4F,MAAMuqE,KAClB3qC,EAAUxlC,KAAKsE,MAAMkhC,QAEzBA,EAAQoG,wBACRukC,EAAKC,SAAW5qC,EAAQqG,QAAO,WAC7BQ,QAAQxoC,UAAUw3D,MAAK,WAErByM,uBAAsB,WACfxgE,EAAOopE,WACVppE,EAAOipB,UAAS,WACd,MAAO,CAAEJ,QAAS7oB,EAAO4oE,2BAQrCF,EAAiBhqE,UAAUa,qBAAuB,WAChD,IAAIspE,EAAOnwE,KAAK4F,MAAMuqE,KAEtBnwE,KAAK0wE,WAAY,EACjBP,EAAKC,YAGPJ,EAAiBhqE,UAAUgC,OAAS,WAClC,IAAImoB,EAAUnwB,KAAK4F,MAAMuqB,QACrBd,EAAWrvB,KAAKsE,MAAM+qB,SAE1B,OAAO,IAAM9qB,cACXwrE,EAAgBngD,SAChB,CAAEzkB,MAAOglB,GACW,mBAAbd,EAA0BA,EAASc,GAAWd,GAAY,OAI9D2gD,EAjFc,CAkFrB,IAAMvmE,WAKRumE,EAAiBrxD,aAAe,CAC9B6mB,QAAS,KAKX,IAAImrC,EAAiB,SAAwBlsE,GAC3C,IAAIwtB,EAAMxtB,EAAMwtB,IACZ5C,EAAW5qB,EAAM4qB,SAEjBod,EAAcxa,EAAInY,QAAQ,KAE1B3T,OAAW,EACXwuB,EAAS,GAUb,OAZmB8X,GAAe,GAMhCtmC,EAAW8rB,EAAIwR,UAAU,EAAGgJ,GAC5B9X,EAAS1C,EAAIwR,UAAUgJ,IAEvBtmC,EAAW8rB,EAGN,IAAM1tB,cACXwrE,EAAgBngD,SAChB,CACEzkB,MAAO,CACLzG,SAAU,CACRyB,SAAUA,EACVwuB,OAAQA,EACRsW,KAhBG,IAkBL7oC,SAAU,WACR,MAAM,IAAIsS,MAAM,6CAItB2a,IAKAs6C,EAAckG,EAAmB,OAAQ,CAAEjG,QAAS,IAAKC,SAAU,MAInEQ,EAAS,SAAgB/lE,GAC3B,OAAO,IAAMC,cACXolE,EAAYS,SACZ,MACA,SAAUwG,GACR,OAAO,IAAMrsE,cACXC,EACA,MACA,SAAUqsE,GACR,OAAO,IAAMtsE,cAAcusE,EAAYlnD,EAAS,GAAIgnD,EAAaC,EAAiBvsE,WAOxFwsE,EAAa,SAAUC,GAGzB,SAASD,IAGP,OAFAziC,EAAgBruC,KAAM8wE,GAEfxiC,EAA2BtuC,KAAM+wE,EAAqB3jE,MAAMpN,KAAMmN,YAgF3E,OArFAwhC,EAAUmiC,EAAYC,GAQtBD,EAAW9qE,UAAUgC,OAAS,WAC5B,IAAIgpE,EAAShxE,KAAKsE,MACdI,EAAWssE,EAAOtsE,SAClBusE,EAAaD,EAAO5uE,SACpBynE,EAAWmH,EAAOnH,SAClBqH,EAAUF,EAAOE,QACjB7hD,EAAW2hD,EAAO3hD,SAElB8hD,GADUH,EAAOpH,QACEoH,EAAOtxD,WAC1BA,OAAiChe,IAArByvE,EAAiC,MAAQA,EACrDC,EAAWx4C,EAAyBo4C,EAAQ,CAAC,WAAY,WAAY,WAAY,UAAW,WAAY,UAAW,cAEnHrb,EAAS,IAAM7mB,SAASuiC,QAAQhiD,GAAUvZ,QAAO,SAAUwkB,EAAOg3C,GACpE,IAAI3b,EAAS4b,EAAY1H,EAAZ0H,CAAsBD,GACnC,OAAOh3C,EAAM9jB,OAAOm/C,KACnB,IACCxvD,EAAWzB,EAASyB,SAGpBuU,EAAQ,eAAKi7C,EAAQxvD,GAEzB,GAAIuU,EAAO,CACT,IAAIuH,EAASvH,EAAMuH,OACf4qB,EAAMnyB,EAAMmyB,IACZ9qB,EAAQrH,EAAMqH,MACditB,EAAUt0B,EAAMqH,MAAM5W,MAI1B0+D,EAAW9nD,EAAM1f,QAAUwnE,EAAW9nD,EAAMhgB,KAAKG,QAAQ,MAAO,IAEhE,IAAIoC,EAAQslB,EAAS,GAAI3H,EAAQ,CAC/B4qB,IAAKA,EACLnoC,SAAUA,EACVtC,SAAU,SAAkBiE,EAAIgE,GAC9B,OAAO4mE,EAAW,kBAAQ5qE,EAAIwmC,GAAMxiC,MAIpCkJ,EAAQ,IAAMi+D,aAAaxiC,EAAS1qC,EAAO0qC,EAAQ1qC,MAAM+qB,SAAW,IAAM9qB,cAC5E8lE,EACA,CAAE3lE,SAAUA,EAAUwsE,QAASA,GAC/BliC,EAAQ1qC,MAAM+qB,eACZ3tB,GAGA+vE,EAAeP,EAAUQ,EAAehyD,EAExCiyD,EAAeT,EAAUtnD,EAAS,CAAEijB,IAAKA,EAAKnoC,SAAUA,EAAUgb,UAAWA,GAAa0xD,GAAYA,EAE1G,OAAO,IAAM7sE,cACXolE,EAAY/5C,SACZ,CAAEzkB,MAAO,CAAEy+D,QAAS/8B,EAAKg9B,SAAUA,IACnC,IAAMtlE,cACJktE,EACAE,EACAp+D,IAiBJ,OAAO,MAIJu9D,EAtFQ,CAuFf,IAAMc,eAERd,EAAWnyD,aAAe,CACxBuyD,SAAS,GAIX,IAAIW,EAAehC,EAAmB,SAElC6B,EAAe,SAAsBzsE,GACvC,IAAI4nC,EAAM5nC,EAAM4nC,IACZnoC,EAAWO,EAAMP,SACjBgb,EAAYza,EAAMya,UAClB0xD,EAAWx4C,EAAyB3zB,EAAO,CAAC,MAAO,WAAY,cAEnE,OAAO,IAAMV,cACXstE,EAAazH,SACb,MACA,SAAU0H,GACR,OAAO,IAAMvtE,cAAcwtE,EAAkBnoD,EAAS,GAAIwnD,EAAU,CAClE1xD,UAAWA,EACXoyD,aAAcA,EACdjlC,IAAKA,EACLnoC,SAAUA,SAOdstE,GAAgB,EAChBC,EAAoB,EAEpBF,EAAmB,SAAUrJ,GAG/B,SAASqJ,IACP,IAAIG,EAAQC,EAEZ9jC,EAAgBruC,KAAM+xE,GAEtB,IAAK,IAAIK,EAAQjlE,UAAUW,OAAQG,EAAOC,MAAMkkE,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IAChFpkE,EAAKokE,GAASllE,UAAUklE,GAG1B,OAAgBH,EAAUC,EAAS7jC,EAA2BtuC,KAAM0oE,EAAkB3jE,KAAKqI,MAAMs7D,EAAmB,CAAC1oE,MAAMwW,OAAOvI,KAAkBkkE,EAAOvsE,MAAQ,GAAIusE,EAAOL,aAAe,SAAUh2B,IAChMq2B,EAAOvsE,MAAM0sE,aAAex2B,GAC/BA,EAAKqwB,SAEG79B,EAA2B6jC,EAApCD,GA4FL,OA3GAvjC,EAAUojC,EAAkBrJ,GAkB5BqJ,EAAiBhzD,yBAA2B,SAAkC8oD,EAAWlhE,GAEvF,GAD+B,MAAjBA,EAAUkmC,IAEtB,OAAOjjB,EAAS,CACd0oD,aAAa,GACZzK,GAEH,IAAI0K,EAAe1K,EAAUh7B,MAAQlmC,EAAUkmC,IAC3C2lC,EAAkB7rE,EAAUjC,SAASyB,WAAa0hE,EAAUnjE,SAASyB,UAAY0hE,EAAUnjE,SAASyB,WAAa0hE,EAAUh7B,IAC/H,OAAOjjB,EAAS,CACd0oD,YAAaC,GAAgBC,GAC5B3K,IAIPkK,EAAiB/rE,UAAUY,kBAAoB,WAC7CqrE,IACAjyE,KAAKmsE,SAGP4F,EAAiB/rE,UAAUa,qBAAuB,WAEtB,MAD1BorE,IAEED,GAAgB,IAIpBD,EAAiB/rE,UAAUS,mBAAqB,SAA4BC,EAAWC,GACjFD,EAAUhC,WAAa1E,KAAKsE,MAAMI,UAAY1E,KAAK4F,MAAM0sE,aAC3DtyE,KAAKmsE,SAIT4F,EAAiB/rE,UAAUmmE,MAAQ,WAQjC,IAAI2F,EAAe9xE,KAAKsE,MAAMwtE,aAG1BA,EACFA,EAAa9xE,KAAK87C,MAEdk2B,EACFA,GAAgB,EACPhyE,KAAK87C,OAGT97C,KAAK87C,KAAKroC,SAAS05B,SAASo+B,gBAC/BvrE,KAAK87C,KAAKqwB,UAMlB4F,EAAiB/rE,UAAUgC,OAAS,WAClC,IAAIyqE,EAASzyE,KAET0yE,EAAU1yE,KAAKsE,MAEfkB,GADWktE,EAAQrjD,SACXqjD,EAAQltE,OAEhBmtE,GADeD,EAAQZ,aACHY,EAAQhzD,WAC5BkzD,OAA6BlxE,IAAtBixE,EAAkC,MAAQA,EAGjDvB,GAFMsB,EAAQ7lC,IACH6lC,EAAQhuE,SACRk0B,EAAyB85C,EAAS,CAAC,WAAY,QAAS,eAAgB,YAAa,MAAO,cAE3G,OAAO,IAAMnuE,cACXquE,EACAhpD,EAAS,CACPpkB,MAAOokB,EAAS,CAAEkkD,QAAS,QAAUtoE,GACrCqtE,SAAU,KACVzrE,IAAK,SAAamL,GAChB,OAAOkgE,EAAO32B,KAAOvpC,IAEtB6+D,GACH,IAAM7sE,cACJstE,EAAajiD,SACb,CAAEzkB,MAAOnL,KAAK8xE,cACd9xE,KAAKsE,MAAM+qB,YAKV0iD,EA5Gc,CA6GrB,IAAMtoE,WAER,mBAASsoE,GAET,IAAI1vC,EAAI,aAGJj4B,EAAa,IAAMA,gBAEG,IAAfA,IACTA,EAAa,SAAoB8yB,GAC/B,OAAOA,IAIX,IAAIv0B,EAAOyB,GAAW,SAAU2kB,EAAO3nB,GACrC,IAAIG,EAAWwnB,EAAMxnB,SACjBjD,EAAQs0B,EAAyB7J,EAAO,CAAC,aAE7C,OAAO,IAAMxqB,cACXolE,EAAYS,SACZ,MACA,SAAU53C,GACOA,EAAMq3C,SAArB,IACID,EAAUp3C,EAAMo3C,QACpB,OAAO,IAAMrlE,cACXC,EACA,MACA,SAAU6vB,GACR,IAAI3vB,EAAW2vB,EAAM3vB,SACjBtC,EAAWiyB,EAAMjyB,SAEjBiE,EAAK/B,EAAM+B,GACXT,EAAQtB,EAAMsB,MACd1D,EAAUoC,EAAMpC,QAChB4wE,EAAkBxuE,EAAM8D,SACxBA,OAA+B1G,IAApBoxE,EAAgCzwC,EAAIywC,EAC/CC,EAAcn6C,EAAyBt0B,EAAO,CAAC,KAAM,QAAS,UAAW,aAEzEkF,EAAO,kBAAQnD,EAAIujE,GACnBoJ,EAAc1pE,UAAUE,GACxBrE,EAAYT,EAASyB,WAAa6sE,EAClC9tE,EAAqB,qBAAWR,EAASyB,SAAU6sE,GAEvD,OAAO,IAAMzuE,cAAc,IAAKqlB,EAAS,CACvCxiB,IAAKA,GAAOG,EACZ,eAAgBpC,EAAY,YAASzD,GACpCqxE,EAAa3qE,EAAS,CAAEjD,UAAWA,EAAWD,mBAAoBA,EAAoBsE,KAAMA,EAAM9E,SAAUA,IAAa,CAC1H8E,KAAMA,EACNlB,QAAS,SAAiB2qE,GAExB,GADIF,EAAYzqE,SAASyqE,EAAYzqE,QAAQ2qE,GACzCC,EAAeD,GAAQ,CACzBA,EAAM7pE,iBACN,IAAIC,EAAgBnH,EACpB,GAAuB,kBAAZA,GAAyBiD,EAAW,CAC7C,IAAIguE,EAAkBvpD,EAAS,GAAIllB,EAASkB,OAExCwtE,GADMD,EAAgBpzE,IACV64B,EAAyBu6C,EAAiB,CAAC,SAE3D9pE,EAAgB,yBAAeugB,EAAS,GAAIhkB,GAAQwtE,GAEtDhxE,EAASoH,EAAM,CACb5D,MAAOA,EACP1D,QAASmH,kBAkB3B,SAASgqE,EAAgBxmC,GACvB7sC,KAAK6sC,IAAMA,EARblkC,EAAKiW,YAAc,OAWnB,IAAI4xD,EAAa,SAAoBpuC,GACnC,OAAOA,aAAaixC,GAGlBC,EAAa,SAAoBjtE,GACnC,MAAM,IAAIgtE,EAAgBhtE,IAGxBktE,EAAe,SAAUC,GAG3B,SAASD,IAGP,OAFAllC,EAAgBruC,KAAMuzE,GAEfjlC,EAA2BtuC,KAAMwzE,EAAkBpmE,MAAMpN,KAAMmN,YAsCxE,OA3CAwhC,EAAU4kC,EAAcC,GASxBD,EAAavtE,UAAUY,kBAAoB,WACzC,IAAI6sE,EAAUzzE,KAAKsE,MACflC,EAAWqxE,EAAQrxE,SACnBiE,EAAKotE,EAAQptE,GAEbqtE,GADOD,EAAQ1+D,KACG0+D,EAAQvxE,SAC1BA,OAA8BR,IAApBgyE,GAAuCA,EACjD9tE,EAAQ6tE,EAAQ7tE,MAEhBgkE,GADU6J,EAAQE,QACRF,EAAQ7J,SAClBtlE,EAAQs0B,EAAyB66C,EAAS,CAAC,WAAY,KAAM,OAAQ,UAAW,QAAS,UAAW,YAExGpnC,QAAQxoC,UAAUw3D,MAAK,WACrB,IAAIuY,EAAa,kBAAQvtE,EAAIujE,GAC7BxnE,EAAS,uBAAawxE,EAAYtvE,GAAQ,CAAEpC,QAASA,EAAS0D,MAAOA,QAIzE2tE,EAAavtE,UAAUgC,OAAS,WAC9B,IAAI6rE,EAAU7zE,KAAKsE,MAEf+B,GADWwtE,EAAQzxE,SACdyxE,EAAQxtE,IAIbstE,GAHOE,EAAQ9+D,KACL8+D,EAAQ3xE,QACV2xE,EAAQjuE,MACNiuE,EAAQF,SAClB/J,EAAUiK,EAAQjK,QAClBtlE,EAAQs0B,EAAyBi7C,EAAS,CAAC,WAAY,KAAM,OAAQ,UAAW,QAAS,UAAW,YAEpGD,EAAa,kBAAQvtE,EAAIujE,GAE7B,OADK+J,GAASL,EAAW,uBAAaM,EAAYtvE,IAC3C,MAGFivE,EA5CU,CA6CjB,IAAM9pE,WAEJqqE,EAAW,SAAkBxvE,GAC/B,OAAO,IAAMC,cACXolE,EAAYS,SACZ,MACA,SAAUp0C,GACR,IAAI4zC,EAAU5zC,EAAM4zC,QACpB,OAAO,IAAMrlE,cACXC,EACA,MACA,SAAUqsE,GACR,OAAO,IAAMtsE,cAAcgvE,EAAc3pD,EAAS,GAAIinD,EAAiB,CAAEjH,QAASA,GAAWtlE,WAanGyvE,EAAQ,SAAeC,GACzB,IAAIjyE,EAAOiyE,EAAMjyE,KACbstB,EAAW2kD,EAAM3kD,SACrB,OAAO,IAAM9qB,cACXolE,EAAYS,SACZ,MACA,SAAU6J,GACR,IAAIrK,EAAUqK,EAAMrK,QACpB,OAAO,IAAMrlE,cACXC,EACA,MACA,SAAU0vE,GACR,IAAI9xE,EAAW8xE,EAAO9xE,SAClBsC,EAAWwvE,EAAOxvE,SAElByvE,EAAe,kBAAQpyE,EAAM6nE,GAC7BxpE,EAAS,gBAAM+zE,EAAczvE,EAASyB,UAC1C,OAAOkpB,EAAS,CACdjtB,SAAUA,EACVsC,SAAUA,EACVgW,MAAOta,EAASwpB,EAAS,GAAIxpB,EAAO6hB,OAAQ,CAC1C4qB,IAAKzsC,EAAOysC,IACZ9qC,KAAMA,IACH,cAWbmhB,EAAc,WAChB,IAAIiN,EAAU,qBAAW4/C,GAEzB,IAAK5/C,EACH,MAAM,IAAIzb,MAAM,8JAGlB,OAAOyb,EAAQzrB,UAGb0vE,EAAc,WAChB,IAAIjkD,EAAU,qBAAW4/C,GAEzB,IAAK5/C,EACH,MAAM,IAAIzb,MAAM,8JAGlB,OAAOyb,EAAQ/tB,UAGbiyE,EAAY,WACd,IAAIlkD,EAAU,qBAAWw5C,GAEzB,IAAKx5C,EACH,MAAM,IAAIzb,MAAM,4JAGlB,IAAIhQ,EAAWwe,IAEXqkD,EAAU,gBAAMp3C,EAAQ05C,SAAUnlE,EAASyB,UAE/C,OAAOohE,EAAUA,EAAQtlD,OAAS,MAGhCqyD,EAAW,SAAkBvyE,GAC/B,IAAKA,EACH,MAAM,IAAI2S,MAAM,4EAElB,IAAIyb,EAAU,qBAAWw5C,GAEzB,IAAKx5C,EACH,MAAM,IAAIzb,MAAM,2JAGlB,IAAIhQ,EAAWwe,IAEXixD,EAAe,kBAAQpyE,EAAMouB,EAAQy5C,SACrCxpE,EAAS,gBAAM+zE,EAAczvE,EAASyB,UAC1C,OAAO/F,EAASwpB,EAAS,GAAIxpB,EAAO6hB,OAAQ,CAC1C4qB,IAAKzsC,EAAOysC,IACZ9qC,KAAMA,IACH,MAKHwyE,EAAe,SAAsB5/D,GACvC,OAAOA,EAAIzS,QAAQ,eAAgB,KAGjCqvE,EAAc,SAASA,EAAY1H,GACrC,OAAO,SAAU76B,GACf,IAAKA,EACH,OAAO,KAGT,GAAIA,EAAQ/vB,OAAS,IAAMqQ,UAAY0f,EAAQ1qC,MAAM+qB,SACnD,OAAO,IAAMyf,SAASxxB,IAAI0xB,EAAQ1qC,MAAM+qB,SAAUkiD,EAAY1H,IAQhE,GANE76B,EAAQ1qC,MAAMvC,MAAQitC,EAAQ1qC,MAAMjC,SAAW2sC,EAAQ/vB,OAAS60D,GAAuN,KAAU,GAEhS9kC,EAAQ/vB,OAAS60D,GAAc9kC,EAAQ1qC,MAAMyQ,MAASi6B,EAAQ1qC,MAAM+B,IAAqN,KAAU,GAEnS2oC,EAAQ/vB,OAAS60D,GAAa,2BAAiB9kC,EAAQ1qC,MAAMyQ,KAAMi6B,EAAQ1qC,MAAM+B,KAA4O,KAAU,GAEtU2oC,EAAQ1qC,MAAMjC,QAChB,MAAO,CAAE8I,MAAO6jC,EAAS3sC,SAAS,GAGpC,IAAImyE,EAAcxlC,EAAQ/vB,OAAS60D,EAAW9kC,EAAQ1qC,MAAMyQ,KAAOi6B,EAAQ1qC,MAAMvC,KAE7EA,EAAuB,MAAhByyE,EAAsB3K,EAAW0K,EAAa1K,GAAY,IAAM0K,EAAaC,GAExF,MAAO,CACLrpE,MAAO6jC,EACP3sC,QAAS2sC,EAAQ1qC,MAAMjC,QACvBN,KAAMitC,EAAQ1qC,MAAM+qB,SAAWklD,EAAaxyE,GAAQ,KAAOA,KAK7DmxE,EAAiB,SAAwBD,GAC3C,OAAQA,EAAMlqE,kBAAqC,IAAjBkqE,EAAMnqE,UAAkBmqE,EAAMjqE,SAAWiqE,EAAMhqE,QAAUgqE,EAAM/pE,SAAW+pE,EAAM9pE,Y,orBCtsBpH,MAEMywC,EAASz2C,IAAA,IAAC,KAAEqG,EAAI,MAAE6L,EAAK,KAAEjC,EAAI,MAAEqhE,GAAOtxE,EAAA,OAC1CuxE,YAAA,KACElrE,KAAMA,EACNmrE,GAAI,CACFC,WAAY,EACZx7B,SAAU,EAEVK,WATU,MAUV/Q,QAAS,OACT2Q,cAAe,SACf3R,UAAWt0B,IAASqhE,EAAQ,QAAU,OACtCI,eAAgB,OAChB,YAAa,CACX3sC,MAAO,aAIXwsC,YAAA,QAAMC,GAAI,CAAEzsC,MAAO,SAAW90B,EAAO,OAAS,YAC9CshE,YAAA,QACEC,GAAI,CACF5rC,WAAY,MAGb1zB,EAAM7L,MAKE/E,QAAqB,IAApB,KAAEw8D,EAAI,KAAE7tD,GAAM3O,EAC5B,MAAM4Q,EAAQkd,cAAUzc,OACtB,CAACwH,EAAKkX,IAAGslB,IAAA,GAAWx8B,GAAG,IAAE,CAACkX,EAAIzS,OAAQyS,EAAIpX,OAC1C,IAGF,OACEs3D,YAAAjyC,IAAAnT,SAAA,KACEolD,YAAA,MAAIC,GAAI,CAAE36B,UAAW,SACrB06B,YAAA,OACEC,GAAI,CACFjsC,QAAS,OACT2Q,cAAe,MACfI,WAAW,OACXq7B,SAAU,OACVv7B,eAAgB,eAGjB0nB,GAAQyT,YAAC96B,EAAM,CAAC66B,OAAQrhE,EAAMiC,MAAOA,EAAO7L,KAAMy3D,IAClD7tD,GAAQshE,YAAC96B,EAAM,CAACxmC,MAAI,EAACqhE,OAAQxT,EAAM5rD,MAAOA,EAAO7L,KAAM4J,Q,uBCtDhE,MAAM1T,EAAM,EAAQ,OAAR,GACZA,EAAIC,SAAS,MAAS,OACtBC,EAAOC,QAAUH,G,mBCqBjB,IAAI4O,EAAUJ,MAAMI,QAEpB1O,EAAOC,QAAUyO,G,qBCzBjB,MAAM5O,EAAM,EAAQ,OAAR,CAAsB,GAAM,IAAM,IAAM,IAAM,IAAM,IAAO,IAAO,IAAO,IAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QACv4BA,EAAIC,SAAS,GAAM,IAAMA,SAAS,GAAM,IAAMA,SAAS,GAAM,KAAMA,SAAS,IAAM,KAAMA,SAAS,IAAM,KAAMA,SAAS,IAAM,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MACvoCD,EAAIC,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAClpCD,EAAIC,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAClpCD,EAAIC,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,KAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAC3tCD,EAAIC,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MACvvCD,EAAIC,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OACvvCD,EAAIC,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OACvvCD,EAAIC,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OACt1CD,EAAIC,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAC51CD,EAAIC,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAC51CD,EAAIC,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAC51CD,EAAIC,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAC51CD,EAAIC,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QACj5BC,EAAOC,QAAUH,G,kCCZjBsN,OAAOkF,eAAerS,EAAS,aAAc,CAC3CsL,OAAO,IAETtL,EAAQ2tD,qBAAuB3tD,EAAQk1E,qBAAuBl1E,EAAQ4tD,kBAAe/rD,EACrF,IAEgCmQ,EAF5BlP,EAAS,EAAQ,QACjBqyE,GAC4BnjE,EADKlP,IAErBkP,EAAIjQ,WAAaiQ,EAAM,CACnCxP,QAASwP,GAGb,IAAImnD,OAAM,EACNic,OAAM,EACc,oBAAb9nC,WACT6rB,EAAM7rB,UAEc,oBAAXznC,SACTuvE,EAAMvvE,QAER,IAAI+nD,EAAe5tD,EAAQ4tD,aAAeunB,EAAQ3yE,QAAQu+B,cAAc,CACtEuM,SAAU6rB,EACVtzD,OAAQuvE,IAENF,EAAuBtnB,EAAa79B,SACtC49B,EAAuBC,EAAa2c,SACtCvqE,EAAQk1E,qBAAuBA,EAC/Bl1E,EAAQ2tD,qBAAuBA,G,qBC5B/B,IAAI1tD,EAAe,EAAQ,QAyB3BF,EAAOC,QAbP,SAAsBE,EAAKoL,GACzB,IAAI0D,EAAO7O,KAAKC,SACZmR,EAAQtR,EAAa+O,EAAM9O,GAQ/B,OANIqR,EAAQ,KACRpR,KAAKgP,KACPH,EAAK1M,KAAK,CAACpC,EAAKoL,KAEhB0D,EAAKuC,GAAO,GAAKjG,EAEZnL,O,qBCZT,IASI0+D,EANc1xD,OAAOhH,UAMQyI,SAyDjC7O,EAAOC,QAHP,SAAkBsL,GAChB,MAAuB,iBAATA,GA9BhB,SAAsBA,GACpB,QAASA,GAAyB,iBAATA,EA6BUD,CAAaC,IAhElC,mBAgE4CuzD,EAAe35D,KAAKoG,K,qBC1EhF,MAAMzL,EAAM,EAAQ,OAAR,CAAsB,OAClCA,EAAIC,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAC9CC,EAAOC,QAAUH,G,qBCFjB,IAAIw1E,EAAW,EAAQ,QAyCvBt1E,EAAOC,QAZP,SAAkBsL,GAChB,OAAKA,GAGLA,EAAQ+pE,EAAS/pE,MA9BJ,KA+BaA,KA/Bb,IACG,uBA+BFA,EAAQ,GAAK,EAAI,GAGxBA,GAAUA,EAAQA,EAAQ,EAPd,IAAVA,EAAcA,EAAQ,I,qBC/BjC,IAAIgqE,EAAc,EAAQ,QACtBC,EAAe,EAAQ,QACvB93B,EAA0B,EAAQ,QAmBtC19C,EAAOC,QAVP,SAAqBuB,GACnB,IAAIi0E,EAAYD,EAAah0E,GAC7B,OAAwB,GAApBi0E,EAAUvnE,QAAeunE,EAAU,GAAG,GACjC/3B,EAAwB+3B,EAAU,GAAG,GAAIA,EAAU,GAAG,IAExD,SAASl0E,GACd,OAAOA,IAAWC,GAAU+zE,EAAYh0E,EAAQC,EAAQi0E,M,kCCf5DroE,OAAOkF,eAAerS,EAAS,aAAc,CAC3CsL,OAAO,IAETtL,EAAQy1E,OAASA,EACjBz1E,EAAiB,QA6IjB,SAAkBwK,GAChB,OAAOirE,EAAOjrE,IA7IhB,IAuBgCwH,EAvB5B0jE,GAuB4B1jE,EAvBK,EAAQ,UAwB7BA,EAAIjQ,WAAaiQ,EAAM,CACnC,QAAWA,GAxBX2jE,EACJ,SAAiC3jE,GAC/B,GAAIA,GAAOA,EAAIjQ,WACb,OAAOiQ,EAEP,IAAIG,EAAS,GACb,GAAW,MAAPH,EACF,IAAK,IAAI9R,KAAO8R,EACd,GAAI7E,OAAOhH,UAAUwB,eAAezC,KAAK8M,EAAK9R,GAAM,CAClD,IAAIoS,EAAOnF,OAAOkF,gBAAkBlF,OAAO0C,yBAA2B1C,OAAO0C,yBAAyBmC,EAAK9R,GAAO,GAC9GoS,EAAKJ,KAAOI,EAAKzS,IACnBsN,OAAOkF,eAAeF,EAAQjS,EAAKoS,GAEnCH,EAAOjS,GAAO8R,EAAI9R,GAM1B,OADAiS,EAAgB,QAAIH,EACbG,EAnBWopC,CAAwB,EAAQ,SA2BtD,SAASq6B,IACP,GAAuB,oBAAZC,UAA4BA,QAAQC,UAAW,OAAO,EACjE,GAAID,QAAQC,UAAUnqE,KAAM,OAAO,EACnC,GAAqB,mBAAVoqE,MAAsB,OAAO,EACxC,IAEE,OADAvsD,KAAKrjB,UAAUyI,SAAS1J,KAAK2wE,QAAQC,UAAUtsD,KAAM,IAAI,iBAClD,EACP,MAAOzgB,GACP,OAAO,GAGX,SAASitE,EAAWC,EAAQ7nE,EAAM8nE,GAahC,OAXEF,EADEJ,IACWC,QAAQC,UAER,SAAoBG,EAAQ7nE,EAAM8nE,GAC7C,IAAIv4D,EAAI,CAAC,MACTA,EAAErb,KAAKiL,MAAMoQ,EAAGvP,GAChB,IACIjH,EAAW,IADG4Z,SAAS9a,KAAKsH,MAAM0oE,EAAQt4D,IAG9C,OADIu4D,GAAOlS,EAAgB78D,EAAU+uE,EAAM/vE,WACpCgB,IAGOoG,MAAM,KAAMD,WAEhC,SAAS02D,EAAgBzhC,EAAGvc,GAK1B,OAJAg+C,EAAkB72D,OAAOoD,gBAAkB,SAAyBgyB,EAAGvc,GAErE,OADAuc,EAAE1xB,UAAYmV,EACPuc,IAEcA,EAAGvc,GAE5B,SAASmwD,EAAmB/xD,GAC1B,OAQF,SAA4BA,GAC1B,GAAI/V,MAAMI,QAAQ2V,GAAM,CACtB,IAAK,IAAI1N,EAAI,EAAG0/D,EAAO,IAAI/nE,MAAM+V,EAAInW,QAASyI,EAAI0N,EAAInW,OAAQyI,IAC5D0/D,EAAK1/D,GAAK0N,EAAI1N,GAEhB,OAAO0/D,GAbFC,CAAmBjyD,IAK5B,SAA0BkyD,GACxB,GAAI5qE,OAAOE,YAAYuB,OAAOmpE,IAAkD,uBAAzCnpE,OAAOhH,UAAUyI,SAAS1J,KAAKoxE,GAAgC,OAAOjoE,MAAM6G,KAAKohE,GANtFC,CAAiBnyD,IAErD,WACE,MAAM,IAAI9K,UAAU,mDAHuCk9D,GAgB7D,SAASf,IACP,IAAIjrE,EAAU8C,UAAUW,OAAS,QAAsBpM,IAAjByL,UAAU,GAAmBA,UAAU,GAAK,GAC9EmpE,EAAU,CACZ5kD,KAAM,KACNF,SAAU,KACV+kD,cAAe,KACfC,IAAK,KACLC,eAAgB,EAChBC,UAAW,IAET5hC,GAAW,EAAI0gC,EAAyB,SAAGc,EAASjsE,EAAS,CAC/DmL,KAAM,SAAcmhE,EAAOvgD,GACzB,GAAiB,WAAbA,EAAuB,CACzB,IAEE,IAAIwgD,EAAYN,EAAQC,gBACpB7mD,EAAa1iB,OAAO4M,KAAKvP,EAAQqlB,YAAYpS,KAAI,SAAUvd,GAC7D,OAAOsK,EAAQqlB,WAAW3vB,MAkB5B,OAJAu2E,EAAQ9kD,SAASolD,GAEjBf,EAAWj1D,SAAU,CAAC,KAAKpK,OAAOw/D,EAAmBhpE,OAAO4M,KAAKvP,EAAQqlB,aAAc,CAAC,UAAUlZ,OAAOmgE,MAAUvpE,WAAM,EAAQ,CAd/G,SAAqBogC,GAOrC,IANA,IAAIlpC,EAAQ6I,UAAUW,OAAS,QAAsBpM,IAAjByL,UAAU,GAAmBA,UAAU,GAAK,GAC5E0pE,EAAiBnnD,EAAW5V,QAAQ0zB,IAAQ,EAAIxgC,OAAO0Y,OAAOphB,GAAS,GAAI,CAE7EvE,IAAKu2E,EAAQC,gBACbpmD,QAASmmD,EAAQnmD,UACd7rB,EACIg3C,EAAOnuC,UAAUW,OAAQuhB,EAAW,IAAInhB,MAAMotC,EAAO,EAAIA,EAAO,EAAI,GAAIC,EAAO,EAAGA,EAAOD,EAAMC,IACtGlsB,EAASksB,EAAO,GAAKpuC,UAAUouC,GAEjC,OAAOlxC,EAAQ9F,cAAcipC,EAAKqpC,EAAgBxnD,KAI2F7Y,OAAOw/D,EAAmBtmD,MAAiB,KAC1L4mD,EAAQ5kD,KAAKvvB,KAAKm0E,EAAQ9kD,SAASolD,IAC5B,KAAKpgE,OAAOogE,EAAW,MAC9B,MAAOhuE,IAET,OAAO,KAET,OAAO,EAAI4sE,EAAgBsB,cAAcR,EAASjsE,EAA3C,CAAoDssE,EAAOvgD,MAGtE,OAAO,SAAiBzjB,GACtB,IAAIokE,EAAgB5pE,UAAUW,OAAS,QAAsBpM,IAAjByL,UAAU,GAAmBA,UAAU,GAAK,GACpFgjB,EAAUhjB,UAAUW,OAAS,QAAsBpM,IAAjByL,UAAU,GAAmBA,UAAU,GAAK,GAWlF,OAVAmpE,EAAQ5kD,KAAO,GACf4kD,EAAQ9kD,SAAW,GACnB8kD,EAAQE,IAAM,GACdF,EAAQC,cAAgB,EACxBD,EAAQnmD,QAAUA,EAClBmmD,EAAQI,UAAY,IACpB,EAAInB,EAAiB,SAAG5iE,EAAS3F,OAAO0Y,OAAO,CAC7CovB,SAAUA,EACVuB,aAAa,GACZ0gC,IACI,CACLrlD,KAAM4kD,EAAQ5kD,KACd8kD,IAAKF,EAAQE,Q,qBC/InB,MAAM92E,EAAM,EAAQ,OAAR,GACZA,EAAIC,SAAS,EAAK,IAAMA,SAAS,IAAM,KACvCC,EAAOC,QAAUH,G,qBCFjB,MAAMA,EAAM,EAAQ,OAAR,GACZA,EAAIC,SAAS,MAAS,OACtBC,EAAOC,QAAUH,G,qBCFjB,IAAIwlB,EAAW,EAAQ,QACnBva,EAAQ,EAAQ,QAsBpB/K,EAAOC,QAZP,SAAiBsB,EAAQY,GAMvB,IAHA,IAAIqP,EAAQ,EACRtD,GAHJ/L,EAAOmjB,EAASnjB,EAAMZ,IAGJ2M,OAED,MAAV3M,GAAkBiQ,EAAQtD,GAC/B3M,EAASA,EAAOwJ,EAAM5I,EAAKqP,OAE7B,OAAQA,GAASA,GAAStD,EAAU3M,OAASO,I,qBCpB/C,MAAMhC,EAAM,EAAQ,OAAR,GACZA,EAAIC,SAAS,MAAS,OACtBC,EAAOC,QAAUH,G,qBCFjB,MAAMA,EAAM,EAAQ,OAAR,GACZA,EAAIC,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAChGC,EAAOC,QAAUH,G,qBCFjB,MAAMA,EAAM,EAAQ,OAAR,CAAsB,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAO,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAC3cA,EAAIC,SAAS,GAAM,IAAMA,SAAS,IAAO,KAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAChvCD,EAAIC,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QACt3BC,EAAOC,QAAUH,G,qBCHjB,MAAMA,EAAM,EAAQ,OAAR,CAAsB,OAClCA,EAAIC,SAAS,MAAQ,OACrBC,EAAOC,QAAUH,G,qBCFjB,IAAIs3E,EAAc,EAAQ,QACtBC,EAAmB,EAAQ,QAC3BC,EAAe,EAAQ,QACvB7pE,EAAa,EAAQ,QACrBo2D,EAAgB,EAAQ,QACxBC,EAAY,EAAQ,QACpByT,EAAU,EAAQ,QAClBxT,EAAiB,EAAQ,QACzBr2D,EAAO,EAAQ,QAmFnB1N,EAAOC,QAtDP,SAASu+B,EAAaz0B,EAAMgD,EAASY,EAASC,EAAU8rB,EAASqF,EAAeC,EAAcrF,EAAQC,EAAKna,GACzG,IAAI+3D,EAvBc,IAuBNzqE,EACRc,EA5Be,EA4BNd,EACT+xB,EA5BmB,EA4BP/xB,EACZ4sD,EAAsB,GAAV5sD,EACZ0qE,EA1Be,IA0BN1qE,EACTe,EAAOgxB,OAAYh9B,EAAY2L,EAAW1D,GA6C9C,OA3CA,SAASgE,IAKP,IAJA,IAAIG,EAASX,UAAUW,OACnBG,EAAOC,MAAMJ,GACbsD,EAAQtD,EAELsD,KACLnD,EAAKmD,GAASjE,UAAUiE,GAE1B,GAAImoD,EACF,IAAIvuD,EAAc04D,EAAU/1D,GACxB2pE,EAAeJ,EAAajpE,EAAMjD,GASxC,GAPIwC,IACFS,EAAO+oE,EAAY/oE,EAAMT,EAAU8rB,EAASigC,IAE1C56B,IACF1wB,EAAOgpE,EAAiBhpE,EAAM0wB,EAAeC,EAAc26B,IAE7DzrD,GAAUwpE,EACN/d,GAAazrD,EAASuR,EAAO,CAC/B,IAAIk4D,EAAa5T,EAAe11D,EAAMjD,GACtC,OAAOy4D,EACL95D,EAAMgD,EAASyxB,EAAczwB,EAAQ3C,YAAauC,EAClDU,EAAMspE,EAAYh+C,EAAQC,EAAKna,EAAQvR,GAG3C,IAAIqtC,EAAc1tC,EAASF,EAAUvN,KACjCmO,EAAKuwB,EAAYyc,EAAYxxC,GAAQA,EAczC,OAZAmE,EAASG,EAAKH,OACVyrB,EACFtrB,EAAOkpE,EAAQlpE,EAAMsrB,GACZ89C,GAAUvpE,EAAS,GAC5BG,EAAKqkB,UAEH8kD,GAAS59C,EAAM1rB,IACjBG,EAAKH,OAAS0rB,GAEZx5B,MAAQA,OAASsN,GAAQtN,gBAAgB2N,IAC3CQ,EAAKT,GAAQL,EAAWc,IAEnBA,EAAGf,MAAM+tC,EAAaltC,M,qBCtFjC,MAAMvO,EAAM,EAAQ,OAAR,CAAsB,KAAO,KAAQ,MACjDA,EAAIC,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAC/TC,EAAOC,QAAUH,G,qBCFjB,IAAIgS,EAAU,EAAQ,QAGlB6iD,EAAU7iD,GAAW,IAAIA,EAE7B9R,EAAOC,QAAU00D,G,qBCLjB,MAAM70D,EAAM,EAAQ,OAAR,CAAsB,KAAQ,KAAQ,MAAS,MAAS,OACpEA,EAAIC,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OACrgBC,EAAOC,QAAUH,G,mBCFjBE,EAAOC,QAAU,IAAI8O,IAAI,CAAC,CAAC,mBAAoB,CAAC,eAAgB,oBAAqB,wBAAyB,UAAW,kBAAmB,mBAAoB,iBAAkB,iBAAkB,oBAAqB,SAAU,sBAAuB,SAAU,gBAAiB,iBAAkB,mBAAoB,OAAQ,cAAe,kBAAmB,kBAAmB,kBAAmB,SAAU,mBAAoB,QAAS,eAAgB,eAAgB,oBAAqB,eAAgB,sBAAuB,cAAe,cAAe,YAAa,kBAAmB,eAAgB,YAAa,SAAU,mBAAoB,aAAc,qBAAsB,CAAC,SAAU,CAAC,QAAS,OAAQ,wBAAyB,SAAU,WAAY,UAAW,WAAY,QAAS,YAAa,QAAS,UAAW,YAAa,WAAY,SAAU,UAAW,WAAY,QAAS,sBAAuB,SAAU,qBAAsB,SAAU,OAAQ,WAAY,aAAc,SAAU,SAAU,YAAa,UAAW,eAAgB,WAAY,UAAW,aAAc,cAAe,QAAS,WAAY,uBAAwB,UAAW,UAAW,WAAY,WAAY,aAAc,SAAU,UAAW,QAAS,WAAY,gBAAiB,WAAY,MAAO,SAAU,kBAAmB,UAAW,SAAU,SAAU,WAAY,mBAAoB,YAAa,wBAAyB,yBAA0B,WAAY,SAAU,UAAW,WAAY,WAAY,aAAc,sBAAuB,QAAS,SAAU,YAAa,MAAO,QAAS,SAAU,QAAS,WAAY,WAAY,OAAQ,SAAU,SAAU,WAAY,UAAW,YAAa,UAAW,aAAc,UAAW,gBAAiB,cAAe,eAAgB,gBAAiB,mBAAoB,uBAAwB,OAAQ,OAAQ,YAAa,MAAO,UAAW,UAAW,YAAa,cAAe,cAAe,OAAQ,MAAO,QAAS,yBAA0B,QAAS,WAAY,gBAAiB,aAAc,oBAAqB,aAAc,cAAe,cAAe,oBAAqB,aAAc,aAAc,QAAS,QAAS,UAAW,eAAgB,YAAa,cAAe,WAAY,aAAc,kBAAmB,SAAU,QAAS,YAAa,aAAc,UAAW,UAAW,UAAW,cAAe,UAAW,UAAW,eAAgB,UAAW,YAAa,eAAgB,SAAU,UAAW,WAAY,SAAU,WAAY,WAAY,QAAS,QAAS,SAAU,SAAU,SAAU,SAAU,OAAQ,UAAW,WAAY,UAAW,OAAQ,WAAY,MAAO,WAAY,SAAU,cAAe,SAAU,KAAM,qBAAsB,CAAC,oBAAqB,CAAC,QAAS,OAAQ,wBAAyB,SAAU,WAAY,UAAW,WAAY,QAAS,YAAa,QAAS,UAAW,YAAa,WAAY,SAAU,UAAW,WAAY,QAAS,sBAAuB,SAAU,qBAAsB,SAAU,OAAQ,WAAY,aAAc,SAAU,SAAU,YAAa,UAAW,eAAgB,WAAY,UAAW,aAAc,cAAe,QAAS,WAAY,uBAAwB,UAAW,UAAW,WAAY,WAAY,aAAc,SAAU,UAAW,QAAS,WAAY,gBAAiB,WAAY,MAAO,SAAU,kBAAmB,UAAW,SAAU,SAAU,WAAY,mBAAoB,YAAa,wBAAyB,yBAA0B,WAAY,SAAU,UAAW,WAAY,WAAY,aAAc,sBAAuB,QAAS,SAAU,YAAa,MAAO,QAAS,SAAU,QAAS,WAAY,WAAY,OAAQ,SAAU,SAAU,WAAY,UAAW,YAAa,UAAW,aAAc,UAAW,gBAAiB,cAAe,eAAgB,gBAAiB,mBAAoB,uBAAwB,OAAQ,OAAQ,YAAa,MAAO,UAAW,UAAW,YAAa,cAAe,cAAe,OAAQ,MAAO,QAAS,yBAA0B,QAAS,WAAY,gBAAiB,aAAc,oBAAqB,aAAc,cAAe,cAAe,oBAAqB,aAAc,aAAc,QAAS,QAAS,UAAW,eAAgB,YAAa,cAAe,WAAY,aAAc,kBAAmB,SAAU,QAAS,YAAa,aAAc,UAAW,UAAW,UAAW,cAAe,UAAW,UAAW,eAAgB,UAAW,YAAa,eAAgB,SAAU,UAAW,WAAY,SAAU,WAAY,WAAY,QAAS,QAAS,SAAU,SAAU,SAAU,SAAU,OAAQ,UAAW,WAAY,UAAW,OAAQ,WAAY,MAAO,WAAY,SAAU,cAAe,SAAU,KAAM,qBAAsB,CAAC,kBAAmB,CAAC,QAAS,kBAAmB,aAAc,MAAO,WAAY,eAAgB,gBAAiB,iBAAkB,QAAS,0BAA2B,0BAA2B,0BAA2B,+BAAgC,0BAA2B,0BAA2B,OAAQ,+BAAgC,aAAc,YAAa,QAAS,kBAAmB,iBAAkB,sBAAuB,qBAAsB,wBAAyB,WAAY,gBAAiB,kBAAmB,YAAa,sBAAuB,uBAAwB,cAAe,WAAY,cAAe,eAAgB,0BAA2B,YAAa,OAAQ,0BAA2B,iBAAkB,sBAAuB,iBAAkB,UAAW,qBAAsB,oBAAqB,cAAe,uBAAwB,oBAAqB,YAAa,qBAAsB,cAAe,eAAgB,iB,qBCA1lL,MAAMjP,EAAM,EAAQ,OAAR,CAAsB,MAClCA,EAAIC,SAAS,KAAO,MAAOA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,MAAQ,OAC9FC,EAAOC,QAAUH,G,qBCFjB,IAAI2zB,EAAS,EAAQ,QAErBzzB,EAAOC,QAAUwzB,G,qBCFjB,MAAM3zB,EAAM,EAAQ,OAAR,CAAsB,OAClCA,EAAIC,SAAS,MAAQ,OACrBC,EAAOC,QAAUH,G,kCCAjB,IAAI4O,EAAUJ,MAAMI,QAChBkpE,EAAUxqE,OAAO4M,KACjB69D,EAAUzqE,OAAOhH,UAAUwB,eAC/B5H,EAAOC,QAAU,SAAS63E,EAAMl6D,EAAGC,GACjC,GAAID,IAAMC,EAAG,OAAO,EACpB,GAAID,GAAKC,GAAiB,iBAALD,GAA6B,iBAALC,EAAe,CAC1D,IAEElH,EACAzI,EACA/N,EAJE43E,EAAOrpE,EAAQkP,GACjBo6D,EAAOtpE,EAAQmP,GAIjB,GAAIk6D,GAAQC,EAAM,CAEhB,IADA9pE,EAAS0P,EAAE1P,SACG2P,EAAE3P,OAAQ,OAAO,EAC/B,IAAKyI,EAAIzI,EAAgB,GAARyI,KAAY,IAAKmhE,EAAMl6D,EAAEjH,GAAIkH,EAAElH,IAAK,OAAO,EAC5D,OAAO,EAET,GAAIohE,GAAQC,EAAM,OAAO,EACzB,IAAIC,EAAQr6D,aAAa6L,KACvByuD,EAAQr6D,aAAa4L,KACvB,GAAIwuD,GAASC,EAAO,OAAO,EAC3B,GAAID,GAASC,EAAO,OAAOt6D,EAAEu6D,WAAat6D,EAAEs6D,UAC5C,IAAIC,EAAUx6D,aAAahB,OACzBy7D,EAAUx6D,aAAajB,OACzB,GAAIw7D,GAAWC,EAAS,OAAO,EAC/B,GAAID,GAAWC,EAAS,OAAOz6D,EAAE/O,YAAcgP,EAAEhP,WACjD,IAAImL,EAAO49D,EAAQh6D,GAEnB,IADA1P,EAAS8L,EAAK9L,UACC0pE,EAAQ/5D,GAAG3P,OAAQ,OAAO,EACzC,IAAKyI,EAAIzI,EAAgB,GAARyI,KAAY,IAAKkhE,EAAQ1yE,KAAK0Y,EAAG7D,EAAKrD,IAAK,OAAO,EACnE,IAAKA,EAAIzI,EAAgB,GAARyI,KAEf,IAAKmhE,EAAMl6D,EADXzd,EAAM6Z,EAAKrD,IACQkH,EAAE1d,IAAO,OAAO,EAErC,OAAO,EAET,OAAOyd,GAAMA,GAAKC,GAAMA,I,mBCtC1B,SAASy6D,EAAU3lE,GACjB,OAAQ2V,MAAMynB,WAAWp9B,KAAO2yC,SAAS3yC,GAE3C3S,EAAOC,QAAU,SAAUs4E,EAAWC,EAAKC,GAgBzC,QAfmB,IAARD,IACTA,EAAM,QAEsB,IAAnBC,IACTA,GAAiB,GAIP,SAARD,EACFA,EAAM,IACW,UAARA,EACTA,EAAM,IACW,SAARA,IACTA,EAAM,KAEHF,EAAUE,GACb,MAAM,IAAI1jE,MAAM,uBAElB,IAAKwjE,EAAUC,GACb,MAAM,IAAIzjE,MAAM,6BAEdyjE,EAAY,MACdA,EAAY,KAEVA,EAAY,IACdA,EAAY,GAEd,IAAIG,EAAa,EACjB,GAAY,IAARF,EAAW,CAIbE,EAHQ,UACC,SAEYH,EADb,WAC6BniE,KAAK0R,IAAIywD,EAAW,GAE3D,IAAII,EAAU,EAQd,OAPIF,GACFE,EAAUJ,EAAY,IACtBA,EAAY,UAEZI,GAAW,IAAMJ,GAAa,IAC9BA,EAAY,OAEP,QAAUC,EAAM,IAAME,EAAa,KAAOH,EAAYI,EAAU,M,qBC9CzE,IAAIz4E,EAAe,EAAQ,QAMvBk6B,EAHa9rB,MAAMlI,UAGCg0B,OA4BxBp6B,EAAOC,QAjBP,SAAyBE,GACvB,IAAI8O,EAAO7O,KAAKC,SACZmR,EAAQtR,EAAa+O,EAAM9O,GAE/B,QAAIqR,EAAQ,KAIRA,GADYvC,EAAKf,OAAS,EAE5Be,EAAKwH,MAEL2jB,EAAOj1B,KAAK8J,EAAMuC,EAAO,KAEzBpR,KAAKgP,MACA,K,qBC/BT,IAYItP,EAAKqS,EAAKT,EAZVknE,EAAkB,EAAQ,QAC1BrpE,EAAS,EAAQ,QACjBpO,EAAW,EAAQ,QACnBg6B,EAA8B,EAAQ,QACtC5W,EAAS,EAAQ,QACjBqlB,EAAS,EAAQ,QACjBnlB,EAAY,EAAQ,QACpBypC,EAAa,EAAQ,QAGrB30C,EAAYhK,EAAOgK,UACnBzH,EAAUvC,EAAOuC,QAgBrB,GAAI8mE,GAAmBhvC,EAAO5jC,MAAO,CACnC,IAAIklE,EAAQthC,EAAO5jC,QAAU4jC,EAAO5jC,MAAQ,IAAI8L,GAEhDo5D,EAAM/4D,IAAM+4D,EAAM/4D,IAClB+4D,EAAMx5D,IAAMw5D,EAAMx5D,IAClBw5D,EAAMprE,IAAMorE,EAAMprE,IAElBA,EAAM,SAAUgB,EAAI+3E,GAClB,GAAI3N,EAAMx5D,IAAI5Q,GAAK,MAAMyY,EA1BI,8BA6B7B,OAFAs/D,EAASC,OAASh4E,EAClBoqE,EAAMprE,IAAIgB,EAAI+3E,GACPA,GAET1mE,EAAM,SAAUrR,GACd,OAAOoqE,EAAM/4D,IAAIrR,IAAO,IAE1B4Q,EAAM,SAAU5Q,GACd,OAAOoqE,EAAMx5D,IAAI5Q,QAEd,CACL,IAAIi4E,EAAQt0D,EAAU,SACtBypC,EAAW6qB,IAAS,EACpBj5E,EAAM,SAAUgB,EAAI+3E,GAClB,GAAIt0D,EAAOzjB,EAAIi4E,GAAQ,MAAMx/D,EAzCA,8BA4C7B,OAFAs/D,EAASC,OAASh4E,EAClBq6B,EAA4Br6B,EAAIi4E,EAAOF,GAChCA,GAET1mE,EAAM,SAAUrR,GACd,OAAOyjB,EAAOzjB,EAAIi4E,GAASj4E,EAAGi4E,GAAS,IAEzCrnE,EAAM,SAAU5Q,GACd,OAAOyjB,EAAOzjB,EAAIi4E,IAItB/4E,EAAOC,QAAU,CACfH,IAAKA,EACLqS,IAAKA,EACLT,IAAKA,EACLgqB,QArDY,SAAU56B,GACtB,OAAO4Q,EAAI5Q,GAAMqR,EAAIrR,GAAMhB,EAAIgB,EAAI,KAqDnCk4E,UAlDc,SAAUC,GACxB,OAAO,SAAUn4E,GACf,IAAIkF,EACJ,IAAK7E,EAASL,KAAQkF,EAAQmM,EAAIrR,IAAKue,OAAS45D,EAC9C,MAAM1/D,EAAU,0BAA4B0/D,EAAO,aACnD,OAAOjzE,M,kCCtBb,IAAIkzE,EAAmB94E,MAAQA,KAAK84E,iBAAoB,SAAUzwD,GAC9D,OAAQA,GAAOA,EAAIzmB,WAAcymB,EAAM,CAAE,QAAWA,IAExDrb,OAAOkF,eAAerS,EAAS,aAAc,CAAEsL,OAAO,IACtDtL,EAAQk5E,qBAAkB,EAC1B,IAAIC,EAAUF,EAAgBhpC,EAAQ,SAClCmpC,EAAuBnpC,EAAQ,QAKnCjwC,EAAQk5E,gBAJc,SAAUpyD,GAC5B,IAAIqoB,EAAUroB,EAAGqoB,QACjB,OAAQgqC,EAAQ32E,QAAQkC,cAAc00E,EAAqBC,eAAgB,KAAMlqC,K,mBCerFpvC,EAAOC,QAbP,SAAqBy6B,EAAOyzB,EAAUorB,EAAaC,GACjD,IAAIhoE,GAAS,EACTtD,EAAkB,MAATwsB,EAAgB,EAAIA,EAAMxsB,OAKvC,IAHIsrE,GAAatrE,IACfqrE,EAAc7+C,IAAQlpB,MAEfA,EAAQtD,GACfqrE,EAAcprB,EAASorB,EAAa7+C,EAAMlpB,GAAQA,EAAOkpB,GAE3D,OAAO6+C,I,qBCtBT,MAAMz5E,EAAM,EAAQ,OAAR,CAAsB,IAAM,IAAM,IAAM,IAAM,IAAM,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QACnmJA,EAAIC,SAAS,GAAM,IAAMA,SAAS,IAAM,KAAMA,SAAS,IAAM,KAAMA,SAAS,IAAM,KAAMA,SAAS,IAAM,KAAMA,SAAS,IAAM,KAAMA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MACtoCD,EAAIC,SAAS,KAAO,MAAOA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,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A,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAClyCD,EAAIC,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAC51CD,EAAIC,SAAS,OAAS,QAASA,SAAS,OAAS,QAAS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AAU,QACV,IAAU,QACV,IAAU,QACV,KAAgB,SAChB,IAAU,OACV,IAAU,OACV,IAAU,OACV,IAAU,OACV,IAAU,SACV,IAAU,SACV,IAAU,aACV,IAAU,WACV,IAAU,MACV,IAAU,aACV,IAAU,SACV,IAAU,SACV,IAAU,SACV,IAAU,SACV,IAAU,QACV,IAAU,MACV,IAAU,MACV,IAAU,OACV,IAAU,OACV,IAAU,QACV,IAAU,SACV,IAAU,SACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,OACV,IAAU,QACV,IAAU,OACV,IAAU,OACV,IAAU,QACV,IAAU,OACV,IAAU,MACV,IAAU,QACV,IAAU,OACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,UACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,SACV,IAAU,OACV,IAAU,OACV,KAAgB,QAChB,IAAU,QACV,IAAU,SACV,IAAU,QACV,IAAU,MACV,IAAU,KACV,IAAU,QACV,IAAU,KACV,IAAU,QACV,IAAU,QACV,IAAU,OACV,IAAU,SACV,IAAU,MACV,IAAK,OACL,IAAQ,KACR,IAAQ,MACR,IAAQ,QACR,IAAK,KACL,IAAU,MACV,KAAW,OACX,IAAK,SACL,IAAU,KACV,KAAW,MACX,IAAU,QACV,IAAK,KACL,IAAU,MACV,KAAW,OACX,IAAQ,MACR,IAAK,OACL,IAAQ,SACR,IAAU,QACV,IAAU,KACV,IAAU,SACV,IAAU,QACV,IAAU,QACV,IAAU,SACV,IAAU,SACV,IAAU,OACV,IAAU,OACV,IAAU,QACV,IAAU,QACV,IAAU,MACV,KAAgB,OAChB,IAAU,SACV,IAAU,SACV,IAAU,MACV,IAAU,OACV,IAAU,MACV,IAAU,OACV,IAAU,MACV,IAAU,KACV,IAAU,MACV,KAAgB,OAChB,IAAU,MACV,KAAgB,OAChB,IAAU,MACV,IAAU,MACV,IAAU,OACV,IAAU,OACV,IAAU,OACV,IAAU,SACV,IAAU,UACV,IAAU,QACV,IAAU,WACV,IAAU,WACV,IAAU,SACV,IAAU,SACV,IAAU,QACV,IAAU,QACV,IAAU,SACV,IAAU,QACV,IAAU,SACV,IAAU,MACV,IAAU,OACV,KAAgB,QAChB,IAAU,OACV,KAAgB,OAChB,IAAU,KACV,KAAgB,MAChB,IAAU,MACV,IAAU,KACV,IAAU,OACV,KAAgB,QAChB,IAAU,OACV,IAAU,QACV,IAAU,OACV,IAAU,QACV,IAAU,QACV,IAAU,KACV,IAAU,MACV,IAAU,MACV,IAAU,OACV,KAAgB,QAChB,IAAU,QACV,IAAU,SACV,IAAU,YACV,KAAgB,OAChB,IAAU,OACV,KAAgB,QAChB,IAAU,QACV,KAAgB,SAChB,IAAU,QACV,KAAgB,QAChB,IAAU,OACV,IAAU,QACV,IAAU,QACV,IAAU,SACV,IAAU,SACV,IAAU,OACV,IAAU,OACV,IAAU,SACV,IAAU,QACV,IAAU,OACV,IAAU,SACV,IAAU,QACV,IAAU,SACV,KAAgB,UAChB,IAAU,KACV,IAAU,MACV,KAAgB,OAChB,IAAU,KACV,IAAU,MACV,KAAgB,OAChB,IAAU,KACV,KAAgB,MAChB,IAAU,KACV,KAAgB,MAChB,KAAgB,OAChB,IAAU,MACV,IAAU,MACV,KAAgB,OAChB,IAAU,KACV,KAAgB,OAChB,KAAgB,MAChB,IAAU,KACV,KAAgB,OAChB,KAAgB,MAChB,IAAU,QACV,IAAU,OACV,IAAU,QACV,IAAU,OACV,IAAU,QACV,IAAU,KACV,IAAU,OACV,IAAU,KACV,IAAU,OACV,IAAU,KACV,IAAU,MACV,IAAU,KACV,IAAU,MACV,IAAU,QACV,IAAU,SACV,IAAU,QACV,IAAU,SACV,IAAU,QACV,IAAU,QACV,KAAgB,mBAChB,IAAU,MACV,IAAU,OACV,KAAgB,QAChB,IAAU,MACV,IAAU,OACV,KAAgB,QAChB,IAAU,OACV,IAAU,QACV,IAAU,OACV,IAAU,QACV,KAAgB,SAChB,IAAU,QACV,KAAgB,SAChB,IAAU,QACV,IAAU,SACV,IAAU,QACV,IAAU,QACV,KAAgB,kBAChB,IAAU,QACV,KAAgB,oBAChB,IAAU,SACV,IAAU,UACV,IAAU,SACV,IAAU,UACV,IAAU,QACV,KAAgB,SAChB,IAAU,QACV,KAAgB,SAChB,IAAU,QACV,IAAU,SACV,IAAU,SACV,IAAU,OACV,IAAU,OACV,IAAU,OACV,IAAU,OACV,IAAU,QACV,IAAU,QACV,IAAU,SACV,IAAU,SACV,IAAU,QACV,IAAU,QACV,IAAU,SACV,IAAU,QACV,IAAU,MACV,IAAU,MACV,IAAU,SACV,IAAU,QACV,IAAU,SACV,IAAU,QACV,IAAU,SACV,IAAU,SACV,IAAU,QACV,IAAU,SACV,IAAU,SACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,SACV,KAAgB,UAChB,IAAU,QACV,IAAU,SACV,KAAgB,UAChB,IAAU,SACV,IAAU,OACV,IAAU,QACV,IAAU,SACV,IAAU,SACV,IAAU,SACV,IAAU,SACV,IAAU,UACV,IAAU,QACV,IAAU,QACV,IAAU,MACV,IAAU,OACV,IAAU,OACV,IAAU,OACV,IAAU,OACV,IAAU,OACV,IAAU,SACV,IAAU,SACV,IAAU,SACV,IAAU,SACV,IAAU,SACV,IAAU,SACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,MACV,IAAU,MACV,IAAU,MACV,IAAU,MACV,IAAU,OACV,IAAU,OACV,IAAU,QACV,IAAU,QACV,IAAU,KACV,KAAgB,MAChB,IAAU,KACV,KAAgB,MAChB,KAAgB,OAChB,IAAU,MACV,IAAU,MACV,KAAgB,OAChB,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,SACV,IAAU,SACV,IAAU,SACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,SACV,IAAU,QACV,IAAU,UACV,KAAgB,WAChB,IAAU,UACV,IAAU,UACV,IAAU,QACV,KAAgB,SAChB,IAAU,OACV,IAAU,OACV,IAAU,MACV,IAAU,UACV,IAAU,UACV,IAAU,SACV,IAAU,SACV,IAAU,SACV,IAAU,SACV,IAAU,SACV,IAAU,SACV,IAAU,OACV,IAAU,WACV,IAAU,WACV,IAAU,SACV,IAAU,SACV,IAAU,SACV,IAAU,SACV,IAAU,SACV,IAAU,SACV,IAAU,QACV,IAAU,QACV,IAAU,SACV,IAAU,WACV,IAAU,SACV,IAAU,QACV,IAAU,SACV,IAAU,UACV,IAAU,SACV,IAAU,SACV,IAAU,OACV,IAAU,OACV,IAAU,WACV,IAAU,kBACV,IAAU,mBACV,IAAU,YACV,IAAU,aACV,IAAU,WACV,IAAU,WACV,IAAU,QACV,IAAU,OACV,IAAU,OACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,OACV,IAAU,OACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,MACV,IAAU,OACV,IAAU,uBACV,IAAU,OACV,IAAU,SACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,OACV,IAAU,QACV,IAAU,OACV,IAAU,QACV,IAAU,QACV,IAAU,OACV,IAAU,QACV,IAAU,OACV,IAAU,MACV,IAAU,MACV,IAAU,SACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,mBACV,IAAU,oBACV,IAAU,QACV,IAAU,OACV,IAAU,QACV,IAAU,SACV,IAAU,OACV,IAAU,SACV,IAAU,QACV,IAAU,SACV,IAAU,QACV,IAAU,OACV,IAAU,QACV,IAAU,QACV,IAAU,OACV,IAAU,OACV,IAAU,oBACV,IAAU,WACV,IAAU,UACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,OACV,IAAU,WACV,IAAU,SACV,IAAU,SACV,IAAU,SACV,IAAU,MACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,WACV,IAAU,aACV,IAAU,eACV,IAAU,SACV,IAAU,SACV,IAAU,SACV,IAAU,SACV,IAAU,SACV,IAAU,SACV,IAAU,SACV,IAAU,UACV,IAAU,UACV,IAAU,SACV,IAAU,SACV,IAAU,SACV,IAAU,SACV,IAAU,SACV,IAAU,OACV,IAAU,OACV,IAAU,SACV,IAAU,QACV,KAAgB,SAChB,IAAU,UACV,IAAU,OACV,IAAU,OACV,IAAU,UACV,IAAU,SACV,IAAU,UACV,IAAU,UACV,IAAU,SACV,IAAU,UACV,IAAU,WACV,IAAU,WACV,IAAU,WACV,IAAU,kBACV,IAAU,oBACV,IAAU,sBACV,IAAU,mBACV,IAAU,gBACV,IAAU,iBACV,IAAU,mBACV,IAAU,qBACV,IAAU,oBACV,IAAU,qBACV,IAAU,kBACV,IAAU,oBACV,IAAU,gBACV,IAAU,iBACV,IAAU,mBACV,IAAU,qBACV,IAAU,oBACV,IAAU,qBACV,IAAU,kBACV,IAAU,oBACV,IAAU,OACV,IAAU,OACV,IAAU,OACV,IAAU,OACV,IAAU,UACV,IAAU,UACV,IAAU,UACV,IAAU,UACV,IAAU,SACV,IAAU,SACV,IAAU,SACV,IAAU,SACV,IAAU,QACV,IAAU,QACV,IAAU,eACV,IAAU,QACV,IAAU,UACV,IAAU,UACV,IAAU,UACV,IAAU,SACV,IAAU,SACV,IAAU,SACV,IAAU,UACV,IAAU,UACV,IAAU,SACV,IAAU,SACV,IAAU,SACV,IAAU,SACV,IAAU,UACV,IAAU,SACV,IAAU,WACV,IAAU,OACV,IAAU,QACV,IAAU,UACV,IAAU,UACV,IAAU,WACV,IAAU,WACV,IAAU,WACV,IAAU,WACV,IAAU,WACV,IAAU,WACV,IAAU,WACV,IAAU,WACV,IAAU,UACV,IAAU,UACV,IAAU,UACV,IAAU,WACV,IAAU,WACV,IAAU,QACV,IAAU,OACV,IAAU,OACV,IAAU,QACV,IAAU,UACV,IAAU,SACV,IAAU,QACV,IAAU,QACV,IAAU,MACV,IAAU,MACV,IAAU,UACV,IAAU,OACV,IAAU,OACV,IAAU,QACV,IAAU,SACV,IAAU,QACV,IAAU,WACV,IAAU,kBACV,KAAgB,qBAChB,IAAU,mBACV,KAAgB,sBAChB,IAAU,SACV,IAAU,WACV,IAAU,UACV,IAAU,SACV,IAAU,WACV,IAAU,WACV,IAAU,OACV,IAAU,cACV,IAAU,OACV,IAAU,QACV,IAAU,SACV,IAAU,SACV,IAAU,SACV,IAAU,SACV,IAAU,WACV,IAAU,WACV,IAAU,QACV,IAAU,WACV,IAAU,WACV,IAAU,UACV,IAAU,WACV,IAAU,UACV,IAAU,WACV,IAAU,UACV,IAAU,WACV,IAAU,UACV,IAAU,SACV,IAAU,UACV,IAAU,UACV,IAAU,SACV,IAAU,UACV,IAAU,SACV,IAAU,SACV,IAAU,QACV,IAAU,SACV,IAAU,WACV,IAAU,SACV,IAAU,UACV,IAAU,UACV,IAAU,WACV,IAAU,SACV,IAAU,OACV,IAAU,UACV,IAAU,WACV,IAAU,UACV,IAAU,QACV,IAAU,QACV,IAAU,SACV,IAAU,OACV,IAAU,OACV,IAAU,SACV,IAAU,QACV,IAAU,SACV,IAAU,SACV,IAAU,WACV,IAAU,WACV,IAAU,SACV,IAAU,SACV,IAAU,QACV,IAAU,QACV,IAAU,UACV,IAAU,MACV,IAAU,KACV,IAAU,SACV,IAAU,OACV,IAAU,UACV,IAAU,WACV,IAAU,OACV,IAAU,MACV,IAAU,OACV,IAAU,MACV,IAAU,SACV,IAAU,QACV,IAAU,SACV,IAAU,UACV,KAAgB,WAChB,IAAU,SACV,IAAU,SACV,IAAU,MACV,KAAgB,OAChB,IAAU,QACV,IAAU,QACV,IAAU,OACV,IAAU,QACV,IAAU,UACV,IAAU,QACV,IAAU,QACV,IAAU,UACV,IAAU,UACV,IAAU,MACV,KAAgB,OAChB,IAAU,MACV,KAAgB,OAChB,IAAU,SACV,IAAU,SACV,IAAU,UACV,IAAU,UACV,IAAU,WACV,IAAU,WACV,IAAU,MACV,IAAU,MACV,IAAU,MACV,IAAU,MACV,IAAU,OACV,IAAU,OACV,IAAU,MACV,IAAU,MACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,QACV,IAAU,MACV,IAAU,MACV,IAAU,SACV,IAAU,SACV,IAAU,MACV,IAAU,MACV,IAAU,SACV,IAAU,SACV,IAAU,KACV,IAAU,KACV,IAAU,OACV,IAAU,OACV,IAAU,QACV,IAAU,QACV,IAAU,WACV,KAAgB,oBAChB,IAAU,iBACV,KAAgB,0BAChB,IAAU,MACV,IAAU,MACV,IAAU,OACV,IAAU,OACV,IAAU,QACV,IAAU,QACV,IAAU,MACV,IAAU,MACV,IAAU,OACV,KAAgB,QAChB,IAAU,OACV,KAAgB,QAChB,IAAU,QACV,IAAU,MACV,KAAgB,OAChB,IAAU,MACV,KAAgB,OAChB,IAAU,MACV,IAAU,MACV,IAAU,OACV,IAAU,OACV,IAAU,OACV,IAAU,OACV,IAAU,QACV,IAAU,QACV,IAAU,KACV,IAAU,KACV,IAAU,SACV,IAAU,SACV,IAAU,UACV,IAAU,UACV,IAAU,UACV,IAAU,UACV,IAAU,UACV,IAAU,UACV,IAAU,OACV,KAAgB,QAChB,IAAU,OACV,KAAgB,QAChB,IAAU,SACV,IAAU,SACV,KAAgB,SAChB,IAAU,QACV,KAAgB,SAChB,IAAU,QACV,IAAU,OACV,IAAU,OACV,IAAU,QACV,IAAU,QACV,IAAU,SACV,IAAU,SACV,IAAU,SACV,IAAU,SACV,IAAU,UACV,IAAU,UACV,IAAU,QACV,IAAU,UACV,IAAU,OACV,IAAU,QACV,IAAU,SACV,IAAU,OACV,IAAU,OACV,IAAU,QACV,IAAU,OACV,IAAU,MACV,IAAU,OACV,IAAU,QACV,IAAU,SACV,IAAU,SACV,IAAU,SACV,IAAU,QACV,IAAU,SACV,IAAU,QACV,KAAgB,SAChB,IAAU,OACV,IAAU,QACV,IAAU,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,IAAU,OACV,IAAU,MACV,IAAU,MACV,IAAU,OACV,IAAU,OACV,IAAU,OACV,IAAU,OACV,IAAU,OACV,IAAU,OACV,IAAU,QACV,IAAU,QACV,IAAU,OACV,IAAU,OACV,IAAU,MACV,IAAU,MACV,IAAU,OACV,IAAU,OACV,IAAU,MACV,IAAU,MACV,IAAU,QACV,IAAU,QACV,IAAU,OACV,IAAU,OACV,IAAU,MACV,IAAU,MACV,IAAU,SACV,IAAU,SACV,IAAU,MACV,IAAU,MACV,IAAU,OACV,IAAU,OACV,IAAU,MACV,IAAU,MACV,IAAU,OACV,IAAU,OACV,IAAU,MACV,IAAU,MACV,IAAU,MACV,IAAU,MACV,IAAU,OACV,IAAU,OACV,IAAU,MACV,IAAU,MACV,IAAU,MACV,IAAU,MACV,IAAU,MACV,IAAU,MACV,IAAU,MACV,IAAU,MACV,IAAU,MACV,IAAU,MACV,IAAU,QACV,IAAU,QACV,IAAU,MACV,IAAU,MACV,IAAU,QACV,IAAU,QACV,IAAU,MACV,IAAU,MACV,IAAU,OACV,IAAU,OACV,IAAU,OACV,IAAU,OACV,IAAU,OACV,IAAU,OACV,IAAU,OACV,IAAU,OACV,IAAU,OACV,IAAU,OACV,IAAU,SACV,IAAU,SACV,IAAU,SACV,IAAU,SACV,IAAU,MACV,IAAU,MACV,IAAU,SACV,IAAU,SACV,IAAU,MACV,IAAU,MACV,IAAU,OACV,IAAU,OACV,IAAU,OACV,IAAU,OACV,IAAU,QACV,IAAU,OACV,IAAU,QACV,IAAU,UAERC,EAAc,YACdC,EAAY,CACd,IAAK,SACL,IAAK,QACLF,IAAM,SACN,IAAK,OAKL,IAAK,OAKL,IAAK,UAEHG,EAAqB,kCACrBC,EAA2B,qPAC3BC,EAAc,i8gBACdC,EAAY,CACd,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,GAAM,IACN,IAAO,IACP,IAAO,KACP,MAAS,IACT,MAAS,IACT,MAAS,IACT,IAAO,IACP,IAAO,IACP,MAAS,IACT,MAAS,IACT,GAAM,IACN,IAAO,KACP,IAAO,KACP,OAAU,IACV,OAAU,IACV,QAAW,IACX,MAAS,IACT,MAAS,IACT,MAAS,IACT,MAAS,IACT,MAAS,IACT,MAAS,IACT,IAAO,IACP,IAAO,IACP,IAAO,IACP,IAAO,IACP,OAAU,IACV,KAAQ,IACR,SAAY,IACZ,KAAQ,IACR,IAAO,IACP,KAAQ,IACR,MAAS,IACT,OAAU,IACV,SAAY,IACZ,SAAY,IACZ,SAAY,IACZ,SAAY,IACZ,SAAY,IACZ,SAAY,IACZ,SAAY,IACZ,SAAY,IACZ,MAAS,IACT,QAAW,IACX,SAAY,IACZ,OAAU,IACV,MAAS,IACT,QAAW,IACX,MAAS,IACT,MAAS,IACT,KAAQ,KACR,KAAQ,KACR,GAAM,IACN,OAAU,IACV,IAAO,IACP,IAAO,IACP,KAAQ,IACR,KAAQ,IACR,cAAiB,IACjB,OAAU,IACV,SAAY,IACZ,MAAS,IACT,MAAS,IACT,KAAQ,KACR,KAAQ,KACR,OAAU,IACV,IAAO,IACP,MAAS,IACT,QAAW,IACX,OAAU,IACV,OAAU,IACV,KAAQ,IACR,KAAQ,IACR,SAAY,IACZ,MAAS,IACT,SAAY,IACZ,YAAe,IACf,UAAa,IACb,QAAW,IACX,UAAa,IACb,UAAa,IACb,KAAQ,IACR,OAAU,IACV,OAAU,IACV,OAAU,IACV,SAAY,IACZ,KAAQ,IACR,SAAY,IACZ,MAAS,IACT,IAAO,IACP,IAAO,IACP,MAAS,IACT,OAAU,IACV,QAAW,IACX,QAAW,IACX,QAAW,IACX,MAAS,IACT,OAAU,IACV,WAAc,IACd,KAAQ,IACR,KAAQ,IACR,KAAQ,IACR,QAAW,IACX,IAAO,KACP,IAAO,KACP,OAAU,IACV,QAAW,IACX,OAAU,IACV,QAAW,IACX,SAAY,IACZ,UAAa,IACb,SAAY,IACZ,QAAW,IACX,gBAAmB,IACnB,cAAiB,IACjB,SAAY,IACZ,OAAU,IACV,SAAY,IACZ,OAAU,IACV,aAAgB,IAChB,YAAe,IACf,cAAiB,IACjB,kBAAqB,IACrB,kBAAqB,IACrB,mBAAsB,IACtB,MAAS,IACT,MAAS,IACT,MAAS,IACT,MAAS,IACT,MAAS,IACT,IAAO,KACP,QAAW,KACX,KAAQ,IACR,KAAQ,IACR,KAAQ,KACR,KAAQ,KACR,IAAO,IACP,OAAU,IACV,OAAU,IACV,OAAU,IACV,MAAS,IACT,MAAS,IACT,MAAS,IACT,MAAS,IACT,MAAS,IACT,MAAS,IACT,MAAS,IACT,MAAS,IACT,KAAQ,IACR,KAAQ,IACR,MAAS,IACT,MAAS,IACT,MAAS,IACT,MAAS,IACT,MAAS,IACT,MAAS,IACT,MAAS,IACT,MAAS,IACT,SAAY,IACZ,QAAW,IACX,SAAY,IACZ,MAAS,IACT,MAAS,IACT,MAAS,IACT,MAAS,IACT,MAAS,IACT,MAAS,IACT,MAAS,IACT,MAAS,IACT,KAAQ,IACR,KAAQ,IACR,MAAS,IACT,MAAS,IACT,MAAS,IACT,MAAS,IACT,MAAS,IACT,MAAS,IACT,MAAS,IACT,MAAS,IACT,MAAS,IACT,MAAS,IACT,MAAS,IACT,MAAS,IACT,OAAU,IACV,MAAS,IACT,MAAS,IACT,OAAU,IACV,KAAQ,KACR,KAAQ,IACR,MAAS,IACT,KAAQ,IACR,MAAS,IACT,KAAQ,KACR,MAAS,IACT,SAAY,IACZ,KAAQ,IACR,OAAU,IACV,KAAQ,IACR,MAAS,IACT,MAAS,IACT,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,IAAO,IACP,IAAO,IACP,OAAU,IACV,SAAY,IACZ,OAAU,IACV,OAAU,IACV,OAAU,IACV,qBAAwB,IACxB,KAAQ,KACR,MAAS,IACT,MAAS,IACT,QAAW,IACX,MAAS,IACT,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,MAAS,IACT,MAAS,IACT,QAAW,IACX,MAAS,IACT,QAAW,IACX,KAAQ,IACR,KAAQ,IACR,MAAS,IACT,QAAW,IACX,QAAW,IACX,KAAQ,IACR,UAAa,IACb,UAAa,IACb,IAAO,KACP,IAAO,IACP,KAAQ,IACR,KAAQ,IACR,MAAS,IACT,UAAa,IACb,IAAO,IACP,IAAO,IACP,IAAO,IACP,KAAQ,IACR,OAAU,IACV,gBAAmB,IACnB,iBAAoB,IACpB,WAAc,IACd,YAAe,IACf,YAAe,IACf,UAAa,IACb,SAAY,IACZ,SAAY,IACZ,YAAe,IACf,WAAc,IACd,YAAe,IACf,KAAQ,IACR,KAAQ,IACR,SAAY,IACZ,OAAU,IACV,QAAW,IACX,yBAA4B,IAC5B,sBAAyB,IACzB,gBAAmB,IACnB,MAAS,IACT,SAAY,IACZ,MAAS,IACT,MAAS,IACT,OAAU,IACV,OAAU,IACV,QAAW,IACX,MAAS,IACT,OAAU,IACV,KAAQ,IACR,OAAU,IACV,WAAc,IACd,UAAa,IACb,KAAQ,IACR,QAAW,IACX,UAAa,IACb,OAAU,IACV,OAAU,IACV,gBAAmB,IACnB,KAAQ,KACR,KAAQ,IACR,OAAU,IACV,UAAa,IACb,KAAQ,IACR,KAAQ,IACR,OAAU,IACV,gCAAmC,IACnC,MAAS,IACT,MAAS,IACT,MAAS,IACT,KAAQ,KACR,KAAQ,KACR,KAAQ,IACR,MAAS,IACT,KAAQ,IACR,MAAS,IACT,MAAS,IACT,QAAW,IACX,QAAW,IACX,MAAS,IACT,MAAS,IACT,OAAU,IACV,QAAW,IACX,IAAO,IACP,IAAO,IACP,SAAY,IACZ,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,MAAS,IACT,KAAQ,KACR,OAAU,IACV,QAAW,IACX,YAAe,IACf,YAAe,IACf,SAAY,IACZ,WAAc,IACd,OAAU,IACV,eAAkB,IAClB,gBAAmB,IACnB,MAAS,IACT,MAAS,IACT,SAAY,IACZ,MAAS,IACT,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,KAAQ,IACR,KAAQ,IACR,KAAQ,IACR,KAAQ,IACR,MAAS,IACT,MAAS,IACT,QAAW,IACX,MAAS,IACT,OAAU,IACV,OAAU,IACV,IAAO,IACP,IAAO,IACP,GAAM,IACN,GAAM,IACN,QAAW,IACX,MAAS,IACT,SAAY,IACZ,QAAW,IACX,IAAO,IACP,IAAO,IACP,MAAS,IACT,MAAS,IACT,QAAW,IACX,OAAU,IACV,IAAO,KACP,IAAO,KACP,KAAQ,IACR,MAAS,IACT,MAAS,IACT,iBAAoB,IACpB,eAAkB,IAClB,uBAA0B,IAC1B,iBAAoB,IACpB,iBAAoB,IACpB,KAAQ,IACR,QAAW,IACX,QAAW,IACX,YAAe,IACf,MAAS,IACT,IAAO,IACP,cAAiB,IACjB,QAAW,IACX,MAAS,IACT,IAAO,IACP,OAAU,IACV,cAAiB,IACjB,OAAU,IACV,KAAQ,IACR,KAAQ,IACR,OAAU,IACV,OAAU,IACV,OAAU,IACV,KAAQ,KACR,KAAQ,KACR,IAAO,IACP,IAAO,IACP,OAAU,IACV,MAAS,IACT,SAAY,IACZ,SAAY,IACZ,SAAY,IACZ,QAAW,IACX,UAAa,IACb,eAAkB,IAClB,sBAAyB,IACzB,UAAa,IACb,gBAAmB,IACnB,gBAAmB,IACnB,qBAAwB,IACxB,cAAiB,IACjB,oBAAuB,IACvB,yBAA4B,IAC5B,qBAAwB,IACxB,iBAAoB,IACpB,eAAkB,IAClB,cAAiB,IACjB,kBAAqB,IACrB,kBAAqB,IACrB,UAAa,IACb,UAAa,IACb,UAAa,IACb,aAAgB,IAChB,iBAAoB,IACpB,UAAa,IACb,eAAkB,IAClB,gBAAmB,IACnB,iBAAoB,IACpB,oBAAuB,IACvB,kBAAqB,IACrB,eAAkB,IAClB,kBAAqB,IACrB,mBAAsB,IACtB,gBAAmB,IACnB,mBAAsB,IACtB,QAAW,IACX,aAAgB,IAChB,SAAY,IACZ,OAAU,IACV,OAAU,IACV,KAAQ,KACR,KAAQ,KACR,KAAQ,IACR,KAAQ,IACR,KAAQ,IACR,OAAU,IACV,OAAU,IACV,MAAS,IACT,KAAQ,IACR,MAAS,IACT,MAAS,IACT,MAAS,IACT,QAAW,IACX,KAAQ,IACR,KAAQ,IACR,SAAY,IACZ,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,KAAQ,IACR,MAAS,IACT,MAAS,IACT,OAAU,IACV,IAAO,IACP,IAAO,IACP,MAAS,IACT,KAAQ,IACR,KAAQ,IACR,KAAQ,IACR,GAAM,IACN,MAAS,IACT,IAAO,KACP,IAAO,KACP,GAAM,IACN,OAAU,IACV,OAAU,IACV,IAAO,IACP,OAAU,IACV,GAAM,IACN,QAAW,IACX,SAAY,IACZ,IAAO,IACP,IAAO,IACP,OAAU,IACV,MAAS,IACT,MAAS,IACT,MAAS,IACT,SAAY,IACZ,iBAAoB,IACpB,OAAU,IACV,qBAAwB,IACxB,KAAQ,IACR,OAAU,IACV,OAAU,IACV,IAAO,IACP,IAAO,IACP,KAAQ,IACR,MAAS,IACT,MAAS,IACT,KAAQ,KACR,KAAQ,KACR,KAAQ,IACR,OAAU,IACV,MAAS,IACT,KAAQ,IACR,QAAW,IACX,QAAW,IACX,MAAS,IACT,OAAU,IACV,QAAW,IACX,MAAS,IACT,WAAc,IACd,YAAe,IACf,MAAS,IACT,OAAU,IACV,WAAc,IACd,OAAU,IACV,YAAe,IACf,MAAS,IACT,QAAW,IACX,SAAY,IACZ,MAAS,IACT,MAAS,IACT,KAAQ,IACR,KAAQ,IACR,MAAS,IACT,KAAQ,IACR,KAAQ,IACR,IAAO,IACP,IAAO,IACP,IAAO,IACP,IAAO,IACP,KAAQ,IACR,KAAQ,IACR,KAAQ,IACR,KAAQ,IACR,MAAS,IACT,OAAU,IACV,YAAe,IACf,aAAgB,IAChB,aAAgB,IAChB,cAAiB,IACjB,IAAO,IACP,IAAO,IACP,OAAU,IACV,OAAU,IACV,MAAS,IACT,OAAU,IACV,IAAO,KACP,IAAO,KACP,MAAS,IACT,kBAAqB,IACrB,sBAAyB,IACzB,MAAS,KACT,KAAQ,IACR,MAAS,IACT,MAAS,IACT,KAAQ,IACR,KAAQ,KACR,KAAQ,KACR,OAAU,IACV,OAAU,IACV,KAAQ,IACR,MAAS,IACT,WAAc,IACd,SAAY,IACZ,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,MAAS,IACT,MAAS,IACT,KAAQ,KACR,KAAQ,IACR,OAAU,IACV,MAAS,IACT,MAAS,IACT,OAAU,IACV,OAAU,IACV,IAAO,IACP,OAAU,IACV,OAAU,IACV,OAAU,IACV,MAAS,IACT,MAAS,IACT,IAAO,IACP,IAAO,IACP,KAAQ,IACR,KAAQ,IACR,GAAM,IACN,GAAM,IACN,IAAO,IACP,IAAO,IACP,IAAO,IACP,KAAQ,IACR,SAAY,IACZ,IAAO,IACP,MAAS,IACT,OAAU,IACV,QAAW,IACX,SAAY,IACZ,KAAQ,KACR,OAAU,IACV,IAAO,KACP,IAAO,KACP,GAAM,IACN,GAAM,IACN,IAAO,IACP,MAAS,IACT,KAAQ,IACR,KAAQ,IACR,GAAM,IACN,IAAO,IACP,IAAO,IACP,IAAO,IACP,KAAQ,IACR,SAAY,IACZ,IAAO,IACP,IAAO,IACP,KAAQ,IACR,MAAS,IACT,MAAS,IACT,KAAQ,KACR,KAAQ,KACR,MAAS,IACT,aAAgB,IAChB,iBAAoB,IACpB,iBAAoB,IACpB,eAAkB,IAClB,YAAe,IACf,kBAAqB,IACrB,aAAgB,IAChB,KAAQ,IACR,KAAQ,KACR,KAAQ,IACR,MAAS,IACT,MAAS,IACT,GAAM,IACN,GAAM,IACN,GAAM,IACN,KAAQ,IACR,MAAS,IACT,MAAS,IACT,OAAU,IACV,QAAW,IACX,UAAa,IACb,OAAU,IACV,OAAU,IACV,UAAa,IACb,WAAc,IACd,QAAW,IACX,OAAU,IACV,UAAa,KACb,KAAQ,KACR,MAAS,IACT,OAAU,IACV,KAAQ,IACR,OAAU,IACV,OAAU,IACV,OAAU,IACV,KAAQ,IACR,KAAQ,IACR,QAAW,IACX,MAAS,IACT,IAAO,IACP,KAAQ,IACR,MAAS,IACT,MAAS,IACT,OAAU,IACV,UAAa,IACb,OAAU,IACV,OAAU,IACV,IAAO,KACP,IAAO,IACP,aAAgB,IAChB,SAAY,IACZ,SAAY,IACZ,MAAS,IACT,OAAU,IACV,cAAiB,IACjB,eAAkB,IAClB,KAAQ,KACR,KAAQ,IACR,OAAU,IACV,eAAkB,IAClB,KAAQ,KACR,KAAQ,IACR,OAAU,IACV,OAAU,IACV,OAAU,IACV,aAAgB,IAChB,UAAa,IACb,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,GAAM,IACN,MAAS,IACT,MAAS,IACT,IAAO,IACP,IAAO,IACP,KAAQ,IACR,KAAQ,IACR,KAAQ,IACR,MAAS,IACT,IAAO,IACP,IAAO,KACP,IAAO,IACP,OAAU,IACV,OAAU,IACV,GAAM,IACN,OAAU,IACV,MAAS,IACT,OAAU,IACV,MAAS,IACT,MAAS,IACT,MAAS,IACT,GAAM,IACN,MAAS,IACT,MAAS,IACT,MAAS,IACT,WAAc,IACd,SAAY,IACZ,SAAY,IACZ,MAAS,IACT,KAAQ,IACR,MAAS,IACT,QAAW,IACX,GAAM,IACN,OAAU,IACV,MAAS,IACT,SAAY,IACZ,OAAU,IACV,IAAO,IACP,IAAO,IACP,OAAU,IACV,SAAY,IACZ,SAAY,IACZ,SAAY,IACZ,aAAgB,IAChB,SAAY,IACZ,QAAW,IACX,eAAkB,IAClB,eAAkB,IAClB,KAAQ,IACR,KAAQ,IACR,MAAS,IACT,MAAS,IACT,KAAQ,KACR,KAAQ,KACR,KAAQ,IACR,KAAQ,IACR,MAAS,IACT,OAAU,IACV,KAAQ,KACR,KAAQ,IACR,KAAQ,IACR,QAAW,IACX,MAAS,IACT,MAAS,IACT,OAAU,IACV,MAAS,IACT,GAAM,IACN,OAAU,IACV,OAAU,IACV,MAAS,IACT,MAAS,IACT,KAAQ,IACR,KAAQ,IACR,MAAS,IACT,MAAS,IACT,IAAO,IACP,IAAO,IACP,IAAO,KACP,IAAO,KACP,MAAS,IACT,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,OAAU,IACV,OAAU,IACV,MAAS,IACT,MAAS,IACT,MAAS,IACT,MAAS,IACT,OAAU,IACV,OAAU,IACV,OAAU,IACV,IAAO,IACP,IAAO,IACP,IAAO,KACP,IAAO,KACP,OAAU,IACV,KAAQ,IACR,KAAQ,IACR,KAAQ,IACR,KAAQ,IACR,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,MAAS,IACT,OAAU,IACV,OAAU,IACV,SAAY,IACZ,OAAU,IACV,OAAU,IACV,OAAU,IACV,KAAQ,IACR,KAAQ,IACR,MAAS,IACT,OAAU,IACV,IAAO,IACP,WAAc,IACd,MAAS,IACT,KAAQ,IACR,KAAQ,IACR,KAAQ,IACR,MAAS,IACT,QAAW,IACX,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,QAAW,IACX,OAAU,IACV,IAAO,IACP,OAAU,IACV,OAAU,IACV,KAAQ,IACR,MAAS,KACT,MAAS,IACT,MAAS,IACT,MAAS,IACT,OAAU,IACV,OAAU,IACV,MAAS,IACT,QAAW,IACX,QAAW,IACX,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,MAAS,IACT,KAAQ,IACR,IAAO,IACP,IAAO,IACP,KAAQ,IACR,MAAS,IACT,OAAU,IACV,QAAW,IACX,SAAY,IACZ,KAAQ,IACR,GAAM,IACN,GAAM,IACN,iBAAoB,IACpB,UAAa,IACb,UAAa,IACb,UAAa,IACb,aAAgB,IAChB,oBAAuB,IACvB,cAAiB,IACjB,YAAe,IACf,kBAAqB,IACrB,kBAAqB,IACrB,eAAkB,IAClB,kBAAqB,IACrB,UAAa,IACb,gBAAmB,IACnB,cAAiB,IACjB,eAAkB,IAClB,eAAkB,IAClB,eAAkB,IAClB,eAAkB,IAClB,gBAAmB,IACnB,kBAAqB,IACrB,oBAAuB,IACvB,gBAAmB,IACnB,QAAW,IACX,aAAgB,IAChB,cAAiB,IACjB,eAAkB,IAClB,aAAgB,IAChB,gBAAmB,IACnB,kBAAqB,IACrB,iBAAoB,IACpB,gBAAmB,IACnB,aAAgB,IAChB,gBAAmB,IACnB,WAAc,IACd,cAAiB,IACjB,IAAO,IACP,IAAO,IACP,IAAO,IACP,KAAQ,IACR,SAAY,IACZ,IAAO,IACP,MAAS,IACT,OAAU,IACV,QAAW,IACX,SAAY,IACZ,KAAQ,KACR,OAAU,IACV,WAAc,IACd,QAAW,IACX,UAAa,IACb,WAAc,IACd,iBAAoB,IACpB,cAAiB,IACjB,YAAe,IACf,QAAW,IACX,SAAY,IACZ,QAAW,IACX,eAAkB,IAClB,UAAa,IACb,OAAU,IACV,OAAU,IACV,IAAO,KACP,IAAO,KACP,GAAM,IACN,IAAO,IACP,KAAQ,IACR,MAAS,IACT,MAAS,IACT,OAAU,IACV,MAAS,IACT,KAAQ,IACR,KAAQ,IACR,GAAM,IACN,GAAM,IACN,MAAS,IACT,SAAY,IACZ,WAAc,IACd,OAAU,IACV,MAAS,IACT,OAAU,IACV,OAAU,IACV,OAAU,IACV,WAAc,IACd,KAAQ,IACR,SAAY,IACZ,IAAO,IACP,IAAO,IACP,KAAQ,IACR,MAAS,IACT,MAAS,IACT,MAAS,IACT,MAAS,IACT,MAAS,IACT,cAAiB,IACjB,cAAiB,IACjB,cAAiB,IACjB,mBAAsB,IACtB,mBAAsB,IACtB,mBAAsB,IACtB,WAAc,IACd,eAAkB,IAClB,eAAkB,IAClB,eAAkB,IAClB,cAAiB,IACjB,eAAkB,IAClB,MAAS,IACT,KAAQ,KACR,KAAQ,KACR,OAAU,IACV,QAAW,IACX,OAAU,IACV,OAAU,IACV,eAAkB,IAClB,gBAAmB,IACnB,IAAO,IACP,QAAW,IACX,KAAQ,IACR,KAAQ,IACR,OAAU,IACV,MAAS,IACT,SAAY,IACZ,MAAS,IACT,OAAU,IACV,IAAO,IACP,MAAS,IACT,OAAU,IACV,KAAQ,KACR,KAAQ,IACR,IAAO,IACP,IAAO,IACP,KAAQ,IACR,MAAS,IACT,MAAS,IACT,KAAQ,IACR,MAAS,IACT,OAAU,IACV,OAAU,IACV,OAAU,IACV,GAAM,IACN,GAAM,IACN,GAAM,IACN,KAAQ,IACR,MAAS,IACT,MAAS,IACT,OAAU,IACV,OAAU,IACV,OAAU,IACV,QAAW,IACX,KAAQ,IACR,MAAS,IACT,MAAS,IACT,OAAU,IACV,SAAY,IACZ,QAAW,IACX,UAAa,KACb,KAAQ,KACR,KAAQ,IACR,KAAQ,IACR,KAAQ,IACR,QAAW,IACX,IAAO,IACP,IAAO,IACP,OAAU,IACV,WAAc,IACd,WAAc,IACd,SAAY,IACZ,OAAU,IACV,OAAU,IACV,IAAO,IACP,IAAO,IACP,MAAS,IACT,MAAS,IACT,cAAiB,IACjB,YAAe,IACf,UAAa,IACb,IAAO,KACP,IAAO,KACP,IAAO,IACP,MAAS,IACT,IAAO,IACP,OAAU,IACV,OAAU,IACV,OAAU,IACV,MAAS,IACT,OAAU,IACV,OAAU,IACV,QAAW,IACX,UAAa,IACb,KAAQ,IACR,KAAQ,IACR,OAAU,IACV,OAAU,IACV,KAAQ,KACR,KAAQ,KACR,GAAM,IACN,KAAQ,KACR,KAAQ,IACR,OAAU,IACV,GAAM,IACN,GAAM,IACN,SAAY,IACZ,MAAS,IACT,MAAS,IACT,OAAU,IACV,OAAU,IACV,KAAQ,KACR,IAAO,IACP,KAAQ,KACR,MAAS,KACT,MAAS,IACT,QAAW,IACX,MAAS,IACT,QAAW,IACX,SAAY,IACZ,KAAQ,IACR,MAAS,KACT,OAAU,KACV,KAAQ,IACR,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,MAAS,IACT,SAAY,KACZ,KAAQ,IACR,IAAO,IACP,IAAO,IACP,MAAS,IACT,GAAM,IACN,OAAU,IACV,MAAS,IACT,MAAS,IACT,QAAW,IACX,MAAS,KACT,oBAAuB,IACvB,mBAAsB,IACtB,kBAAqB,IACrB,sBAAyB,IACzB,OAAU,IACV,OAAU,IACV,MAAS,KACT,qBAAwB,IACxB,eAAkB,IAClB,QAAW,KACX,OAAU,IACV,QAAW,IACX,IAAO,KACP,IAAO,KACP,IAAO,IACP,IAAO,KACP,KAAQ,IACR,MAAS,KACT,UAAa,KACb,KAAQ,KACR,IAAO,KACP,MAAS,IACT,IAAO,IACP,IAAO,KACP,KAAQ,IACR,KAAQ,KACR,MAAS,IACT,MAAS,IACT,MAAS,IACT,GAAM,IACN,IAAO,IACP,KAAQ,IACR,IAAO,IACP,KAAQ,IACR,KAAQ,IACR,MAAS,IACT,MAAS,IACT,KAAQ,IACR,IAAO,IACP,IAAO,KACP,WAAc,IACd,WAAc,IACd,gBAAmB,IACnB,gBAAmB,IACnB,KAAQ,IACR,MAAS,KACT,UAAa,KACb,KAAQ,KACR,MAAS,IACT,IAAO,KACP,MAAS,IACT,IAAO,IACP,IAAO,KACP,MAAS,IACT,OAAU,IACV,KAAQ,KACR,KAAQ,IACR,QAAW,IACX,iBAAoB,IACpB,KAAQ,KACR,KAAQ,IACR,IAAO,IACP,IAAO,IACP,aAAgB,IAChB,UAAa,IACb,qBAAwB,IACxB,WAAc,IACd,SAAY,IACZ,cAAiB,KACjB,UAAa,IACb,WAAc,IACd,gBAAmB,IACnB,oBAAuB,KACvB,kBAAqB,KACrB,eAAkB,IAClB,qBAAwB,KACxB,gBAAmB,IACnB,gBAAmB,KACnB,aAAgB,KAChB,MAAS,IACT,SAAY,KACZ,OAAU,KACV,QAAW,IACX,QAAW,IACX,QAAW,IACX,gBAAmB,IACnB,mBAAsB,KACtB,qBAAwB,IACxB,QAAW,IACX,aAAgB,IAChB,eAAkB,IAClB,YAAe,KACf,kBAAqB,KACrB,aAAgB,IAChB,wBAA2B,KAC3B,kBAAqB,KACrB,MAAS,IACT,QAAW,IACX,QAAW,IACX,QAAW,IACX,YAAe,IACf,iBAAoB,KACpB,sBAAyB,IACzB,kBAAqB,IACrB,iBAAoB,IACpB,oBAAuB,KACvB,sBAAyB,IACzB,gBAAmB,KACnB,qBAAwB,IACxB,kBAAqB,KACrB,uBAA0B,IAC1B,UAAa,KACb,eAAkB,IAClB,YAAe,IACf,iBAAoB,KACpB,sBAAyB,IACzB,iBAAoB,KACpB,YAAe,KACf,iBAAoB,IACpB,SAAY,IACZ,cAAiB,IACjB,kBAAqB,IACrB,cAAiB,IACjB,eAAkB,IAClB,KAAQ,IACR,UAAa,IACb,OAAU,KACV,MAAS,KACT,QAAW,IACX,IAAO,IACP,OAAU,IACV,KAAQ,KACR,MAAS,IACT,QAAW,KACX,MAAS,IACT,MAAS,IACT,OAAU,KACV,OAAU,KACV,YAAe,IACf,YAAe,IACf,MAAS,IACT,OAAU,IACV,IAAO,IACP,OAAU,IACV,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,UAAa,IACb,eAAkB,IAClB,KAAQ,IACR,MAAS,IACT,OAAU,IACV,MAAS,IACT,MAAS,IACT,QAAW,IACX,QAAW,IACX,KAAQ,IACR,MAAS,IACT,MAAS,KACT,QAAW,KACX,UAAa,IACb,WAAc,KACd,MAAS,IACT,QAAW,KACX,KAAQ,IACR,MAAS,IACT,MAAS,KACT,QAAW,KACX,UAAa,IACb,WAAc,KACd,KAAQ,IACR,OAAU,IACV,OAAU,IACV,KAAQ,IACR,cAAiB,IACjB,gBAAmB,IACnB,eAAkB,IAClB,iBAAoB,IACpB,GAAM,IACN,GAAM,IACN,IAAO,IACP,OAAU,IACV,MAAS,IACT,KAAQ,KACR,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,KAAQ,KACR,KAAQ,KACR,OAAU,IACV,QAAW,IACX,OAAU,IACV,KAAQ,KACR,KAAQ,KACR,QAAW,KACX,OAAU,IACV,QAAW,KACX,MAAS,KACT,OAAU,IACV,MAAS,IACT,MAAS,IACT,QAAW,IACX,OAAU,IACV,OAAU,IACV,OAAU,IACV,KAAQ,IACR,KAAQ,IACR,MAAS,IACT,MAAS,IACT,IAAO,IACP,IAAO,IACP,MAAS,IACT,OAAU,IACV,OAAU,IACV,KAAQ,IACR,KAAQ,IACR,OAAU,IACV,MAAS,IACT,MAAS,IACT,MAAS,IACT,IAAO,KACP,IAAO,KACP,KAAQ,IACR,OAAU,IACV,OAAU,IACV,IAAO,IACP,MAAS,IACT,IAAO,IACP,KAAQ,IACR,MAAS,IACT,MAAS,IACT,QAAW,IACX,MAAS,IACT,IAAO,IACP,MAAS,IACT,MAAS,IACT,MAAS,IACT,MAAS,IACT,QAAW,IACX,QAAW,IACX,KAAQ,IACR,OAAU,IACV,KAAQ,KACR,KAAQ,KACR,KAAQ,IACR,qBAAwB,IACxB,eAAkB,IAClB,MAAS,IACT,MAAS,IACT,GAAM,IACN,GAAM,IACN,MAAS,IACT,IAAO,IACP,MAAS,IACT,QAAW,IACX,KAAQ,IACR,KAAQ,IACR,OAAU,IACV,KAAQ,IACR,QAAW,IACX,IAAO,IACP,GAAM,IACN,KAAQ,IACR,KAAQ,KACR,OAAU,IACV,OAAU,IACV,KAAQ,IACR,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,SAAY,IACZ,KAAQ,IACR,KAAQ,IACR,MAAS,IACT,QAAW,IACX,UAAa,IACb,YAAe,IACf,gBAAmB,IACnB,IAAO,IACP,KAAQ,IACR,SAAY,IACZ,OAAU,IACV,MAAS,IACT,KAAQ,IACR,SAAY,IACZ,IAAO,IACP,IAAO,IACP,OAAU,IACV,OAAU,IACV,OAAU,IACV,KAAQ,IACR,QAAW,IACX,IAAO,KACP,IAAO,KACP,IAAO,IACP,IAAO,IACP,KAAQ,IACR,OAAU,IACV,MAAS,IACT,GAAM,IACN,GAAM,IACN,UAAa,IACb,IAAO,IACP,OAAU,IACV,QAAW,IACX,OAAU,IACV,KAAQ,IACR,SAAY,IACZ,MAAS,IACT,QAAW,IACX,OAAU,IACV,OAAU,IACV,MAAS,IACT,UAAa,IACb,OAAU,IACV,QAAW,IACX,QAAW,IACX,GAAM,IACN,cAAiB,IACjB,SAAY,IACZ,KAAQ,KACR,KAAQ,IACR,MAAS,IACT,GAAM,IACN,GAAM,IACN,KAAQ,IACR,MAAS,IACT,IAAO,IACP,IAAO,IACP,KAAQ,IACR,WAAc,IACd,YAAe,IACf,SAAY,IACZ,cAAiB,IACjB,mBAAsB,IACtB,cAAiB,IACjB,OAAU,IACV,YAAe,IACf,SAAY,IACZ,SAAY,IACZ,QAAW,IACX,MAAS,IACT,MAAS,IACT,OAAU,IACV,MAAS,IACT,KAAQ,IACR,OAAU,IACV,KAAQ,IACR,QAAW,IACX,SAAY,IACZ,SAAY,IACZ,SAAY,IACZ,KAAQ,IACR,WAAc,IACd,aAAgB,IAChB,OAAU,IACV,MAAS,IACT,OAAU,IACV,KAAQ,KACR,KAAQ,KACR,IAAO,IACP,IAAO,IACP,OAAU,IACV,IAAO,KACP,IAAO,KACP,KAAQ,IACR,KAAQ,KACR,KAAQ,IACR,OAAU,IACV,KAAQ,KACR,KAAQ,KACR,YAAe,IACf,QAAW,IACX,MAAS,IACT,QAAW,IACX,KAAQ,IACR,KAAQ,IACR,MAAS,IACT,KAAQ,KACR,OAAU,IACV,OAAU,IACV,MAAS,IACT,SAAY,IACZ,KAAQ,IACR,KAAQ,IACR,MAAS,IACT,MAAS,IACT,OAAU,IACV,MAAS,IACT,KAAQ,IACR,KAAQ,IACR,KAAQ,IACR,OAAU,IACV,MAAS,IACT,QAAW,IACX,MAAS,IACT,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,QAAW,IACX,OAAU,IACV,OAAU,IACV,MAAS,IACT,OAAU,IACV,OAAU,IACV,MAAS,IACT,UAAa,IACb,MAAS,IACT,MAAS,IACT,MAAS,IACT,MAAS,IACT,OAAU,IACV,OAAU,IACV,MAAS,IACT,QAAW,IACX,QAAW,IACX,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,MAAS,IACT,KAAQ,IACR,IAAO,IACP,IAAO,IACP,KAAQ,IACR,QAAW,IACX,MAAS,IACT,OAAU,IACV,KAAQ,IACR,GAAM,IACN,KAAQ,IACR,QAAW,IACX,SAAY,IACZ,MAAS,IACT,KAAQ,IACR,IAAO,IACP,IAAO,IACP,eAAkB,IAClB,mBAAsB,IACtB,qBAAwB,IACxB,OAAU,IACV,OAAU,IACV,IAAO,KACP,IAAO,IACP,KAAQ,IACR,MAAS,IACT,MAAS,IACT,OAAU,IACV,IAAO,IACP,IAAO,IACP,KAAQ,IACR,kBAAqB,IACrB,WAAc,IACd,WAAc,IACd,WAAc,IACd,cAAiB,IACjB,oBAAuB,IACvB,eAAkB,IAClB,aAAgB,IAChB,mBAAsB,IACtB,mBAAsB,IACtB,gBAAmB,IACnB,mBAAsB,IACtB,WAAc,IACd,iBAAoB,IACpB,eAAkB,IAClB,gBAAmB,IACnB,kBAAqB,IACrB,iBAAoB,IACpB,gBAAmB,IACnB,SAAY,IACZ,cAAiB,IACjB,eAAkB,IAClB,gBAAmB,IACnB,cAAiB,IACjB,iBAAoB,IACpB,mBAAsB,IACtB,kBAAqB,IACrB,iBAAoB,IACpB,cAAiB,IACjB,iBAAoB,IACpB,YAAe,IACf,eAAkB,IAClB,KAAQ,IACR,aAAgB,IAChB,MAAS,IACT,MAAS,IACT,IAAO,IACP,OAAU,IACV,WAAc,IACd,MAAS,IACT,MAAS,IACT,MAAS,IACT,MAAS,IACT,MAAS,IACT,KAAQ,KACR,KAAQ,IACR,OAAU,IACV,QAAW,IACX,aAAgB,IAChB,KAAQ,IACR,OAAU,IACV,SAAY,IACZ,MAAS,IACT,YAAe,IACf,OAAU,IACV,KAAQ,KACR,KAAQ,IACR,IAAO,IACP,IAAO,IACP,KAAQ,IACR,MAAS,IACT,OAAU,IACV,OAAU,IACV,OAAU,IACV,KAAQ,IACR,MAAS,IACT,MAAS,IACT,SAAY,IACZ,YAAe,IACf,QAAW,IACX,GAAM,IACN,OAAU,IACV,OAAU,IACV,MAAS,IACT,GAAM,IACN,GAAM,IACN,KAAQ,IACR,OAAU,IACV,OAAU,IACV,MAAS,IACT,IAAO,IACP,IAAO,IACP,OAAU,IACV,OAAU,IACV,MAAS,IACT,MAAS,IACT,MAAS,IACT,KAAQ,IACR,OAAU,IACV,SAAY,IACZ,MAAS,IACT,IAAO,IACP,IAAO,IACP,KAAQ,IACR,MAAS,IACT,MAAS,IACT,OAAU,IACV,MAAS,IACT,MAAS,IACT,QAAW,IACX,KAAQ,IACR,KAAQ,IACR,OAAU,IACV,SAAY,IACZ,MAAS,IACT,KAAQ,IACR,IAAO,KACP,IAAO,KACP,OAAU,IACV,MAAS,IACT,OAAU,IACV,OAAU,IACV,KAAQ,IACR,KAAQ,IACR,eAAkB,IAClB,eAAkB,IAClB,SAAY,IACZ,cAAiB,IACjB,gBAAmB,IACnB,aAAgB,IAChB,IAAO,IACP,MAAS,IACT,MAAS,IACT,OAAU,IACV,OAAU,IACV,IAAO,IACP,OAAU,IACV,KAAQ,IACR,MAAS,IACT,KAAQ,IACR,MAAS,IACT,KAAQ,IACR,MAAS,IACT,MAAS,IACT,QAAW,IACX,QAAW,IACX,MAAS,IACT,YAAe,IACf,cAAiB,IACjB,OAAU,IACV,SAAY,IACZ,KAAQ,IACR,MAAS,IACT,IAAO,IACP,KAAQ,IACR,MAAS,KACT,OAAU,IACV,OAAU,IACV,IAAO,IACP,KAAQ,IACR,OAAU,IACV,KAAQ,KACR,KAAQ,KACR,OAAU,IACV,UAAa,IACb,KAAQ,IACR,MAAS,IACT,OAAU,KACV,MAAS,IACT,OAAU,KACV,KAAQ,IACR,MAAS,IACT,OAAU,IACV,SAAY,IACZ,WAAc,IACd,MAAS,IACT,OAAU,IACV,SAAY,IACZ,WAAc,IACd,IAAO,IACP,OAAU,IACV,OAAU,IACV,mBAAsB,IACtB,aAAgB,IAChB,kBAAqB,IACrB,eAAkB,IAClB,oBAAuB,IACvB,YAAe,IACf,OAAU,IACV,KAAQ,IACR,MAAS,IACT,KAAQ,KACR,KAAQ,KACR,OAAU,IACV,OAAU,IACV,OAAU,IACV,KAAQ,IACR,KAAQ,IACR,MAAS,IACT,gBAAmB,IACnB,YAAe,IACf,MAAS,IACT,IAAO,IACP,IAAO,IACP,OAAU,IACV,KAAQ,IACR,KAAQ,IACR,QAAW,IACX,QAAW,IACX,MAAS,IACT,MAAS,IACT,QAAW,IACX,QAAW,IACX,OAAU,IACV,OAAU,IACV,SAAY,IACZ,UAAa,IACb,YAAe,IACf,UAAa,IACb,WAAc,IACd,OAAU,IACV,OAAU,IACV,OAAU,IACV,KAAQ,IACR,WAAc,IACd,YAAe,IACf,SAAY,IACZ,cAAiB,IACjB,mBAAsB,IACtB,cAAiB,IACjB,OAAU,IACV,YAAe,IACf,SAAY,IACZ,SAAY,IACZ,QAAW,IACX,SAAY,IACZ,IAAO,IACP,IAAO,IACP,KAAQ,IACR,IAAO,IACP,IAAO,IACP,KAAQ,IACR,KAAQ,IACR,KAAQ,IACR,OAAU,IACV,QAAW,IACX,KAAQ,IACR,KAAQ,IACR,QAAW,IACX,SAAY,IACZ,cAAiB,IACjB,QAAW,IACX,QAAW,IACX,QAAW,IACX,QAAW,IACX,MAAS,IACT,MAAS,IACT,QAAW,IACX,OAAU,IACV,OAAU,IACV,SAAY,IACZ,UAAa,IACb,UAAa,IACb,WAAc,IACd,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,MAAS,IACT,MAAS,IACT,QAAW,IACX,OAAU,IACV,MAAS,IACT,IAAO,KACP,OAAU,IACV,IAAO,IACP,IAAO,IACP,KAAQ,IACR,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,IAAO,IACP,IAAO,IACP,KAAQ,IACR,OAAU,IACV,IAAO,KACP,IAAO,KACP,OAAU,IACV,UAAa,IACb,UAAa,IACb,MAAS,IACT,MAAS,IACT,SAAY,IACZ,OAAU,IACV,YAAe,IACf,SAAY,IACZ,WAAc,KACd,OAAU,IACV,UAAa,IACb,MAAS,IACT,OAAU,IACV,MAAS,IACT,MAAS,IACT,MAAS,IACT,MAAS,IACT,WAAc,IACd,eAAkB,IAClB,WAAc,IACd,MAAS,IACT,OAAU,IACV,SAAY,IACZ,OAAU,IACV,KAAQ,IACR,KAAQ,IACR,IAAO,IACP,OAAU,IACV,OAAU,IACV,KAAQ,KACR,KAAQ,KACR,QAAW,IACX,KAAQ,IACR,OAAU,IACV,MAAS,IACT,MAAS,IACT,SAAY,IACZ,aAAgB,IAChB,aAAgB,IAChB,eAAkB,IAClB,UAAa,IACb,cAAiB,IACjB,gBAAmB,IACnB,OAAU,IACV,KAAQ,IACR,SAAY,IACZ,UAAa,IACb,QAAW,IACX,MAAS,IACT,QAAW,IACX,SAAY,IACZ,KAAQ,KACR,KAAQ,KACR,KAAQ,IACR,KAAQ,IACR,MAAS,IACT,MAAS,IACT,OAAU,IACV,OAAU,IACV,MAAS,IACT,iBAAoB,IACpB,kBAAqB,IACrB,OAAU,IACV,OAAU,IACV,KAAQ,IACR,KAAQ,IACR,KAAQ,IACR,SAAY,IACZ,MAAS,IACT,MAAS,IACT,OAAU,IACV,OAAU,IACV,MAAS,IACT,MAAS,IACT,IAAO,IACP,IAAO,IACP,MAAS,IACT,OAAU,IACV,OAAU,IACV,MAAS,IACT,OAAU,IACV,IAAO,KACP,IAAO,KACP,OAAU,IACV,OAAU,IACV,KAAQ,IACR,MAAS,IACT,MAAS,IACT,MAAS,IACT,OAAU,IACV,SAAY,IACZ,OAAU,IACV,MAAS,IACT,MAAS,IACT,MAAS,IACT,IAAO,IACP,SAAY,IACZ,WAAc,IACd,aAAgB,IAChB,iBAAoB,IACpB,MAAS,IACT,UAAa,IACb,MAAS,IACT,MAAS,IACT,KAAQ,KACR,KAAQ,KACR,QAAW,IACX,QAAW,IACX,QAAW,IACX,WAAc,IACd,iBAAoB,IACpB,YAAe,IACf,YAAe,IACf,YAAe,IACf,cAAiB,IACjB,cAAiB,IACjB,eAAkB,IAClB,MAAS,IACT,eAAkB,IAClB,gBAAmB,IACnB,KAAQ,IACR,KAAQ,IACR,MAAS,IACT,QAAW,IACX,QAAW,IACX,MAAS,IACT,WAAc,IACd,WAAc,IACd,OAAU,IACV,SAAY,IACZ,OAAU,IACV,MAAS,IACT,MAAS,IACT,MAAS,IACT,KAAQ,KACR,KAAQ,KACR,MAAS,IACT,OAAU,IACV,OAAU,IACV,KAAQ,IACR,MAAS,IACT,MAAS,IACT,KAAQ,IACR,KAAQ,IACR,QAAW,IACX,OAAU,IACV,WAAc,IACd,SAAY,IACZ,WAAc,IACd,OAAU,IACV,MAAS,IACT,UAAa,IACb,KAAQ,IACR,KAAQ,IACR,OAAU,IACV,SAAY,IACZ,aAAgB,KAChB,cAAiB,KACjB,aAAgB,KAChB,cAAiB,KACjB,SAAY,IACZ,gBAAmB,IACnB,iBAAoB,IACpB,KAAQ,IACR,KAAQ,IACR,MAAS,IACT,IAAO,IACP,IAAO,IACP,MAAS,IACT,MAAS,IACT,MAAS,IACT,MAAS,IACT,OAAU,IACV,IAAO,IACP,IAAO,IACP,OAAU,IACV,MAAS,IACT,OAAU,IACV,OAAU,IACV,OAAU,IACV,KAAQ,IACR,KAAQ,IACR,YAAe,IACf,aAAgB,IAChB,kBAAqB,IACrB,cAAiB,IACjB,cAAiB,IACjB,IAAO,KACP,IAAO,KACP,MAAS,IACT,MAAS,KACT,MAAS,KACT,KAAQ,KACR,KAAQ,KACR,MAAS,IACT,MAAS,IACT,KAAQ,KACR,KAAQ,KACR,OAAU,KACV,OAAU,KACV,OAAU,KACV,OAAU,KACV,OAAU,IACV,QAAW,IACX,MAAS,IACT,MAAS,IACT,OAAU,IACV,MAAS,IACT,MAAS,IACT,OAAU,IACV,OAAU,IACV,IAAO,KACP,IAAO,KACP,KAAQ,KACR,KAAQ,KACR,GAAM,IACN,GAAM,IACN,OAAU,IACV,KAAQ,KACR,KAAQ,KACR,KAAQ,IACR,MAAS,IACT,KAAQ,IACR,MAAS,IACT,IAAO,KACP,IAAO,KACP,MAAS,IACT,MAAS,IACT,GAAM,IACN,GAAM,IACN,MAAS,IACT,MAAS,IACT,KAAQ,IACR,KAAQ,IACR,MAAS,IACT,KAAQ,KACR,KAAQ,KACR,OAAU,IACV,OAAU,IACV,MAAS,IACT,MAAS,IACT,KAAQ,KACR,KAAQ,KACR,OAAU,IACV,OAAU,IACV,MAAS,IACT,KAAQ,IACR,OAAU,IACV,OAAU,IACV,OAAU,IACV,KAAQ,IACR,KAAQ,IACR,MAAS,IACT,MAAS,IACT,IAAO,IACP,IAAO,IACP,IAAO,IACP,IAAO,KACP,IAAO,KACP,KAAQ,IACR,KAAQ,IACR,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,KAAQ,IACR,KAAQ,IACR,KAAQ,IACR,KAAQ,IACR,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,IAAO,IACP,IAAO,IACP,KAAQ,IACR,KAAQ,IACR,OAAU,IACV,eAAkB,IAClB,KAAQ,IACR,KAAQ,IACR,IAAO,KACP,IAAO,IACP,KAAQ,IACR,KAAQ,IACR,QAAW,IACX,KAAQ,KACR,KAAQ,IACR,KAAQ,KACR,KAAQ,KACR,IAAO,IACP,KAAQ,KAENC,EAAkB,CACpB,OAAU,IACV,OAAU,IACV,MAAS,IACT,MAAS,IACT,MAAS,IACT,MAAS,IACT,MAAS,IACT,OAAU,IACV,OAAU,IACV,IAAO,IACP,IAAO,IACP,MAAS,IACT,MAAS,IACT,OAAU,IACV,OAAU,IACV,KAAQ,IACR,KAAQ,IACR,OAAU,IACV,OAAU,IACV,OAAU,IACV,MAAS,IACT,KAAQ,IACR,KAAQ,IACR,KAAQ,IACR,OAAU,IACV,IAAO,IACP,OAAU,IACV,OAAU,IACV,OAAU,IACV,MAAS,IACT,MAAS,IACT,OAAU,IACV,OAAU,IACV,IAAO,IACP,IAAO,IACP,KAAQ,IACR,KAAQ,IACR,OAAU,IACV,OAAU,IACV,OAAU,IACV,GAAM,IACN,GAAM,IACN,OAAU,IACV,OAAU,IACV,MAAS,IACT,MAAS,IACT,MAAS,IACT,OAAU,IACV,OAAU,IACV,OAAU,IACV,KAAQ,IACR,KAAQ,IACR,MAAS,IACT,GAAM,IACN,GAAM,IACN,KAAQ,IACR,MAAS,IACT,OAAU,IACV,KAAQ,IACR,IAAO,IACP,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,MAAS,IACT,MAAS,IACT,OAAU,IACV,OAAU,IACV,KAAQ,IACR,KAAQ,IACR,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,KAAQ,IACR,KAAQ,IACR,KAAQ,IACR,OAAU,IACV,MAAS,IACT,KAAQ,IACR,KAAQ,IACR,MAAS,IACT,IAAO,IACP,IAAO,IACP,KAAQ,IACR,IAAO,IACP,KAAQ,IACR,KAAQ,IACR,KAAQ,IACR,MAAS,IACT,MAAS,IACT,MAAS,IACT,MAAS,IACT,OAAU,IACV,OAAU,IACV,MAAS,IACT,MAAS,IACT,OAAU,IACV,OAAU,IACV,IAAO,IACP,KAAQ,IACR,KAAQ,IACR,OAAU,IACV,OAAU,IACV,IAAO,IACP,KAAQ,KAENC,EAAmB,CACrB,EAAK,IACL,IAAO,IACP,IAAO,IACP,IAAO,IACP,IAAO,IACP,IAAO,IACP,IAAO,IACP,IAAO,IACP,IAAO,IACP,IAAO,IACP,IAAO,IACP,IAAO,IACP,IAAO,IACP,IAAO,IACP,IAAO,IACP,IAAO,IACP,IAAO,IACP,IAAO,IACP,IAAO,IACP,IAAO,IACP,IAAO,IACP,IAAO,IACP,IAAO,IACP,IAAO,IACP,IAAO,IACP,IAAO,IACP,IAAO,IACP,IAAO,KAELC,EAA6B,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,KAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,QAAS,QAAS,QAAS,SAIpxBr/D,EAAqBp/B,OAAOumB,aAE5B5tC,EADS,GACeA,eACxB8J,EAAM,SAAUnQ,EAAQk7E,GAC1B,OAAO70E,EAAezC,KAAK5D,EAAQk7E,IAYjCrpC,EAAQ,SAAU3oC,EAASioC,GAC7B,IAAKjoC,EACH,OAAOioC,EAET,IACIvyC,EADAK,EAAS,GAEb,IAAKL,KAAOuyC,EAGVlyC,EAAOL,GAAOuR,EAAIjH,EAAStK,GAAOsK,EAAQtK,GAAOuyC,EAASvyC,GAE5D,OAAOK,GAILmtH,EAAoB,SAAUhqE,EAAWiqE,GAC3C,IAAIz3E,EAAS,GACb,OAAIwN,GAAa,OAAUA,GAAa,OAAUA,EAAY,SAKxDiqE,GACFC,EAAW,6DAEN,KAELn8G,EAAI+7G,EAAkB9pE,IACpBiqE,GACFC,EAAW,kCAENJ,EAAiB9pE,KAEtBiqE,GA3CS,SAAUlzF,EAAOnvB,GAG9B,IAFA,IAAIiG,GAAS,EACTtD,EAASwsB,EAAMxsB,SACVsD,EAAQtD,GACf,GAAIwsB,EAAMlpB,IAAUjG,EAClB,OAAO,EAGX,OAAO,EAmCOsI,CAAS65G,EAA4B/pE,IACjDkqE,EAAW,kCAETlqE,EAAY,QAEdxN,GAAUkY,GADV1K,GAAa,SAC8B,GAAK,KAAQ,OACxDA,EAAY,MAAqB,KAAZA,GAEvBxN,GAAUkY,EAAmB1K,KAG3BmqE,EAAY,SAAUnqE,GACxB,MAAO,MAAQA,EAAU90C,SAAS,IAAIgY,cAAgB,KAEpDknG,EAAY,SAAUpqE,GACxB,MAAO,KAAOA,EAAY,KAExBkqE,EAAa,SAAUpmG,GACzB,MAAM3S,MAAM,gBAAkB2S,IAK5B8tB,EAAS,SAAUlxC,EAAQoG,IAC7BA,EAAU2oC,EAAM3oC,EAAS8qC,EAAO9qC,UACXmjH,QACPP,EAAyB18G,KAAKtM,IAC1CwpH,EAAW,wBAEb,IAAIG,EAAmBvjH,EAAQujH,iBAC3BC,EAAqBxjH,EAAQwjH,mBAC7BC,EAAqBzjH,EAAQyjH,mBAC7BC,EAAkB1jH,EAAQ2jH,QAAUL,EAAYD,EAChDO,EAAkB,SAAU59E,GAC9B,OAAO09E,EAAgB19E,EAAO6D,WAAW,KA8C3C,OA5CI05E,GAEF3pH,EAASA,EAAO/B,QAAQuqH,GAAqB,SAAUp8E,GAErD,OAAIw9E,GAAsBv8G,EAAIs7G,EAAWv8E,GAChC,IAAMu8E,EAAUv8E,GAAU,IAE5B49E,EAAgB59E,MAIrBw9E,IACF5pH,EAASA,EAAO/B,QAAQ,cAAe,UAAUA,QAAQ,cAAe,UAAUA,QAAQ,gBAAiB,YAGzG2rH,IAEF5pH,EAASA,EAAO/B,QAAQyqH,GAAqB,SAAU1oH,GAErD,MAAO,IAAM2oH,EAAU3oH,GAAU,SAI5B4pH,GAGJC,IACH7pH,EAASA,EAAO/B,QAAQ4qH,GAAa,SAAU7oH,GAC7C,MAAO,IAAM2oH,EAAU3oH,GAAU,QAOrCA,GAFAA,EAASA,EAAO/B,QAAQ,cAAe,UAAUA,QAAQ,cAAe,WAExDA,QAAQyqH,GAAqB,SAAU1oH,GAErD,MAAO,IAAM2oH,EAAU3oH,GAAU,QAEzB6pH,IAGV7pH,EAASA,EAAO/B,QAAQ4qH,EAAamB,IAEhChqH,EAEN/B,QAAQsqH,GAAoB,SAAU0B,GAErC,IAAIC,EAAOD,EAAGh6E,WAAW,GACrBk6E,EAAMF,EAAGh6E,WAAW,GAExB,OAAO65E,EAD2B,MAAjBI,EAAO,OAAkBC,EAAM,MAAS,UAK1DlsH,QAAQwqH,EAAmBuB,IAG9B94E,EAAO9qC,QAAU,CACf,oBAAsB,EACtB,kBAAoB,EACpB,QAAU,EACV,oBAAsB,EACtB,SAAW,GAEb,IAAIgkH,EAAS,SAAUx8E,EAAMxnC,GAE3B,IAAImjH,GADJnjH,EAAU2oC,EAAM3oC,EAASgkH,EAAOhkH,UACXmjH,OAIrB,OAHIA,GAAUR,EAAmBz8G,KAAKshC,IACpC47E,EAAW,iCAEN57E,EAAK3vC,QAAQgrH,GAAa,SAAUgB,EAAII,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,GACzE,IAAItrE,EACAurE,EACAC,EACAC,EACAvqD,EACArxD,EACJ,OAAIk7G,EAGKnB,EAFP1oD,EAAY6pD,GAIVC,GAIF9pD,EAAY8pD,GACZn7G,EAAOo7G,IACKnkH,EAAQ4kH,kBACdzB,GAAkB,KAARp6G,GACZq6G,EAAW,2CAENS,IAEHV,GACFC,EAAW,+DAGNL,EAAgB3oD,IAAcrxD,GAAQ,MAG7Cq7G,GAEFM,EAAYN,EACZK,EAAYJ,EACRlB,IAAWsB,GACbrB,EAAW,yDAEblqE,EAAYlO,SAAS05E,EAAW,IACzBxB,EAAkBhqE,EAAWiqE,IAElCmB,GAEFK,EAAYL,EACZG,EAAYF,EACRpB,IAAWsB,GACbrB,EAAW,yDAEblqE,EAAYlO,SAAS25E,EAAW,IACzBzB,EAAkBhqE,EAAWiqE,KAKlCA,GACFC,EAAW,+DAENS,OAIXG,EAAOhkH,QAAU,CACf,kBAAoB,EACpB,QAAU,GAEZ,IASI6kH,EAAK,CACP,QAAW,QACX,OAAU/5E,EACV,OAAUk5E,EACV,OAbW,SAAUpqH,GACrB,OAAOA,EAAO/B,QAAQ4qH,GAAa,SAAUoB,GAE3C,OAAOnB,EAAUmB,OAWnB,SAAYG,QAQX,KAFD,aACE,OAAOa,GACR,8BAx+HL,K,0DCFA,MAAMxvH,EAAM,EAAQ,OAAR,CAAsB,IAAM,KAAQ,KAAQ,KAAQ,OAChEA,EAAIC,SAAS,IAAM,KAAMA,SAAS,IAAM,KAAMA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OACtxCD,EAAIC,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAChZC,EAAOC,QAAUH,G,qBCHjB,MAAMA,EAAM,EAAQ,OAAR,GACZA,EAAIC,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OACnNC,EAAOC,QAAUH,G,qBCFjB,MAAMA,EAAM,EAAQ,OAAR,GACZA,EAAIC,SAAS,MAAS,OAASA,SAAS,MAAS,OACjDC,EAAOC,QAAUH,G,qBCFjB,MAAMA,EAAM,EAAQ,OAAR,GACZA,EAAIC,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OACvGC,EAAOC,QAAUH,G,qBCFjB,IAAI+kB,EAAQ,EAAQ,QAChBrV,EAAa,EAAQ,QAErBmhG,EAAc,kBAEd3mD,EAAW,SAAU8/B,EAASylC,GAChC,IAAIhkH,EAAQ0D,EAAKokB,EAAUy2D,IAC3B,OAAOv+E,GAASikH,GACZjkH,GAASkkH,IACTjgH,EAAW+/G,GAAa1qG,EAAM0qG,KAC5BA,IAGJl8F,EAAY22B,EAAS32B,UAAY,SAAUhvB,GAC7C,OAAO4qB,OAAO5qB,GAAQ/B,QAAQquG,EAAa,KAAKtqF,eAG9CpX,EAAO+6C,EAAS/6C,KAAO,GACvBwgH,EAASzlE,EAASylE,OAAS,IAC3BD,EAAWxlE,EAASwlE,SAAW,IAEnCxvH,EAAOC,QAAU+pD,G,qBCrBjB,IAAI3+C,EAAa,EAAQ,QACrBlK,EAAW,EAAQ,QAmCvBnB,EAAOC,QAVP,SAAoBsL,GAClB,IAAKpK,EAASoK,GACZ,OAAO,EAIT,IAAIqiC,EAAMviC,EAAWE,GACrB,MA5BY,qBA4BLqiC,GA3BI,8BA2BcA,GA7BZ,0BA6B6BA,GA1B7B,kBA0BgDA,I,qBCjC/D,MAAM9tC,EAAM,EAAQ,OAAR,GACZA,EAAIC,SAAS,MAAS,OACtBC,EAAOC,QAAUH,G,mBCkCjBE,EAAOC,QAJP,SAAYsL,EAAOk+C,GACjB,OAAOl+C,IAAUk+C,GAAUl+C,GAAUA,GAASk+C,GAAUA,I,uBCjC1D,IAAI1oD,EAAQ,EAAQ,QAChBw8C,EAAc,EAAQ,QA4D1Bv9C,EAAOC,QA5CP,SAAqBsB,EAAQC,EAAQi0E,EAAW/zE,GAC9C,IAAI8P,EAAQikE,EAAUvnE,OAClBA,EAASsD,EACTk+G,GAAgBhuH,EAEpB,GAAc,MAAVH,EACF,OAAQ2M,EAGV,IADA3M,EAAS6L,OAAO7L,GACTiQ,KAAS,CACd,IAAIvC,EAAOwmE,EAAUjkE,GACrB,GAAKk+G,GAAgBzgH,EAAK,GAClBA,EAAK,KAAO1N,EAAO0N,EAAK,MACtBA,EAAK,KAAM1N,GAEnB,OAAO,EAGX,OAASiQ,EAAQtD,GAAQ,CAEvB,IAAI/N,GADJ8O,EAAOwmE,EAAUjkE,IACF,GACXwrC,EAAWz7C,EAAOpB,GAClByB,EAAWqN,EAAK,GAEpB,GAAIygH,GAAgBzgH,EAAK,IACvB,QAAiBnN,IAAbk7C,KAA4B78C,KAAOoB,GACrC,OAAO,MAEJ,CACL,IAAII,EAAQ,IAAIZ,EAChB,GAAIW,EACF,IAAIlB,EAASkB,EAAWs7C,EAAUp7C,EAAUzB,EAAKoB,EAAQC,EAAQG,GAEnE,UAAiBG,IAAXtB,EACE+8C,EAAY37C,EAAUo7C,EAAUW,EAA+Cj8C,EAAYC,GAC3FnB,GAEN,OAAO,GAIb,OAAO,I,qBC1DT,MAAMV,EAAM,EAAQ,OAAR,GACZA,EAAIC,SAAS,MAAQ,OACrBC,EAAOC,QAAUH,G,qBCFjB,MAAMA,EAAM,EAAQ,OAAR,CAAsB,MAAQ,MAAQ,OAClDA,EAAIC,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QACnTC,EAAOC,QAAUH,G,qBCFKsX,MAKpBpX,EAAOC,SALamX,EAKW84B,EAAQ,UALR94B,EAAE3U,SAAY2U,G,qBCA/C,MAAMtX,EAAM,EAAQ,OAAR,CAAsB,OAClCA,EAAIC,SAAS,MAAS,OACtBC,EAAOC,QAAUH,G,uBCFjB,IAAIk7B,EAAc,EAAQ,QACtBgW,EAAiB,EAAQ,QACzB2+E,EAA0B,EAAQ,QAClCr/G,EAAW,EAAQ,QACnBygC,EAAgB,EAAQ,QAExB8Y,EAAatwC,UAEbq2G,EAAkBxiH,OAAOkF,eAEzB2+B,EAA4B7jC,OAAO0C,yBAOvC7P,EAAQgQ,EAAI+qB,EAAc20F,EAA0B,SAAwB/+G,EAAGmS,EAAG8sG,GAIhF,GAHAv/G,EAASM,GACTmS,EAAIguB,EAAchuB,GAClBzS,EAASu/G,GACQ,mBAANj/G,GAA0B,cAANmS,GAAqB,UAAW8sG,GARlD,aAQ4EA,IAAeA,EAAmB,SAAG,CAC5H,IAAI7rH,EAAUitC,EAA0BrgC,EAAGmS,GACvC/e,GAAWA,EAAgB,WAC7B4M,EAAEmS,GAAK8sG,EAAWtkH,MAClBskH,EAAa,CACXvgG,aAdW,iBAcmBugG,EAAaA,EAAuB,aAAI7rH,EAAoB,aAC1FoM,WAhBS,eAgBiBy/G,EAAaA,EAAqB,WAAI7rH,EAAkB,WAClFuP,UAAU,IAGd,OAAOq8G,EAAgBh/G,EAAGmS,EAAG8sG,IAC7BD,EAAkB,SAAwBh/G,EAAGmS,EAAG8sG,GAIlD,GAHAv/G,EAASM,GACTmS,EAAIguB,EAAchuB,GAClBzS,EAASu/G,GACL7+E,EAAgB,IAClB,OAAO4+E,EAAgBh/G,EAAGmS,EAAG8sG,GAC7B,MAAOvgH,IACT,GAAI,QAASugH,GAAc,QAASA,EAAY,MAAMhmE,EAAW,2BAEjE,MADI,UAAWgmE,IAAYj/G,EAAEmS,GAAK8sG,EAAWtkH,OACtCqF,I,qBCzCT,MAAM9Q,EAAM,EAAQ,OAAR,GACZA,EAAIC,SAAS,MAAS,OAASA,SAAS,MAAS,OACjDC,EAAOC,QAAUH,G,mBCFjB,SAASgwH,EAAWzrH,EAAQkwB,GAK1B,OAJAA,EAAOw7F,EAAiBx7F,IACdy7F,WACR3rH,EAASA,EAAOgiB,eAEXhiB,EAAO4c,OAAO,GAAG4F,cAAgBxiB,EAAOw/B,UAAU,GAI3D,IAAIosF,EAAQ,SACRC,EAAO,wCAsCX,SAASH,EAAiBx7F,GACxB,IAAKA,EACH,MAAO,CACLy7F,UAAU,GAGd,GAAoB,kBAATz7F,EACT,MAAO,CACLy7F,SAAUz7F,GAGd,GAAIA,EAAK47F,oBAAoBvzG,OAAQ,CACnC,MAAMwzG,EAAM77F,EAAK47F,SACjB57F,EAAK47F,SAAW,SAAUz1D,EAAM92C,GAC9B,OAAOA,EAAW,GAAKwsG,EAAIz/G,KAAK+pD,IAGpC,OAAOnmC,GAAQ,GAtDjBu7F,EAAWO,MAAQ,SAAUhsH,EAAQkwB,IACnCA,EAAOw7F,EAAiBx7F,IACdy7F,WACR3rH,EAASA,EAAOgiB,eAOlB,IALA,IAEIvL,EAFAw1G,EAAc,EACdC,EAAU,6CAEVn6E,EAAM,GACNrU,EAAQ,EACLjnB,EAAQy1G,EAAQlhH,KAAKhL,IAAS,CACnC,IAAImsH,EAAM11G,EAAM,GACZ21G,EAAWF,EAAQ9xG,UAAY+xG,EAAItiH,OACvC,IAAI+hH,EAAMt/G,KAAKtM,EAAOosH,MAAcP,EAAKv/G,KAAKtM,EAAOosH,EAAW,IAAhE,CAIA,IAAI/1D,EAAOr2D,EAAOw/B,UAAUysF,EAAaC,EAAQ9xG,UAAY+xG,EAAItiH,QAcjE,GAbI+hH,EAAMt/G,KAAK+pD,EAAK,MAElBtkB,GAAOskB,EAAK,GACZA,EAAOA,EAAK72B,UAAU,IAEK,mBAAlBtP,EAAK47F,UAA2B57F,EAAK47F,SAASz1D,EAAM34B,GAC7DqU,GAAOskB,EAEPtkB,GAAO05E,EAAWp1D,EAAMnmC,GAE1B6hB,GAAOo6E,EAEPzuF,KADAuuF,EAAcC,EAAQ9xG,YAEHpa,EAAO6J,OACxB,OAGJ,OAAOkoC,GAqBTp2C,EAAOC,QAAU6vH,G,qBCnEjB,MAAMhwH,EAAM,EAAQ,OAAR,GACZA,EAAIC,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAC9CC,EAAOC,QAAUH,G,qBCFjB,MAAMA,EAAM,EAAQ,OAAR,CAAsB,GAAM,IAAM,IAAM,KAAQ,KAAQ,KAAQ,OAC5EA,EAAIC,SAAS,EAAK,IAAKA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MACjEC,EAAOC,QAAUH,G,qBCFjB,MAAMA,EAAM,EAAQ,OAAR,GACZA,EAAIC,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAC5EC,EAAOC,QAAUH,G,qBCFjB,IAAI+/B,EAAgB,EAAQ,QACxB6wF,EAAa,EAAQ,QACrBztG,EAAc,EAAQ,QA6B1BjjB,EAAOC,QAJP,SAAgBsB,GACd,OAAO0hB,EAAY1hB,GAAUs+B,EAAct+B,GAAQ,GAAQmvH,EAAWnvH,K,mBCJxEvB,EAAOC,QAjBP,SAAuB+0D,GACrB,OAAO,SAASzzD,EAAQ4sD,EAAUmgC,GAMhC,IALA,IAAI98E,GAAS,EACTm/G,EAAWvjH,OAAO7L,GAClBmD,EAAQ4pF,EAAS/sF,GACjB2M,EAASxJ,EAAMwJ,OAEZA,KAAU,CACf,IAAI/N,EAAMuE,EAAMswD,EAAY9mD,IAAWsD,GACvC,IAA+C,IAA3C28C,EAASwiE,EAASxwH,GAAMA,EAAKwwH,GAC/B,MAGJ,OAAOpvH,K,qBCpBX,MAAMzB,EAAM,EAAQ,OAAR,CAAsB,KAAO,MACzCA,EAAIC,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAC5EC,EAAOC,QAAUH,G,sBCFjB,kBAAiB,EAAQ,QAGrBu4B,EAA4Cp4B,IAAYA,EAAQq4B,UAAYr4B,EAG5Es4B,EAAaF,GAAgC,iBAAVr4B,GAAsBA,IAAWA,EAAOs4B,UAAYt4B,EAMvF4wH,EAHgBr4F,GAAcA,EAAWt4B,UAAYo4B,GAGtBsyB,EAAWgL,QAG1C1kD,EAAY,WACd,IAEE,IAAI6jF,EAAQv8D,GAAcA,EAAW2X,SAAW3X,EAAW2X,QAAQ,QAAQ4kD,MAE3E,OAAIA,GAKG87B,GAAeA,EAAYC,SAAWD,EAAYC,QAAQ,QACjE,MAAO7nH,KAXI,GAcfhJ,EAAOC,QAAUgR,I,8CC7BjB,MAAMnR,EAAM,EAAQ,OAAR,CAAsB,KAAO,KAAO,KAAO,OACvDA,EAAIC,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,MAAS,OACjUC,EAAOC,QAAUH,G,qBCFjB,IACIiK,EADU,EAAQ,OACXoB,CAAQ,MAAO,EAAQ,SAElCpB,EAAKqB,YAAc,EAAQ,QAC3BpL,EAAOC,QAAU8J,G,uBCJjB,IAAIm/C,EAAK,EAAQ,QACbjmC,EAAc,EAAQ,QACtBsC,EAAU,EAAQ,QAClBpkB,EAAW,EAAQ,QA0BvBnB,EAAOC,QAdP,SAAwBsL,EAAOiG,EAAOjQ,GACpC,IAAKJ,EAASI,GACZ,OAAO,EAET,IAAI8d,SAAc7N,EAClB,SAAY,UAAR6N,EACK4D,EAAY1hB,IAAWgkB,EAAQ/T,EAAOjQ,EAAO2M,QACrC,UAARmR,GAAoB7N,KAASjQ,IAE7B2nD,EAAG3nD,EAAOiQ,GAAQjG,K,qBCxB7B,IAAIyY,EAAU,EAAQ,QAgCtBhkB,EAAOC,QALP,SAAasB,EAAQY,EAAM8yB,GACzB,IAAIz0B,EAAmB,MAAVe,OAAiBO,EAAYkiB,EAAQziB,EAAQY,GAC1D,YAAkBL,IAAXtB,EAAuBy0B,EAAez0B,I,qBC7B/C,MAAMV,EAAM,EAAQ,OAAR,CAAsB,GAAM,GAAM,KAAQ,KAAQ,OAC9DA,EAAIC,SAAS,GAAM,IAAMA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAC5HC,EAAOC,QAAUH,G,uBCFjB,MAAMA,EAAM,EAAQ,OAAR,CAAsB,OAClCA,EAAIC,SAAS,MAAS,OACtBC,EAAOC,QAAUH,G,qBCFjB,MAAMA,EAAM,EAAQ,OAAR,CAAsB,MAClCA,EAAIC,SAAS,MAAS,OAASA,SAAS,MAAS,OACjDC,EAAOC,QAAUH,G,qBCFjB,MAAMA,EAAM,EAAQ,OAAR,CAAsB,OAClCA,EAAIC,SAAS,MAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAC5EC,EAAOC,QAAUH,G,qBCFjB,MAAMA,EAAM,EAAQ,OAAR,GACZA,EAAIC,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAC5EC,EAAOC,QAAUH,G,qBCFjB,MAAMA,EAAM,EAAQ,OAAR,GACZA,EAAIC,SAAS,OAAS,QACtBC,EAAOC,QAAUH,G,uBCFjB,MAAMA,EAAM,EAAQ,OAAR,GACZA,EAAIC,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAC9CC,EAAOC,QAAUH,G,qBCFjB,IACIiK,EADU,EAAQ,OACXoB,CAAQ,YAAa,EAAQ,SAExCpB,EAAKqB,YAAc,EAAQ,QAC3BpL,EAAOC,QAAU8J,G,qBCJjB,IAGI4B,EAHO,EAAQ,QAGDA,OAElB3L,EAAOC,QAAU0L,G,qBCLjB,IAAIwuD,EAAkB,EAAQ,QAC1B22D,EAAa,EAAQ,QACrB/uC,EAAe,EAAQ,QAwC3B/hF,EAAOC,QAVP,SAAmBsB,EAAQ4sD,GACzB,IAAI3tD,EAAS,GAMb,OALA2tD,EAAW4zB,EAAa5zB,EAAU,GAElC2iE,EAAWvvH,GAAQ,SAASgK,EAAOpL,EAAKoB,GACtC44D,EAAgB35D,EAAQL,EAAKguD,EAAS5iD,EAAOpL,EAAKoB,OAE7Cf,I,kCCrCT,IAAIuB,EAAyBmuC,EAAQ,QAEvBA,EAAQ,QAEKnuC,EAAuBmuC,EAAQ,U,qBCgB1D,MAAM,cAAElP,GAAkBkP,EAAQ,QAElClwC,EAAOC,QAAU+gC,EACjBhhC,EAAOC,QAAQwC,QAAUu+B,G,qBCzBzB,MAAMlhC,EAAM,EAAQ,OAAR,GACZA,EAAIC,SAAS,MAAS,OAASA,SAAS,MAAS,OACjDC,EAAOC,QAAUH,G,qBCFjB,MAAMA,EAAM,EAAQ,OAAR,GACZA,EAAIC,SAAS,IAAO,MAAOA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAS,OAC/FC,EAAOC,QAAUH,G,uBCFjB,IAAIktE,EAAY,EAAQ,QACpB/hE,EAAe,EAAQ,QACvBsvD,EAAa,EAAQ,QACrBF,EAAY,EAAQ,QAYpB/gB,EATmBlsC,OAAO+S,sBASqB,SAAS5e,GAE1D,IADA,IAAIf,EAAS,GACNe,GACLyrE,EAAUxsE,EAAQ+5D,EAAWh5D,IAC7BA,EAAS0J,EAAa1J,GAExB,OAAOf,GAN8B65D,EASvCr6D,EAAOC,QAAUq5C,G,qBCxBjB,IAAIy3E,EAAc,EAAQ,QACtBpiH,EAAW,EAAQ,QAIvB3O,EAAOC,QAAU,SAAUyP,GACzB,IAAIvP,EAAM4wH,EAAYrhH,EAAU,UAChC,OAAOf,EAASxO,GAAOA,EAAMA,EAAM,K,qBCPrC,MAAML,EAAM,EAAQ,OAAR,CAAsB,MAClCE,EAAOC,QAAUH,G,qBCDjB,MAAMA,EAAM,EAAQ,OAAR,GACZA,EAAIC,SAAS,MAAS,OACtBC,EAAOC,QAAUH,G,qBCFjB,MAAMA,EAAM,EAAQ,OAAR,CAAsB,KAAQ,MAC1CA,EAAIC,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QACr1BC,EAAOC,QAAUH,G,qBCFjB,IACIiK,EADU,EAAQ,OACXoB,CAAQ,kBAAmB,EAAQ,SAE9CpB,EAAKqB,YAAc,EAAQ,QAC3BpL,EAAOC,QAAU8J,G,qBCJjB,MAAMjK,EAAM,EAAQ,OAAR,CAAsB,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAO,IAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAQ,KAAQ,KAAQ,KAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,QACtiBA,EAAIC,SAAS,GAAM,IAAMA,SAAS,GAAM,IAAMA,SAAS,GAAM,IAAMA,SAAS,GAAM,IAAMA,SAAS,GAAM,IAAMA,SAAS,IAAM,KAAMA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OACnsCD,EAAIC,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAC5xCD,EAAIC,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAC3aC,EAAOC,QAAUH,G,+NCEJ64B,EAAe,QAAG,IAAAA,UAAAvrB,OAAAurB,IAAAvrB,OAAAiiB,aAAAsJ,KAAAvrB,OAAAhH,UAAAwB,eAAAzC,KAAAwzB,EAAA,eAAAvrB,OAAAkF,eAAAqmB,EAAA,cAAArJ,cAAA,EAAA/jB,MAAA,CAAAiS,KAAA,eAAAxE,SAAA,uCAC/B,MAAM4f,EAAc,CAClBD,gBAEIE,EAAYC,IACH,SAASC,EAAUx1B,GAG/B,IAHgC,WACjCusB,GAEDvsB,EADImB,EAAKs0B,YAAAz1B,EAAA01B,GAER,OAAOC,YAACL,EAAS7O,YAAA,GAAK4O,EAAiBl0B,EAAK,CAAEorB,WAAYA,EAAYqJ,QAAQ,cAG5ED,YAAA,8DAAyDA,YAAA,KAAGE,WAAW,IACnE,KAAQ,mBACPF,YAAA,cAAYE,WAAW,KAAG,SAA0B,KACzDF,YAAA,OACE,UAAa,yCACb,gBAAiB,QAChBA,YAAA,QAAME,WAAW,MAChB,UAAa,yBACZF,YAAA,QAAME,WAAW,OAChB,UAAa,yBACZF,YAAA,QAAME,WAAW,OAChB,UAAa,QAAM,qCAE3BF,YAAA,sFAAiFA,YAAA,MAAIE,WAAW,MAAS,0EACrCF,YAAA,cAAYE,WAAW,KAAG,gBAA8B,KAE5HF,YAAA,SACE,UAAa,2BAAyB,glCA6B3C,IAAAH,UAAA3rB,OAAA2rB,IAAA3rB,OAAAiiB,aAAA0J,KAAA3rB,OAAAhH,UAAAwB,eAAAzC,KAAA4zB,EAAA,eAAA3rB,OAAAkF,eAAAymB,EAAA,cAAAzJ,cAAA,EAAA/jB,MAAA,CAAAiS,KAAA,aAAAxE,SAAA,uCAED+f,EAAWM,gBAAiB,G,qBClE5B,MAAMv5B,EAAM,EAAQ,OAAR,CAAsB,IAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QACvpCA,EAAIC,SAAS,GAAM,KAAMA,SAAS,IAAM,KAAMA,SAAS,IAAM,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAC7oCD,EAAIC,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAClpCD,EAAIC,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAClpCD,EAAIC,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,KAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MACjvCD,EAAIC,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MACvvCD,EAAIC,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OACvvCD,EAAIC,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OACvvCD,EAAIC,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,KAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OACpzCD,EAAIC,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAC51CD,EAAIC,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAC51CD,EAAIC,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAC51CD,EAAIC,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAC51CD,EAAIC,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QA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,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ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MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAClpCD,EAAIC,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MACzpCD,EAAIC,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,KAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MACvvCD,EAAIC,SAAS,KAAQ,MAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OACvvCD,EAAIC,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAClyCD,EAAIC,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAC51CD,EAAIC,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAC51CD,EAAIC,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QACxhCC,EAAOC,QAAUH,G,qBCTjB,MAAMA,EAAM,EAAQ,OAAR,GACZA,EAAIC,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,MAAQ,OAC1FC,EAAOC,QAAUH,G,qBCFjB,MAAMA,EAAM,EAAQ,OAAR,GACZA,EAAIC,SAAS,MAAS,OAASA,SAAS,MAAS,OACjDC,EAAOC,QAAUH,G,qBCFjB,MAAMA,EAAM,EAAQ,OAAR,CAAsB,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAA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O,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAA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AAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,M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SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OACtwCD,EAAIC,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAC51CD,EAAIC,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,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","file":"app-48d0c1584627dc723f2b.js","sourcesContent":["const set = require('regenerate')(0x2D, 0x58A, 0x5BE, 0x1400, 0x1806, 0x2053, 0x207B, 0x208B, 0x2212, 0x2E17, 0x2E1A, 0x2E40, 0x2E5D, 0x301C, 0x3030, 0x30A0, 0xFE58, 0xFE63, 0xFF0D, 0x10EAD);\nset.addRange(0x2010, 0x2015).addRange(0x2E3A, 0x2E3B).addRange(0xFE31, 0xFE32);\nmodule.exports = set;","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n","var Uint8Array = require('./_Uint8Array');\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nmodule.exports = cloneArrayBuffer;\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar $RangeError = RangeError;\n\nmodule.exports = function (it) {\n var result = toIntegerOrInfinity(it);\n if (result < 0) throw $RangeError(\"The argument can't be less than 0\");\n return result;\n};\n","var Stack = require('./_Stack'),\n assignMergeValue = require('./_assignMergeValue'),\n baseFor = require('./_baseFor'),\n baseMergeDeep = require('./_baseMergeDeep'),\n isObject = require('./isObject'),\n keysIn = require('./keysIn'),\n safeGet = require('./_safeGet');\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n stack || (stack = new Stack);\n if (isObject(srcValue)) {\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\n\nmodule.exports = baseMerge;\n","const set = require('regenerate')();\nset.addRange(0x112B0, 0x112EA).addRange(0x112F0, 0x112F9);\nmodule.exports = set;","const set = require('regenerate')(0xB9C, 0xBD0, 0xBD7, 0x1CDA, 0xA8F3, 0x11301, 0x11303, 0x11FFF);\nset.addRange(0x951, 0x952).addRange(0x964, 0x965).addRange(0xB82, 0xB83).addRange(0xB85, 0xB8A).addRange(0xB8E, 0xB90).addRange(0xB92, 0xB95).addRange(0xB99, 0xB9A).addRange(0xB9E, 0xB9F).addRange(0xBA3, 0xBA4).addRange(0xBA8, 0xBAA).addRange(0xBAE, 0xBB9).addRange(0xBBE, 0xBC2).addRange(0xBC6, 0xBC8).addRange(0xBCA, 0xBCD).addRange(0xBE6, 0xBFA).addRange(0x1133B, 0x1133C).addRange(0x11FC0, 0x11FF1);\nmodule.exports = set;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.withPrefix = withPrefix;\nexports.withAssetPrefix = withAssetPrefix;\nexports.navigateTo = exports.replace = exports.push = exports.navigate = exports.default = void 0;\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _router = require(\"@reach/router\");\n\nvar _utils = require(\"@reach/router/lib/utils\");\n\nvar _parsePath = require(\"./parse-path\");\n\nexports.parsePath = _parsePath.parsePath;\n\nvar isAbsolutePath = function isAbsolutePath(path) {\n return path === null || path === void 0 ? void 0 : path.startsWith(\"/\");\n};\n\nfunction withPrefix(path, prefix) {\n var _ref, _prefix;\n\n if (prefix === void 0) {\n prefix = getGlobalBasePrefix();\n }\n\n if (!isLocalLink(path)) {\n return path;\n }\n\n if (path.startsWith(\"./\") || path.startsWith(\"../\")) {\n return path;\n }\n\n var base = (_ref = (_prefix = prefix) !== null && _prefix !== void 0 ? _prefix : getGlobalPathPrefix()) !== null && _ref !== void 0 ? _ref : \"/\";\n return \"\" + ((base === null || base === void 0 ? void 0 : base.endsWith(\"/\")) ? base.slice(0, -1) : base) + (path.startsWith(\"/\") ? path : \"/\" + path);\n} // These global values are wrapped in typeof clauses to ensure the values exist.\n// This is especially problematic in unit testing of this component.\n\n\nvar getGlobalPathPrefix = function getGlobalPathPrefix() {\n return process.env.NODE_ENV !== \"production\" ? typeof __PATH_PREFIX__ !== \"undefined\" ? __PATH_PREFIX__ : undefined : __PATH_PREFIX__;\n};\n\nvar getGlobalBasePrefix = function getGlobalBasePrefix() {\n return process.env.NODE_ENV !== \"production\" ? typeof __BASE_PATH__ !== \"undefined\" ? __BASE_PATH__ : undefined : __BASE_PATH__;\n};\n\nvar isLocalLink = function isLocalLink(path) {\n return path && !path.startsWith(\"http://\") && !path.startsWith(\"https://\") && !path.startsWith(\"//\");\n};\n\nfunction withAssetPrefix(path) {\n return withPrefix(path, getGlobalPathPrefix());\n}\n\nfunction absolutify(path, current) {\n // If it's already absolute, return as-is\n if (isAbsolutePath(path)) {\n return path;\n }\n\n return (0, _utils.resolve)(path, current);\n}\n\nvar rewriteLinkPath = function rewriteLinkPath(path, relativeTo) {\n if (typeof path === \"number\") {\n return path;\n }\n\n if (!isLocalLink(path)) {\n return path;\n }\n\n return isAbsolutePath(path) ? withPrefix(path) : absolutify(path, relativeTo);\n};\n\nvar NavLinkPropTypes = {\n activeClassName: _propTypes.default.string,\n activeStyle: _propTypes.default.object,\n partiallyActive: _propTypes.default.bool\n}; // Set up IntersectionObserver\n\nvar createIntersectionObserver = function createIntersectionObserver(el, cb) {\n var io = new window.IntersectionObserver(function (entries) {\n entries.forEach(function (entry) {\n if (el === entry.target) {\n // Check if element is within viewport, remove listener, destroy observer, and run link callback.\n // MSEdge doesn't currently support isIntersecting, so also test for an intersectionRatio > 0\n if (entry.isIntersecting || entry.intersectionRatio > 0) {\n io.unobserve(el);\n io.disconnect();\n cb();\n }\n }\n });\n }); // Add element to the observer\n\n io.observe(el);\n return {\n instance: io,\n el: el\n };\n};\n\nfunction GatsbyLinkLocationWrapper(props) {\n return /*#__PURE__*/_react.default.createElement(_router.Location, null, function (_ref2) {\n var location = _ref2.location;\n return /*#__PURE__*/_react.default.createElement(GatsbyLink, (0, _extends2.default)({}, props, {\n _location: location\n }));\n });\n}\n\nvar GatsbyLink = /*#__PURE__*/function (_React$Component) {\n (0, _inheritsLoose2.default)(GatsbyLink, _React$Component);\n\n function GatsbyLink(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this; // Default to no support for IntersectionObserver\n\n _this.defaultGetProps = function (_ref3) {\n var isPartiallyCurrent = _ref3.isPartiallyCurrent,\n isCurrent = _ref3.isCurrent;\n\n if (_this.props.partiallyActive ? isPartiallyCurrent : isCurrent) {\n return {\n className: [_this.props.className, _this.props.activeClassName].filter(Boolean).join(\" \"),\n style: (0, _extends2.default)({}, _this.props.style, _this.props.activeStyle)\n };\n }\n\n return null;\n };\n\n var IOSupported = false;\n\n if (typeof window !== \"undefined\" && window.IntersectionObserver) {\n IOSupported = true;\n }\n\n _this.state = {\n IOSupported: IOSupported\n };\n _this.handleRef = _this.handleRef.bind((0, _assertThisInitialized2.default)(_this));\n return _this;\n }\n\n var _proto = GatsbyLink.prototype;\n\n _proto._prefetch = function _prefetch() {\n var currentPath = window.location.pathname; // reach router should have the correct state\n\n if (this.props._location && this.props._location.pathname) {\n currentPath = this.props._location.pathname;\n }\n\n var rewrittenPath = rewriteLinkPath(this.props.to, currentPath);\n var newPathName = (0, _parsePath.parsePath)(rewrittenPath).pathname; // Prefech is used to speed up next navigations. When you use it on the current navigation,\n // there could be a race-condition where Chrome uses the stale data instead of waiting for the network to complete\n\n if (currentPath !== newPathName) {\n ___loader.enqueue(newPathName);\n }\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n // Preserve non IO functionality if no support\n if (this.props.to !== prevProps.to && !this.state.IOSupported) {\n this._prefetch();\n }\n };\n\n _proto.componentDidMount = function componentDidMount() {\n // Preserve non IO functionality if no support\n if (!this.state.IOSupported) {\n this._prefetch();\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (!this.io) {\n return;\n }\n\n var _this$io = this.io,\n instance = _this$io.instance,\n el = _this$io.el;\n instance.unobserve(el);\n instance.disconnect();\n };\n\n _proto.handleRef = function handleRef(ref) {\n var _this2 = this;\n\n if (this.props.innerRef && this.props.innerRef.hasOwnProperty(\"current\")) {\n this.props.innerRef.current = ref;\n } else if (this.props.innerRef) {\n this.props.innerRef(ref);\n }\n\n if (this.state.IOSupported && ref) {\n // If IO supported and element reference found, setup Observer functionality\n this.io = createIntersectionObserver(ref, function () {\n _this2._prefetch();\n });\n }\n };\n\n _proto.render = function render() {\n var _this3 = this;\n\n var _this$props = this.props,\n to = _this$props.to,\n _this$props$getProps = _this$props.getProps,\n getProps = _this$props$getProps === void 0 ? this.defaultGetProps : _this$props$getProps,\n _onClick = _this$props.onClick,\n _onMouseEnter = _this$props.onMouseEnter,\n $activeClassName = _this$props.activeClassName,\n $activeStyle = _this$props.activeStyle,\n $innerRef = _this$props.innerRef,\n partiallyActive = _this$props.partiallyActive,\n state = _this$props.state,\n replace = _this$props.replace,\n _location = _this$props._location,\n rest = (0, _objectWithoutPropertiesLoose2.default)(_this$props, [\"to\", \"getProps\", \"onClick\", \"onMouseEnter\", \"activeClassName\", \"activeStyle\", \"innerRef\", \"partiallyActive\", \"state\", \"replace\", \"_location\"]);\n\n if (process.env.NODE_ENV !== \"production\" && !isLocalLink(to)) {\n console.warn(\"External link \" + to + \" was detected in a Link component. Use the Link component only for internal links. See: https://gatsby.dev/internal-links\");\n }\n\n var prefixedTo = rewriteLinkPath(to, _location.pathname);\n\n if (!isLocalLink(prefixedTo)) {\n return /*#__PURE__*/_react.default.createElement(\"a\", (0, _extends2.default)({\n href: prefixedTo\n }, rest));\n }\n\n return /*#__PURE__*/_react.default.createElement(_router.Link, (0, _extends2.default)({\n to: prefixedTo,\n state: state,\n getProps: getProps,\n innerRef: this.handleRef,\n onMouseEnter: function onMouseEnter(e) {\n if (_onMouseEnter) {\n _onMouseEnter(e);\n }\n\n ___loader.hovering((0, _parsePath.parsePath)(prefixedTo).pathname);\n },\n onClick: function onClick(e) {\n if (_onClick) {\n _onClick(e);\n }\n\n if (e.button === 0 && // ignore right clicks\n !_this3.props.target && // let browser handle \"target=_blank\"\n !e.defaultPrevented && // onClick prevented default\n !e.metaKey && // ignore clicks with modifier keys...\n !e.altKey && !e.ctrlKey && !e.shiftKey) {\n e.preventDefault();\n var shouldReplace = replace;\n\n var isCurrent = encodeURI(prefixedTo) === _location.pathname;\n\n if (typeof replace !== \"boolean\" && isCurrent) {\n shouldReplace = true;\n } // Make sure the necessary scripts and data are\n // loaded before continuing.\n\n\n window.___navigate(prefixedTo, {\n state: state,\n replace: shouldReplace\n });\n }\n\n return true;\n }\n }, rest));\n };\n\n return GatsbyLink;\n}(_react.default.Component);\n\nGatsbyLink.propTypes = (0, _extends2.default)({}, NavLinkPropTypes, {\n onClick: _propTypes.default.func,\n to: _propTypes.default.string.isRequired,\n replace: _propTypes.default.bool,\n state: _propTypes.default.object\n});\n\nvar showDeprecationWarning = function showDeprecationWarning(functionName, altFunctionName, version) {\n return console.warn(\"The \\\"\" + functionName + \"\\\" method is now deprecated and will be removed in Gatsby v\" + version + \". Please use \\\"\" + altFunctionName + \"\\\" instead.\");\n};\n\nvar _default = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n return /*#__PURE__*/_react.default.createElement(GatsbyLinkLocationWrapper, (0, _extends2.default)({\n innerRef: ref\n }, props));\n});\n\nexports.default = _default;\n\nvar navigate = function navigate(to, options) {\n window.___navigate(rewriteLinkPath(to, window.location.pathname), options);\n};\n\nexports.navigate = navigate;\n\nvar push = function push(to) {\n showDeprecationWarning(\"push\", \"navigate\", 3);\n\n window.___push(rewriteLinkPath(to, window.location.pathname));\n};\n\nexports.push = push;\n\nvar replace = function replace(to) {\n showDeprecationWarning(\"replace\", \"navigate\", 3);\n\n window.___replace(rewriteLinkPath(to, window.location.pathname));\n}; // TODO: Remove navigateTo for Gatsby v3\n\n\nexports.replace = replace;\n\nvar navigateTo = function navigateTo(to) {\n showDeprecationWarning(\"navigateTo\", \"navigate\", 3);\n return push(to);\n};\n\nexports.navigateTo = navigateTo;","var baseProperty = require('./_baseProperty'),\n basePropertyDeep = require('./_basePropertyDeep'),\n isKey = require('./_isKey'),\n toKey = require('./_toKey');\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nmodule.exports = property;\n","const set = require('regenerate')(0x261D, 0x26F9, 0x1F385, 0x1F3C7, 0x1F47C, 0x1F48F, 0x1F491, 0x1F4AA, 0x1F57A, 0x1F590, 0x1F6A3, 0x1F6C0, 0x1F6CC, 0x1F90C, 0x1F90F, 0x1F926, 0x1F977, 0x1F9BB);\nset.addRange(0x270A, 0x270D).addRange(0x1F3C2, 0x1F3C4).addRange(0x1F3CA, 0x1F3CC).addRange(0x1F442, 0x1F443).addRange(0x1F446, 0x1F450).addRange(0x1F466, 0x1F478).addRange(0x1F481, 0x1F483).addRange(0x1F485, 0x1F487).addRange(0x1F574, 0x1F575).addRange(0x1F595, 0x1F596).addRange(0x1F645, 0x1F647).addRange(0x1F64B, 0x1F64F).addRange(0x1F6B4, 0x1F6B6).addRange(0x1F918, 0x1F91F).addRange(0x1F930, 0x1F939).addRange(0x1F93C, 0x1F93E).addRange(0x1F9B5, 0x1F9B6).addRange(0x1F9B8, 0x1F9B9).addRange(0x1F9CD, 0x1F9CF).addRange(0x1F9D1, 0x1F9DD).addRange(0x1FAC3, 0x1FAC5).addRange(0x1FAF0, 0x1FAF6);\nmodule.exports = set;","var baseCreate = require('./_baseCreate'),\n getPrototype = require('./_getPrototype'),\n isPrototype = require('./_isPrototype');\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nmodule.exports = initCloneObject;\n","var convert = require('./convert'),\n func = convert('throttle', require('../throttle'));\n\nfunc.placeholder = require('./placeholder');\nmodule.exports = func;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","const set = require('regenerate')();\nset.addRange(0x964, 0x965).addRange(0x11D60, 0x11D65).addRange(0x11D67, 0x11D68).addRange(0x11D6A, 0x11D8E).addRange(0x11D90, 0x11D91).addRange(0x11D93, 0x11D98).addRange(0x11DA0, 0x11DA9);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x10D00, 0x10D27).addRange(0x10D30, 0x10D39);\nmodule.exports = set;","const set = require('regenerate')(0xAA, 0xB5, 0xBA, 0x2EC, 0x2EE, 0x37F, 0x386, 0x38C, 0x559, 0x6D5, 0x6FF, 0x710, 0x7B1, 0x7FA, 0x81A, 0x824, 0x828, 0x93D, 0x950, 0x9B2, 0x9BD, 0x9CE, 0x9FC, 0xA5E, 0xABD, 0xAD0, 0xAF9, 0xB3D, 0xB71, 0xB83, 0xB9C, 0xBD0, 0xC3D, 0xC5D, 0xC80, 0xCBD, 0xD3D, 0xD4E, 0xDBD, 0xE84, 0xEA5, 0xEBD, 0xEC6, 0xF00, 0x103F, 0x1061, 0x108E, 0x10C7, 0x10CD, 0x1258, 0x12C0, 0x17D7, 0x17DC, 0x18AA, 0x1AA7, 0x1CFA, 0x1F59, 0x1F5B, 0x1F5D, 0x1FBE, 0x2071, 0x207F, 0x2102, 0x2107, 0x2115, 0x2124, 0x2126, 0x2128, 0x214E, 0x2D27, 0x2D2D, 0x2D6F, 0xA7D3, 0xA8FB, 0xA9CF, 0xAA7A, 0xAAB1, 0xAAC0, 0xAAC2, 0xFB1D, 0xFB3E, 0x10808, 0x1083C, 0x10A00, 0x10F27, 0x11075, 0x11144, 0x11147, 0x11176, 0x111DA, 0x111DC, 0x11288, 0x1133D, 0x11350, 0x114C7, 0x11644, 0x116B8, 0x11909, 0x1193F, 0x11941, 0x119E1, 0x119E3, 0x11A00, 0x11A3A, 0x11A50, 0x11A9D, 0x11C40, 0x11D46, 0x11D98, 0x11FB0, 0x16F50, 0x16FE3, 0x1D4A2, 0x1D4BB, 0x1D546, 0x1E14E, 0x1E94B, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E);\nset.addRange(0x41, 0x5A).addRange(0x61, 0x7A).addRange(0xC0, 0xD6).addRange(0xD8, 0xF6).addRange(0xF8, 0x2C1).addRange(0x2C6, 0x2D1).addRange(0x2E0, 0x2E4).addRange(0x370, 0x374).addRange(0x376, 0x377).addRange(0x37A, 0x37D).addRange(0x388, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x3F5).addRange(0x3F7, 0x481).addRange(0x48A, 0x52F).addRange(0x531, 0x556).addRange(0x560, 0x588).addRange(0x5D0, 0x5EA).addRange(0x5EF, 0x5F2).addRange(0x620, 0x64A).addRange(0x66E, 0x66F).addRange(0x671, 0x6D3).addRange(0x6E5, 0x6E6).addRange(0x6EE, 0x6EF).addRange(0x6FA, 0x6FC).addRange(0x712, 0x72F).addRange(0x74D, 0x7A5).addRange(0x7CA, 0x7EA).addRange(0x7F4, 0x7F5).addRange(0x800, 0x815).addRange(0x840, 0x858).addRange(0x860, 0x86A).addRange(0x870, 0x887).addRange(0x889, 0x88E).addRange(0x8A0, 0x8C9).addRange(0x904, 0x939).addRange(0x958, 0x961).addRange(0x971, 0x980).addRange(0x985, 0x98C).addRange(0x98F, 0x990).addRange(0x993, 0x9A8).addRange(0x9AA, 0x9B0).addRange(0x9B6, 0x9B9).addRange(0x9DC, 0x9DD).addRange(0x9DF, 0x9E1).addRange(0x9F0, 0x9F1).addRange(0xA05, 0xA0A).addRange(0xA0F, 0xA10).addRange(0xA13, 0xA28).addRange(0xA2A, 0xA30).addRange(0xA32, 0xA33);\nset.addRange(0xA35, 0xA36).addRange(0xA38, 0xA39).addRange(0xA59, 0xA5C).addRange(0xA72, 0xA74).addRange(0xA85, 0xA8D).addRange(0xA8F, 0xA91).addRange(0xA93, 0xAA8).addRange(0xAAA, 0xAB0).addRange(0xAB2, 0xAB3).addRange(0xAB5, 0xAB9).addRange(0xAE0, 0xAE1).addRange(0xB05, 0xB0C).addRange(0xB0F, 0xB10).addRange(0xB13, 0xB28).addRange(0xB2A, 0xB30).addRange(0xB32, 0xB33).addRange(0xB35, 0xB39).addRange(0xB5C, 0xB5D).addRange(0xB5F, 0xB61).addRange(0xB85, 0xB8A).addRange(0xB8E, 0xB90).addRange(0xB92, 0xB95).addRange(0xB99, 0xB9A).addRange(0xB9E, 0xB9F).addRange(0xBA3, 0xBA4).addRange(0xBA8, 0xBAA).addRange(0xBAE, 0xBB9).addRange(0xC05, 0xC0C).addRange(0xC0E, 0xC10).addRange(0xC12, 0xC28).addRange(0xC2A, 0xC39).addRange(0xC58, 0xC5A).addRange(0xC60, 0xC61).addRange(0xC85, 0xC8C).addRange(0xC8E, 0xC90).addRange(0xC92, 0xCA8).addRange(0xCAA, 0xCB3).addRange(0xCB5, 0xCB9).addRange(0xCDD, 0xCDE).addRange(0xCE0, 0xCE1).addRange(0xCF1, 0xCF2).addRange(0xD04, 0xD0C).addRange(0xD0E, 0xD10).addRange(0xD12, 0xD3A).addRange(0xD54, 0xD56).addRange(0xD5F, 0xD61).addRange(0xD7A, 0xD7F).addRange(0xD85, 0xD96).addRange(0xD9A, 0xDB1).addRange(0xDB3, 0xDBB).addRange(0xDC0, 0xDC6);\nset.addRange(0xE01, 0xE30).addRange(0xE32, 0xE33).addRange(0xE40, 0xE46).addRange(0xE81, 0xE82).addRange(0xE86, 0xE8A).addRange(0xE8C, 0xEA3).addRange(0xEA7, 0xEB0).addRange(0xEB2, 0xEB3).addRange(0xEC0, 0xEC4).addRange(0xEDC, 0xEDF).addRange(0xF40, 0xF47).addRange(0xF49, 0xF6C).addRange(0xF88, 0xF8C).addRange(0x1000, 0x102A).addRange(0x1050, 0x1055).addRange(0x105A, 0x105D).addRange(0x1065, 0x1066).addRange(0x106E, 0x1070).addRange(0x1075, 0x1081).addRange(0x10A0, 0x10C5).addRange(0x10D0, 0x10FA).addRange(0x10FC, 0x1248).addRange(0x124A, 0x124D).addRange(0x1250, 0x1256).addRange(0x125A, 0x125D).addRange(0x1260, 0x1288).addRange(0x128A, 0x128D).addRange(0x1290, 0x12B0).addRange(0x12B2, 0x12B5).addRange(0x12B8, 0x12BE).addRange(0x12C2, 0x12C5).addRange(0x12C8, 0x12D6).addRange(0x12D8, 0x1310).addRange(0x1312, 0x1315).addRange(0x1318, 0x135A).addRange(0x1380, 0x138F).addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0x1401, 0x166C).addRange(0x166F, 0x167F).addRange(0x1681, 0x169A).addRange(0x16A0, 0x16EA).addRange(0x16EE, 0x16F8).addRange(0x1700, 0x1711).addRange(0x171F, 0x1731).addRange(0x1740, 0x1751).addRange(0x1760, 0x176C).addRange(0x176E, 0x1770).addRange(0x1780, 0x17B3).addRange(0x1820, 0x1878).addRange(0x1880, 0x18A8);\nset.addRange(0x18B0, 0x18F5).addRange(0x1900, 0x191E).addRange(0x1950, 0x196D).addRange(0x1970, 0x1974).addRange(0x1980, 0x19AB).addRange(0x19B0, 0x19C9).addRange(0x1A00, 0x1A16).addRange(0x1A20, 0x1A54).addRange(0x1B05, 0x1B33).addRange(0x1B45, 0x1B4C).addRange(0x1B83, 0x1BA0).addRange(0x1BAE, 0x1BAF).addRange(0x1BBA, 0x1BE5).addRange(0x1C00, 0x1C23).addRange(0x1C4D, 0x1C4F).addRange(0x1C5A, 0x1C7D).addRange(0x1C80, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1CE9, 0x1CEC).addRange(0x1CEE, 0x1CF3).addRange(0x1CF5, 0x1CF6).addRange(0x1D00, 0x1DBF).addRange(0x1E00, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D).addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FBC).addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FCC).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FE0, 0x1FEC).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFC).addRange(0x2090, 0x209C).addRange(0x210A, 0x2113).addRange(0x2118, 0x211D).addRange(0x212A, 0x2139).addRange(0x213C, 0x213F).addRange(0x2145, 0x2149).addRange(0x2160, 0x2188).addRange(0x2C00, 0x2CE4).addRange(0x2CEB, 0x2CEE).addRange(0x2CF2, 0x2CF3).addRange(0x2D00, 0x2D25).addRange(0x2D30, 0x2D67).addRange(0x2D80, 0x2D96);\nset.addRange(0x2DA0, 0x2DA6).addRange(0x2DA8, 0x2DAE).addRange(0x2DB0, 0x2DB6).addRange(0x2DB8, 0x2DBE).addRange(0x2DC0, 0x2DC6).addRange(0x2DC8, 0x2DCE).addRange(0x2DD0, 0x2DD6).addRange(0x2DD8, 0x2DDE).addRange(0x3005, 0x3007).addRange(0x3021, 0x3029).addRange(0x3031, 0x3035).addRange(0x3038, 0x303C).addRange(0x3041, 0x3096).addRange(0x309B, 0x309F).addRange(0x30A1, 0x30FA).addRange(0x30FC, 0x30FF).addRange(0x3105, 0x312F).addRange(0x3131, 0x318E).addRange(0x31A0, 0x31BF).addRange(0x31F0, 0x31FF).addRange(0x3400, 0x4DBF).addRange(0x4E00, 0xA48C).addRange(0xA4D0, 0xA4FD).addRange(0xA500, 0xA60C).addRange(0xA610, 0xA61F).addRange(0xA62A, 0xA62B).addRange(0xA640, 0xA66E).addRange(0xA67F, 0xA69D).addRange(0xA6A0, 0xA6EF).addRange(0xA717, 0xA71F).addRange(0xA722, 0xA788).addRange(0xA78B, 0xA7CA).addRange(0xA7D0, 0xA7D1).addRange(0xA7D5, 0xA7D9).addRange(0xA7F2, 0xA801).addRange(0xA803, 0xA805).addRange(0xA807, 0xA80A).addRange(0xA80C, 0xA822).addRange(0xA840, 0xA873).addRange(0xA882, 0xA8B3).addRange(0xA8F2, 0xA8F7).addRange(0xA8FD, 0xA8FE).addRange(0xA90A, 0xA925).addRange(0xA930, 0xA946).addRange(0xA960, 0xA97C).addRange(0xA984, 0xA9B2).addRange(0xA9E0, 0xA9E4).addRange(0xA9E6, 0xA9EF).addRange(0xA9FA, 0xA9FE).addRange(0xAA00, 0xAA28).addRange(0xAA40, 0xAA42);\nset.addRange(0xAA44, 0xAA4B).addRange(0xAA60, 0xAA76).addRange(0xAA7E, 0xAAAF).addRange(0xAAB5, 0xAAB6).addRange(0xAAB9, 0xAABD).addRange(0xAADB, 0xAADD).addRange(0xAAE0, 0xAAEA).addRange(0xAAF2, 0xAAF4).addRange(0xAB01, 0xAB06).addRange(0xAB09, 0xAB0E).addRange(0xAB11, 0xAB16).addRange(0xAB20, 0xAB26).addRange(0xAB28, 0xAB2E).addRange(0xAB30, 0xAB5A).addRange(0xAB5C, 0xAB69).addRange(0xAB70, 0xABE2).addRange(0xAC00, 0xD7A3).addRange(0xD7B0, 0xD7C6).addRange(0xD7CB, 0xD7FB).addRange(0xF900, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFB1F, 0xFB28).addRange(0xFB2A, 0xFB36).addRange(0xFB38, 0xFB3C).addRange(0xFB40, 0xFB41).addRange(0xFB43, 0xFB44).addRange(0xFB46, 0xFBB1).addRange(0xFBD3, 0xFD3D).addRange(0xFD50, 0xFD8F).addRange(0xFD92, 0xFDC7).addRange(0xFDF0, 0xFDFB).addRange(0xFE70, 0xFE74).addRange(0xFE76, 0xFEFC).addRange(0xFF21, 0xFF3A).addRange(0xFF41, 0xFF5A).addRange(0xFF66, 0xFFBE).addRange(0xFFC2, 0xFFC7).addRange(0xFFCA, 0xFFCF).addRange(0xFFD2, 0xFFD7).addRange(0xFFDA, 0xFFDC).addRange(0x10000, 0x1000B).addRange(0x1000D, 0x10026).addRange(0x10028, 0x1003A).addRange(0x1003C, 0x1003D).addRange(0x1003F, 0x1004D).addRange(0x10050, 0x1005D).addRange(0x10080, 0x100FA).addRange(0x10140, 0x10174).addRange(0x10280, 0x1029C);\nset.addRange(0x102A0, 0x102D0).addRange(0x10300, 0x1031F).addRange(0x1032D, 0x1034A).addRange(0x10350, 0x10375).addRange(0x10380, 0x1039D).addRange(0x103A0, 0x103C3).addRange(0x103C8, 0x103CF).addRange(0x103D1, 0x103D5).addRange(0x10400, 0x1049D).addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB).addRange(0x10500, 0x10527).addRange(0x10530, 0x10563).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10600, 0x10736).addRange(0x10740, 0x10755).addRange(0x10760, 0x10767).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10800, 0x10805).addRange(0x1080A, 0x10835).addRange(0x10837, 0x10838).addRange(0x1083F, 0x10855).addRange(0x10860, 0x10876).addRange(0x10880, 0x1089E).addRange(0x108E0, 0x108F2).addRange(0x108F4, 0x108F5).addRange(0x10900, 0x10915).addRange(0x10920, 0x10939).addRange(0x10980, 0x109B7).addRange(0x109BE, 0x109BF).addRange(0x10A10, 0x10A13).addRange(0x10A15, 0x10A17).addRange(0x10A19, 0x10A35).addRange(0x10A60, 0x10A7C).addRange(0x10A80, 0x10A9C).addRange(0x10AC0, 0x10AC7).addRange(0x10AC9, 0x10AE4).addRange(0x10B00, 0x10B35).addRange(0x10B40, 0x10B55).addRange(0x10B60, 0x10B72).addRange(0x10B80, 0x10B91).addRange(0x10C00, 0x10C48);\nset.addRange(0x10C80, 0x10CB2).addRange(0x10CC0, 0x10CF2).addRange(0x10D00, 0x10D23).addRange(0x10E80, 0x10EA9).addRange(0x10EB0, 0x10EB1).addRange(0x10F00, 0x10F1C).addRange(0x10F30, 0x10F45).addRange(0x10F70, 0x10F81).addRange(0x10FB0, 0x10FC4).addRange(0x10FE0, 0x10FF6).addRange(0x11003, 0x11037).addRange(0x11071, 0x11072).addRange(0x11083, 0x110AF).addRange(0x110D0, 0x110E8).addRange(0x11103, 0x11126).addRange(0x11150, 0x11172).addRange(0x11183, 0x111B2).addRange(0x111C1, 0x111C4).addRange(0x11200, 0x11211).addRange(0x11213, 0x1122B).addRange(0x11280, 0x11286).addRange(0x1128A, 0x1128D).addRange(0x1128F, 0x1129D).addRange(0x1129F, 0x112A8).addRange(0x112B0, 0x112DE).addRange(0x11305, 0x1130C).addRange(0x1130F, 0x11310).addRange(0x11313, 0x11328).addRange(0x1132A, 0x11330).addRange(0x11332, 0x11333).addRange(0x11335, 0x11339).addRange(0x1135D, 0x11361).addRange(0x11400, 0x11434).addRange(0x11447, 0x1144A).addRange(0x1145F, 0x11461).addRange(0x11480, 0x114AF).addRange(0x114C4, 0x114C5).addRange(0x11580, 0x115AE).addRange(0x115D8, 0x115DB).addRange(0x11600, 0x1162F).addRange(0x11680, 0x116AA).addRange(0x11700, 0x1171A).addRange(0x11740, 0x11746).addRange(0x11800, 0x1182B).addRange(0x118A0, 0x118DF).addRange(0x118FF, 0x11906).addRange(0x1190C, 0x11913).addRange(0x11915, 0x11916).addRange(0x11918, 0x1192F).addRange(0x119A0, 0x119A7).addRange(0x119AA, 0x119D0);\nset.addRange(0x11A0B, 0x11A32).addRange(0x11A5C, 0x11A89).addRange(0x11AB0, 0x11AF8).addRange(0x11C00, 0x11C08).addRange(0x11C0A, 0x11C2E).addRange(0x11C72, 0x11C8F).addRange(0x11D00, 0x11D06).addRange(0x11D08, 0x11D09).addRange(0x11D0B, 0x11D30).addRange(0x11D60, 0x11D65).addRange(0x11D67, 0x11D68).addRange(0x11D6A, 0x11D89).addRange(0x11EE0, 0x11EF2).addRange(0x12000, 0x12399).addRange(0x12400, 0x1246E).addRange(0x12480, 0x12543).addRange(0x12F90, 0x12FF0).addRange(0x13000, 0x1342E).addRange(0x14400, 0x14646).addRange(0x16800, 0x16A38).addRange(0x16A40, 0x16A5E).addRange(0x16A70, 0x16ABE).addRange(0x16AD0, 0x16AED).addRange(0x16B00, 0x16B2F).addRange(0x16B40, 0x16B43).addRange(0x16B63, 0x16B77).addRange(0x16B7D, 0x16B8F).addRange(0x16E40, 0x16E7F).addRange(0x16F00, 0x16F4A).addRange(0x16F93, 0x16F9F).addRange(0x16FE0, 0x16FE1).addRange(0x17000, 0x187F7).addRange(0x18800, 0x18CD5).addRange(0x18D00, 0x18D08).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE).addRange(0x1B000, 0x1B122).addRange(0x1B150, 0x1B152).addRange(0x1B164, 0x1B167).addRange(0x1B170, 0x1B2FB).addRange(0x1BC00, 0x1BC6A).addRange(0x1BC70, 0x1BC7C).addRange(0x1BC80, 0x1BC88).addRange(0x1BC90, 0x1BC99).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9);\nset.addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D6C0).addRange(0x1D6C2, 0x1D6DA).addRange(0x1D6DC, 0x1D6FA).addRange(0x1D6FC, 0x1D714).addRange(0x1D716, 0x1D734).addRange(0x1D736, 0x1D74E).addRange(0x1D750, 0x1D76E).addRange(0x1D770, 0x1D788).addRange(0x1D78A, 0x1D7A8).addRange(0x1D7AA, 0x1D7C2).addRange(0x1D7C4, 0x1D7CB).addRange(0x1DF00, 0x1DF1E).addRange(0x1E100, 0x1E12C).addRange(0x1E137, 0x1E13D).addRange(0x1E290, 0x1E2AD).addRange(0x1E2C0, 0x1E2EB).addRange(0x1E7E0, 0x1E7E6).addRange(0x1E7E8, 0x1E7EB).addRange(0x1E7ED, 0x1E7EE).addRange(0x1E7F0, 0x1E7FE).addRange(0x1E800, 0x1E8C4).addRange(0x1E900, 0x1E943).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F).addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72).addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89).addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x20000, 0x2A6DF).addRange(0x2A700, 0x2B738);\nset.addRange(0x2B740, 0x2B81D).addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x2F800, 0x2FA1D).addRange(0x30000, 0x3134A);\nmodule.exports = set;","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","const set = require('regenerate')(0x24, 0x2B, 0x5E, 0x60, 0x7C, 0x7E, 0xAC, 0xB4, 0xB8, 0xD7, 0xF7, 0x2ED, 0x375, 0x3F6, 0x482, 0x60B, 0x6DE, 0x6E9, 0x7F6, 0x888, 0xAF1, 0xB70, 0xC7F, 0xD4F, 0xD79, 0xE3F, 0xF13, 0xF34, 0xF36, 0xF38, 0x166D, 0x17DB, 0x1940, 0x1FBD, 0x2044, 0x2052, 0x2114, 0x2125, 0x2127, 0x2129, 0x212E, 0x214F, 0x3004, 0x3020, 0x3250, 0xAB5B, 0xFB29, 0xFDCF, 0xFE62, 0xFE69, 0xFF04, 0xFF0B, 0xFF3E, 0xFF40, 0xFF5C, 0xFF5E, 0x101A0, 0x10AC8, 0x1173F, 0x16B45, 0x1BC9C, 0x1D245, 0x1D6C1, 0x1D6DB, 0x1D6FB, 0x1D715, 0x1D735, 0x1D74F, 0x1D76F, 0x1D789, 0x1D7A9, 0x1D7C3, 0x1E14F, 0x1E2FF, 0x1ECAC, 0x1ECB0, 0x1ED2E, 0x1F7F0);\nset.addRange(0x3C, 0x3E).addRange(0xA2, 0xA6).addRange(0xA8, 0xA9).addRange(0xAE, 0xB1).addRange(0x2C2, 0x2C5).addRange(0x2D2, 0x2DF).addRange(0x2E5, 0x2EB).addRange(0x2EF, 0x2FF).addRange(0x384, 0x385).addRange(0x58D, 0x58F).addRange(0x606, 0x608).addRange(0x60E, 0x60F).addRange(0x6FD, 0x6FE).addRange(0x7FE, 0x7FF).addRange(0x9F2, 0x9F3).addRange(0x9FA, 0x9FB).addRange(0xBF3, 0xBFA).addRange(0xF01, 0xF03).addRange(0xF15, 0xF17).addRange(0xF1A, 0xF1F).addRange(0xFBE, 0xFC5).addRange(0xFC7, 0xFCC).addRange(0xFCE, 0xFCF).addRange(0xFD5, 0xFD8).addRange(0x109E, 0x109F).addRange(0x1390, 0x1399).addRange(0x19DE, 0x19FF).addRange(0x1B61, 0x1B6A).addRange(0x1B74, 0x1B7C).addRange(0x1FBF, 0x1FC1).addRange(0x1FCD, 0x1FCF).addRange(0x1FDD, 0x1FDF).addRange(0x1FED, 0x1FEF).addRange(0x1FFD, 0x1FFE).addRange(0x207A, 0x207C).addRange(0x208A, 0x208C).addRange(0x20A0, 0x20C0).addRange(0x2100, 0x2101).addRange(0x2103, 0x2106).addRange(0x2108, 0x2109).addRange(0x2116, 0x2118).addRange(0x211E, 0x2123).addRange(0x213A, 0x213B).addRange(0x2140, 0x2144).addRange(0x214A, 0x214D).addRange(0x218A, 0x218B).addRange(0x2190, 0x2307).addRange(0x230C, 0x2328).addRange(0x232B, 0x2426).addRange(0x2440, 0x244A).addRange(0x249C, 0x24E9);\nset.addRange(0x2500, 0x2767).addRange(0x2794, 0x27C4).addRange(0x27C7, 0x27E5).addRange(0x27F0, 0x2982).addRange(0x2999, 0x29D7).addRange(0x29DC, 0x29FB).addRange(0x29FE, 0x2B73).addRange(0x2B76, 0x2B95).addRange(0x2B97, 0x2BFF).addRange(0x2CE5, 0x2CEA).addRange(0x2E50, 0x2E51).addRange(0x2E80, 0x2E99).addRange(0x2E9B, 0x2EF3).addRange(0x2F00, 0x2FD5).addRange(0x2FF0, 0x2FFB).addRange(0x3012, 0x3013).addRange(0x3036, 0x3037).addRange(0x303E, 0x303F).addRange(0x309B, 0x309C).addRange(0x3190, 0x3191).addRange(0x3196, 0x319F).addRange(0x31C0, 0x31E3).addRange(0x3200, 0x321E).addRange(0x322A, 0x3247).addRange(0x3260, 0x327F).addRange(0x328A, 0x32B0).addRange(0x32C0, 0x33FF).addRange(0x4DC0, 0x4DFF).addRange(0xA490, 0xA4C6).addRange(0xA700, 0xA716).addRange(0xA720, 0xA721).addRange(0xA789, 0xA78A).addRange(0xA828, 0xA82B).addRange(0xA836, 0xA839).addRange(0xAA77, 0xAA79).addRange(0xAB6A, 0xAB6B).addRange(0xFBB2, 0xFBC2).addRange(0xFD40, 0xFD4F).addRange(0xFDFC, 0xFDFF).addRange(0xFE64, 0xFE66).addRange(0xFF1C, 0xFF1E).addRange(0xFFE0, 0xFFE6).addRange(0xFFE8, 0xFFEE).addRange(0xFFFC, 0xFFFD).addRange(0x10137, 0x1013F).addRange(0x10179, 0x10189).addRange(0x1018C, 0x1018E).addRange(0x10190, 0x1019C).addRange(0x101D0, 0x101FC).addRange(0x10877, 0x10878).addRange(0x11FD5, 0x11FF1);\nset.addRange(0x16B3C, 0x16B3F).addRange(0x1CF50, 0x1CFC3).addRange(0x1D000, 0x1D0F5).addRange(0x1D100, 0x1D126).addRange(0x1D129, 0x1D164).addRange(0x1D16A, 0x1D16C).addRange(0x1D183, 0x1D184).addRange(0x1D18C, 0x1D1A9).addRange(0x1D1AE, 0x1D1EA).addRange(0x1D200, 0x1D241).addRange(0x1D300, 0x1D356).addRange(0x1D800, 0x1D9FF).addRange(0x1DA37, 0x1DA3A).addRange(0x1DA6D, 0x1DA74).addRange(0x1DA76, 0x1DA83).addRange(0x1DA85, 0x1DA86).addRange(0x1EEF0, 0x1EEF1).addRange(0x1F000, 0x1F02B).addRange(0x1F030, 0x1F093).addRange(0x1F0A0, 0x1F0AE).addRange(0x1F0B1, 0x1F0BF).addRange(0x1F0C1, 0x1F0CF).addRange(0x1F0D1, 0x1F0F5).addRange(0x1F10D, 0x1F1AD).addRange(0x1F1E6, 0x1F202).addRange(0x1F210, 0x1F23B).addRange(0x1F240, 0x1F248).addRange(0x1F250, 0x1F251).addRange(0x1F260, 0x1F265).addRange(0x1F300, 0x1F6D7).addRange(0x1F6DD, 0x1F6EC).addRange(0x1F6F0, 0x1F6FC).addRange(0x1F700, 0x1F773).addRange(0x1F780, 0x1F7D8).addRange(0x1F7E0, 0x1F7EB).addRange(0x1F800, 0x1F80B).addRange(0x1F810, 0x1F847).addRange(0x1F850, 0x1F859).addRange(0x1F860, 0x1F887).addRange(0x1F890, 0x1F8AD).addRange(0x1F8B0, 0x1F8B1).addRange(0x1F900, 0x1FA53).addRange(0x1FA60, 0x1FA6D).addRange(0x1FA70, 0x1FA74).addRange(0x1FA78, 0x1FA7C).addRange(0x1FA80, 0x1FA86).addRange(0x1FA90, 0x1FAAC).addRange(0x1FAB0, 0x1FABA).addRange(0x1FAC0, 0x1FAC5).addRange(0x1FAD0, 0x1FAD9).addRange(0x1FAE0, 0x1FAE7);\nset.addRange(0x1FAF0, 0x1FAF6).addRange(0x1FB00, 0x1FB92).addRange(0x1FB94, 0x1FBCA);\nmodule.exports = set;","\"use strict\";\n\nexports.__esModule = true;\nexports.SessionStorage = void 0;\nvar STATE_KEY_PREFIX = \"@@scroll|\";\nvar GATSBY_ROUTER_SCROLL_STATE = \"___GATSBY_REACT_ROUTER_SCROLL\";\n\nvar SessionStorage = /*#__PURE__*/function () {\n function SessionStorage() {}\n\n var _proto = SessionStorage.prototype;\n\n _proto.read = function read(location, key) {\n var stateKey = this.getStateKey(location, key);\n\n try {\n var value = window.sessionStorage.getItem(stateKey);\n return value ? JSON.parse(value) : 0;\n } catch (e) {\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\"[gatsby-react-router-scroll] Unable to access sessionStorage; sessionStorage is not available.\");\n }\n\n if (window && window[GATSBY_ROUTER_SCROLL_STATE] && window[GATSBY_ROUTER_SCROLL_STATE][stateKey]) {\n return window[GATSBY_ROUTER_SCROLL_STATE][stateKey];\n }\n\n return 0;\n }\n };\n\n _proto.save = function save(location, key, value) {\n var stateKey = this.getStateKey(location, key);\n var storedValue = JSON.stringify(value);\n\n try {\n window.sessionStorage.setItem(stateKey, storedValue);\n } catch (e) {\n if (window && window[GATSBY_ROUTER_SCROLL_STATE]) {\n window[GATSBY_ROUTER_SCROLL_STATE][stateKey] = JSON.parse(storedValue);\n } else {\n window[GATSBY_ROUTER_SCROLL_STATE] = {};\n window[GATSBY_ROUTER_SCROLL_STATE][stateKey] = JSON.parse(storedValue);\n }\n\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\"[gatsby-react-router-scroll] Unable to save state in sessionStorage; sessionStorage is not available.\");\n }\n }\n };\n\n _proto.getStateKey = function getStateKey(location, key) {\n var stateKeyBase = \"\" + STATE_KEY_PREFIX + location.pathname;\n return key === null || typeof key === \"undefined\" ? stateKeyBase : stateKeyBase + \"|\" + key;\n };\n\n return SessionStorage;\n}();\n\nexports.SessionStorage = SessionStorage;","const set = require('regenerate')(0x60C, 0x61B, 0x61F);\nset.addRange(0x7C0, 0x7FA).addRange(0x7FD, 0x7FF).addRange(0xFD3E, 0xFD3F);\nmodule.exports = set;","var arrayEach = require('./_arrayEach'),\n arrayIncludes = require('./_arrayIncludes');\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_BIND_FLAG = 1,\n WRAP_BIND_KEY_FLAG = 2,\n WRAP_CURRY_FLAG = 8,\n WRAP_CURRY_RIGHT_FLAG = 16,\n WRAP_PARTIAL_FLAG = 32,\n WRAP_PARTIAL_RIGHT_FLAG = 64,\n WRAP_ARY_FLAG = 128,\n WRAP_REARG_FLAG = 256,\n WRAP_FLIP_FLAG = 512;\n\n/** Used to associate wrap methods with their bit flags. */\nvar wrapFlags = [\n ['ary', WRAP_ARY_FLAG],\n ['bind', WRAP_BIND_FLAG],\n ['bindKey', WRAP_BIND_KEY_FLAG],\n ['curry', WRAP_CURRY_FLAG],\n ['curryRight', WRAP_CURRY_RIGHT_FLAG],\n ['flip', WRAP_FLIP_FLAG],\n ['partial', WRAP_PARTIAL_FLAG],\n ['partialRight', WRAP_PARTIAL_RIGHT_FLAG],\n ['rearg', WRAP_REARG_FLAG]\n];\n\n/**\n * Updates wrapper `details` based on `bitmask` flags.\n *\n * @private\n * @returns {Array} details The details to modify.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @returns {Array} Returns `details`.\n */\nfunction updateWrapDetails(details, bitmask) {\n arrayEach(wrapFlags, function(pair) {\n var value = '_.' + pair[0];\n if ((bitmask & pair[1]) && !arrayIncludes(details, value)) {\n details.push(value);\n }\n });\n return details.sort();\n}\n\nmodule.exports = updateWrapDetails;\n","const set = require('regenerate')();\nset.addRange(0x10AC0, 0x10AE6).addRange(0x10AEB, 0x10AF6);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x10280, 0x1029C);\nmodule.exports = set;","const set = require('regenerate')(0x3007, 0x10341, 0x1034A);\nset.addRange(0x16EE, 0x16F0).addRange(0x2160, 0x2182).addRange(0x2185, 0x2188).addRange(0x3021, 0x3029).addRange(0x3038, 0x303A).addRange(0xA6E6, 0xA6EF).addRange(0x10140, 0x10174).addRange(0x103D1, 0x103D5).addRange(0x12400, 0x1246E);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x531, 0x556).addRange(0x559, 0x58A).addRange(0x58D, 0x58F).addRange(0xFB13, 0xFB17);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x16E40, 0x16E9A);\nmodule.exports = set;","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","var apply = require('./_apply'),\n createCtor = require('./_createCtor'),\n root = require('./_root');\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_BIND_FLAG = 1;\n\n/**\n * Creates a function that wraps `func` to invoke it with the `this` binding\n * of `thisArg` and `partials` prepended to the arguments it receives.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} partials The arguments to prepend to those provided to\n * the new function.\n * @returns {Function} Returns the new wrapped function.\n */\nfunction createPartial(func, bitmask, thisArg, partials) {\n var isBind = bitmask & WRAP_BIND_FLAG,\n Ctor = createCtor(func);\n\n function wrapper() {\n var argsIndex = -1,\n argsLength = arguments.length,\n leftIndex = -1,\n leftLength = partials.length,\n args = Array(leftLength + argsLength),\n fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n\n while (++leftIndex < leftLength) {\n args[leftIndex] = partials[leftIndex];\n }\n while (argsLength--) {\n args[leftIndex++] = arguments[++argsIndex];\n }\n return apply(fn, isBind ? thisArg : this, args);\n }\n return wrapper;\n}\n\nmodule.exports = createPartial;\n","module.exports = {};\n","var arrayMap = require('./_arrayMap'),\n copyArray = require('./_copyArray'),\n isArray = require('./isArray'),\n isSymbol = require('./isSymbol'),\n stringToPath = require('./_stringToPath'),\n toKey = require('./_toKey'),\n toString = require('./toString');\n\n/**\n * Converts `value` to a property path array.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Util\n * @param {*} value The value to convert.\n * @returns {Array} Returns the new property path array.\n * @example\n *\n * _.toPath('a.b.c');\n * // => ['a', 'b', 'c']\n *\n * _.toPath('a[0].b.c');\n * // => ['a', '0', 'b', 'c']\n */\nfunction toPath(value) {\n if (isArray(value)) {\n return arrayMap(value, toKey);\n }\n return isSymbol(value) ? [value] : copyArray(stringToPath(toString(value)));\n}\n\nmodule.exports = toPath;\n","var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","const set = require('regenerate')();\nset.addRange(0x11580, 0x115B5).addRange(0x115B8, 0x115DD);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x11A00, 0x11A47);\nmodule.exports = set;","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","const set = require('regenerate')();\nset.addRange(0x10330, 0x1034A);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x1F3FB, 0x1F3FF);\nmodule.exports = set;","/* eslint-disable no-proto -- safe */\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","const set = require('regenerate')(0xB9, 0x2070, 0x2CFD, 0x3007, 0x10341, 0x1034A);\nset.addRange(0x30, 0x39).addRange(0xB2, 0xB3).addRange(0xBC, 0xBE).addRange(0x660, 0x669).addRange(0x6F0, 0x6F9).addRange(0x7C0, 0x7C9).addRange(0x966, 0x96F).addRange(0x9E6, 0x9EF).addRange(0x9F4, 0x9F9).addRange(0xA66, 0xA6F).addRange(0xAE6, 0xAEF).addRange(0xB66, 0xB6F).addRange(0xB72, 0xB77).addRange(0xBE6, 0xBF2).addRange(0xC66, 0xC6F).addRange(0xC78, 0xC7E).addRange(0xCE6, 0xCEF).addRange(0xD58, 0xD5E).addRange(0xD66, 0xD78).addRange(0xDE6, 0xDEF).addRange(0xE50, 0xE59).addRange(0xED0, 0xED9).addRange(0xF20, 0xF33).addRange(0x1040, 0x1049).addRange(0x1090, 0x1099).addRange(0x1369, 0x137C).addRange(0x16EE, 0x16F0).addRange(0x17E0, 0x17E9).addRange(0x17F0, 0x17F9).addRange(0x1810, 0x1819).addRange(0x1946, 0x194F).addRange(0x19D0, 0x19DA).addRange(0x1A80, 0x1A89).addRange(0x1A90, 0x1A99).addRange(0x1B50, 0x1B59).addRange(0x1BB0, 0x1BB9).addRange(0x1C40, 0x1C49).addRange(0x1C50, 0x1C59).addRange(0x2074, 0x2079).addRange(0x2080, 0x2089).addRange(0x2150, 0x2182).addRange(0x2185, 0x2189).addRange(0x2460, 0x249B).addRange(0x24EA, 0x24FF).addRange(0x2776, 0x2793).addRange(0x3021, 0x3029).addRange(0x3038, 0x303A).addRange(0x3192, 0x3195).addRange(0x3220, 0x3229).addRange(0x3248, 0x324F).addRange(0x3251, 0x325F);\nset.addRange(0x3280, 0x3289).addRange(0x32B1, 0x32BF).addRange(0xA620, 0xA629).addRange(0xA6E6, 0xA6EF).addRange(0xA830, 0xA835).addRange(0xA8D0, 0xA8D9).addRange(0xA900, 0xA909).addRange(0xA9D0, 0xA9D9).addRange(0xA9F0, 0xA9F9).addRange(0xAA50, 0xAA59).addRange(0xABF0, 0xABF9).addRange(0xFF10, 0xFF19).addRange(0x10107, 0x10133).addRange(0x10140, 0x10178).addRange(0x1018A, 0x1018B).addRange(0x102E1, 0x102FB).addRange(0x10320, 0x10323).addRange(0x103D1, 0x103D5).addRange(0x104A0, 0x104A9).addRange(0x10858, 0x1085F).addRange(0x10879, 0x1087F).addRange(0x108A7, 0x108AF).addRange(0x108FB, 0x108FF).addRange(0x10916, 0x1091B).addRange(0x109BC, 0x109BD).addRange(0x109C0, 0x109CF).addRange(0x109D2, 0x109FF).addRange(0x10A40, 0x10A48).addRange(0x10A7D, 0x10A7E).addRange(0x10A9D, 0x10A9F).addRange(0x10AEB, 0x10AEF).addRange(0x10B58, 0x10B5F).addRange(0x10B78, 0x10B7F).addRange(0x10BA9, 0x10BAF).addRange(0x10CFA, 0x10CFF).addRange(0x10D30, 0x10D39).addRange(0x10E60, 0x10E7E).addRange(0x10F1D, 0x10F26).addRange(0x10F51, 0x10F54).addRange(0x10FC5, 0x10FCB).addRange(0x11052, 0x1106F).addRange(0x110F0, 0x110F9).addRange(0x11136, 0x1113F).addRange(0x111D0, 0x111D9).addRange(0x111E1, 0x111F4).addRange(0x112F0, 0x112F9).addRange(0x11450, 0x11459).addRange(0x114D0, 0x114D9).addRange(0x11650, 0x11659).addRange(0x116C0, 0x116C9).addRange(0x11730, 0x1173B);\nset.addRange(0x118E0, 0x118F2).addRange(0x11950, 0x11959).addRange(0x11C50, 0x11C6C).addRange(0x11D50, 0x11D59).addRange(0x11DA0, 0x11DA9).addRange(0x11FC0, 0x11FD4).addRange(0x12400, 0x1246E).addRange(0x16A60, 0x16A69).addRange(0x16AC0, 0x16AC9).addRange(0x16B50, 0x16B59).addRange(0x16B5B, 0x16B61).addRange(0x16E80, 0x16E96).addRange(0x1D2E0, 0x1D2F3).addRange(0x1D360, 0x1D378).addRange(0x1D7CE, 0x1D7FF).addRange(0x1E140, 0x1E149).addRange(0x1E2F0, 0x1E2F9).addRange(0x1E8C7, 0x1E8CF).addRange(0x1E950, 0x1E959).addRange(0x1EC71, 0x1ECAB).addRange(0x1ECAD, 0x1ECAF).addRange(0x1ECB1, 0x1ECB4).addRange(0x1ED01, 0x1ED2D).addRange(0x1ED2F, 0x1ED3D).addRange(0x1F100, 0x1F10C).addRange(0x1FBF0, 0x1FBF9);\nmodule.exports = set;","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nmodule.exports = stubArray;\n","var baseIsSet = require('./_baseIsSet'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsSet = nodeUtil && nodeUtil.isSet;\n\n/**\n * Checks if `value` is classified as a `Set` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\nvar isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\nmodule.exports = isSet;\n","const set = require('regenerate')(0x23, 0x2A, 0xA9, 0xAE, 0x203C, 0x2049, 0x2122, 0x2139, 0x2328, 0x23CF, 0x24C2, 0x25B6, 0x25C0, 0x260E, 0x2611, 0x2618, 0x261D, 0x2620, 0x2626, 0x262A, 0x2640, 0x2642, 0x2663, 0x2668, 0x267B, 0x2699, 0x26A7, 0x26C8, 0x26D1, 0x26FD, 0x2702, 0x2705, 0x270F, 0x2712, 0x2714, 0x2716, 0x271D, 0x2721, 0x2728, 0x2744, 0x2747, 0x274C, 0x274E, 0x2757, 0x27A1, 0x27B0, 0x27BF, 0x2B50, 0x2B55, 0x3030, 0x303D, 0x3297, 0x3299, 0x1F004, 0x1F0CF, 0x1F18E, 0x1F21A, 0x1F22F, 0x1F587, 0x1F590, 0x1F5A8, 0x1F5BC, 0x1F5E1, 0x1F5E3, 0x1F5E8, 0x1F5EF, 0x1F5F3, 0x1F6E9, 0x1F6F0, 0x1F7F0);\nset.addRange(0x30, 0x39).addRange(0x2194, 0x2199).addRange(0x21A9, 0x21AA).addRange(0x231A, 0x231B).addRange(0x23E9, 0x23F3).addRange(0x23F8, 0x23FA).addRange(0x25AA, 0x25AB).addRange(0x25FB, 0x25FE).addRange(0x2600, 0x2604).addRange(0x2614, 0x2615).addRange(0x2622, 0x2623).addRange(0x262E, 0x262F).addRange(0x2638, 0x263A).addRange(0x2648, 0x2653).addRange(0x265F, 0x2660).addRange(0x2665, 0x2666).addRange(0x267E, 0x267F).addRange(0x2692, 0x2697).addRange(0x269B, 0x269C).addRange(0x26A0, 0x26A1).addRange(0x26AA, 0x26AB).addRange(0x26B0, 0x26B1).addRange(0x26BD, 0x26BE).addRange(0x26C4, 0x26C5).addRange(0x26CE, 0x26CF).addRange(0x26D3, 0x26D4).addRange(0x26E9, 0x26EA).addRange(0x26F0, 0x26F5).addRange(0x26F7, 0x26FA).addRange(0x2708, 0x270D).addRange(0x2733, 0x2734).addRange(0x2753, 0x2755).addRange(0x2763, 0x2764).addRange(0x2795, 0x2797).addRange(0x2934, 0x2935).addRange(0x2B05, 0x2B07).addRange(0x2B1B, 0x2B1C).addRange(0x1F170, 0x1F171).addRange(0x1F17E, 0x1F17F).addRange(0x1F191, 0x1F19A).addRange(0x1F1E6, 0x1F1FF).addRange(0x1F201, 0x1F202).addRange(0x1F232, 0x1F23A).addRange(0x1F250, 0x1F251).addRange(0x1F300, 0x1F321).addRange(0x1F324, 0x1F393).addRange(0x1F396, 0x1F397).addRange(0x1F399, 0x1F39B).addRange(0x1F39E, 0x1F3F0).addRange(0x1F3F3, 0x1F3F5).addRange(0x1F3F7, 0x1F4FD);\nset.addRange(0x1F4FF, 0x1F53D).addRange(0x1F549, 0x1F54E).addRange(0x1F550, 0x1F567).addRange(0x1F56F, 0x1F570).addRange(0x1F573, 0x1F57A).addRange(0x1F58A, 0x1F58D).addRange(0x1F595, 0x1F596).addRange(0x1F5A4, 0x1F5A5).addRange(0x1F5B1, 0x1F5B2).addRange(0x1F5C2, 0x1F5C4).addRange(0x1F5D1, 0x1F5D3).addRange(0x1F5DC, 0x1F5DE).addRange(0x1F5FA, 0x1F64F).addRange(0x1F680, 0x1F6C5).addRange(0x1F6CB, 0x1F6D2).addRange(0x1F6D5, 0x1F6D7).addRange(0x1F6DD, 0x1F6E5).addRange(0x1F6EB, 0x1F6EC).addRange(0x1F6F3, 0x1F6FC).addRange(0x1F7E0, 0x1F7EB).addRange(0x1F90C, 0x1F93A).addRange(0x1F93C, 0x1F945).addRange(0x1F947, 0x1F9FF).addRange(0x1FA70, 0x1FA74).addRange(0x1FA78, 0x1FA7C).addRange(0x1FA80, 0x1FA86).addRange(0x1FA90, 0x1FAAC).addRange(0x1FAB0, 0x1FABA).addRange(0x1FAC0, 0x1FAC5).addRange(0x1FAD0, 0x1FAD9).addRange(0x1FAE0, 0x1FAE7).addRange(0x1FAF0, 0x1FAF6);\nmodule.exports = set;","module.exports = new Map([[0x4B, 0x212A], [0x53, 0x17F], [0x6B, 0x212A], [0x73, 0x17F], [0xB5, 0x39C], [0xC5, 0x212B], [0xDF, 0x1E9E], [0xE5, 0x212B], [0x17F, 0x53], [0x1C4, 0x1C5], [0x1C5, 0x1C4], [0x1C7, 0x1C8], [0x1C8, 0x1C7], [0x1CA, 0x1CB], [0x1CB, 0x1CA], [0x1F1, 0x1F2], [0x1F2, 0x1F1], [0x345, 0x1FBE], [0x392, 0x3D0], [0x395, 0x3F5], [0x398, 0x3F4], [0x399, 0x1FBE], [0x39A, 0x3F0], [0x39C, 0xB5], [0x3A0, 0x3D6], [0x3A1, 0x3F1], [0x3A3, 0x3C2], [0x3A6, 0x3D5], [0x3A9, 0x2126], [0x3B8, 0x3F4], [0x3C2, 0x3A3], [0x3C9, 0x2126], [0x3D0, 0x392], [0x3D1, 0x3F4], [0x3D5, 0x3A6], [0x3D6, 0x3A0], [0x3F0, 0x39A], [0x3F1, 0x3A1], [0x3F4, [0x398, 0x3D1, 0x3B8]], [0x3F5, 0x395], [0x412, 0x1C80], [0x414, 0x1C81], [0x41E, 0x1C82], [0x421, 0x1C83], [0x422, 0x1C85], [0x42A, 0x1C86], [0x462, 0x1C87], [0x1C80, 0x412], [0x1C81, 0x414], [0x1C82, 0x41E], [0x1C83, 0x421], [0x1C84, 0x1C85], [0x1C85, [0x422, 0x1C84]], [0x1C86, 0x42A], [0x1C87, 0x462], [0x1C88, 0xA64A], [0x1E60, 0x1E9B], [0x1E9B, 0x1E60], [0x1E9E, 0xDF], [0x1F80, 0x1F88], [0x1F81, 0x1F89], [0x1F82, 0x1F8A], [0x1F83, 0x1F8B], [0x1F84, 0x1F8C], [0x1F85, 0x1F8D], [0x1F86, 0x1F8E], [0x1F87, 0x1F8F], [0x1F88, 0x1F80], [0x1F89, 0x1F81], [0x1F8A, 0x1F82], [0x1F8B, 0x1F83], [0x1F8C, 0x1F84], [0x1F8D, 0x1F85], [0x1F8E, 0x1F86], [0x1F8F, 0x1F87], [0x1F90, 0x1F98], [0x1F91, 0x1F99], [0x1F92, 0x1F9A], [0x1F93, 0x1F9B], [0x1F94, 0x1F9C], [0x1F95, 0x1F9D], [0x1F96, 0x1F9E], [0x1F97, 0x1F9F], [0x1F98, 0x1F90], [0x1F99, 0x1F91], [0x1F9A, 0x1F92], [0x1F9B, 0x1F93], [0x1F9C, 0x1F94], [0x1F9D, 0x1F95], [0x1F9E, 0x1F96], [0x1F9F, 0x1F97], [0x1FA0, 0x1FA8], [0x1FA1, 0x1FA9], [0x1FA2, 0x1FAA], [0x1FA3, 0x1FAB], [0x1FA4, 0x1FAC], [0x1FA5, 0x1FAD], [0x1FA6, 0x1FAE], [0x1FA7, 0x1FAF], [0x1FA8, 0x1FA0], [0x1FA9, 0x1FA1], [0x1FAA, 0x1FA2], [0x1FAB, 0x1FA3], [0x1FAC, 0x1FA4], [0x1FAD, 0x1FA5], [0x1FAE, 0x1FA6], [0x1FAF, 0x1FA7], [0x1FB3, 0x1FBC], [0x1FBC, 0x1FB3], [0x1FBE, [0x345, 0x399]], [0x1FC3, 0x1FCC], [0x1FCC, 0x1FC3], [0x1FF3, 0x1FFC], [0x1FFC, 0x1FF3], [0x2126, [0x3A9, 0x3C9]], [0x212A, 0x4B], [0x212B, [0xC5, 0xE5]], [0x2C2F, 0x2C5F], [0x2C5F, 0x2C2F], [0xA64A, 0x1C88], [0xA7C0, 0xA7C1], [0xA7C1, 0xA7C0], [0xA7D0, 0xA7D1], [0xA7D1, 0xA7D0], [0xA7D6, 0xA7D7], [0xA7D7, 0xA7D6], [0xA7D8, 0xA7D9], [0xA7D9, 0xA7D8], [0x10400, 0x10428], [0x10401, 0x10429], [0x10402, 0x1042A], [0x10403, 0x1042B], [0x10404, 0x1042C], [0x10405, 0x1042D], [0x10406, 0x1042E], [0x10407, 0x1042F], [0x10408, 0x10430], [0x10409, 0x10431], [0x1040A, 0x10432], [0x1040B, 0x10433], [0x1040C, 0x10434], [0x1040D, 0x10435], [0x1040E, 0x10436], [0x1040F, 0x10437], [0x10410, 0x10438], [0x10411, 0x10439], [0x10412, 0x1043A], [0x10413, 0x1043B], [0x10414, 0x1043C], [0x10415, 0x1043D], [0x10416, 0x1043E], [0x10417, 0x1043F], [0x10418, 0x10440], [0x10419, 0x10441], [0x1041A, 0x10442], [0x1041B, 0x10443], [0x1041C, 0x10444], [0x1041D, 0x10445], [0x1041E, 0x10446], [0x1041F, 0x10447], [0x10420, 0x10448], [0x10421, 0x10449], [0x10422, 0x1044A], [0x10423, 0x1044B], [0x10424, 0x1044C], [0x10425, 0x1044D], [0x10426, 0x1044E], [0x10427, 0x1044F], [0x10428, 0x10400], [0x10429, 0x10401], [0x1042A, 0x10402], [0x1042B, 0x10403], [0x1042C, 0x10404], [0x1042D, 0x10405], [0x1042E, 0x10406], [0x1042F, 0x10407], [0x10430, 0x10408], [0x10431, 0x10409], [0x10432, 0x1040A], [0x10433, 0x1040B], [0x10434, 0x1040C], [0x10435, 0x1040D], [0x10436, 0x1040E], [0x10437, 0x1040F], [0x10438, 0x10410], [0x10439, 0x10411], [0x1043A, 0x10412], [0x1043B, 0x10413], [0x1043C, 0x10414], [0x1043D, 0x10415], [0x1043E, 0x10416], [0x1043F, 0x10417], [0x10440, 0x10418], [0x10441, 0x10419], [0x10442, 0x1041A], [0x10443, 0x1041B], [0x10444, 0x1041C], [0x10445, 0x1041D], [0x10446, 0x1041E], [0x10447, 0x1041F], [0x10448, 0x10420], [0x10449, 0x10421], [0x1044A, 0x10422], [0x1044B, 0x10423], [0x1044C, 0x10424], [0x1044D, 0x10425], [0x1044E, 0x10426], [0x1044F, 0x10427], [0x104B0, 0x104D8], [0x104B1, 0x104D9], [0x104B2, 0x104DA], [0x104B3, 0x104DB], [0x104B4, 0x104DC], [0x104B5, 0x104DD], [0x104B6, 0x104DE], [0x104B7, 0x104DF], [0x104B8, 0x104E0], [0x104B9, 0x104E1], [0x104BA, 0x104E2], [0x104BB, 0x104E3], [0x104BC, 0x104E4], [0x104BD, 0x104E5], [0x104BE, 0x104E6], [0x104BF, 0x104E7], [0x104C0, 0x104E8], [0x104C1, 0x104E9], [0x104C2, 0x104EA], [0x104C3, 0x104EB], [0x104C4, 0x104EC], [0x104C5, 0x104ED], [0x104C6, 0x104EE], [0x104C7, 0x104EF], [0x104C8, 0x104F0], [0x104C9, 0x104F1], [0x104CA, 0x104F2], [0x104CB, 0x104F3], [0x104CC, 0x104F4], [0x104CD, 0x104F5], [0x104CE, 0x104F6], [0x104CF, 0x104F7], [0x104D0, 0x104F8], [0x104D1, 0x104F9], [0x104D2, 0x104FA], [0x104D3, 0x104FB], [0x104D8, 0x104B0], [0x104D9, 0x104B1], [0x104DA, 0x104B2], [0x104DB, 0x104B3], [0x104DC, 0x104B4], [0x104DD, 0x104B5], [0x104DE, 0x104B6], [0x104DF, 0x104B7], [0x104E0, 0x104B8], [0x104E1, 0x104B9], [0x104E2, 0x104BA], [0x104E3, 0x104BB], [0x104E4, 0x104BC], [0x104E5, 0x104BD], [0x104E6, 0x104BE], [0x104E7, 0x104BF], [0x104E8, 0x104C0], [0x104E9, 0x104C1], [0x104EA, 0x104C2], [0x104EB, 0x104C3], [0x104EC, 0x104C4], [0x104ED, 0x104C5], [0x104EE, 0x104C6], [0x104EF, 0x104C7], [0x104F0, 0x104C8], [0x104F1, 0x104C9], [0x104F2, 0x104CA], [0x104F3, 0x104CB], [0x104F4, 0x104CC], [0x104F5, 0x104CD], [0x104F6, 0x104CE], [0x104F7, 0x104CF], [0x104F8, 0x104D0], [0x104F9, 0x104D1], [0x104FA, 0x104D2], [0x104FB, 0x104D3], [0x10570, 0x10597], [0x10571, 0x10598], [0x10572, 0x10599], [0x10573, 0x1059A], [0x10574, 0x1059B], [0x10575, 0x1059C], [0x10576, 0x1059D], [0x10577, 0x1059E], [0x10578, 0x1059F], [0x10579, 0x105A0], [0x1057A, 0x105A1], [0x1057C, 0x105A3], [0x1057D, 0x105A4], [0x1057E, 0x105A5], [0x1057F, 0x105A6], [0x10580, 0x105A7], [0x10581, 0x105A8], [0x10582, 0x105A9], [0x10583, 0x105AA], [0x10584, 0x105AB], [0x10585, 0x105AC], [0x10586, 0x105AD], [0x10587, 0x105AE], [0x10588, 0x105AF], [0x10589, 0x105B0], [0x1058A, 0x105B1], [0x1058C, 0x105B3], [0x1058D, 0x105B4], [0x1058E, 0x105B5], [0x1058F, 0x105B6], [0x10590, 0x105B7], [0x10591, 0x105B8], [0x10592, 0x105B9], [0x10594, 0x105BB], [0x10595, 0x105BC], [0x10597, 0x10570], [0x10598, 0x10571], [0x10599, 0x10572], [0x1059A, 0x10573], [0x1059B, 0x10574], [0x1059C, 0x10575], [0x1059D, 0x10576], [0x1059E, 0x10577], [0x1059F, 0x10578], [0x105A0, 0x10579], [0x105A1, 0x1057A], [0x105A3, 0x1057C], [0x105A4, 0x1057D], [0x105A5, 0x1057E], [0x105A6, 0x1057F], [0x105A7, 0x10580], [0x105A8, 0x10581], [0x105A9, 0x10582], [0x105AA, 0x10583], [0x105AB, 0x10584], [0x105AC, 0x10585], [0x105AD, 0x10586], [0x105AE, 0x10587], [0x105AF, 0x10588], [0x105B0, 0x10589], [0x105B1, 0x1058A], [0x105B3, 0x1058C], [0x105B4, 0x1058D], [0x105B5, 0x1058E], [0x105B6, 0x1058F], [0x105B7, 0x10590], [0x105B8, 0x10591], [0x105B9, 0x10592], [0x105BB, 0x10594], [0x105BC, 0x10595], [0x10C80, 0x10CC0], [0x10C81, 0x10CC1], [0x10C82, 0x10CC2], [0x10C83, 0x10CC3], [0x10C84, 0x10CC4], [0x10C85, 0x10CC5], [0x10C86, 0x10CC6], [0x10C87, 0x10CC7], [0x10C88, 0x10CC8], [0x10C89, 0x10CC9], [0x10C8A, 0x10CCA], [0x10C8B, 0x10CCB], [0x10C8C, 0x10CCC], [0x10C8D, 0x10CCD], [0x10C8E, 0x10CCE], [0x10C8F, 0x10CCF], [0x10C90, 0x10CD0], [0x10C91, 0x10CD1], [0x10C92, 0x10CD2], [0x10C93, 0x10CD3], [0x10C94, 0x10CD4], [0x10C95, 0x10CD5], [0x10C96, 0x10CD6], [0x10C97, 0x10CD7], [0x10C98, 0x10CD8], [0x10C99, 0x10CD9], [0x10C9A, 0x10CDA], [0x10C9B, 0x10CDB], [0x10C9C, 0x10CDC], [0x10C9D, 0x10CDD], [0x10C9E, 0x10CDE], [0x10C9F, 0x10CDF], [0x10CA0, 0x10CE0], [0x10CA1, 0x10CE1], [0x10CA2, 0x10CE2], [0x10CA3, 0x10CE3], [0x10CA4, 0x10CE4], [0x10CA5, 0x10CE5], [0x10CA6, 0x10CE6], [0x10CA7, 0x10CE7], [0x10CA8, 0x10CE8], [0x10CA9, 0x10CE9], [0x10CAA, 0x10CEA], [0x10CAB, 0x10CEB], [0x10CAC, 0x10CEC], [0x10CAD, 0x10CED], [0x10CAE, 0x10CEE], [0x10CAF, 0x10CEF], [0x10CB0, 0x10CF0], [0x10CB1, 0x10CF1], [0x10CB2, 0x10CF2], [0x10CC0, 0x10C80], [0x10CC1, 0x10C81], [0x10CC2, 0x10C82], [0x10CC3, 0x10C83], [0x10CC4, 0x10C84], [0x10CC5, 0x10C85], [0x10CC6, 0x10C86], [0x10CC7, 0x10C87], [0x10CC8, 0x10C88], [0x10CC9, 0x10C89], [0x10CCA, 0x10C8A], [0x10CCB, 0x10C8B], [0x10CCC, 0x10C8C], [0x10CCD, 0x10C8D], [0x10CCE, 0x10C8E], [0x10CCF, 0x10C8F], [0x10CD0, 0x10C90], [0x10CD1, 0x10C91], [0x10CD2, 0x10C92], [0x10CD3, 0x10C93], [0x10CD4, 0x10C94], [0x10CD5, 0x10C95], [0x10CD6, 0x10C96], [0x10CD7, 0x10C97], [0x10CD8, 0x10C98], [0x10CD9, 0x10C99], [0x10CDA, 0x10C9A], [0x10CDB, 0x10C9B], [0x10CDC, 0x10C9C], [0x10CDD, 0x10C9D], [0x10CDE, 0x10C9E], [0x10CDF, 0x10C9F], [0x10CE0, 0x10CA0], [0x10CE1, 0x10CA1], [0x10CE2, 0x10CA2], [0x10CE3, 0x10CA3], [0x10CE4, 0x10CA4], [0x10CE5, 0x10CA5], [0x10CE6, 0x10CA6], [0x10CE7, 0x10CA7], [0x10CE8, 0x10CA8], [0x10CE9, 0x10CA9], [0x10CEA, 0x10CAA], [0x10CEB, 0x10CAB], [0x10CEC, 0x10CAC], [0x10CED, 0x10CAD], [0x10CEE, 0x10CAE], [0x10CEF, 0x10CAF], [0x10CF0, 0x10CB0], [0x10CF1, 0x10CB1], [0x10CF2, 0x10CB2], [0x118A0, 0x118C0], [0x118A1, 0x118C1], [0x118A2, 0x118C2], [0x118A3, 0x118C3], [0x118A4, 0x118C4], [0x118A5, 0x118C5], [0x118A6, 0x118C6], [0x118A7, 0x118C7], [0x118A8, 0x118C8], [0x118A9, 0x118C9], [0x118AA, 0x118CA], [0x118AB, 0x118CB], [0x118AC, 0x118CC], [0x118AD, 0x118CD], [0x118AE, 0x118CE], [0x118AF, 0x118CF], [0x118B0, 0x118D0], [0x118B1, 0x118D1], [0x118B2, 0x118D2], [0x118B3, 0x118D3], [0x118B4, 0x118D4], [0x118B5, 0x118D5], [0x118B6, 0x118D6], [0x118B7, 0x118D7], [0x118B8, 0x118D8], [0x118B9, 0x118D9], [0x118BA, 0x118DA], [0x118BB, 0x118DB], [0x118BC, 0x118DC], [0x118BD, 0x118DD], [0x118BE, 0x118DE], [0x118BF, 0x118DF], [0x118C0, 0x118A0], [0x118C1, 0x118A1], [0x118C2, 0x118A2], [0x118C3, 0x118A3], [0x118C4, 0x118A4], [0x118C5, 0x118A5], [0x118C6, 0x118A6], [0x118C7, 0x118A7], [0x118C8, 0x118A8], [0x118C9, 0x118A9], [0x118CA, 0x118AA], [0x118CB, 0x118AB], [0x118CC, 0x118AC], [0x118CD, 0x118AD], [0x118CE, 0x118AE], [0x118CF, 0x118AF], [0x118D0, 0x118B0], [0x118D1, 0x118B1], [0x118D2, 0x118B2], [0x118D3, 0x118B3], [0x118D4, 0x118B4], [0x118D5, 0x118B5], [0x118D6, 0x118B6], [0x118D7, 0x118B7], [0x118D8, 0x118B8], [0x118D9, 0x118B9], [0x118DA, 0x118BA], [0x118DB, 0x118BB], [0x118DC, 0x118BC], [0x118DD, 0x118BD], [0x118DE, 0x118BE], [0x118DF, 0x118BF], [0x16E40, 0x16E60], [0x16E41, 0x16E61], [0x16E42, 0x16E62], [0x16E43, 0x16E63], [0x16E44, 0x16E64], [0x16E45, 0x16E65], [0x16E46, 0x16E66], [0x16E47, 0x16E67], [0x16E48, 0x16E68], [0x16E49, 0x16E69], [0x16E4A, 0x16E6A], [0x16E4B, 0x16E6B], [0x16E4C, 0x16E6C], [0x16E4D, 0x16E6D], [0x16E4E, 0x16E6E], [0x16E4F, 0x16E6F], [0x16E50, 0x16E70], [0x16E51, 0x16E71], [0x16E52, 0x16E72], [0x16E53, 0x16E73], [0x16E54, 0x16E74], [0x16E55, 0x16E75], [0x16E56, 0x16E76], [0x16E57, 0x16E77], [0x16E58, 0x16E78], [0x16E59, 0x16E79], [0x16E5A, 0x16E7A], [0x16E5B, 0x16E7B], [0x16E5C, 0x16E7C], [0x16E5D, 0x16E7D], [0x16E5E, 0x16E7E], [0x16E5F, 0x16E7F], [0x16E60, 0x16E40], [0x16E61, 0x16E41], [0x16E62, 0x16E42], [0x16E63, 0x16E43], [0x16E64, 0x16E44], [0x16E65, 0x16E45], [0x16E66, 0x16E46], [0x16E67, 0x16E47], [0x16E68, 0x16E48], [0x16E69, 0x16E49], [0x16E6A, 0x16E4A], [0x16E6B, 0x16E4B], [0x16E6C, 0x16E4C], [0x16E6D, 0x16E4D], [0x16E6E, 0x16E4E], [0x16E6F, 0x16E4F], [0x16E70, 0x16E50], [0x16E71, 0x16E51], [0x16E72, 0x16E52], [0x16E73, 0x16E53], [0x16E74, 0x16E54], [0x16E75, 0x16E55], [0x16E76, 0x16E56], [0x16E77, 0x16E57], [0x16E78, 0x16E58], [0x16E79, 0x16E59], [0x16E7A, 0x16E5A], [0x16E7B, 0x16E5B], [0x16E7C, 0x16E5C], [0x16E7D, 0x16E5D], [0x16E7E, 0x16E5E], [0x16E7F, 0x16E5F], [0x1E900, 0x1E922], [0x1E901, 0x1E923], [0x1E902, 0x1E924], [0x1E903, 0x1E925], [0x1E904, 0x1E926], [0x1E905, 0x1E927], [0x1E906, 0x1E928], [0x1E907, 0x1E929], [0x1E908, 0x1E92A], [0x1E909, 0x1E92B], [0x1E90A, 0x1E92C], [0x1E90B, 0x1E92D], [0x1E90C, 0x1E92E], [0x1E90D, 0x1E92F], [0x1E90E, 0x1E930], [0x1E90F, 0x1E931], [0x1E910, 0x1E932], [0x1E911, 0x1E933], [0x1E912, 0x1E934], [0x1E913, 0x1E935], [0x1E914, 0x1E936], [0x1E915, 0x1E937], [0x1E916, 0x1E938], [0x1E917, 0x1E939], [0x1E918, 0x1E93A], [0x1E919, 0x1E93B], [0x1E91A, 0x1E93C], [0x1E91B, 0x1E93D], [0x1E91C, 0x1E93E], [0x1E91D, 0x1E93F], [0x1E91E, 0x1E940], [0x1E91F, 0x1E941], [0x1E920, 0x1E942], [0x1E921, 0x1E943], [0x1E922, 0x1E900], [0x1E923, 0x1E901], [0x1E924, 0x1E902], [0x1E925, 0x1E903], [0x1E926, 0x1E904], [0x1E927, 0x1E905], [0x1E928, 0x1E906], [0x1E929, 0x1E907], [0x1E92A, 0x1E908], [0x1E92B, 0x1E909], [0x1E92C, 0x1E90A], [0x1E92D, 0x1E90B], [0x1E92E, 0x1E90C], [0x1E92F, 0x1E90D], [0x1E930, 0x1E90E], [0x1E931, 0x1E90F], [0x1E932, 0x1E910], [0x1E933, 0x1E911], [0x1E934, 0x1E912], [0x1E935, 0x1E913], [0x1E936, 0x1E914], [0x1E937, 0x1E915], [0x1E938, 0x1E916], [0x1E939, 0x1E917], [0x1E93A, 0x1E918], [0x1E93B, 0x1E919], [0x1E93C, 0x1E91A], [0x1E93D, 0x1E91B], [0x1E93E, 0x1E91C], [0x1E93F, 0x1E91D], [0x1E940, 0x1E91E], [0x1E941, 0x1E91F], [0x1E942, 0x1E920], [0x1E943, 0x1E921]]);","const set = require('regenerate')();\nset.addRange(0x10E80, 0x10EA9).addRange(0x10EAB, 0x10EAD).addRange(0x10EB0, 0x10EB1);\nmodule.exports = set;","const set = require('regenerate')(0x19BA, 0xAAB9);\nset.addRange(0xE40, 0xE44).addRange(0xEC0, 0xEC4).addRange(0x19B5, 0x19B7).addRange(0xAAB5, 0xAAB6).addRange(0xAABB, 0xAABC);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0xAB70, 0xABBF);\nmodule.exports = set;","const set = require('regenerate')(0xB5, 0x1BF, 0x259, 0x263, 0x26F, 0x275, 0x27D, 0x280, 0x292, 0x345, 0x37F, 0x386, 0x38C, 0x10C7, 0x10CD, 0x1D79, 0x1D7D, 0x1D8E, 0x1E9E, 0x1F59, 0x1F5B, 0x1F5D, 0x1FBE, 0x2126, 0x2132, 0x214E, 0x2D27, 0x2D2D, 0xAB53);\nset.addRange(0x41, 0x5A).addRange(0x61, 0x7A).addRange(0xC0, 0xD6).addRange(0xD8, 0xF6).addRange(0xF8, 0x137).addRange(0x139, 0x18C).addRange(0x18E, 0x19A).addRange(0x19C, 0x1A9).addRange(0x1AC, 0x1B9).addRange(0x1BC, 0x1BD).addRange(0x1C4, 0x220).addRange(0x222, 0x233).addRange(0x23A, 0x254).addRange(0x256, 0x257).addRange(0x25B, 0x25C).addRange(0x260, 0x261).addRange(0x265, 0x266).addRange(0x268, 0x26C).addRange(0x271, 0x272).addRange(0x282, 0x283).addRange(0x287, 0x28C).addRange(0x29D, 0x29E).addRange(0x370, 0x373).addRange(0x376, 0x377).addRange(0x37B, 0x37D).addRange(0x388, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x3D1).addRange(0x3D5, 0x3F5).addRange(0x3F7, 0x3FB).addRange(0x3FD, 0x481).addRange(0x48A, 0x52F).addRange(0x531, 0x556).addRange(0x561, 0x587).addRange(0x10A0, 0x10C5).addRange(0x10D0, 0x10FA).addRange(0x10FD, 0x10FF).addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0x1C80, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1E00, 0x1E9B).addRange(0x1EA0, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D).addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FBC);\nset.addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FCC).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FE0, 0x1FEC).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFC).addRange(0x212A, 0x212B).addRange(0x2160, 0x217F).addRange(0x2183, 0x2184).addRange(0x24B6, 0x24E9).addRange(0x2C00, 0x2C70).addRange(0x2C72, 0x2C73).addRange(0x2C75, 0x2C76).addRange(0x2C7E, 0x2CE3).addRange(0x2CEB, 0x2CEE).addRange(0x2CF2, 0x2CF3).addRange(0x2D00, 0x2D25).addRange(0xA640, 0xA66D).addRange(0xA680, 0xA69B).addRange(0xA722, 0xA72F).addRange(0xA732, 0xA76F).addRange(0xA779, 0xA787).addRange(0xA78B, 0xA78D).addRange(0xA790, 0xA794).addRange(0xA796, 0xA7AE).addRange(0xA7B0, 0xA7CA).addRange(0xA7D0, 0xA7D1).addRange(0xA7D6, 0xA7D9).addRange(0xA7F5, 0xA7F6).addRange(0xAB70, 0xABBF).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFF21, 0xFF3A).addRange(0xFF41, 0xFF5A).addRange(0x10400, 0x1044F).addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10C80, 0x10CB2).addRange(0x10CC0, 0x10CF2).addRange(0x118A0, 0x118DF).addRange(0x16E40, 0x16E7F).addRange(0x1E900, 0x1E943);\nset;\nmodule.exports = set;","var MapCache = require('./_MapCache'),\n setCacheAdd = require('./_setCacheAdd'),\n setCacheHas = require('./_setCacheHas');\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nmodule.exports = SetCache;\n","const set = require('regenerate')();\nset.addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x11C00, 0x11C08).addRange(0x11C0A, 0x11C36).addRange(0x11C38, 0x11C45).addRange(0x11C50, 0x11C6C);\nmodule.exports = set;","const set = require('regenerate')(0xFDCF, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E);\nset.addRange(0x600, 0x604).addRange(0x606, 0x6DC).addRange(0x6DE, 0x6FF).addRange(0x750, 0x77F).addRange(0x870, 0x88E).addRange(0x890, 0x891).addRange(0x898, 0x8E1).addRange(0x8E3, 0x8FF).addRange(0xFB50, 0xFBC2).addRange(0xFBD3, 0xFD8F).addRange(0xFD92, 0xFDC7).addRange(0xFDF0, 0xFDFF).addRange(0xFE70, 0xFE74).addRange(0xFE76, 0xFEFC).addRange(0x102E0, 0x102FB).addRange(0x10E60, 0x10E7E).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F).addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72).addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89).addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x1EEF0, 0x1EEF1);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x10350, 0x1037A);\nmodule.exports = set;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _getRequireWildcardCache(nodeInterop) {\n if (typeof WeakMap !== \"function\") return null;\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop);\n}\nfunction _interopRequireWildcard(obj, nodeInterop) {\n if (!nodeInterop && obj && obj.__esModule) {\n return obj;\n }\n if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") {\n return {\n \"default\": obj\n };\n }\n var cache = _getRequireWildcardCache(nodeInterop);\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n var newObj = {};\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for (var key in obj) {\n if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n newObj[\"default\"] = obj;\n if (cache) {\n cache.set(obj, newObj);\n }\n return newObj;\n}\nmodule.exports = _interopRequireWildcard, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","const set = require('regenerate')(0xAA, 0xBA, 0x10FB, 0x202F, 0x2071, 0x207F, 0x20F0, 0x2132, 0x214E, 0xA7D3, 0xA92E);\nset.addRange(0x41, 0x5A).addRange(0x61, 0x7A).addRange(0xC0, 0xD6).addRange(0xD8, 0xF6).addRange(0xF8, 0x2B8).addRange(0x2E0, 0x2E4).addRange(0x363, 0x36F).addRange(0x485, 0x486).addRange(0x951, 0x952).addRange(0x1D00, 0x1D25).addRange(0x1D2C, 0x1D5C).addRange(0x1D62, 0x1D65).addRange(0x1D6B, 0x1D77).addRange(0x1D79, 0x1DBE).addRange(0x1E00, 0x1EFF).addRange(0x2090, 0x209C).addRange(0x212A, 0x212B).addRange(0x2160, 0x2188).addRange(0x2C60, 0x2C7F).addRange(0xA700, 0xA707).addRange(0xA722, 0xA787).addRange(0xA78B, 0xA7CA).addRange(0xA7D0, 0xA7D1).addRange(0xA7D5, 0xA7D9).addRange(0xA7F2, 0xA7FF).addRange(0xAB30, 0xAB5A).addRange(0xAB5C, 0xAB64).addRange(0xAB66, 0xAB69).addRange(0xFB00, 0xFB06).addRange(0xFF21, 0xFF3A).addRange(0xFF41, 0xFF5A).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x1DF00, 0x1DF1E);\nmodule.exports = set;","import { encode } from 'sourcemap-codec';\nvar BitSet = function BitSet(arg) {\n this.bits = arg instanceof BitSet ? arg.bits.slice() : [];\n};\nBitSet.prototype.add = function add(n) {\n this.bits[n >> 5] |= 1 << (n & 31);\n};\nBitSet.prototype.has = function has(n) {\n return !!(this.bits[n >> 5] & 1 << (n & 31));\n};\nvar Chunk = function Chunk(start, end, content) {\n this.start = start;\n this.end = end;\n this.original = content;\n this.intro = '';\n this.outro = '';\n this.content = content;\n this.storeName = false;\n this.edited = false;\n\n // we make these non-enumerable, for sanity while debugging\n Object.defineProperties(this, {\n previous: {\n writable: true,\n value: null\n },\n next: {\n writable: true,\n value: null\n }\n });\n};\nChunk.prototype.appendLeft = function appendLeft(content) {\n this.outro += content;\n};\nChunk.prototype.appendRight = function appendRight(content) {\n this.intro = this.intro + content;\n};\nChunk.prototype.clone = function clone() {\n var chunk = new Chunk(this.start, this.end, this.original);\n chunk.intro = this.intro;\n chunk.outro = this.outro;\n chunk.content = this.content;\n chunk.storeName = this.storeName;\n chunk.edited = this.edited;\n return chunk;\n};\nChunk.prototype.contains = function contains(index) {\n return this.start < index && index < this.end;\n};\nChunk.prototype.eachNext = function eachNext(fn) {\n var chunk = this;\n while (chunk) {\n fn(chunk);\n chunk = chunk.next;\n }\n};\nChunk.prototype.eachPrevious = function eachPrevious(fn) {\n var chunk = this;\n while (chunk) {\n fn(chunk);\n chunk = chunk.previous;\n }\n};\nChunk.prototype.edit = function edit(content, storeName, contentOnly) {\n this.content = content;\n if (!contentOnly) {\n this.intro = '';\n this.outro = '';\n }\n this.storeName = storeName;\n this.edited = true;\n return this;\n};\nChunk.prototype.prependLeft = function prependLeft(content) {\n this.outro = content + this.outro;\n};\nChunk.prototype.prependRight = function prependRight(content) {\n this.intro = content + this.intro;\n};\nChunk.prototype.split = function split(index) {\n var sliceIndex = index - this.start;\n var originalBefore = this.original.slice(0, sliceIndex);\n var originalAfter = this.original.slice(sliceIndex);\n this.original = originalBefore;\n var newChunk = new Chunk(index, this.end, originalAfter);\n newChunk.outro = this.outro;\n this.outro = '';\n this.end = index;\n if (this.edited) {\n // TODO is this block necessary?...\n newChunk.edit('', false);\n this.content = '';\n } else {\n this.content = originalBefore;\n }\n newChunk.next = this.next;\n if (newChunk.next) {\n newChunk.next.previous = newChunk;\n }\n newChunk.previous = this;\n this.next = newChunk;\n return newChunk;\n};\nChunk.prototype.toString = function toString() {\n return this.intro + this.content + this.outro;\n};\nChunk.prototype.trimEnd = function trimEnd(rx) {\n this.outro = this.outro.replace(rx, '');\n if (this.outro.length) {\n return true;\n }\n var trimmed = this.content.replace(rx, '');\n if (trimmed.length) {\n if (trimmed !== this.content) {\n this.split(this.start + trimmed.length).edit('', undefined, true);\n }\n return true;\n } else {\n this.edit('', undefined, true);\n this.intro = this.intro.replace(rx, '');\n if (this.intro.length) {\n return true;\n }\n }\n};\nChunk.prototype.trimStart = function trimStart(rx) {\n this.intro = this.intro.replace(rx, '');\n if (this.intro.length) {\n return true;\n }\n var trimmed = this.content.replace(rx, '');\n if (trimmed.length) {\n if (trimmed !== this.content) {\n this.split(this.end - trimmed.length);\n this.edit('', undefined, true);\n }\n return true;\n } else {\n this.edit('', undefined, true);\n this.outro = this.outro.replace(rx, '');\n if (this.outro.length) {\n return true;\n }\n }\n};\nvar btoa = function () {\n throw new Error('Unsupported environment: `window.btoa` or `Buffer` should be supported.');\n};\nif (typeof window !== 'undefined' && typeof window.btoa === 'function') {\n btoa = function (str) {\n return window.btoa(unescape(encodeURIComponent(str)));\n };\n} else if (typeof Buffer === 'function') {\n btoa = function (str) {\n return Buffer.from(str, 'utf-8').toString('base64');\n };\n}\nvar SourceMap = function SourceMap(properties) {\n this.version = 3;\n this.file = properties.file;\n this.sources = properties.sources;\n this.sourcesContent = properties.sourcesContent;\n this.names = properties.names;\n this.mappings = encode(properties.mappings);\n};\nSourceMap.prototype.toString = function toString() {\n return JSON.stringify(this);\n};\nSourceMap.prototype.toUrl = function toUrl() {\n return 'data:application/json;charset=utf-8;base64,' + btoa(this.toString());\n};\nfunction guessIndent(code) {\n var lines = code.split('\\n');\n var tabbed = lines.filter(function (line) {\n return /^\\t+/.test(line);\n });\n var spaced = lines.filter(function (line) {\n return /^ {2,}/.test(line);\n });\n if (tabbed.length === 0 && spaced.length === 0) {\n return null;\n }\n\n // More lines tabbed than spaced? Assume tabs, and\n // default to tabs in the case of a tie (or nothing\n // to go on)\n if (tabbed.length >= spaced.length) {\n return '\\t';\n }\n\n // Otherwise, we need to guess the multiple\n var min = spaced.reduce(function (previous, current) {\n var numSpaces = /^ +/.exec(current)[0].length;\n return Math.min(numSpaces, previous);\n }, Infinity);\n return new Array(min + 1).join(' ');\n}\nfunction getRelativePath(from, to) {\n var fromParts = from.split(/[/\\\\]/);\n var toParts = to.split(/[/\\\\]/);\n fromParts.pop(); // get dirname\n\n while (fromParts[0] === toParts[0]) {\n fromParts.shift();\n toParts.shift();\n }\n if (fromParts.length) {\n var i = fromParts.length;\n while (i--) {\n fromParts[i] = '..';\n }\n }\n return fromParts.concat(toParts).join('/');\n}\nvar toString = Object.prototype.toString;\nfunction isObject(thing) {\n return toString.call(thing) === '[object Object]';\n}\nfunction getLocator(source) {\n var originalLines = source.split('\\n');\n var lineOffsets = [];\n for (var i = 0, pos = 0; i < originalLines.length; i++) {\n lineOffsets.push(pos);\n pos += originalLines[i].length + 1;\n }\n return function locate(index) {\n var i = 0;\n var j = lineOffsets.length;\n while (i < j) {\n var m = i + j >> 1;\n if (index < lineOffsets[m]) {\n j = m;\n } else {\n i = m + 1;\n }\n }\n var line = i - 1;\n var column = index - lineOffsets[line];\n return {\n line: line,\n column: column\n };\n };\n}\nvar Mappings = function Mappings(hires) {\n this.hires = hires;\n this.generatedCodeLine = 0;\n this.generatedCodeColumn = 0;\n this.raw = [];\n this.rawSegments = this.raw[this.generatedCodeLine] = [];\n this.pending = null;\n};\nMappings.prototype.addEdit = function addEdit(sourceIndex, content, loc, nameIndex) {\n if (content.length) {\n var segment = [this.generatedCodeColumn, sourceIndex, loc.line, loc.column];\n if (nameIndex >= 0) {\n segment.push(nameIndex);\n }\n this.rawSegments.push(segment);\n } else if (this.pending) {\n this.rawSegments.push(this.pending);\n }\n this.advance(content);\n this.pending = null;\n};\nMappings.prototype.addUneditedChunk = function addUneditedChunk(sourceIndex, chunk, original, loc, sourcemapLocations) {\n var originalCharIndex = chunk.start;\n var first = true;\n while (originalCharIndex < chunk.end) {\n if (this.hires || first || sourcemapLocations.has(originalCharIndex)) {\n this.rawSegments.push([this.generatedCodeColumn, sourceIndex, loc.line, loc.column]);\n }\n if (original[originalCharIndex] === '\\n') {\n loc.line += 1;\n loc.column = 0;\n this.generatedCodeLine += 1;\n this.raw[this.generatedCodeLine] = this.rawSegments = [];\n this.generatedCodeColumn = 0;\n first = true;\n } else {\n loc.column += 1;\n this.generatedCodeColumn += 1;\n first = false;\n }\n originalCharIndex += 1;\n }\n this.pending = null;\n};\nMappings.prototype.advance = function advance(str) {\n if (!str) {\n return;\n }\n var lines = str.split('\\n');\n if (lines.length > 1) {\n for (var i = 0; i < lines.length - 1; i++) {\n this.generatedCodeLine++;\n this.raw[this.generatedCodeLine] = this.rawSegments = [];\n }\n this.generatedCodeColumn = 0;\n }\n this.generatedCodeColumn += lines[lines.length - 1].length;\n};\nvar n = '\\n';\nvar warned = {\n insertLeft: false,\n insertRight: false,\n storeName: false\n};\nvar MagicString = function MagicString(string, options) {\n if (options === void 0) options = {};\n var chunk = new Chunk(0, string.length, string);\n Object.defineProperties(this, {\n original: {\n writable: true,\n value: string\n },\n outro: {\n writable: true,\n value: ''\n },\n intro: {\n writable: true,\n value: ''\n },\n firstChunk: {\n writable: true,\n value: chunk\n },\n lastChunk: {\n writable: true,\n value: chunk\n },\n lastSearchedChunk: {\n writable: true,\n value: chunk\n },\n byStart: {\n writable: true,\n value: {}\n },\n byEnd: {\n writable: true,\n value: {}\n },\n filename: {\n writable: true,\n value: options.filename\n },\n indentExclusionRanges: {\n writable: true,\n value: options.indentExclusionRanges\n },\n sourcemapLocations: {\n writable: true,\n value: new BitSet()\n },\n storedNames: {\n writable: true,\n value: {}\n },\n indentStr: {\n writable: true,\n value: guessIndent(string)\n }\n });\n this.byStart[0] = chunk;\n this.byEnd[string.length] = chunk;\n};\nMagicString.prototype.addSourcemapLocation = function addSourcemapLocation(char) {\n this.sourcemapLocations.add(char);\n};\nMagicString.prototype.append = function append(content) {\n if (typeof content !== 'string') {\n throw new TypeError('outro content must be a string');\n }\n this.outro += content;\n return this;\n};\nMagicString.prototype.appendLeft = function appendLeft(index, content) {\n if (typeof content !== 'string') {\n throw new TypeError('inserted content must be a string');\n }\n this._split(index);\n var chunk = this.byEnd[index];\n if (chunk) {\n chunk.appendLeft(content);\n } else {\n this.intro += content;\n }\n return this;\n};\nMagicString.prototype.appendRight = function appendRight(index, content) {\n if (typeof content !== 'string') {\n throw new TypeError('inserted content must be a string');\n }\n this._split(index);\n var chunk = this.byStart[index];\n if (chunk) {\n chunk.appendRight(content);\n } else {\n this.outro += content;\n }\n return this;\n};\nMagicString.prototype.clone = function clone() {\n var cloned = new MagicString(this.original, {\n filename: this.filename\n });\n var originalChunk = this.firstChunk;\n var clonedChunk = cloned.firstChunk = cloned.lastSearchedChunk = originalChunk.clone();\n while (originalChunk) {\n cloned.byStart[clonedChunk.start] = clonedChunk;\n cloned.byEnd[clonedChunk.end] = clonedChunk;\n var nextOriginalChunk = originalChunk.next;\n var nextClonedChunk = nextOriginalChunk && nextOriginalChunk.clone();\n if (nextClonedChunk) {\n clonedChunk.next = nextClonedChunk;\n nextClonedChunk.previous = clonedChunk;\n clonedChunk = nextClonedChunk;\n }\n originalChunk = nextOriginalChunk;\n }\n cloned.lastChunk = clonedChunk;\n if (this.indentExclusionRanges) {\n cloned.indentExclusionRanges = this.indentExclusionRanges.slice();\n }\n cloned.sourcemapLocations = new BitSet(this.sourcemapLocations);\n cloned.intro = this.intro;\n cloned.outro = this.outro;\n return cloned;\n};\nMagicString.prototype.generateDecodedMap = function generateDecodedMap(options) {\n var this$1$1 = this;\n options = options || {};\n var sourceIndex = 0;\n var names = Object.keys(this.storedNames);\n var mappings = new Mappings(options.hires);\n var locate = getLocator(this.original);\n if (this.intro) {\n mappings.advance(this.intro);\n }\n this.firstChunk.eachNext(function (chunk) {\n var loc = locate(chunk.start);\n if (chunk.intro.length) {\n mappings.advance(chunk.intro);\n }\n if (chunk.edited) {\n mappings.addEdit(sourceIndex, chunk.content, loc, chunk.storeName ? names.indexOf(chunk.original) : -1);\n } else {\n mappings.addUneditedChunk(sourceIndex, chunk, this$1$1.original, loc, this$1$1.sourcemapLocations);\n }\n if (chunk.outro.length) {\n mappings.advance(chunk.outro);\n }\n });\n return {\n file: options.file ? options.file.split(/[/\\\\]/).pop() : null,\n sources: [options.source ? getRelativePath(options.file || '', options.source) : null],\n sourcesContent: options.includeContent ? [this.original] : [null],\n names: names,\n mappings: mappings.raw\n };\n};\nMagicString.prototype.generateMap = function generateMap(options) {\n return new SourceMap(this.generateDecodedMap(options));\n};\nMagicString.prototype.getIndentString = function getIndentString() {\n return this.indentStr === null ? '\\t' : this.indentStr;\n};\nMagicString.prototype.indent = function indent(indentStr, options) {\n var pattern = /^[^\\r\\n]/gm;\n if (isObject(indentStr)) {\n options = indentStr;\n indentStr = undefined;\n }\n indentStr = indentStr !== undefined ? indentStr : this.indentStr || '\\t';\n if (indentStr === '') {\n return this;\n } // noop\n\n options = options || {};\n\n // Process exclusion ranges\n var isExcluded = {};\n if (options.exclude) {\n var exclusions = typeof options.exclude[0] === 'number' ? [options.exclude] : options.exclude;\n exclusions.forEach(function (exclusion) {\n for (var i = exclusion[0]; i < exclusion[1]; i += 1) {\n isExcluded[i] = true;\n }\n });\n }\n var shouldIndentNextCharacter = options.indentStart !== false;\n var replacer = function (match) {\n if (shouldIndentNextCharacter) {\n return \"\" + indentStr + match;\n }\n shouldIndentNextCharacter = true;\n return match;\n };\n this.intro = this.intro.replace(pattern, replacer);\n var charIndex = 0;\n var chunk = this.firstChunk;\n while (chunk) {\n var end = chunk.end;\n if (chunk.edited) {\n if (!isExcluded[charIndex]) {\n chunk.content = chunk.content.replace(pattern, replacer);\n if (chunk.content.length) {\n shouldIndentNextCharacter = chunk.content[chunk.content.length - 1] === '\\n';\n }\n }\n } else {\n charIndex = chunk.start;\n while (charIndex < end) {\n if (!isExcluded[charIndex]) {\n var char = this.original[charIndex];\n if (char === '\\n') {\n shouldIndentNextCharacter = true;\n } else if (char !== '\\r' && shouldIndentNextCharacter) {\n shouldIndentNextCharacter = false;\n if (charIndex === chunk.start) {\n chunk.prependRight(indentStr);\n } else {\n this._splitChunk(chunk, charIndex);\n chunk = chunk.next;\n chunk.prependRight(indentStr);\n }\n }\n }\n charIndex += 1;\n }\n }\n charIndex = chunk.end;\n chunk = chunk.next;\n }\n this.outro = this.outro.replace(pattern, replacer);\n return this;\n};\nMagicString.prototype.insert = function insert() {\n throw new Error('magicString.insert(...) is deprecated. Use prependRight(...) or appendLeft(...)');\n};\nMagicString.prototype.insertLeft = function insertLeft(index, content) {\n if (!warned.insertLeft) {\n console.warn('magicString.insertLeft(...) is deprecated. Use magicString.appendLeft(...) instead'); // eslint-disable-line no-console\n warned.insertLeft = true;\n }\n return this.appendLeft(index, content);\n};\nMagicString.prototype.insertRight = function insertRight(index, content) {\n if (!warned.insertRight) {\n console.warn('magicString.insertRight(...) is deprecated. Use magicString.prependRight(...) instead'); // eslint-disable-line no-console\n warned.insertRight = true;\n }\n return this.prependRight(index, content);\n};\nMagicString.prototype.move = function move(start, end, index) {\n if (index >= start && index <= end) {\n throw new Error('Cannot move a selection inside itself');\n }\n this._split(start);\n this._split(end);\n this._split(index);\n var first = this.byStart[start];\n var last = this.byEnd[end];\n var oldLeft = first.previous;\n var oldRight = last.next;\n var newRight = this.byStart[index];\n if (!newRight && last === this.lastChunk) {\n return this;\n }\n var newLeft = newRight ? newRight.previous : this.lastChunk;\n if (oldLeft) {\n oldLeft.next = oldRight;\n }\n if (oldRight) {\n oldRight.previous = oldLeft;\n }\n if (newLeft) {\n newLeft.next = first;\n }\n if (newRight) {\n newRight.previous = last;\n }\n if (!first.previous) {\n this.firstChunk = last.next;\n }\n if (!last.next) {\n this.lastChunk = first.previous;\n this.lastChunk.next = null;\n }\n first.previous = newLeft;\n last.next = newRight || null;\n if (!newLeft) {\n this.firstChunk = first;\n }\n if (!newRight) {\n this.lastChunk = last;\n }\n return this;\n};\nMagicString.prototype.overwrite = function overwrite(start, end, content, options) {\n if (typeof content !== 'string') {\n throw new TypeError('replacement content must be a string');\n }\n while (start < 0) {\n start += this.original.length;\n }\n while (end < 0) {\n end += this.original.length;\n }\n if (end > this.original.length) {\n throw new Error('end is out of bounds');\n }\n if (start === end) {\n throw new Error('Cannot overwrite a zero-length range – use appendLeft or prependRight instead');\n }\n this._split(start);\n this._split(end);\n if (options === true) {\n if (!warned.storeName) {\n console.warn('The final argument to magicString.overwrite(...) should be an options object. See https://github.com/rich-harris/magic-string'); // eslint-disable-line no-console\n warned.storeName = true;\n }\n options = {\n storeName: true\n };\n }\n var storeName = options !== undefined ? options.storeName : false;\n var contentOnly = options !== undefined ? options.contentOnly : false;\n if (storeName) {\n var original = this.original.slice(start, end);\n Object.defineProperty(this.storedNames, original, {\n writable: true,\n value: true,\n enumerable: true\n });\n }\n var first = this.byStart[start];\n var last = this.byEnd[end];\n if (first) {\n var chunk = first;\n while (chunk !== last) {\n if (chunk.next !== this.byStart[chunk.end]) {\n throw new Error('Cannot overwrite across a split point');\n }\n chunk = chunk.next;\n chunk.edit('', false);\n }\n first.edit(content, storeName, contentOnly);\n } else {\n // must be inserting at the end\n var newChunk = new Chunk(start, end, '').edit(content, storeName);\n\n // TODO last chunk in the array may not be the last chunk, if it's moved...\n last.next = newChunk;\n newChunk.previous = last;\n }\n return this;\n};\nMagicString.prototype.prepend = function prepend(content) {\n if (typeof content !== 'string') {\n throw new TypeError('outro content must be a string');\n }\n this.intro = content + this.intro;\n return this;\n};\nMagicString.prototype.prependLeft = function prependLeft(index, content) {\n if (typeof content !== 'string') {\n throw new TypeError('inserted content must be a string');\n }\n this._split(index);\n var chunk = this.byEnd[index];\n if (chunk) {\n chunk.prependLeft(content);\n } else {\n this.intro = content + this.intro;\n }\n return this;\n};\nMagicString.prototype.prependRight = function prependRight(index, content) {\n if (typeof content !== 'string') {\n throw new TypeError('inserted content must be a string');\n }\n this._split(index);\n var chunk = this.byStart[index];\n if (chunk) {\n chunk.prependRight(content);\n } else {\n this.outro = content + this.outro;\n }\n return this;\n};\nMagicString.prototype.remove = function remove(start, end) {\n while (start < 0) {\n start += this.original.length;\n }\n while (end < 0) {\n end += this.original.length;\n }\n if (start === end) {\n return this;\n }\n if (start < 0 || end > this.original.length) {\n throw new Error('Character is out of bounds');\n }\n if (start > end) {\n throw new Error('end must be greater than start');\n }\n this._split(start);\n this._split(end);\n var chunk = this.byStart[start];\n while (chunk) {\n chunk.intro = '';\n chunk.outro = '';\n chunk.edit('');\n chunk = end > chunk.end ? this.byStart[chunk.end] : null;\n }\n return this;\n};\nMagicString.prototype.lastChar = function lastChar() {\n if (this.outro.length) {\n return this.outro[this.outro.length - 1];\n }\n var chunk = this.lastChunk;\n do {\n if (chunk.outro.length) {\n return chunk.outro[chunk.outro.length - 1];\n }\n if (chunk.content.length) {\n return chunk.content[chunk.content.length - 1];\n }\n if (chunk.intro.length) {\n return chunk.intro[chunk.intro.length - 1];\n }\n } while (chunk = chunk.previous);\n if (this.intro.length) {\n return this.intro[this.intro.length - 1];\n }\n return '';\n};\nMagicString.prototype.lastLine = function lastLine() {\n var lineIndex = this.outro.lastIndexOf(n);\n if (lineIndex !== -1) {\n return this.outro.substr(lineIndex + 1);\n }\n var lineStr = this.outro;\n var chunk = this.lastChunk;\n do {\n if (chunk.outro.length > 0) {\n lineIndex = chunk.outro.lastIndexOf(n);\n if (lineIndex !== -1) {\n return chunk.outro.substr(lineIndex + 1) + lineStr;\n }\n lineStr = chunk.outro + lineStr;\n }\n if (chunk.content.length > 0) {\n lineIndex = chunk.content.lastIndexOf(n);\n if (lineIndex !== -1) {\n return chunk.content.substr(lineIndex + 1) + lineStr;\n }\n lineStr = chunk.content + lineStr;\n }\n if (chunk.intro.length > 0) {\n lineIndex = chunk.intro.lastIndexOf(n);\n if (lineIndex !== -1) {\n return chunk.intro.substr(lineIndex + 1) + lineStr;\n }\n lineStr = chunk.intro + lineStr;\n }\n } while (chunk = chunk.previous);\n lineIndex = this.intro.lastIndexOf(n);\n if (lineIndex !== -1) {\n return this.intro.substr(lineIndex + 1) + lineStr;\n }\n return this.intro + lineStr;\n};\nMagicString.prototype.slice = function slice(start, end) {\n if (start === void 0) start = 0;\n if (end === void 0) end = this.original.length;\n while (start < 0) {\n start += this.original.length;\n }\n while (end < 0) {\n end += this.original.length;\n }\n var result = '';\n\n // find start chunk\n var chunk = this.firstChunk;\n while (chunk && (chunk.start > start || chunk.end <= start)) {\n // found end chunk before start\n if (chunk.start < end && chunk.end >= end) {\n return result;\n }\n chunk = chunk.next;\n }\n if (chunk && chunk.edited && chunk.start !== start) {\n throw new Error(\"Cannot use replaced character \" + start + \" as slice start anchor.\");\n }\n var startChunk = chunk;\n while (chunk) {\n if (chunk.intro && (startChunk !== chunk || chunk.start === start)) {\n result += chunk.intro;\n }\n var containsEnd = chunk.start < end && chunk.end >= end;\n if (containsEnd && chunk.edited && chunk.end !== end) {\n throw new Error(\"Cannot use replaced character \" + end + \" as slice end anchor.\");\n }\n var sliceStart = startChunk === chunk ? start - chunk.start : 0;\n var sliceEnd = containsEnd ? chunk.content.length + end - chunk.end : chunk.content.length;\n result += chunk.content.slice(sliceStart, sliceEnd);\n if (chunk.outro && (!containsEnd || chunk.end === end)) {\n result += chunk.outro;\n }\n if (containsEnd) {\n break;\n }\n chunk = chunk.next;\n }\n return result;\n};\n\n// TODO deprecate this? not really very useful\nMagicString.prototype.snip = function snip(start, end) {\n var clone = this.clone();\n clone.remove(0, start);\n clone.remove(end, clone.original.length);\n return clone;\n};\nMagicString.prototype._split = function _split(index) {\n if (this.byStart[index] || this.byEnd[index]) {\n return;\n }\n var chunk = this.lastSearchedChunk;\n var searchForward = index > chunk.end;\n while (chunk) {\n if (chunk.contains(index)) {\n return this._splitChunk(chunk, index);\n }\n chunk = searchForward ? this.byStart[chunk.end] : this.byEnd[chunk.start];\n }\n};\nMagicString.prototype._splitChunk = function _splitChunk(chunk, index) {\n if (chunk.edited && chunk.content.length) {\n // zero-length edited chunks are a special case (overlapping replacements)\n var loc = getLocator(this.original)(index);\n throw new Error(\"Cannot split a chunk that has already been edited (\" + loc.line + \":\" + loc.column + \" – \\\"\" + chunk.original + \"\\\")\");\n }\n var newChunk = chunk.split(index);\n this.byEnd[index] = chunk;\n this.byStart[index] = newChunk;\n this.byEnd[newChunk.end] = newChunk;\n if (chunk === this.lastChunk) {\n this.lastChunk = newChunk;\n }\n this.lastSearchedChunk = chunk;\n return true;\n};\nMagicString.prototype.toString = function toString() {\n var str = this.intro;\n var chunk = this.firstChunk;\n while (chunk) {\n str += chunk.toString();\n chunk = chunk.next;\n }\n return str + this.outro;\n};\nMagicString.prototype.isEmpty = function isEmpty() {\n var chunk = this.firstChunk;\n do {\n if (chunk.intro.length && chunk.intro.trim() || chunk.content.length && chunk.content.trim() || chunk.outro.length && chunk.outro.trim()) {\n return false;\n }\n } while (chunk = chunk.next);\n return true;\n};\nMagicString.prototype.length = function length() {\n var chunk = this.firstChunk;\n var length = 0;\n do {\n length += chunk.intro.length + chunk.content.length + chunk.outro.length;\n } while (chunk = chunk.next);\n return length;\n};\nMagicString.prototype.trimLines = function trimLines() {\n return this.trim('[\\\\r\\\\n]');\n};\nMagicString.prototype.trim = function trim(charType) {\n return this.trimStart(charType).trimEnd(charType);\n};\nMagicString.prototype.trimEndAborted = function trimEndAborted(charType) {\n var rx = new RegExp((charType || '\\\\s') + '+$');\n this.outro = this.outro.replace(rx, '');\n if (this.outro.length) {\n return true;\n }\n var chunk = this.lastChunk;\n do {\n var end = chunk.end;\n var aborted = chunk.trimEnd(rx);\n\n // if chunk was trimmed, we have a new lastChunk\n if (chunk.end !== end) {\n if (this.lastChunk === chunk) {\n this.lastChunk = chunk.next;\n }\n this.byEnd[chunk.end] = chunk;\n this.byStart[chunk.next.start] = chunk.next;\n this.byEnd[chunk.next.end] = chunk.next;\n }\n if (aborted) {\n return true;\n }\n chunk = chunk.previous;\n } while (chunk);\n return false;\n};\nMagicString.prototype.trimEnd = function trimEnd(charType) {\n this.trimEndAborted(charType);\n return this;\n};\nMagicString.prototype.trimStartAborted = function trimStartAborted(charType) {\n var rx = new RegExp('^' + (charType || '\\\\s') + '+');\n this.intro = this.intro.replace(rx, '');\n if (this.intro.length) {\n return true;\n }\n var chunk = this.firstChunk;\n do {\n var end = chunk.end;\n var aborted = chunk.trimStart(rx);\n if (chunk.end !== end) {\n // special case...\n if (chunk === this.lastChunk) {\n this.lastChunk = chunk.next;\n }\n this.byEnd[chunk.end] = chunk;\n this.byStart[chunk.next.start] = chunk.next;\n this.byEnd[chunk.next.end] = chunk.next;\n }\n if (aborted) {\n return true;\n }\n chunk = chunk.next;\n } while (chunk);\n return false;\n};\nMagicString.prototype.trimStart = function trimStart(charType) {\n this.trimStartAborted(charType);\n return this;\n};\nvar hasOwnProp = Object.prototype.hasOwnProperty;\nvar Bundle = function Bundle(options) {\n if (options === void 0) options = {};\n this.intro = options.intro || '';\n this.separator = options.separator !== undefined ? options.separator : '\\n';\n this.sources = [];\n this.uniqueSources = [];\n this.uniqueSourceIndexByFilename = {};\n};\nBundle.prototype.addSource = function addSource(source) {\n if (source instanceof MagicString) {\n return this.addSource({\n content: source,\n filename: source.filename,\n separator: this.separator\n });\n }\n if (!isObject(source) || !source.content) {\n throw new Error('bundle.addSource() takes an object with a `content` property, which should be an instance of MagicString, and an optional `filename`');\n }\n ['filename', 'indentExclusionRanges', 'separator'].forEach(function (option) {\n if (!hasOwnProp.call(source, option)) {\n source[option] = source.content[option];\n }\n });\n if (source.separator === undefined) {\n // TODO there's a bunch of this sort of thing, needs cleaning up\n source.separator = this.separator;\n }\n if (source.filename) {\n if (!hasOwnProp.call(this.uniqueSourceIndexByFilename, source.filename)) {\n this.uniqueSourceIndexByFilename[source.filename] = this.uniqueSources.length;\n this.uniqueSources.push({\n filename: source.filename,\n content: source.content.original\n });\n } else {\n var uniqueSource = this.uniqueSources[this.uniqueSourceIndexByFilename[source.filename]];\n if (source.content.original !== uniqueSource.content) {\n throw new Error(\"Illegal source: same filename (\" + source.filename + \"), different contents\");\n }\n }\n }\n this.sources.push(source);\n return this;\n};\nBundle.prototype.append = function append(str, options) {\n this.addSource({\n content: new MagicString(str),\n separator: options && options.separator || ''\n });\n return this;\n};\nBundle.prototype.clone = function clone() {\n var bundle = new Bundle({\n intro: this.intro,\n separator: this.separator\n });\n this.sources.forEach(function (source) {\n bundle.addSource({\n filename: source.filename,\n content: source.content.clone(),\n separator: source.separator\n });\n });\n return bundle;\n};\nBundle.prototype.generateDecodedMap = function generateDecodedMap(options) {\n var this$1$1 = this;\n if (options === void 0) options = {};\n var names = [];\n this.sources.forEach(function (source) {\n Object.keys(source.content.storedNames).forEach(function (name) {\n if (!~names.indexOf(name)) {\n names.push(name);\n }\n });\n });\n var mappings = new Mappings(options.hires);\n if (this.intro) {\n mappings.advance(this.intro);\n }\n this.sources.forEach(function (source, i) {\n if (i > 0) {\n mappings.advance(this$1$1.separator);\n }\n var sourceIndex = source.filename ? this$1$1.uniqueSourceIndexByFilename[source.filename] : -1;\n var magicString = source.content;\n var locate = getLocator(magicString.original);\n if (magicString.intro) {\n mappings.advance(magicString.intro);\n }\n magicString.firstChunk.eachNext(function (chunk) {\n var loc = locate(chunk.start);\n if (chunk.intro.length) {\n mappings.advance(chunk.intro);\n }\n if (source.filename) {\n if (chunk.edited) {\n mappings.addEdit(sourceIndex, chunk.content, loc, chunk.storeName ? names.indexOf(chunk.original) : -1);\n } else {\n mappings.addUneditedChunk(sourceIndex, chunk, magicString.original, loc, magicString.sourcemapLocations);\n }\n } else {\n mappings.advance(chunk.content);\n }\n if (chunk.outro.length) {\n mappings.advance(chunk.outro);\n }\n });\n if (magicString.outro) {\n mappings.advance(magicString.outro);\n }\n });\n return {\n file: options.file ? options.file.split(/[/\\\\]/).pop() : null,\n sources: this.uniqueSources.map(function (source) {\n return options.file ? getRelativePath(options.file, source.filename) : source.filename;\n }),\n sourcesContent: this.uniqueSources.map(function (source) {\n return options.includeContent ? source.content : null;\n }),\n names: names,\n mappings: mappings.raw\n };\n};\nBundle.prototype.generateMap = function generateMap(options) {\n return new SourceMap(this.generateDecodedMap(options));\n};\nBundle.prototype.getIndentString = function getIndentString() {\n var indentStringCounts = {};\n this.sources.forEach(function (source) {\n var indentStr = source.content.indentStr;\n if (indentStr === null) {\n return;\n }\n if (!indentStringCounts[indentStr]) {\n indentStringCounts[indentStr] = 0;\n }\n indentStringCounts[indentStr] += 1;\n });\n return Object.keys(indentStringCounts).sort(function (a, b) {\n return indentStringCounts[a] - indentStringCounts[b];\n })[0] || '\\t';\n};\nBundle.prototype.indent = function indent(indentStr) {\n var this$1$1 = this;\n if (!arguments.length) {\n indentStr = this.getIndentString();\n }\n if (indentStr === '') {\n return this;\n } // noop\n\n var trailingNewline = !this.intro || this.intro.slice(-1) === '\\n';\n this.sources.forEach(function (source, i) {\n var separator = source.separator !== undefined ? source.separator : this$1$1.separator;\n var indentStart = trailingNewline || i > 0 && /\\r?\\n$/.test(separator);\n source.content.indent(indentStr, {\n exclude: source.indentExclusionRanges,\n indentStart: indentStart //: trailingNewline || /\\r?\\n$/.test( separator ) //true///\\r?\\n/.test( separator )\n });\n\n trailingNewline = source.content.lastChar() === '\\n';\n });\n if (this.intro) {\n this.intro = indentStr + this.intro.replace(/^[^\\n]/gm, function (match, index) {\n return index > 0 ? indentStr + match : match;\n });\n }\n return this;\n};\nBundle.prototype.prepend = function prepend(str) {\n this.intro = str + this.intro;\n return this;\n};\nBundle.prototype.toString = function toString() {\n var this$1$1 = this;\n var body = this.sources.map(function (source, i) {\n var separator = source.separator !== undefined ? source.separator : this$1$1.separator;\n var str = (i > 0 ? separator : '') + source.content.toString();\n return str;\n }).join('');\n return this.intro + body;\n};\nBundle.prototype.isEmpty = function isEmpty() {\n if (this.intro.length && this.intro.trim()) {\n return false;\n }\n if (this.sources.some(function (source) {\n return !source.content.isEmpty();\n })) {\n return false;\n }\n return true;\n};\nBundle.prototype.length = function length() {\n return this.sources.reduce(function (length, source) {\n return length + source.content.length();\n }, this.intro.length);\n};\nBundle.prototype.trimLines = function trimLines() {\n return this.trim('[\\\\r\\\\n]');\n};\nBundle.prototype.trim = function trim(charType) {\n return this.trimStart(charType).trimEnd(charType);\n};\nBundle.prototype.trimStart = function trimStart(charType) {\n var rx = new RegExp('^' + (charType || '\\\\s') + '+');\n this.intro = this.intro.replace(rx, '');\n if (!this.intro) {\n var source;\n var i = 0;\n do {\n source = this.sources[i++];\n if (!source) {\n break;\n }\n } while (!source.content.trimStartAborted(charType));\n }\n return this;\n};\nBundle.prototype.trimEnd = function trimEnd(charType) {\n var rx = new RegExp((charType || '\\\\s') + '+$');\n var source;\n var i = this.sources.length - 1;\n do {\n source = this.sources[i--];\n if (!source) {\n this.intro = this.intro.replace(rx, '');\n break;\n }\n } while (!source.content.trimEndAborted(charType));\n return this;\n};\nexport { Bundle, SourceMap, MagicString as default };","const set = require('regenerate')();\nset.addRange(0x1D800, 0x1DA8B).addRange(0x1DA9B, 0x1DA9F).addRange(0x1DAA1, 0x1DAAF);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x1680, 0x169C);\nmodule.exports = set;","const set = require('regenerate')(0x38C, 0x85E, 0x9B2, 0x9D7, 0xA3C, 0xA51, 0xA5E, 0xAD0, 0xB9C, 0xBD0, 0xBD7, 0xC5D, 0xDBD, 0xDCA, 0xDD6, 0xE84, 0xEA5, 0xEC6, 0x10C7, 0x10CD, 0x1258, 0x12C0, 0x1940, 0x1F59, 0x1F5B, 0x1F5D, 0x2D27, 0x2D2D, 0xA7D3, 0xFB3E, 0xFDCF, 0xFEFF, 0x101A0, 0x10808, 0x1083C, 0x1093F, 0x110CD, 0x11288, 0x11350, 0x11357, 0x11909, 0x11D3A, 0x11FB0, 0x1D4A2, 0x1D4BB, 0x1D546, 0x1E2FF, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E, 0x1F7F0, 0xE0001);\nset.addRange(0x0, 0x377).addRange(0x37A, 0x37F).addRange(0x384, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x52F).addRange(0x531, 0x556).addRange(0x559, 0x58A).addRange(0x58D, 0x58F).addRange(0x591, 0x5C7).addRange(0x5D0, 0x5EA).addRange(0x5EF, 0x5F4).addRange(0x600, 0x70D).addRange(0x70F, 0x74A).addRange(0x74D, 0x7B1).addRange(0x7C0, 0x7FA).addRange(0x7FD, 0x82D).addRange(0x830, 0x83E).addRange(0x840, 0x85B).addRange(0x860, 0x86A).addRange(0x870, 0x88E).addRange(0x890, 0x891).addRange(0x898, 0x983).addRange(0x985, 0x98C).addRange(0x98F, 0x990).addRange(0x993, 0x9A8).addRange(0x9AA, 0x9B0).addRange(0x9B6, 0x9B9).addRange(0x9BC, 0x9C4).addRange(0x9C7, 0x9C8).addRange(0x9CB, 0x9CE).addRange(0x9DC, 0x9DD).addRange(0x9DF, 0x9E3).addRange(0x9E6, 0x9FE).addRange(0xA01, 0xA03).addRange(0xA05, 0xA0A).addRange(0xA0F, 0xA10).addRange(0xA13, 0xA28).addRange(0xA2A, 0xA30).addRange(0xA32, 0xA33).addRange(0xA35, 0xA36).addRange(0xA38, 0xA39).addRange(0xA3E, 0xA42).addRange(0xA47, 0xA48).addRange(0xA4B, 0xA4D).addRange(0xA59, 0xA5C).addRange(0xA66, 0xA76).addRange(0xA81, 0xA83).addRange(0xA85, 0xA8D).addRange(0xA8F, 0xA91).addRange(0xA93, 0xAA8).addRange(0xAAA, 0xAB0);\nset.addRange(0xAB2, 0xAB3).addRange(0xAB5, 0xAB9).addRange(0xABC, 0xAC5).addRange(0xAC7, 0xAC9).addRange(0xACB, 0xACD).addRange(0xAE0, 0xAE3).addRange(0xAE6, 0xAF1).addRange(0xAF9, 0xAFF).addRange(0xB01, 0xB03).addRange(0xB05, 0xB0C).addRange(0xB0F, 0xB10).addRange(0xB13, 0xB28).addRange(0xB2A, 0xB30).addRange(0xB32, 0xB33).addRange(0xB35, 0xB39).addRange(0xB3C, 0xB44).addRange(0xB47, 0xB48).addRange(0xB4B, 0xB4D).addRange(0xB55, 0xB57).addRange(0xB5C, 0xB5D).addRange(0xB5F, 0xB63).addRange(0xB66, 0xB77).addRange(0xB82, 0xB83).addRange(0xB85, 0xB8A).addRange(0xB8E, 0xB90).addRange(0xB92, 0xB95).addRange(0xB99, 0xB9A).addRange(0xB9E, 0xB9F).addRange(0xBA3, 0xBA4).addRange(0xBA8, 0xBAA).addRange(0xBAE, 0xBB9).addRange(0xBBE, 0xBC2).addRange(0xBC6, 0xBC8).addRange(0xBCA, 0xBCD).addRange(0xBE6, 0xBFA).addRange(0xC00, 0xC0C).addRange(0xC0E, 0xC10).addRange(0xC12, 0xC28).addRange(0xC2A, 0xC39).addRange(0xC3C, 0xC44).addRange(0xC46, 0xC48).addRange(0xC4A, 0xC4D).addRange(0xC55, 0xC56).addRange(0xC58, 0xC5A).addRange(0xC60, 0xC63).addRange(0xC66, 0xC6F).addRange(0xC77, 0xC8C).addRange(0xC8E, 0xC90).addRange(0xC92, 0xCA8).addRange(0xCAA, 0xCB3).addRange(0xCB5, 0xCB9);\nset.addRange(0xCBC, 0xCC4).addRange(0xCC6, 0xCC8).addRange(0xCCA, 0xCCD).addRange(0xCD5, 0xCD6).addRange(0xCDD, 0xCDE).addRange(0xCE0, 0xCE3).addRange(0xCE6, 0xCEF).addRange(0xCF1, 0xCF2).addRange(0xD00, 0xD0C).addRange(0xD0E, 0xD10).addRange(0xD12, 0xD44).addRange(0xD46, 0xD48).addRange(0xD4A, 0xD4F).addRange(0xD54, 0xD63).addRange(0xD66, 0xD7F).addRange(0xD81, 0xD83).addRange(0xD85, 0xD96).addRange(0xD9A, 0xDB1).addRange(0xDB3, 0xDBB).addRange(0xDC0, 0xDC6).addRange(0xDCF, 0xDD4).addRange(0xDD8, 0xDDF).addRange(0xDE6, 0xDEF).addRange(0xDF2, 0xDF4).addRange(0xE01, 0xE3A).addRange(0xE3F, 0xE5B).addRange(0xE81, 0xE82).addRange(0xE86, 0xE8A).addRange(0xE8C, 0xEA3).addRange(0xEA7, 0xEBD).addRange(0xEC0, 0xEC4).addRange(0xEC8, 0xECD).addRange(0xED0, 0xED9).addRange(0xEDC, 0xEDF).addRange(0xF00, 0xF47).addRange(0xF49, 0xF6C).addRange(0xF71, 0xF97).addRange(0xF99, 0xFBC).addRange(0xFBE, 0xFCC).addRange(0xFCE, 0xFDA).addRange(0x1000, 0x10C5).addRange(0x10D0, 0x1248).addRange(0x124A, 0x124D).addRange(0x1250, 0x1256).addRange(0x125A, 0x125D).addRange(0x1260, 0x1288).addRange(0x128A, 0x128D).addRange(0x1290, 0x12B0).addRange(0x12B2, 0x12B5).addRange(0x12B8, 0x12BE).addRange(0x12C2, 0x12C5);\nset.addRange(0x12C8, 0x12D6).addRange(0x12D8, 0x1310).addRange(0x1312, 0x1315).addRange(0x1318, 0x135A).addRange(0x135D, 0x137C).addRange(0x1380, 0x1399).addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0x1400, 0x169C).addRange(0x16A0, 0x16F8).addRange(0x1700, 0x1715).addRange(0x171F, 0x1736).addRange(0x1740, 0x1753).addRange(0x1760, 0x176C).addRange(0x176E, 0x1770).addRange(0x1772, 0x1773).addRange(0x1780, 0x17DD).addRange(0x17E0, 0x17E9).addRange(0x17F0, 0x17F9).addRange(0x1800, 0x1819).addRange(0x1820, 0x1878).addRange(0x1880, 0x18AA).addRange(0x18B0, 0x18F5).addRange(0x1900, 0x191E).addRange(0x1920, 0x192B).addRange(0x1930, 0x193B).addRange(0x1944, 0x196D).addRange(0x1970, 0x1974).addRange(0x1980, 0x19AB).addRange(0x19B0, 0x19C9).addRange(0x19D0, 0x19DA).addRange(0x19DE, 0x1A1B).addRange(0x1A1E, 0x1A5E).addRange(0x1A60, 0x1A7C).addRange(0x1A7F, 0x1A89).addRange(0x1A90, 0x1A99).addRange(0x1AA0, 0x1AAD).addRange(0x1AB0, 0x1ACE).addRange(0x1B00, 0x1B4C).addRange(0x1B50, 0x1B7E).addRange(0x1B80, 0x1BF3).addRange(0x1BFC, 0x1C37).addRange(0x1C3B, 0x1C49).addRange(0x1C4D, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CC7).addRange(0x1CD0, 0x1CFA).addRange(0x1D00, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D);\nset.addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FC4).addRange(0x1FC6, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FDD, 0x1FEF).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFE).addRange(0x2000, 0x2064).addRange(0x2066, 0x2071).addRange(0x2074, 0x208E).addRange(0x2090, 0x209C).addRange(0x20A0, 0x20C0).addRange(0x20D0, 0x20F0).addRange(0x2100, 0x218B).addRange(0x2190, 0x2426).addRange(0x2440, 0x244A).addRange(0x2460, 0x2B73).addRange(0x2B76, 0x2B95).addRange(0x2B97, 0x2CF3).addRange(0x2CF9, 0x2D25).addRange(0x2D30, 0x2D67).addRange(0x2D6F, 0x2D70).addRange(0x2D7F, 0x2D96).addRange(0x2DA0, 0x2DA6).addRange(0x2DA8, 0x2DAE).addRange(0x2DB0, 0x2DB6).addRange(0x2DB8, 0x2DBE).addRange(0x2DC0, 0x2DC6).addRange(0x2DC8, 0x2DCE).addRange(0x2DD0, 0x2DD6).addRange(0x2DD8, 0x2DDE).addRange(0x2DE0, 0x2E5D).addRange(0x2E80, 0x2E99).addRange(0x2E9B, 0x2EF3).addRange(0x2F00, 0x2FD5).addRange(0x2FF0, 0x2FFB).addRange(0x3000, 0x303F).addRange(0x3041, 0x3096).addRange(0x3099, 0x30FF).addRange(0x3105, 0x312F).addRange(0x3131, 0x318E).addRange(0x3190, 0x31E3).addRange(0x31F0, 0x321E).addRange(0x3220, 0xA48C).addRange(0xA490, 0xA4C6).addRange(0xA4D0, 0xA62B).addRange(0xA640, 0xA6F7).addRange(0xA700, 0xA7CA).addRange(0xA7D0, 0xA7D1);\nset.addRange(0xA7D5, 0xA7D9).addRange(0xA7F2, 0xA82C).addRange(0xA830, 0xA839).addRange(0xA840, 0xA877).addRange(0xA880, 0xA8C5).addRange(0xA8CE, 0xA8D9).addRange(0xA8E0, 0xA953).addRange(0xA95F, 0xA97C).addRange(0xA980, 0xA9CD).addRange(0xA9CF, 0xA9D9).addRange(0xA9DE, 0xA9FE).addRange(0xAA00, 0xAA36).addRange(0xAA40, 0xAA4D).addRange(0xAA50, 0xAA59).addRange(0xAA5C, 0xAAC2).addRange(0xAADB, 0xAAF6).addRange(0xAB01, 0xAB06).addRange(0xAB09, 0xAB0E).addRange(0xAB11, 0xAB16).addRange(0xAB20, 0xAB26).addRange(0xAB28, 0xAB2E).addRange(0xAB30, 0xAB6B).addRange(0xAB70, 0xABED).addRange(0xABF0, 0xABF9).addRange(0xAC00, 0xD7A3).addRange(0xD7B0, 0xD7C6).addRange(0xD7CB, 0xD7FB).addRange(0xD800, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFB1D, 0xFB36).addRange(0xFB38, 0xFB3C).addRange(0xFB40, 0xFB41).addRange(0xFB43, 0xFB44).addRange(0xFB46, 0xFBC2).addRange(0xFBD3, 0xFD8F).addRange(0xFD92, 0xFDC7).addRange(0xFDF0, 0xFE19).addRange(0xFE20, 0xFE52).addRange(0xFE54, 0xFE66).addRange(0xFE68, 0xFE6B).addRange(0xFE70, 0xFE74).addRange(0xFE76, 0xFEFC).addRange(0xFF01, 0xFFBE).addRange(0xFFC2, 0xFFC7).addRange(0xFFCA, 0xFFCF).addRange(0xFFD2, 0xFFD7).addRange(0xFFDA, 0xFFDC).addRange(0xFFE0, 0xFFE6).addRange(0xFFE8, 0xFFEE);\nset.addRange(0xFFF9, 0xFFFD).addRange(0x10000, 0x1000B).addRange(0x1000D, 0x10026).addRange(0x10028, 0x1003A).addRange(0x1003C, 0x1003D).addRange(0x1003F, 0x1004D).addRange(0x10050, 0x1005D).addRange(0x10080, 0x100FA).addRange(0x10100, 0x10102).addRange(0x10107, 0x10133).addRange(0x10137, 0x1018E).addRange(0x10190, 0x1019C).addRange(0x101D0, 0x101FD).addRange(0x10280, 0x1029C).addRange(0x102A0, 0x102D0).addRange(0x102E0, 0x102FB).addRange(0x10300, 0x10323).addRange(0x1032D, 0x1034A).addRange(0x10350, 0x1037A).addRange(0x10380, 0x1039D).addRange(0x1039F, 0x103C3).addRange(0x103C8, 0x103D5).addRange(0x10400, 0x1049D).addRange(0x104A0, 0x104A9).addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB).addRange(0x10500, 0x10527).addRange(0x10530, 0x10563).addRange(0x1056F, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10600, 0x10736).addRange(0x10740, 0x10755).addRange(0x10760, 0x10767).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10800, 0x10805).addRange(0x1080A, 0x10835).addRange(0x10837, 0x10838).addRange(0x1083F, 0x10855).addRange(0x10857, 0x1089E).addRange(0x108A7, 0x108AF).addRange(0x108E0, 0x108F2).addRange(0x108F4, 0x108F5).addRange(0x108FB, 0x1091B);\nset.addRange(0x1091F, 0x10939).addRange(0x10980, 0x109B7).addRange(0x109BC, 0x109CF).addRange(0x109D2, 0x10A03).addRange(0x10A05, 0x10A06).addRange(0x10A0C, 0x10A13).addRange(0x10A15, 0x10A17).addRange(0x10A19, 0x10A35).addRange(0x10A38, 0x10A3A).addRange(0x10A3F, 0x10A48).addRange(0x10A50, 0x10A58).addRange(0x10A60, 0x10A9F).addRange(0x10AC0, 0x10AE6).addRange(0x10AEB, 0x10AF6).addRange(0x10B00, 0x10B35).addRange(0x10B39, 0x10B55).addRange(0x10B58, 0x10B72).addRange(0x10B78, 0x10B91).addRange(0x10B99, 0x10B9C).addRange(0x10BA9, 0x10BAF).addRange(0x10C00, 0x10C48).addRange(0x10C80, 0x10CB2).addRange(0x10CC0, 0x10CF2).addRange(0x10CFA, 0x10D27).addRange(0x10D30, 0x10D39).addRange(0x10E60, 0x10E7E).addRange(0x10E80, 0x10EA9).addRange(0x10EAB, 0x10EAD).addRange(0x10EB0, 0x10EB1).addRange(0x10F00, 0x10F27).addRange(0x10F30, 0x10F59).addRange(0x10F70, 0x10F89).addRange(0x10FB0, 0x10FCB).addRange(0x10FE0, 0x10FF6).addRange(0x11000, 0x1104D).addRange(0x11052, 0x11075).addRange(0x1107F, 0x110C2).addRange(0x110D0, 0x110E8).addRange(0x110F0, 0x110F9).addRange(0x11100, 0x11134).addRange(0x11136, 0x11147).addRange(0x11150, 0x11176).addRange(0x11180, 0x111DF).addRange(0x111E1, 0x111F4).addRange(0x11200, 0x11211).addRange(0x11213, 0x1123E).addRange(0x11280, 0x11286).addRange(0x1128A, 0x1128D).addRange(0x1128F, 0x1129D).addRange(0x1129F, 0x112A9).addRange(0x112B0, 0x112EA);\nset.addRange(0x112F0, 0x112F9).addRange(0x11300, 0x11303).addRange(0x11305, 0x1130C).addRange(0x1130F, 0x11310).addRange(0x11313, 0x11328).addRange(0x1132A, 0x11330).addRange(0x11332, 0x11333).addRange(0x11335, 0x11339).addRange(0x1133B, 0x11344).addRange(0x11347, 0x11348).addRange(0x1134B, 0x1134D).addRange(0x1135D, 0x11363).addRange(0x11366, 0x1136C).addRange(0x11370, 0x11374).addRange(0x11400, 0x1145B).addRange(0x1145D, 0x11461).addRange(0x11480, 0x114C7).addRange(0x114D0, 0x114D9).addRange(0x11580, 0x115B5).addRange(0x115B8, 0x115DD).addRange(0x11600, 0x11644).addRange(0x11650, 0x11659).addRange(0x11660, 0x1166C).addRange(0x11680, 0x116B9).addRange(0x116C0, 0x116C9).addRange(0x11700, 0x1171A).addRange(0x1171D, 0x1172B).addRange(0x11730, 0x11746).addRange(0x11800, 0x1183B).addRange(0x118A0, 0x118F2).addRange(0x118FF, 0x11906).addRange(0x1190C, 0x11913).addRange(0x11915, 0x11916).addRange(0x11918, 0x11935).addRange(0x11937, 0x11938).addRange(0x1193B, 0x11946).addRange(0x11950, 0x11959).addRange(0x119A0, 0x119A7).addRange(0x119AA, 0x119D7).addRange(0x119DA, 0x119E4).addRange(0x11A00, 0x11A47).addRange(0x11A50, 0x11AA2).addRange(0x11AB0, 0x11AF8).addRange(0x11C00, 0x11C08).addRange(0x11C0A, 0x11C36).addRange(0x11C38, 0x11C45).addRange(0x11C50, 0x11C6C).addRange(0x11C70, 0x11C8F).addRange(0x11C92, 0x11CA7).addRange(0x11CA9, 0x11CB6).addRange(0x11D00, 0x11D06);\nset.addRange(0x11D08, 0x11D09).addRange(0x11D0B, 0x11D36).addRange(0x11D3C, 0x11D3D).addRange(0x11D3F, 0x11D47).addRange(0x11D50, 0x11D59).addRange(0x11D60, 0x11D65).addRange(0x11D67, 0x11D68).addRange(0x11D6A, 0x11D8E).addRange(0x11D90, 0x11D91).addRange(0x11D93, 0x11D98).addRange(0x11DA0, 0x11DA9).addRange(0x11EE0, 0x11EF8).addRange(0x11FC0, 0x11FF1).addRange(0x11FFF, 0x12399).addRange(0x12400, 0x1246E).addRange(0x12470, 0x12474).addRange(0x12480, 0x12543).addRange(0x12F90, 0x12FF2).addRange(0x13000, 0x1342E).addRange(0x13430, 0x13438).addRange(0x14400, 0x14646).addRange(0x16800, 0x16A38).addRange(0x16A40, 0x16A5E).addRange(0x16A60, 0x16A69).addRange(0x16A6E, 0x16ABE).addRange(0x16AC0, 0x16AC9).addRange(0x16AD0, 0x16AED).addRange(0x16AF0, 0x16AF5).addRange(0x16B00, 0x16B45).addRange(0x16B50, 0x16B59).addRange(0x16B5B, 0x16B61).addRange(0x16B63, 0x16B77).addRange(0x16B7D, 0x16B8F).addRange(0x16E40, 0x16E9A).addRange(0x16F00, 0x16F4A).addRange(0x16F4F, 0x16F87).addRange(0x16F8F, 0x16F9F).addRange(0x16FE0, 0x16FE4).addRange(0x16FF0, 0x16FF1).addRange(0x17000, 0x187F7).addRange(0x18800, 0x18CD5).addRange(0x18D00, 0x18D08).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE).addRange(0x1B000, 0x1B122).addRange(0x1B150, 0x1B152).addRange(0x1B164, 0x1B167).addRange(0x1B170, 0x1B2FB).addRange(0x1BC00, 0x1BC6A).addRange(0x1BC70, 0x1BC7C);\nset.addRange(0x1BC80, 0x1BC88).addRange(0x1BC90, 0x1BC99).addRange(0x1BC9C, 0x1BCA3).addRange(0x1CF00, 0x1CF2D).addRange(0x1CF30, 0x1CF46).addRange(0x1CF50, 0x1CFC3).addRange(0x1D000, 0x1D0F5).addRange(0x1D100, 0x1D126).addRange(0x1D129, 0x1D1EA).addRange(0x1D200, 0x1D245).addRange(0x1D2E0, 0x1D2F3).addRange(0x1D300, 0x1D356).addRange(0x1D360, 0x1D378).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D7CB).addRange(0x1D7CE, 0x1DA8B).addRange(0x1DA9B, 0x1DA9F).addRange(0x1DAA1, 0x1DAAF).addRange(0x1DF00, 0x1DF1E).addRange(0x1E000, 0x1E006).addRange(0x1E008, 0x1E018).addRange(0x1E01B, 0x1E021).addRange(0x1E023, 0x1E024).addRange(0x1E026, 0x1E02A).addRange(0x1E100, 0x1E12C).addRange(0x1E130, 0x1E13D).addRange(0x1E140, 0x1E149).addRange(0x1E14E, 0x1E14F).addRange(0x1E290, 0x1E2AE).addRange(0x1E2C0, 0x1E2F9).addRange(0x1E7E0, 0x1E7E6).addRange(0x1E7E8, 0x1E7EB).addRange(0x1E7ED, 0x1E7EE).addRange(0x1E7F0, 0x1E7FE).addRange(0x1E800, 0x1E8C4).addRange(0x1E8C7, 0x1E8D6);\nset.addRange(0x1E900, 0x1E94B).addRange(0x1E950, 0x1E959).addRange(0x1E95E, 0x1E95F).addRange(0x1EC71, 0x1ECB4).addRange(0x1ED01, 0x1ED3D).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F).addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72).addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89).addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x1EEF0, 0x1EEF1).addRange(0x1F000, 0x1F02B).addRange(0x1F030, 0x1F093).addRange(0x1F0A0, 0x1F0AE).addRange(0x1F0B1, 0x1F0BF).addRange(0x1F0C1, 0x1F0CF).addRange(0x1F0D1, 0x1F0F5).addRange(0x1F100, 0x1F1AD).addRange(0x1F1E6, 0x1F202).addRange(0x1F210, 0x1F23B).addRange(0x1F240, 0x1F248).addRange(0x1F250, 0x1F251).addRange(0x1F260, 0x1F265).addRange(0x1F300, 0x1F6D7).addRange(0x1F6DD, 0x1F6EC).addRange(0x1F6F0, 0x1F6FC).addRange(0x1F700, 0x1F773).addRange(0x1F780, 0x1F7D8).addRange(0x1F7E0, 0x1F7EB).addRange(0x1F800, 0x1F80B).addRange(0x1F810, 0x1F847).addRange(0x1F850, 0x1F859).addRange(0x1F860, 0x1F887).addRange(0x1F890, 0x1F8AD).addRange(0x1F8B0, 0x1F8B1).addRange(0x1F900, 0x1FA53).addRange(0x1FA60, 0x1FA6D).addRange(0x1FA70, 0x1FA74).addRange(0x1FA78, 0x1FA7C);\nset.addRange(0x1FA80, 0x1FA86).addRange(0x1FA90, 0x1FAAC).addRange(0x1FAB0, 0x1FABA).addRange(0x1FAC0, 0x1FAC5).addRange(0x1FAD0, 0x1FAD9).addRange(0x1FAE0, 0x1FAE7).addRange(0x1FAF0, 0x1FAF6).addRange(0x1FB00, 0x1FB92).addRange(0x1FB94, 0x1FBCA).addRange(0x1FBF0, 0x1FBF9).addRange(0x20000, 0x2A6DF).addRange(0x2A700, 0x2B738).addRange(0x2B740, 0x2B81D).addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x2F800, 0x2FA1D).addRange(0x30000, 0x3134A).addRange(0xE0020, 0xE007F).addRange(0xE0100, 0xE01EF).addRange(0xF0000, 0xFFFFD).addRange(0x100000, 0x10FFFD);\nmodule.exports = set;","var UA = require('../internals/engine-user-agent');\n\nmodule.exports = /MSIE|Trident/.test(UA);\n","/**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\nfunction baseIsNaN(value) {\n return value !== value;\n}\n\nmodule.exports = baseIsNaN;\n","var getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","/** Used to match wrap detail comments. */\nvar reWrapComment = /\\{(?:\\n\\/\\* \\[wrapped with .+\\] \\*\\/)?\\n?/;\n\n/**\n * Inserts wrapper `details` in a comment at the top of the `source` body.\n *\n * @private\n * @param {string} source The source to modify.\n * @returns {Array} details The details to insert.\n * @returns {string} Returns the modified source.\n */\nfunction insertWrapDetails(source, details) {\n var length = details.length;\n if (!length) {\n return source;\n }\n var lastIndex = length - 1;\n details[lastIndex] = (length > 1 ? '& ' : '') + details[lastIndex];\n details = details.join(length > 2 ? ', ' : ' ');\n return source.replace(reWrapComment, '{\\n/* [wrapped with ' + details + '] */\\n');\n}\n\nmodule.exports = insertWrapDetails;\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n var keys = getOwnPropertyNames(sourceComponent);\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n return targetComponent;\n}\nmodule.exports = hoistNonReactStatics;","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || this || Function('return this')();\n","const set = require('regenerate')(0xD7, 0xF7, 0x374, 0x37E, 0x385, 0x387, 0x605, 0x6DD, 0x8E2, 0xE3F, 0x3000, 0x3004, 0x3012, 0x3020, 0x3036, 0x327F, 0x33FF, 0xAB5B, 0xFEFF, 0x1D4A2, 0x1D4BB, 0x1D546, 0x1F7F0, 0xE0001);\nset.addRange(0x0, 0x40).addRange(0x5B, 0x60).addRange(0x7B, 0xA9).addRange(0xAB, 0xB9).addRange(0xBB, 0xBF).addRange(0x2B9, 0x2DF).addRange(0x2E5, 0x2E9).addRange(0x2EC, 0x2FF).addRange(0xFD5, 0xFD8).addRange(0x16EB, 0x16ED).addRange(0x2000, 0x200B).addRange(0x200E, 0x202E).addRange(0x2030, 0x2064).addRange(0x2066, 0x2070).addRange(0x2074, 0x207E).addRange(0x2080, 0x208E).addRange(0x20A0, 0x20C0).addRange(0x2100, 0x2125).addRange(0x2127, 0x2129).addRange(0x212C, 0x2131).addRange(0x2133, 0x214D).addRange(0x214F, 0x215F).addRange(0x2189, 0x218B).addRange(0x2190, 0x2426).addRange(0x2440, 0x244A).addRange(0x2460, 0x27FF).addRange(0x2900, 0x2B73).addRange(0x2B76, 0x2B95).addRange(0x2B97, 0x2BFF).addRange(0x2E00, 0x2E42).addRange(0x2E44, 0x2E5D).addRange(0x2FF0, 0x2FFB).addRange(0x3248, 0x325F).addRange(0x32B1, 0x32BF).addRange(0x32CC, 0x32CF).addRange(0x3371, 0x337A).addRange(0x3380, 0x33DF).addRange(0x4DC0, 0x4DFF).addRange(0xA708, 0xA721).addRange(0xA788, 0xA78A).addRange(0xAB6A, 0xAB6B).addRange(0xFE10, 0xFE19).addRange(0xFE30, 0xFE44).addRange(0xFE47, 0xFE52).addRange(0xFE54, 0xFE66).addRange(0xFE68, 0xFE6B).addRange(0xFF01, 0xFF20).addRange(0xFF3B, 0xFF40).addRange(0xFF5B, 0xFF60).addRange(0xFFE0, 0xFFE6).addRange(0xFFE8, 0xFFEE);\nset.addRange(0xFFF9, 0xFFFD).addRange(0x10190, 0x1019C).addRange(0x101D0, 0x101FC).addRange(0x1CF50, 0x1CFC3).addRange(0x1D000, 0x1D0F5).addRange(0x1D100, 0x1D126).addRange(0x1D129, 0x1D166).addRange(0x1D16A, 0x1D17A).addRange(0x1D183, 0x1D184).addRange(0x1D18C, 0x1D1A9).addRange(0x1D1AE, 0x1D1EA).addRange(0x1D2E0, 0x1D2F3).addRange(0x1D300, 0x1D356).addRange(0x1D372, 0x1D378).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D7CB).addRange(0x1D7CE, 0x1D7FF).addRange(0x1EC71, 0x1ECB4).addRange(0x1ED01, 0x1ED3D).addRange(0x1F000, 0x1F02B).addRange(0x1F030, 0x1F093).addRange(0x1F0A0, 0x1F0AE).addRange(0x1F0B1, 0x1F0BF).addRange(0x1F0C1, 0x1F0CF).addRange(0x1F0D1, 0x1F0F5).addRange(0x1F100, 0x1F1AD).addRange(0x1F1E6, 0x1F1FF).addRange(0x1F201, 0x1F202).addRange(0x1F210, 0x1F23B).addRange(0x1F240, 0x1F248).addRange(0x1F260, 0x1F265).addRange(0x1F300, 0x1F6D7).addRange(0x1F6DD, 0x1F6EC).addRange(0x1F6F0, 0x1F6FC).addRange(0x1F700, 0x1F773).addRange(0x1F780, 0x1F7D8);\nset.addRange(0x1F7E0, 0x1F7EB).addRange(0x1F800, 0x1F80B).addRange(0x1F810, 0x1F847).addRange(0x1F850, 0x1F859).addRange(0x1F860, 0x1F887).addRange(0x1F890, 0x1F8AD).addRange(0x1F8B0, 0x1F8B1).addRange(0x1F900, 0x1FA53).addRange(0x1FA60, 0x1FA6D).addRange(0x1FA70, 0x1FA74).addRange(0x1FA78, 0x1FA7C).addRange(0x1FA80, 0x1FA86).addRange(0x1FA90, 0x1FAAC).addRange(0x1FAB0, 0x1FABA).addRange(0x1FAC0, 0x1FAC5).addRange(0x1FAD0, 0x1FAD9).addRange(0x1FAE0, 0x1FAE7).addRange(0x1FAF0, 0x1FAF6).addRange(0x1FB00, 0x1FB92).addRange(0x1FB94, 0x1FBCA).addRange(0x1FBF0, 0x1FBF9).addRange(0xE0020, 0xE007F);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x11C00, 0x11C08).addRange(0x11C0A, 0x11C36).addRange(0x11C38, 0x11C45).addRange(0x11C50, 0x11C6C);\nmodule.exports = set;","export default path => {\n if (path === undefined) {\n return path\n }\n if (path === `/`) {\n return `/`\n }\n if (path.charAt(path.length - 1) === `/`) {\n return path.slice(0, -1)\n }\n return path\n}\n","import { pick } from \"@reach/router/lib/utils\"\nimport stripPrefix from \"./strip-prefix\"\nimport normalizePagePath from \"./normalize-page-path\"\n\nconst pathCache = new Map()\nlet matchPaths = []\n\nconst trimPathname = rawPathname => {\n const pathname = decodeURIComponent(rawPathname)\n // Remove the pathPrefix from the pathname.\n const trimmedPathname = stripPrefix(pathname, __BASE_PATH__)\n // Remove any hashfragment\n .split(`#`)[0]\n // Remove search query\n .split(`?`)[0]\n\n return trimmedPathname\n}\n\nfunction absolutify(path) {\n // If it's already absolute, return as-is\n if (\n path.startsWith(`/`) ||\n path.startsWith(`https://`) ||\n path.startsWith(`http://`)\n ) {\n return path\n }\n // Calculate path relative to current location, adding a trailing slash to\n // match behavior of @reach/router\n return new URL(\n path,\n window.location.href + (window.location.href.endsWith(`/`) ? `` : `/`)\n ).pathname\n}\n\n/**\n * Set list of matchPaths\n *\n * @param {Array<{path: string, matchPath: string}>} value collection of matchPaths\n */\nexport const setMatchPaths = value => {\n matchPaths = value\n}\n\n/**\n * Return a matchpath url\n * if `match-paths.json` contains `{ \"/foo*\": \"/page1\", ...}`, then\n * `/foo?bar=far` => `/page1`\n *\n * @param {string} rawPathname A raw pathname\n * @return {string|null}\n */\nexport const findMatchPath = rawPathname => {\n const trimmedPathname = cleanPath(rawPathname)\n\n const pickPaths = matchPaths.map(({ path, matchPath }) => {\n return {\n path: matchPath,\n originalPath: path,\n }\n })\n\n const path = pick(pickPaths, trimmedPathname)\n\n if (path) {\n return normalizePagePath(path.route.originalPath)\n }\n\n return null\n}\n\n/**\n * Return a matchpath params from reach/router rules\n * if `match-paths.json` contains `{ \":bar/*foo\" }`, and the path is /baz/zaz/zoo\n * then it returns\n * { bar: baz, foo: zaz/zoo }\n *\n * @param {string} rawPathname A raw pathname\n * @return {object}\n */\nexport const grabMatchParams = rawPathname => {\n const trimmedPathname = cleanPath(rawPathname)\n\n const pickPaths = matchPaths.map(({ path, matchPath }) => {\n return {\n path: matchPath,\n originalPath: path,\n }\n })\n\n const path = pick(pickPaths, trimmedPathname)\n\n if (path) {\n return path.params\n }\n\n return {}\n}\n\n// Given a raw URL path, returns the cleaned version of it (trim off\n// `#` and query params), or if it matches an entry in\n// `match-paths.json`, its matched path is returned\n//\n// E.g. `/foo?bar=far` => `/foo`\n//\n// Or if `match-paths.json` contains `{ \"/foo*\": \"/page1\", ...}`, then\n// `/foo?bar=far` => `/page1`\nexport const findPath = rawPathname => {\n const trimmedPathname = trimPathname(absolutify(rawPathname))\n if (pathCache.has(trimmedPathname)) {\n return pathCache.get(trimmedPathname)\n }\n\n let foundPath = findMatchPath(trimmedPathname)\n\n if (!foundPath) {\n foundPath = cleanPath(rawPathname)\n }\n\n pathCache.set(trimmedPathname, foundPath)\n\n return foundPath\n}\n\n/**\n * Clean a url and converts /index.html => /\n * E.g. `/foo?bar=far` => `/foo`\n *\n * @param {string} rawPathname A raw pathname\n * @return {string}\n */\nexport const cleanPath = rawPathname => {\n const trimmedPathname = trimPathname(absolutify(rawPathname))\n\n let foundPath = trimmedPathname\n if (foundPath === `/index.html`) {\n foundPath = `/`\n }\n\n foundPath = normalizePagePath(foundPath)\n\n return foundPath\n}\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","const set = require('regenerate')(0x1091F);\nset.addRange(0x10900, 0x1091B);\nmodule.exports = set;","/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nmodule.exports = setCacheHas;\n","var createWrap = require('./_createWrap');\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_CURRY_FLAG = 8;\n\n/**\n * Creates a function that accepts arguments of `func` and either invokes\n * `func` returning its result, if at least `arity` number of arguments have\n * been provided, or returns a function that accepts the remaining `func`\n * arguments, and so on. The arity of `func` may be specified if `func.length`\n * is not sufficient.\n *\n * The `_.curry.placeholder` value, which defaults to `_` in monolithic builds,\n * may be used as a placeholder for provided arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of curried functions.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Function\n * @param {Function} func The function to curry.\n * @param {number} [arity=func.length] The arity of `func`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the new curried function.\n * @example\n *\n * var abc = function(a, b, c) {\n * return [a, b, c];\n * };\n *\n * var curried = _.curry(abc);\n *\n * curried(1)(2)(3);\n * // => [1, 2, 3]\n *\n * curried(1, 2)(3);\n * // => [1, 2, 3]\n *\n * curried(1, 2, 3);\n * // => [1, 2, 3]\n *\n * // Curried with placeholders.\n * curried(1)(_, 3)(2);\n * // => [1, 2, 3]\n */\nfunction curry(func, arity, guard) {\n arity = guard ? undefined : arity;\n var result = createWrap(func, WRAP_CURRY_FLAG, undefined, undefined, undefined, undefined, undefined, arity);\n result.placeholder = curry.placeholder;\n return result;\n}\n\n// Assign default placeholders.\ncurry.placeholder = {};\n\nmodule.exports = curry;\n","var aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n","var isArrayLike = require('./isArrayLike'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nmodule.exports = isArrayLikeObject;\n","const set = require('regenerate')(0x1C5, 0x1C8, 0x1CB, 0x1F2, 0x1FBC, 0x1FCC, 0x1FFC);\nset.addRange(0x1F88, 0x1F8F).addRange(0x1F98, 0x1F9F).addRange(0x1FA8, 0x1FAF);\nmodule.exports = set;","/**\n * The base implementation of `_.propertyOf` without support for deep paths.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyOf(object) {\n return function(key) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = basePropertyOf;\n","var baseClone = require('./_baseClone'),\n baseMatchesProperty = require('./_baseMatchesProperty');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1;\n\n/**\n * Creates a function that performs a partial deep comparison between the\n * value at `path` of a given object to `srcValue`, returning `true` if the\n * object value is equivalent, else `false`.\n *\n * **Note:** Partial comparisons will match empty array and empty object\n * `srcValue` values against any array or object value, respectively. See\n * `_.isEqual` for a list of supported value comparisons.\n *\n * **Note:** Multiple values can be checked by combining several matchers\n * using `_.overSome`\n *\n * @static\n * @memberOf _\n * @since 3.2.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n * @example\n *\n * var objects = [\n * { 'a': 1, 'b': 2, 'c': 3 },\n * { 'a': 4, 'b': 5, 'c': 6 }\n * ];\n *\n * _.find(objects, _.matchesProperty('a', 4));\n * // => { 'a': 4, 'b': 5, 'c': 6 }\n *\n * // Checking for several possible values\n * _.filter(objects, _.overSome([_.matchesProperty('a', 1), _.matchesProperty('a', 4)]));\n * // => [{ 'a': 1, 'b': 2, 'c': 3 }, { 'a': 4, 'b': 5, 'c': 6 }]\n */\nfunction matchesProperty(path, srcValue) {\n return baseMatchesProperty(path, baseClone(srcValue, CLONE_DEEP_FLAG));\n}\n\nmodule.exports = matchesProperty;\n","\"use strict\";\n\nexports.__esModule = true;\nexports.useScrollRestoration = useScrollRestoration;\n\nvar _scrollHandler = require(\"./scroll-handler\");\n\nvar _react = require(\"react\");\n\nvar _router = require(\"@reach/router\");\n\nfunction useScrollRestoration(identifier) {\n var location = (0, _router.useLocation)();\n var state = (0, _react.useContext)(_scrollHandler.ScrollContext);\n var ref = (0, _react.useRef)();\n (0, _react.useLayoutEffect)(function () {\n if (ref.current) {\n var position = state.read(location, identifier);\n ref.current.scrollTo(0, position || 0);\n }\n }, []);\n return {\n ref: ref,\n onScroll: function onScroll() {\n if (ref.current) {\n state.save(location, identifier, ref.current.scrollTop);\n }\n }\n };\n}","const set = require('regenerate')(0xAD, 0x34F, 0x61C, 0x3164, 0xFEFF, 0xFFA0);\nset.addRange(0x115F, 0x1160).addRange(0x17B4, 0x17B5).addRange(0x180B, 0x180F).addRange(0x200B, 0x200F).addRange(0x202A, 0x202E).addRange(0x2060, 0x206F).addRange(0xFE00, 0xFE0F).addRange(0xFFF0, 0xFFF8).addRange(0x1BCA0, 0x1BCA3).addRange(0x1D173, 0x1D17A).addRange(0xE0000, 0xE0FFF);\nmodule.exports = set;","var baseGet = require('./_baseGet');\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\nmodule.exports = basePropertyDeep;\n","const set = require('regenerate')(0x110CD);\nset.addRange(0x11080, 0x110C2);\nmodule.exports = set;","var MapCache = require('./_MapCache');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nmodule.exports = memoize;\n","const set = require('regenerate')();\nset.addRange(0xA980, 0xA9CD).addRange(0xA9D0, 0xA9D9).addRange(0xA9DE, 0xA9DF);\nmodule.exports = set;","var toString = {}.toString;\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};","var isPlainObject = require('./isPlainObject');\n\n/**\n * Used by `_.omit` to customize its `_.cloneDeep` use to only clone plain\n * objects.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {string} key The key of the property to inspect.\n * @returns {*} Returns the uncloned value or `undefined` to defer cloning to `_.cloneDeep`.\n */\nfunction customOmitClone(value) {\n return isPlainObject(value) ? undefined : value;\n}\n\nmodule.exports = customOmitClone;\n","var hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar $Object = Object;\nvar ObjectPrototype = $Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) {\n var object = toObject(O);\n if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n } return object instanceof $Object ? ObjectPrototype : null;\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","const set = require('regenerate')();\nset.addRange(0x30, 0x39).addRange(0x41, 0x46).addRange(0x61, 0x66).addRange(0xFF10, 0xFF19).addRange(0xFF21, 0xFF26).addRange(0xFF41, 0xFF46);\nmodule.exports = set;","var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n","var castPath = require('./_castPath'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isIndex = require('./_isIndex'),\n isLength = require('./isLength'),\n toKey = require('./_toKey');\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\nmodule.exports = hasPath;\n","var isArray = require('./isArray'),\n isKey = require('./_isKey'),\n stringToPath = require('./_stringToPath'),\n toString = require('./toString');\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nmodule.exports = castPath;\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\n/* global Reflect, Promise */\n\nvar extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n };\n return extendStatics(d, b);\n};\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null) throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() {\n this.constructor = d;\n }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\nexport var __assign = function () {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n}\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length,\n r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,\n d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\nexport function __param(paramIndex, decorator) {\n return function (target, key) {\n decorator(target, key, paramIndex);\n };\n}\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind,\n key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _,\n done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n}\n;\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n}\n;\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n}\n;\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", {\n configurable: true,\n value: prefix ? \"\".concat(prefix, \" \", name) : name\n });\n}\n;\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function (resolve) {\n resolve(value);\n });\n }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\nexport function __generator(thisArg, body) {\n var _ = {\n label: 0,\n sent: function () {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n },\n f,\n y,\n t,\n g;\n return g = {\n next: verb(0),\n \"throw\": verb(1),\n \"return\": verb(2)\n }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function () {\n return this;\n }), g;\n function verb(n) {\n return function (v) {\n return step([n, v]);\n };\n }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0:\n case 1:\n t = op;\n break;\n case 4:\n _.label++;\n return {\n value: op[1],\n done: false\n };\n case 5:\n _.label++;\n y = op[1];\n op = [0];\n continue;\n case 7:\n op = _.ops.pop();\n _.trys.pop();\n continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n _.label = op[1];\n break;\n }\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n if (t && _.label < t[2]) {\n _.label = t[2];\n _.ops.push(op);\n break;\n }\n if (t[2]) _.ops.pop();\n _.trys.pop();\n continue;\n }\n op = body.call(thisArg, _);\n } catch (e) {\n op = [6, e];\n y = 0;\n } finally {\n f = t = 0;\n }\n if (op[0] & 5) throw op[1];\n return {\n value: op[0] ? op[1] : void 0,\n done: true\n };\n }\n}\nexport var __createBinding = Object.create ? function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = {\n enumerable: true,\n get: function () {\n return m[k];\n }\n };\n }\n Object.defineProperty(o, k2, desc);\n} : function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n};\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator,\n m = s && o[s],\n i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return {\n value: o && o[i++],\n done: !o\n };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o),\n r,\n ar = [],\n e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n } catch (error) {\n e = {\n error: error\n };\n } finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n } finally {\n if (e) throw e.error;\n }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++) for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) r[k] = a[j];\n return r;\n}\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []),\n i,\n q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () {\n return this;\n }, i;\n function verb(n) {\n if (g[n]) i[n] = function (v) {\n return new Promise(function (a, b) {\n q.push([n, v, a, b]) > 1 || resume(n, v);\n });\n };\n }\n function resume(n, v) {\n try {\n step(g[n](v));\n } catch (e) {\n settle(q[0][3], e);\n }\n }\n function step(r) {\n r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);\n }\n function fulfill(value) {\n resume(\"next\", value);\n }\n function reject(value) {\n resume(\"throw\", value);\n }\n function settle(f, v) {\n if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]);\n }\n}\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) {\n throw e;\n }), verb(\"return\"), i[Symbol.iterator] = function () {\n return this;\n }, i;\n function verb(n, f) {\n i[n] = o[n] ? function (v) {\n return (p = !p) ? {\n value: __await(o[n](v)),\n done: false\n } : f ? f(v) : v;\n } : f;\n }\n}\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator],\n i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () {\n return this;\n }, i);\n function verb(n) {\n i[n] = o[n] && function (v) {\n return new Promise(function (resolve, reject) {\n v = o[n](v), settle(resolve, reject, v.done, v.value);\n });\n };\n }\n function settle(resolve, reject, d, v) {\n Promise.resolve(v).then(function (v) {\n resolve({\n value: v,\n done: d\n });\n }, reject);\n }\n}\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) {\n Object.defineProperty(cooked, \"raw\", {\n value: raw\n });\n } else {\n cooked.raw = raw;\n }\n return cooked;\n}\n;\nvar __setModuleDefault = Object.create ? function (o, v) {\n Object.defineProperty(o, \"default\", {\n enumerable: true,\n value: v\n });\n} : function (o, v) {\n o[\"default\"] = v;\n};\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\nexport function __importDefault(mod) {\n return mod && mod.__esModule ? mod : {\n default: mod\n };\n}\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n}\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || typeof receiver !== \"object\" && typeof receiver !== \"function\") throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn\n};","/**\n * Source: ftp://ftp.unicode.org/Public/UCD/latest/ucd/SpecialCasing.txt\n */\nvar SUPPORTED_LOCALE = {\n tr: {\n regexp: /\\u0130|\\u0049|\\u0049\\u0307/g,\n map: {\n İ: \"\\u0069\",\n I: \"\\u0131\",\n İ: \"\\u0069\"\n }\n },\n az: {\n regexp: /\\u0130/g,\n map: {\n İ: \"\\u0069\",\n I: \"\\u0131\",\n İ: \"\\u0069\"\n }\n },\n lt: {\n regexp: /\\u0049|\\u004A|\\u012E|\\u00CC|\\u00CD|\\u0128/g,\n map: {\n I: \"\\u0069\\u0307\",\n J: \"\\u006A\\u0307\",\n Į: \"\\u012F\\u0307\",\n Ì: \"\\u0069\\u0307\\u0300\",\n Í: \"\\u0069\\u0307\\u0301\",\n Ĩ: \"\\u0069\\u0307\\u0303\"\n }\n }\n};\n/**\n * Localized lower case.\n */\nexport function localeLowerCase(str, locale) {\n var lang = SUPPORTED_LOCALE[locale.toLowerCase()];\n if (lang) return lowerCase(str.replace(lang.regexp, function (m) {\n return lang.map[m];\n }));\n return lowerCase(str);\n}\n/**\n * Lower case as a function.\n */\nexport function lowerCase(str) {\n return str.toLowerCase();\n}","import { lowerCase } from \"lower-case\";\n// Support camel case (\"camelCase\" -> \"camel Case\" and \"CAMELCase\" -> \"CAMEL Case\").\nvar DEFAULT_SPLIT_REGEXP = [/([a-z0-9])([A-Z])/g, /([A-Z])([A-Z][a-z])/g];\n// Remove all non-word characters.\nvar DEFAULT_STRIP_REGEXP = /[^A-Z0-9]+/gi;\n/**\n * Normalize the string into something other libraries can manipulate easier.\n */\nexport function noCase(input, options) {\n if (options === void 0) {\n options = {};\n }\n var _a = options.splitRegexp,\n splitRegexp = _a === void 0 ? DEFAULT_SPLIT_REGEXP : _a,\n _b = options.stripRegexp,\n stripRegexp = _b === void 0 ? DEFAULT_STRIP_REGEXP : _b,\n _c = options.transform,\n transform = _c === void 0 ? lowerCase : _c,\n _d = options.delimiter,\n delimiter = _d === void 0 ? \" \" : _d;\n var result = replace(replace(input, splitRegexp, \"$1\\0$2\"), stripRegexp, \"\\0\");\n var start = 0;\n var end = result.length;\n // Trim the delimiter from around the output string.\n while (result.charAt(start) === \"\\0\") start++;\n while (result.charAt(end - 1) === \"\\0\") end--;\n // Transform each token independently.\n return result.slice(start, end).split(\"\\0\").map(transform).join(delimiter);\n}\n/**\n * Replace `re` in the input string with the replacement value.\n */\nfunction replace(input, re, value) {\n if (re instanceof RegExp) return input.replace(re, value);\n return re.reduce(function (input, re) {\n return input.replace(re, value);\n }, input);\n}","import { __assign } from \"tslib\";\nimport { noCase } from \"no-case\";\nexport function pascalCaseTransform(input, index) {\n var firstChar = input.charAt(0);\n var lowerChars = input.substr(1).toLowerCase();\n if (index > 0 && firstChar >= \"0\" && firstChar <= \"9\") {\n return \"_\" + firstChar + lowerChars;\n }\n return \"\" + firstChar.toUpperCase() + lowerChars;\n}\nexport function pascalCaseTransformMerge(input) {\n return input.charAt(0).toUpperCase() + input.slice(1).toLowerCase();\n}\nexport function pascalCase(input, options) {\n if (options === void 0) {\n options = {};\n }\n return noCase(input, __assign({\n delimiter: \"\",\n transform: pascalCaseTransform\n }, options));\n}","import \"core-js/modules/es.typed-array.set.js\";\nimport \"core-js/modules/es.typed-array.sort.js\";\nfunction createError(message) {\n var err = new Error(message);\n err.source = \"ulid\";\n return err;\n}\n// These values should NEVER change. If\n// they do, we're no longer making ulids!\nvar ENCODING = \"0123456789ABCDEFGHJKMNPQRSTVWXYZ\"; // Crockford's Base32\nvar ENCODING_LEN = ENCODING.length;\nvar TIME_MAX = Math.pow(2, 48) - 1;\nvar TIME_LEN = 10;\nvar RANDOM_LEN = 16;\nfunction replaceCharAt(str, index, char) {\n if (index > str.length - 1) {\n return str;\n }\n return str.substr(0, index) + char + str.substr(index + 1);\n}\nfunction incrementBase32(str) {\n var done = undefined;\n var index = str.length;\n var char = void 0;\n var charIndex = void 0;\n var maxCharIndex = ENCODING_LEN - 1;\n while (!done && index-- >= 0) {\n char = str[index];\n charIndex = ENCODING.indexOf(char);\n if (charIndex === -1) {\n throw createError(\"incorrectly encoded string\");\n }\n if (charIndex === maxCharIndex) {\n str = replaceCharAt(str, index, ENCODING[0]);\n continue;\n }\n done = replaceCharAt(str, index, ENCODING[charIndex + 1]);\n }\n if (typeof done === \"string\") {\n return done;\n }\n throw createError(\"cannot increment this string\");\n}\nfunction randomChar(prng) {\n var rand = Math.floor(prng() * ENCODING_LEN);\n if (rand === ENCODING_LEN) {\n rand = ENCODING_LEN - 1;\n }\n return ENCODING.charAt(rand);\n}\nfunction encodeTime(now, len) {\n if (isNaN(now)) {\n throw new Error(now + \" must be a number\");\n }\n if (now > TIME_MAX) {\n throw createError(\"cannot encode time greater than \" + TIME_MAX);\n }\n if (now < 0) {\n throw createError(\"time must be positive\");\n }\n if (Number.isInteger(now) === false) {\n throw createError(\"time must be an integer\");\n }\n var mod = void 0;\n var str = \"\";\n for (; len > 0; len--) {\n mod = now % ENCODING_LEN;\n str = ENCODING.charAt(mod) + str;\n now = (now - mod) / ENCODING_LEN;\n }\n return str;\n}\nfunction encodeRandom(len, prng) {\n var str = \"\";\n for (; len > 0; len--) {\n str = randomChar(prng) + str;\n }\n return str;\n}\nfunction decodeTime(id) {\n if (id.length !== TIME_LEN + RANDOM_LEN) {\n throw createError(\"malformed ulid\");\n }\n var time = id.substr(0, TIME_LEN).split(\"\").reverse().reduce(function (carry, char, index) {\n var encodingIndex = ENCODING.indexOf(char);\n if (encodingIndex === -1) {\n throw createError(\"invalid character found: \" + char);\n }\n return carry += encodingIndex * Math.pow(ENCODING_LEN, index);\n }, 0);\n if (time > TIME_MAX) {\n throw createError(\"malformed ulid, timestamp too large\");\n }\n return time;\n}\nfunction detectPrng() {\n var allowInsecure = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var root = arguments[1];\n if (!root) {\n root = typeof window !== \"undefined\" ? window : null;\n }\n var browserCrypto = root && (root.crypto || root.msCrypto);\n if (browserCrypto) {\n return function () {\n var buffer = new Uint8Array(1);\n browserCrypto.getRandomValues(buffer);\n return buffer[0] / 0xff;\n };\n } else {\n try {\n var nodeCrypto = require(\"crypto\");\n return function () {\n return nodeCrypto.randomBytes(1).readUInt8() / 0xff;\n };\n } catch (e) {}\n }\n if (allowInsecure) {\n try {\n console.error(\"secure crypto unusable, falling back to insecure Math.random()!\");\n } catch (e) {}\n return function () {\n return Math.random();\n };\n }\n throw createError(\"secure crypto unusable, insecure Math.random not allowed\");\n}\nfunction factory(currPrng) {\n if (!currPrng) {\n currPrng = detectPrng();\n }\n return function ulid(seedTime) {\n if (isNaN(seedTime)) {\n seedTime = Date.now();\n }\n return encodeTime(seedTime, TIME_LEN) + encodeRandom(RANDOM_LEN, currPrng);\n };\n}\nfunction monotonicFactory(currPrng) {\n if (!currPrng) {\n currPrng = detectPrng();\n }\n var lastTime = 0;\n var lastRandom = void 0;\n return function ulid(seedTime) {\n if (isNaN(seedTime)) {\n seedTime = Date.now();\n }\n if (seedTime <= lastTime) {\n var incrementedRandom = lastRandom = incrementBase32(lastRandom);\n return encodeTime(lastTime, TIME_LEN) + incrementedRandom;\n }\n lastTime = seedTime;\n var newRandom = lastRandom = encodeRandom(RANDOM_LEN, currPrng);\n return encodeTime(seedTime, TIME_LEN) + newRandom;\n };\n}\nvar ulid = factory();\nexport { replaceCharAt, incrementBase32, randomChar, encodeTime, encodeRandom, decodeTime, detectPrng, factory, monotonicFactory, ulid };","var characterMap = {\n \"À\": \"A\",\n \"Á\": \"A\",\n \"Â\": \"A\",\n \"Ã\": \"A\",\n \"Ä\": \"A\",\n \"Å\": \"A\",\n \"Ấ\": \"A\",\n \"Ắ\": \"A\",\n \"Ẳ\": \"A\",\n \"Ẵ\": \"A\",\n \"Ặ\": \"A\",\n \"Æ\": \"AE\",\n \"Ầ\": \"A\",\n \"Ằ\": \"A\",\n \"Ȃ\": \"A\",\n \"Ç\": \"C\",\n \"Ḉ\": \"C\",\n \"È\": \"E\",\n \"É\": \"E\",\n \"Ê\": \"E\",\n \"Ë\": \"E\",\n \"Ế\": \"E\",\n \"Ḗ\": \"E\",\n \"Ề\": \"E\",\n \"Ḕ\": \"E\",\n \"Ḝ\": \"E\",\n \"Ȇ\": \"E\",\n \"Ì\": \"I\",\n \"Í\": \"I\",\n \"Î\": \"I\",\n \"Ï\": \"I\",\n \"Ḯ\": \"I\",\n \"Ȋ\": \"I\",\n \"Ð\": \"D\",\n \"Ñ\": \"N\",\n \"Ò\": \"O\",\n \"Ó\": \"O\",\n \"Ô\": \"O\",\n \"Õ\": \"O\",\n \"Ö\": \"O\",\n \"Ø\": \"O\",\n \"Ố\": \"O\",\n \"Ṍ\": \"O\",\n \"Ṓ\": \"O\",\n \"Ȏ\": \"O\",\n \"Ù\": \"U\",\n \"Ú\": \"U\",\n \"Û\": \"U\",\n \"Ü\": \"U\",\n \"Ý\": \"Y\",\n \"à\": \"a\",\n \"á\": \"a\",\n \"â\": \"a\",\n \"ã\": \"a\",\n \"ä\": \"a\",\n \"å\": \"a\",\n \"ấ\": \"a\",\n \"ắ\": \"a\",\n \"ẳ\": \"a\",\n \"ẵ\": \"a\",\n \"ặ\": \"a\",\n \"æ\": \"ae\",\n \"ầ\": \"a\",\n \"ằ\": \"a\",\n \"ȃ\": \"a\",\n \"ç\": \"c\",\n \"ḉ\": \"c\",\n \"è\": \"e\",\n \"é\": \"e\",\n \"ê\": \"e\",\n \"ë\": \"e\",\n \"ế\": \"e\",\n \"ḗ\": \"e\",\n \"ề\": \"e\",\n \"ḕ\": \"e\",\n \"ḝ\": \"e\",\n \"ȇ\": \"e\",\n \"ì\": \"i\",\n \"í\": \"i\",\n \"î\": \"i\",\n \"ï\": \"i\",\n \"ḯ\": \"i\",\n \"ȋ\": \"i\",\n \"ð\": \"d\",\n \"ñ\": \"n\",\n \"ò\": \"o\",\n \"ó\": \"o\",\n \"ô\": \"o\",\n \"õ\": \"o\",\n \"ö\": \"o\",\n \"ø\": \"o\",\n \"ố\": \"o\",\n \"ṍ\": \"o\",\n \"ṓ\": \"o\",\n \"ȏ\": \"o\",\n \"ù\": \"u\",\n \"ú\": \"u\",\n \"û\": \"u\",\n \"ü\": \"u\",\n \"ý\": \"y\",\n \"ÿ\": \"y\",\n \"Ā\": \"A\",\n \"ā\": \"a\",\n \"Ă\": \"A\",\n \"ă\": \"a\",\n \"Ą\": \"A\",\n \"ą\": \"a\",\n \"Ć\": \"C\",\n \"ć\": \"c\",\n \"Ĉ\": \"C\",\n \"ĉ\": \"c\",\n \"Ċ\": \"C\",\n \"ċ\": \"c\",\n \"Č\": \"C\",\n \"č\": \"c\",\n \"C̆\": \"C\",\n \"c̆\": \"c\",\n \"Ď\": \"D\",\n \"ď\": \"d\",\n \"Đ\": \"D\",\n \"đ\": \"d\",\n \"Ē\": \"E\",\n \"ē\": \"e\",\n \"Ĕ\": \"E\",\n \"ĕ\": \"e\",\n \"Ė\": \"E\",\n \"ė\": \"e\",\n \"Ę\": \"E\",\n \"ę\": \"e\",\n \"Ě\": \"E\",\n \"ě\": \"e\",\n \"Ĝ\": \"G\",\n \"Ǵ\": \"G\",\n \"ĝ\": \"g\",\n \"ǵ\": \"g\",\n \"Ğ\": \"G\",\n \"ğ\": \"g\",\n \"Ġ\": \"G\",\n \"ġ\": \"g\",\n \"Ģ\": \"G\",\n \"ģ\": \"g\",\n \"Ĥ\": \"H\",\n \"ĥ\": \"h\",\n \"Ħ\": \"H\",\n \"ħ\": \"h\",\n \"Ḫ\": \"H\",\n \"ḫ\": \"h\",\n \"Ĩ\": \"I\",\n \"ĩ\": \"i\",\n \"Ī\": \"I\",\n \"ī\": \"i\",\n \"Ĭ\": \"I\",\n \"ĭ\": \"i\",\n \"Į\": \"I\",\n \"į\": \"i\",\n \"İ\": \"I\",\n \"ı\": \"i\",\n \"IJ\": \"IJ\",\n \"ij\": \"ij\",\n \"Ĵ\": \"J\",\n \"ĵ\": \"j\",\n \"Ķ\": \"K\",\n \"ķ\": \"k\",\n \"Ḱ\": \"K\",\n \"ḱ\": \"k\",\n \"K̆\": \"K\",\n \"k̆\": \"k\",\n \"Ĺ\": \"L\",\n \"ĺ\": \"l\",\n \"Ļ\": \"L\",\n \"ļ\": \"l\",\n \"Ľ\": \"L\",\n \"ľ\": \"l\",\n \"Ŀ\": \"L\",\n \"ŀ\": \"l\",\n \"Ł\": \"l\",\n \"ł\": \"l\",\n \"Ḿ\": \"M\",\n \"ḿ\": \"m\",\n \"M̆\": \"M\",\n \"m̆\": \"m\",\n \"Ń\": \"N\",\n \"ń\": \"n\",\n \"Ņ\": \"N\",\n \"ņ\": \"n\",\n \"Ň\": \"N\",\n \"ň\": \"n\",\n \"ʼn\": \"n\",\n \"N̆\": \"N\",\n \"n̆\": \"n\",\n \"Ō\": \"O\",\n \"ō\": \"o\",\n \"Ŏ\": \"O\",\n \"ŏ\": \"o\",\n \"Ő\": \"O\",\n \"ő\": \"o\",\n \"Œ\": \"OE\",\n \"œ\": \"oe\",\n \"P̆\": \"P\",\n \"p̆\": \"p\",\n \"Ŕ\": \"R\",\n \"ŕ\": \"r\",\n \"Ŗ\": \"R\",\n \"ŗ\": \"r\",\n \"Ř\": \"R\",\n \"ř\": \"r\",\n \"R̆\": \"R\",\n \"r̆\": \"r\",\n \"Ȓ\": \"R\",\n \"ȓ\": \"r\",\n \"Ś\": \"S\",\n \"ś\": \"s\",\n \"Ŝ\": \"S\",\n \"ŝ\": \"s\",\n \"Ş\": \"S\",\n \"Ș\": \"S\",\n \"ș\": \"s\",\n \"ş\": \"s\",\n \"Š\": \"S\",\n \"š\": \"s\",\n \"Ţ\": \"T\",\n \"ţ\": \"t\",\n \"ț\": \"t\",\n \"Ț\": \"T\",\n \"Ť\": \"T\",\n \"ť\": \"t\",\n \"Ŧ\": \"T\",\n \"ŧ\": \"t\",\n \"T̆\": \"T\",\n \"t̆\": \"t\",\n \"Ũ\": \"U\",\n \"ũ\": \"u\",\n \"Ū\": \"U\",\n \"ū\": \"u\",\n \"Ŭ\": \"U\",\n \"ŭ\": \"u\",\n \"Ů\": \"U\",\n \"ů\": \"u\",\n \"Ű\": \"U\",\n \"ű\": \"u\",\n \"Ų\": \"U\",\n \"ų\": \"u\",\n \"Ȗ\": \"U\",\n \"ȗ\": \"u\",\n \"V̆\": \"V\",\n \"v̆\": \"v\",\n \"Ŵ\": \"W\",\n \"ŵ\": \"w\",\n \"Ẃ\": \"W\",\n \"ẃ\": \"w\",\n \"X̆\": \"X\",\n \"x̆\": \"x\",\n \"Ŷ\": \"Y\",\n \"ŷ\": \"y\",\n \"Ÿ\": \"Y\",\n \"Y̆\": \"Y\",\n \"y̆\": \"y\",\n \"Ź\": \"Z\",\n \"ź\": \"z\",\n \"Ż\": \"Z\",\n \"ż\": \"z\",\n \"Ž\": \"Z\",\n \"ž\": \"z\",\n \"ſ\": \"s\",\n \"ƒ\": \"f\",\n \"Ơ\": \"O\",\n \"ơ\": \"o\",\n \"Ư\": \"U\",\n \"ư\": \"u\",\n \"Ǎ\": \"A\",\n \"ǎ\": \"a\",\n \"Ǐ\": \"I\",\n \"ǐ\": \"i\",\n \"Ǒ\": \"O\",\n \"ǒ\": \"o\",\n \"Ǔ\": \"U\",\n \"ǔ\": \"u\",\n \"Ǖ\": \"U\",\n \"ǖ\": \"u\",\n \"Ǘ\": \"U\",\n \"ǘ\": \"u\",\n \"Ǚ\": \"U\",\n \"ǚ\": \"u\",\n \"Ǜ\": \"U\",\n \"ǜ\": \"u\",\n \"Ứ\": \"U\",\n \"ứ\": \"u\",\n \"Ṹ\": \"U\",\n \"ṹ\": \"u\",\n \"Ǻ\": \"A\",\n \"ǻ\": \"a\",\n \"Ǽ\": \"AE\",\n \"ǽ\": \"ae\",\n \"Ǿ\": \"O\",\n \"ǿ\": \"o\",\n \"Þ\": \"TH\",\n \"þ\": \"th\",\n \"Ṕ\": \"P\",\n \"ṕ\": \"p\",\n \"Ṥ\": \"S\",\n \"ṥ\": \"s\",\n \"X́\": \"X\",\n \"x́\": \"x\",\n \"Ѓ\": \"Г\",\n \"ѓ\": \"г\",\n \"Ќ\": \"К\",\n \"ќ\": \"к\",\n \"A̋\": \"A\",\n \"a̋\": \"a\",\n \"E̋\": \"E\",\n \"e̋\": \"e\",\n \"I̋\": \"I\",\n \"i̋\": \"i\",\n \"Ǹ\": \"N\",\n \"ǹ\": \"n\",\n \"Ồ\": \"O\",\n \"ồ\": \"o\",\n \"Ṑ\": \"O\",\n \"ṑ\": \"o\",\n \"Ừ\": \"U\",\n \"ừ\": \"u\",\n \"Ẁ\": \"W\",\n \"ẁ\": \"w\",\n \"Ỳ\": \"Y\",\n \"ỳ\": \"y\",\n \"Ȁ\": \"A\",\n \"ȁ\": \"a\",\n \"Ȅ\": \"E\",\n \"ȅ\": \"e\",\n \"Ȉ\": \"I\",\n \"ȉ\": \"i\",\n \"Ȍ\": \"O\",\n \"ȍ\": \"o\",\n \"Ȑ\": \"R\",\n \"ȑ\": \"r\",\n \"Ȕ\": \"U\",\n \"ȕ\": \"u\",\n \"B̌\": \"B\",\n \"b̌\": \"b\",\n \"Č̣\": \"C\",\n \"č̣\": \"c\",\n \"Ê̌\": \"E\",\n \"ê̌\": \"e\",\n \"F̌\": \"F\",\n \"f̌\": \"f\",\n \"Ǧ\": \"G\",\n \"ǧ\": \"g\",\n \"Ȟ\": \"H\",\n \"ȟ\": \"h\",\n \"J̌\": \"J\",\n \"ǰ\": \"j\",\n \"Ǩ\": \"K\",\n \"ǩ\": \"k\",\n \"M̌\": \"M\",\n \"m̌\": \"m\",\n \"P̌\": \"P\",\n \"p̌\": \"p\",\n \"Q̌\": \"Q\",\n \"q̌\": \"q\",\n \"Ř̩\": \"R\",\n \"ř̩\": \"r\",\n \"Ṧ\": \"S\",\n \"ṧ\": \"s\",\n \"V̌\": \"V\",\n \"v̌\": \"v\",\n \"W̌\": \"W\",\n \"w̌\": \"w\",\n \"X̌\": \"X\",\n \"x̌\": \"x\",\n \"Y̌\": \"Y\",\n \"y̌\": \"y\",\n \"A̧\": \"A\",\n \"a̧\": \"a\",\n \"B̧\": \"B\",\n \"b̧\": \"b\",\n \"Ḑ\": \"D\",\n \"ḑ\": \"d\",\n \"Ȩ\": \"E\",\n \"ȩ\": \"e\",\n \"Ɛ̧\": \"E\",\n \"ɛ̧\": \"e\",\n \"Ḩ\": \"H\",\n \"ḩ\": \"h\",\n \"I̧\": \"I\",\n \"i̧\": \"i\",\n \"Ɨ̧\": \"I\",\n \"ɨ̧\": \"i\",\n \"M̧\": \"M\",\n \"m̧\": \"m\",\n \"O̧\": \"O\",\n \"o̧\": \"o\",\n \"Q̧\": \"Q\",\n \"q̧\": \"q\",\n \"U̧\": \"U\",\n \"u̧\": \"u\",\n \"X̧\": \"X\",\n \"x̧\": \"x\",\n \"Z̧\": \"Z\",\n \"z̧\": \"z\"\n};\nvar chars = Object.keys(characterMap).join('|');\nvar allAccents = new RegExp(chars, 'g');\nvar firstAccent = new RegExp(chars, '');\nvar removeAccents = function (string) {\n return string.replace(allAccents, function (match) {\n return characterMap[match];\n });\n};\nvar hasAccents = function (string) {\n return !!string.match(firstAccent);\n};\nvar removeAccents_1 = removeAccents;\nvar has = hasAccents;\nvar remove = removeAccents;\nremoveAccents_1.has = has;\nremoveAccents_1.remove = remove;\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n};\n\n/**\n * @name match-sorter\n * @license MIT license.\n * @copyright (c) 2017 Kent C. Dodds\n * @author Kent C. Dodds \n */\n\nvar rankings = {\n CASE_SENSITIVE_EQUAL: 9,\n EQUAL: 8,\n STARTS_WITH: 7,\n WORD_STARTS_WITH: 6,\n STRING_CASE: 5,\n STRING_CASE_ACRONYM: 4,\n CONTAINS: 3,\n ACRONYM: 2,\n MATCHES: 1,\n NO_MATCH: 0\n};\nvar caseRankings = {\n CAMEL: 0.8,\n PASCAL: 0.6,\n KEBAB: 0.4,\n SNAKE: 0.2,\n NO_CASE: 0\n};\nmatchSorter.rankings = rankings;\nmatchSorter.caseRankings = caseRankings;\n\n/**\n * Takes an array of items and a value and returns a new array with the items that match the given value\n * @param {Array} items - the items to sort\n * @param {String} value - the value to use for ranking\n * @param {Object} options - Some options to configure the sorter\n * @return {Array} - the new sorted array\n */\nfunction matchSorter(items, value) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n // not performing any search/sort if value(search term) is empty\n if (!value) return items;\n var keys = options.keys,\n _options$threshold = options.threshold,\n threshold = _options$threshold === undefined ? rankings.MATCHES : _options$threshold;\n var matchedItems = items.reduce(function (matches, item, index) {\n var _getHighestRanking = getHighestRanking(item, keys, value, options),\n rankedItem = _getHighestRanking.rankedItem,\n rank = _getHighestRanking.rank,\n keyIndex = _getHighestRanking.keyIndex,\n _getHighestRanking$ke = _getHighestRanking.keyThreshold,\n keyThreshold = _getHighestRanking$ke === undefined ? threshold : _getHighestRanking$ke;\n if (rank >= keyThreshold) {\n matches.push({\n rankedItem: rankedItem,\n item: item,\n rank: rank,\n index: index,\n keyIndex: keyIndex\n });\n }\n return matches;\n }, []);\n return matchedItems.sort(sortRankedItems).map(function (_ref) {\n var item = _ref.item;\n return item;\n });\n}\n\n/**\n * Gets the highest ranking for value for the given item based on its values for the given keys\n * @param {*} item - the item to rank\n * @param {Array} keys - the keys to get values from the item for the ranking\n * @param {String} value - the value to rank against\n * @param {Object} options - options to control the ranking\n * @return {{rank: Number, keyIndex: Number, keyThreshold: Number}} - the highest ranking\n */\nfunction getHighestRanking(item, keys, value, options) {\n if (!keys) {\n return {\n // ends up being duplicate of 'item' in matches but consistent\n rankedItem: item,\n rank: getMatchRanking(item, value, options),\n keyIndex: -1,\n keyThreshold: options.threshold\n };\n }\n var valuesToRank = getAllValuesToRank(item, keys);\n return valuesToRank.reduce(function (_ref2, _ref3, i) {\n var rank = _ref2.rank,\n keyIndex = _ref2.keyIndex,\n keyThreshold = _ref2.keyThreshold;\n var itemValue = _ref3.itemValue,\n attributes = _ref3.attributes;\n var newRank = getMatchRanking(itemValue, value, options);\n var minRanking = attributes.minRanking,\n maxRanking = attributes.maxRanking,\n threshold = attributes.threshold;\n if (newRank < minRanking && newRank >= rankings.MATCHES) {\n newRank = minRanking;\n } else if (newRank > maxRanking) {\n newRank = maxRanking;\n }\n if (newRank > rank) {\n rank = newRank;\n keyIndex = i;\n keyThreshold = threshold;\n }\n return {\n rankedItem: itemValue,\n rank: rank,\n keyIndex: keyIndex,\n keyThreshold: keyThreshold\n };\n }, {\n rank: rankings.NO_MATCH,\n keyIndex: -1,\n keyThreshold: options.threshold\n });\n}\n\n/**\n * Gives a rankings score based on how well the two strings match.\n * @param {String} testString - the string to test against\n * @param {String} stringToRank - the string to rank\n * @param {Object} options - options for the match (like keepDiacritics for comparison)\n * @returns {Number} the ranking for how well stringToRank matches testString\n */\nfunction getMatchRanking(testString, stringToRank, options) {\n /* eslint complexity:[2, 12] */\n testString = prepareValueForComparison(testString, options);\n stringToRank = prepareValueForComparison(stringToRank, options);\n\n // too long\n if (stringToRank.length > testString.length) {\n return rankings.NO_MATCH;\n }\n\n // case sensitive equals\n if (testString === stringToRank) {\n return rankings.CASE_SENSITIVE_EQUAL;\n }\n var caseRank = getCaseRanking(testString);\n var isPartial = isPartialOfCase(testString, stringToRank, caseRank);\n var isCasedAcronym = isCaseAcronym(testString, stringToRank, caseRank);\n\n // Lower casing before further comparison\n testString = testString.toLowerCase();\n stringToRank = stringToRank.toLowerCase();\n\n // case insensitive equals\n if (testString === stringToRank) {\n return rankings.EQUAL + caseRank;\n }\n\n // starts with\n if (testString.indexOf(stringToRank) === 0) {\n return rankings.STARTS_WITH + caseRank;\n }\n\n // word starts with\n if (testString.indexOf(' ' + stringToRank) !== -1) {\n return rankings.WORD_STARTS_WITH + caseRank;\n }\n\n // is a part inside a cased string\n if (isPartial) {\n return rankings.STRING_CASE + caseRank;\n }\n\n // is acronym for a cased string\n if (caseRank > 0 && isCasedAcronym) {\n return rankings.STRING_CASE_ACRONYM + caseRank;\n }\n\n // contains\n if (testString.indexOf(stringToRank) !== -1) {\n return rankings.CONTAINS + caseRank;\n } else if (stringToRank.length === 1) {\n // If the only character in the given stringToRank\n // isn't even contained in the testString, then\n // it's definitely not a match.\n return rankings.NO_MATCH;\n }\n\n // acronym\n if (getAcronym(testString).indexOf(stringToRank) !== -1) {\n return rankings.ACRONYM + caseRank;\n }\n\n // will return a number between rankings.MATCHES and\n // rankings.MATCHES + 1 depending on how close of a match it is.\n return getClosenessRanking(testString, stringToRank);\n}\n\n/**\n * Generates an acronym for a string.\n *\n * @param {String} string the string for which to produce the acronym\n * @returns {String} the acronym\n */\nfunction getAcronym(string) {\n var acronym = '';\n var wordsInString = string.split(' ');\n wordsInString.forEach(function (wordInString) {\n var splitByHyphenWords = wordInString.split('-');\n splitByHyphenWords.forEach(function (splitByHyphenWord) {\n acronym += splitByHyphenWord.substr(0, 1);\n });\n });\n return acronym;\n}\n\n/**\n * Returns a score base on the case of the testString\n * @param {String} testString - the string to test against\n * @returns {Number} the number of the ranking,\n * based on the case between 0 and 1 for how the testString matches the case\n */\nfunction getCaseRanking(testString) {\n var containsUpperCase = testString.toLowerCase() !== testString;\n var containsDash = testString.indexOf('-') >= 0;\n var containsUnderscore = testString.indexOf('_') >= 0;\n if (!containsUpperCase && !containsUnderscore && containsDash) {\n return caseRankings.KEBAB;\n }\n if (!containsUpperCase && containsUnderscore && !containsDash) {\n return caseRankings.SNAKE;\n }\n if (containsUpperCase && !containsDash && !containsUnderscore) {\n var startsWithUpperCase = testString[0].toUpperCase() === testString[0];\n if (startsWithUpperCase) {\n return caseRankings.PASCAL;\n }\n return caseRankings.CAMEL;\n }\n return caseRankings.NO_CASE;\n}\n\n/**\n * Returns whether the stringToRank is one of the case parts in the testString (works with any string case)\n * @example\n * // returns true\n * isPartialOfCase('helloWorld', 'world', caseRankings.CAMEL)\n * @example\n * // returns false\n * isPartialOfCase('helloWorld', 'oworl', caseRankings.CAMEL)\n * @param {String} testString - the string to test against\n * @param {String} stringToRank - the string to rank\n * @param {Number} caseRanking - the ranking score based on case of testString\n * @returns {Boolean} whether the stringToRank is one of the case parts in the testString\n */\nfunction isPartialOfCase(testString, stringToRank, caseRanking) {\n var testIndex = testString.toLowerCase().indexOf(stringToRank.toLowerCase());\n switch (caseRanking) {\n case caseRankings.SNAKE:\n return testString[testIndex - 1] === '_';\n case caseRankings.KEBAB:\n return testString[testIndex - 1] === '-';\n case caseRankings.PASCAL:\n case caseRankings.CAMEL:\n return testIndex !== -1 && testString[testIndex] === testString[testIndex].toUpperCase();\n default:\n return false;\n }\n}\n\n/**\n * Check if stringToRank is an acronym for a partial case\n * @example\n * // returns true\n * isCaseAcronym('super_duper_file', 'sdf', caseRankings.SNAKE)\n * @param {String} testString - the string to test against\n * @param {String} stringToRank - the acronym to test\n * @param {Number} caseRank - the ranking of the case\n * @returns {Boolean} whether the stringToRank is an acronym for the testString\n */\nfunction isCaseAcronym(testString, stringToRank, caseRank) {\n var splitValue = null;\n switch (caseRank) {\n case caseRankings.SNAKE:\n splitValue = '_';\n break;\n case caseRankings.KEBAB:\n splitValue = '-';\n break;\n case caseRankings.PASCAL:\n case caseRankings.CAMEL:\n splitValue = /(?=[A-Z])/;\n break;\n default:\n splitValue = null;\n }\n var splitTestString = testString.split(splitValue);\n return stringToRank.toLowerCase().split('').reduce(function (correct, char, charIndex) {\n var splitItem = splitTestString[charIndex];\n return correct && splitItem && splitItem[0].toLowerCase() === char;\n }, true);\n}\n\n/**\n * Returns a score based on how spread apart the\n * characters from the stringToRank are within the testString.\n * A number close to rankings.MATCHES represents a loose match. A number close\n * to rankings.MATCHES + 1 represents a tighter match.\n * @param {String} testString - the string to test against\n * @param {String} stringToRank - the string to rank\n * @returns {Number} the number between rankings.MATCHES and\n * rankings.MATCHES + 1 for how well stringToRank matches testString\n */\nfunction getClosenessRanking(testString, stringToRank) {\n var matchingInOrderCharCount = 0;\n var charNumber = 0;\n function findMatchingCharacter(matchChar, string, index) {\n for (var j = index; j < string.length; j++) {\n var stringChar = string[j];\n if (stringChar === matchChar) {\n matchingInOrderCharCount += 1;\n return j + 1;\n }\n }\n return -1;\n }\n function getRanking(spread) {\n var inOrderPercentage = matchingInOrderCharCount / stringToRank.length;\n var ranking = rankings.MATCHES + inOrderPercentage * (1 / spread);\n return ranking;\n }\n var firstIndex = findMatchingCharacter(stringToRank[0], testString, 0);\n if (firstIndex < 0) {\n return rankings.NO_MATCH;\n }\n charNumber = firstIndex;\n for (var i = 1; i < stringToRank.length; i++) {\n var matchChar = stringToRank[i];\n charNumber = findMatchingCharacter(matchChar, testString, charNumber);\n var found = charNumber > -1;\n if (!found) {\n return rankings.NO_MATCH;\n }\n }\n var spread = charNumber - firstIndex;\n return getRanking(spread);\n}\n\n/**\n * Sorts items that have a rank, index, and keyIndex\n * @param {Object} a - the first item to sort\n * @param {Object} b - the second item to sort\n * @return {Number} -1 if a should come first, 1 if b should come first\n * Note: will never return 0\n */\nfunction sortRankedItems(a, b) {\n var aFirst = -1;\n var bFirst = 1;\n var aRankedItem = a.rankedItem,\n aRank = a.rank,\n aKeyIndex = a.keyIndex;\n var bRankedItem = b.rankedItem,\n bRank = b.rank,\n bKeyIndex = b.keyIndex;\n if (aRank === bRank) {\n if (aKeyIndex === bKeyIndex) {\n return String(aRankedItem).localeCompare(bRankedItem);\n } else {\n return aKeyIndex < bKeyIndex ? aFirst : bFirst;\n }\n } else {\n return aRank > bRank ? aFirst : bFirst;\n }\n}\n\n/**\n * Prepares value for comparison by stringifying it, removing diacritics (if specified)\n * @param {String} value - the value to clean\n * @param {Object} options - {keepDiacritics: whether to remove diacritics}\n * @return {String} the prepared value\n */\nfunction prepareValueForComparison(value, _ref4) {\n var keepDiacritics = _ref4.keepDiacritics;\n value = '' + value; // toString\n if (!keepDiacritics) {\n value = removeAccents_1(value);\n }\n return value;\n}\n\n/**\n * Gets value for key in item at arbitrarily nested keypath\n * @param {Object} item - the item\n * @param {Object|Function} key - the potentially nested keypath or property callback\n * @return {Array} - an array containing the value(s) at the nested keypath\n */\nfunction getItemValues(item, key) {\n if ((typeof key === 'undefined' ? 'undefined' : _typeof(key)) === 'object') {\n key = key.key;\n }\n var value = void 0;\n if (typeof key === 'function') {\n value = key(item);\n // eslint-disable-next-line no-negated-condition\n } else if (key.indexOf('.') !== -1) {\n // handle nested keys\n value = key.split('.').reduce(function (itemObj, nestedKey) {\n return itemObj ? itemObj[nestedKey] : null;\n }, item);\n } else {\n value = item[key];\n }\n // concat because `value` can be a string or an array\n // eslint-disable-next-line\n return value != null ? [].concat(value) : null;\n}\n\n/**\n * Gets all the values for the given keys in the given item and returns an array of those values\n * @param {Object} item - the item from which the values will be retrieved\n * @param {Array} keys - the keys to use to retrieve the values\n * @return {Array} objects with {itemValue, attributes}\n */\nfunction getAllValuesToRank(item, keys) {\n return keys.reduce(function (allVals, key) {\n var values = getItemValues(item, key);\n if (values) {\n values.forEach(function (itemValue) {\n allVals.push({\n itemValue: itemValue,\n attributes: getKeyAttributes(key)\n });\n });\n }\n return allVals;\n }, []);\n}\n\n/**\n * Gets all the attributes for the given key\n * @param {Object|String} key - the key from which the attributes will be retrieved\n * @return {Object} object containing the key's attributes\n */\nfunction getKeyAttributes(key) {\n if (typeof key === 'string') {\n key = {\n key: key\n };\n }\n return _extends({\n maxRanking: Infinity,\n minRanking: -Infinity\n }, key);\n}\nexport default matchSorter;\nexport { rankings };","import _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nexport { Link } from 'gatsby';\nif (typeof Link !== 'undefined' && Link && Link === Object(Link) && Object.isExtensible(Link) && !Object.prototype.hasOwnProperty.call(Link, '__filemeta')) {\n Object.defineProperty(Link, '__filemeta', {\n configurable: true,\n value: {\n name: \"Link\",\n filename: \"node_modules/docz/dist/index.esm.js\"\n }\n });\n}\nimport React, { createContext, useContext, Component, useMemo, createElement, useEffect, useRef, useState, memo } from 'react';\nimport _merge from 'lodash/fp/merge';\nimport equal from 'fast-deep-equal';\nimport _kebabCase from 'lodash/fp/kebabCase';\nimport _mapValues from 'lodash/fp/mapValues';\nimport _get from 'lodash/fp/get';\nimport _first from 'lodash/fp/first';\nimport _assoc from 'lodash/fp/assoc';\nimport { pascalCase } from 'pascal-case';\nimport marksy from 'marksy';\nimport sort from 'array-sort';\nimport _unionBy from 'lodash/fp/unionBy';\nimport _flattenDepth from 'lodash/fp/flattenDepth';\nimport _omit from 'lodash/fp/omit';\nimport _pipe from 'lodash/fp/pipe';\nimport { ulid } from 'ulid';\nimport match from 'match-sorter';\nimport _throttle from 'lodash/fp/throttle';\nimport { __rest } from 'tslib';\nimport capitalize from 'capitalize';\nconst DefNotFound = () => /*#__PURE__*/React.createElement(React.Fragment, null, \"Not found\");\nconst DefLayout = _ref => {\n let {\n children\n } = _ref;\n return /*#__PURE__*/React.createElement(React.Fragment, null, children);\n};\nconst DefPlayground = _ref2 => {\n let {\n component,\n code\n } = _ref2;\n return /*#__PURE__*/React.createElement(\"div\", null, component, /*#__PURE__*/React.createElement(\"pre\", null, code));\n};\nconst defaultComponents = {\n layout: DefLayout,\n notFound: DefNotFound,\n playground: DefPlayground\n};\nconst ctx = /*#__PURE__*/createContext(defaultComponents);\nconst ComponentsProvider = _ref3 => {\n let {\n components: themeComponents = {},\n children\n } = _ref3;\n return /*#__PURE__*/React.createElement(ctx.Provider, {\n value: Object.assign(Object.assign({}, defaultComponents), themeComponents)\n }, children);\n};\nconst useComponents = () => {\n return useContext(ctx);\n};\nfunction create(initial) {\n var _a;\n const ctx = /*#__PURE__*/createContext(initial);\n const listeners = new Set();\n const dispatch = fn => {\n listeners.forEach(listener => listener(fn));\n };\n return {\n context: ctx,\n set: fn => dispatch(fn),\n Provider: (_a = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Provider, _Component);\n function Provider() {\n var _this;\n _this = _Component.apply(this, arguments) || this;\n _this.state = _this.props.initial || initial || {};\n return _this;\n }\n Provider.getDerivedStateFromProps = function getDerivedStateFromProps(props, state) {\n if (!equal(props.initial, state)) return props.initial;\n return null;\n };\n var _proto = Provider.prototype;\n _proto.componentDidMount = function componentDidMount() {\n listeners.add(fn => this.setState(fn));\n };\n _proto.componentWillUnmount = function componentWillUnmount() {\n listeners.clear();\n };\n _proto.render = function render() {\n return /*#__PURE__*/React.createElement(ctx.Provider, {\n value: this.state\n }, this.props.children);\n };\n return Provider;\n }(Component), _a.displayName = 'DoczStateProvider', _a)\n };\n}\nconst doczState = create({});\nconst useConfig = () => {\n const state = useContext(doczState.context);\n const {\n transform,\n config,\n themeConfig = {}\n } = state;\n const newConfig = _merge(themeConfig, config ? config.themeConfig : {});\n const transformed = transform ? transform(newConfig) : newConfig;\n return Object.assign(Object.assign({}, config), {\n themeConfig: transformed\n });\n};\nconst useComponentProps = _ref4 => {\n let {\n componentName,\n fileName\n } = _ref4;\n const components = useComponents();\n const {\n props: stateProps\n } = useContext(doczState.context);\n const componentMatcher = (componentName, item) => {\n const matchingPatterns = [fileName, \"/\" + componentName + \".\", \"/\" + _kebabCase(componentName) + \".\", \"/\" + pascalCase(componentName) + \".\"];\n return !!matchingPatterns.find(pattern => item.key.includes(pattern));\n };\n const found = stateProps && stateProps.length > 0 && stateProps.find(item => componentMatcher(componentName, item));\n const value = _get('value', found) || [];\n const firstDefinition = _first(value);\n const definition = value.find(i => i.displayName === componentName);\n const compile = useMemo(() => marksy({\n createElement,\n elements: components\n }), [components]);\n const props = useMemo(() => {\n const props = _get('props', definition || firstDefinition);\n const parseDescs = _mapValues(prop => {\n const desc = _get('description', prop);\n return !desc ? prop : _assoc('description', compile(desc).tree, prop);\n });\n return parseDescs(props);\n }, [compile, definition || firstDefinition]);\n return props;\n};\nconst useCurrentDoc = () => {\n const state = useContext(doczState.context);\n return _get('currentEntry.value', state);\n};\nconst updateState = ev => {\n const {\n type,\n payload\n } = JSON.parse(ev.data);\n const prop = type.startsWith('state.') && type.split('.')[1];\n if (prop) {\n doczState.set(state => Object.assign(Object.assign({}, state), {\n [prop]: payload\n }));\n }\n};\nconst useDataServer = url => {\n useEffect(() => {\n if (!url) return;\n const socket = new WebSocket(url);\n socket.onmessage = updateState;\n return () => socket.close();\n }, []);\n};\nfunction flatArrFromObject(arr, prop) {\n const reducer = (arr, obj) => {\n const value = _get(prop)(obj);\n return value ? arr.concat([value]) : arr;\n };\n return Array.from(new Set(arr.reduce(reducer, [])));\n}\nfunction compare(a, b, reverse) {\n if (a < b) return reverse ? 1 : -1;\n if (a > b) return reverse ? -1 : 1;\n return 0;\n}\nconst useDocs = () => {\n const {\n entries = []\n } = useContext(doczState.context);\n const arr = entries.map(_ref5 => {\n let {\n value\n } = _ref5;\n return value;\n });\n return sort(arr, (a, b) => compare(a.name, b.name));\n};\nconst noMenu = entry => !entry.menu;\nconst fromMenu = menu => entry => entry.menu === menu;\nconst entriesOfMenu = (menu, entries) => entries.filter(fromMenu(menu));\nconst parseMenu = entries => name => ({\n name,\n menu: entriesOfMenu(name, entries)\n});\nconst menusFromEntries = entries => {\n const entriesWithoutMenu = entries.filter(noMenu);\n const menus = flatArrFromObject(entries, 'menu').map(parseMenu(entries));\n return _unionBy('name', menus, entriesWithoutMenu);\n};\nconst parseItemStr = item => typeof item === 'string' ? {\n name: item\n} : item;\nconst normalize = item => {\n const selected = parseItemStr(item);\n return Object.assign(Object.assign({}, selected), {\n id: selected.id || ulid(),\n parent: _get('parent', selected) || _get('parent', item),\n menu: Array.isArray(selected.menu) ? selected.menu.map(normalize) : selected.menu\n });\n};\nconst clean = item => item.href || item.route ? _omit('menu', item) : item;\nconst normalizeAndClean = _pipe(normalize, clean);\nconst mergeMenus = (entriesMenu, configMenu) => {\n const first = entriesMenu.map(normalizeAndClean);\n const second = configMenu.map(normalizeAndClean);\n const merged = _unionBy('name', first, second);\n return merged.map(item => {\n if (!item.menu) return item;\n const found = second.find(i => i.name === item.name);\n const foundMenu = found && found.menu;\n return Object.assign(Object.assign({}, item), {\n menu: foundMenu ? mergeMenus(item.menu, foundMenu) : item.menu || found.menu\n });\n });\n};\nconst UNKNOWN_POS = Infinity;\nconst findPos = function (item, orderedList) {\n if (orderedList === void 0) {\n orderedList = [];\n }\n const name = typeof item !== 'string' ? _get('name', item) : item;\n const pos = orderedList.findIndex(item => item === name);\n return pos !== -1 ? pos : UNKNOWN_POS;\n};\nconst compareWithMenu = function (to) {\n if (to === void 0) {\n to = [];\n }\n return (a, b) => {\n const list = to.map(i => i.name || i);\n return compare(findPos(a, list), findPos(b, list));\n };\n};\nconst sortByName = (a, b) => {\n return a.name < b.name ? -1 : a.name > b.name ? 1 : 0;\n};\nconst sortMenus = function (first, second) {\n if (second === void 0) {\n second = [];\n }\n const sorted = sort(first, compareWithMenu(second), sortByName);\n return sorted.map(item => {\n if (!item.menu) return item;\n const found = second.find(menu => menu.name === item.name);\n const foundMenu = found && found.menu;\n return Object.assign(Object.assign({}, item), {\n menu: foundMenu ? sortMenus(item.menu, foundMenu) : sort(item.menu, sortByName)\n });\n });\n};\nconst search = (val, menu) => {\n const items = menu.map(item => [item].concat(item.menu || []));\n const flattened = _flattenDepth(2, items);\n const flattenedDeduplicated = Array.from(new Set(flattened));\n return match(flattenedDeduplicated, val, {\n keys: ['name']\n });\n};\nconst filterMenus = (items, filter) => {\n if (!filter) return items;\n return items.filter(filter).map(item => {\n if (!item.menu) return item;\n return Object.assign(Object.assign({}, item), {\n menu: item.menu.filter(filter)\n });\n });\n};\nconst useMenus = opts => {\n const {\n query = ''\n } = opts || {};\n const {\n entries,\n config\n } = useContext(doczState.context);\n if (!entries) return null;\n const arr = entries.map(_ref6 => {\n let {\n value\n } = _ref6;\n return value;\n });\n const entriesMenu = menusFromEntries(arr);\n const sorted = useMemo(() => {\n const merged = mergeMenus(entriesMenu, config.menu);\n const result = sortMenus(merged, config.menu);\n return filterMenus(result, opts && opts.filter);\n }, [entries, config]);\n return query && query.length > 0 ? search(query, sorted) : sorted;\n};\nconst usePrevious = (value, defaultValue) => {\n const ref = useRef(defaultValue);\n useEffect(() => {\n ref.current = value;\n });\n return ref.current;\n};\nconst isClient = typeof window === 'object';\nconst getSize = (initialWidth, initialHeight) => ({\n innerHeight: isClient ? window.innerHeight : initialHeight,\n innerWidth: isClient ? window.innerWidth : initialWidth,\n outerHeight: isClient ? window.outerHeight : initialHeight,\n outerWidth: isClient ? window.outerWidth : initialWidth\n});\nconst useWindowSize = function (throttleMs, _initialWidth, initialHeight) {\n if (throttleMs === void 0) {\n throttleMs = 300;\n }\n if (_initialWidth === void 0) {\n _initialWidth = Infinity;\n }\n if (initialHeight === void 0) {\n initialHeight = Infinity;\n }\n const {\n 0: windowSize,\n 1: setWindowSize\n } = useState(getSize(initialHeight, initialHeight));\n const tSetWindowResize = _throttle(throttleMs, () => setWindowSize(getSize(initialHeight, initialHeight)));\n useEffect(() => {\n window.addEventListener('resize', tSetWindowResize);\n return () => void window.removeEventListener('resize', tSetWindowResize);\n }, []);\n return windowSize;\n};\nconst Playground = _ref7 => {\n let {\n className,\n children,\n style,\n wrapper,\n __scope,\n __position,\n __code,\n language,\n useScoping\n } = _ref7;\n const components = useComponents();\n const PlaygroundComponent = components.playground;\n if (!PlaygroundComponent) return null;\n return /*#__PURE__*/React.createElement(PlaygroundComponent, {\n components: components,\n component: children,\n className: className,\n style: style,\n wrapper: wrapper,\n scope: __scope,\n position: __position,\n code: __code,\n language: language,\n useScoping: useScoping\n });\n};\nconst RE_OBJECTOF = /(?:React\\.)?(?:PropTypes\\.)?objectOf\\((?:React\\.)?(?:PropTypes\\.)?(\\w+)\\)/;\nconst getTypeStr = type => {\n switch (type.name.toLowerCase()) {\n case 'instanceof':\n return \"Class(\" + type.value + \")\";\n case 'enum':\n if (type.computed) return type.value;\n return type.value ? type.value.map(v => \"\" + v.value).join(' │ ') : type.raw;\n case 'union':\n return type.value ? type.value.map(t => \"\" + getTypeStr(t)).join(' │ ') : type.raw;\n case 'array':\n return type.raw;\n case 'arrayof':\n return \"Array<\" + getTypeStr(type.value) + \">\";\n case 'custom':\n if (type.raw.indexOf('function') !== -1 || type.raw.indexOf('=>') !== -1) return 'Custom(Function)';else if (type.raw.toLowerCase().indexOf('objectof') !== -1) {\n const m = type.raw.match(RE_OBJECTOF);\n if (m && m[1]) return \"ObjectOf(\" + capitalize(m[1]) + \")\";\n return 'ObjectOf';\n }\n return 'Custom';\n case 'bool':\n return 'Boolean';\n case 'func':\n return 'Function';\n case 'shape':\n const shape = type.value;\n const rst = {};\n Object.keys(shape).forEach(key => {\n rst[key] = getTypeStr(shape[key]);\n });\n return JSON.stringify(rst, null, 2);\n default:\n return type.name;\n }\n};\nconst humanize = type => getTypeStr(type);\nconst getPropType = prop => {\n const propName = _get('name', prop.flowType || prop.type);\n if (!propName) return null;\n const isEnum = propName.startsWith('\"') || propName === 'enum';\n const name = isEnum ? 'enum' : propName;\n const value = _get('type.value', prop);\n if (!name) return null;\n if (isEnum && typeof value === 'string' || !prop.flowType && !isEnum && !value || prop.flowType && !prop.flowType.elements) {\n return name;\n }\n return prop.flowType ? humanize(prop.flowType) : humanize(prop.type);\n};\nconst Props = _a => {\n var {\n title,\n isToggle,\n isRaw,\n of: component\n } = _a,\n rest = __rest(_a, [\"title\", \"isToggle\", \"isRaw\", \"of\"]);\n const components = useComponents();\n const PropsComponent = components.props;\n const fileName = _get('__filemeta.filename', component);\n const filemetaName = _get('__filemeta.name', component);\n const componentName = filemetaName || _get('displayName', component) || _get('name', component);\n const props = useComponentProps({\n componentName,\n fileName\n });\n if (!PropsComponent) return null;\n return /*#__PURE__*/React.createElement(PropsComponent, Object.assign({\n title: title,\n isRaw: isRaw,\n isToggle: isToggle,\n props: props,\n getPropType: getPropType,\n of: component\n }, rest));\n};\nfunction theme(themeConfig, transform) {\n if (transform === void 0) {\n transform = c => c;\n }\n return WrappedComponent => {\n const Theme = /*#__PURE__*/memo(props => {\n const {\n db,\n currentEntry,\n children\n } = props;\n const initial = Object.assign(Object.assign({}, db), {\n currentEntry,\n themeConfig,\n transform\n });\n return /*#__PURE__*/React.createElement(doczState.Provider, {\n initial: initial\n }, /*#__PURE__*/React.createElement(WrappedComponent, null, children));\n });\n Theme.displayName = WrappedComponent.displayName || 'DoczTheme';\n return Theme;\n };\n}\nexport { ComponentsProvider, Playground, Props, doczState, theme, useComponentProps, useComponents, useConfig, useCurrentDoc, useDataServer, useDocs, useMenus, usePrevious, useWindowSize };\nif (typeof useWindowSize !== 'undefined' && useWindowSize && useWindowSize === Object(useWindowSize) && Object.isExtensible(useWindowSize) && !Object.prototype.hasOwnProperty.call(useWindowSize, '__filemeta')) {\n Object.defineProperty(useWindowSize, '__filemeta', {\n configurable: true,\n value: {\n name: \"useWindowSize\",\n filename: \"node_modules/docz/dist/index.esm.js\"\n }\n });\n}\nif (typeof usePrevious !== 'undefined' && usePrevious && usePrevious === Object(usePrevious) && Object.isExtensible(usePrevious) && !Object.prototype.hasOwnProperty.call(usePrevious, '__filemeta')) {\n Object.defineProperty(usePrevious, '__filemeta', {\n configurable: true,\n value: {\n name: \"usePrevious\",\n filename: \"node_modules/docz/dist/index.esm.js\"\n }\n });\n}\nif (typeof useMenus !== 'undefined' && useMenus && useMenus === Object(useMenus) && Object.isExtensible(useMenus) && !Object.prototype.hasOwnProperty.call(useMenus, '__filemeta')) {\n Object.defineProperty(useMenus, '__filemeta', {\n configurable: true,\n value: {\n name: \"useMenus\",\n filename: \"node_modules/docz/dist/index.esm.js\"\n }\n });\n}\nif (typeof useDocs !== 'undefined' && useDocs && useDocs === Object(useDocs) && Object.isExtensible(useDocs) && !Object.prototype.hasOwnProperty.call(useDocs, '__filemeta')) {\n Object.defineProperty(useDocs, '__filemeta', {\n configurable: true,\n value: {\n name: \"useDocs\",\n filename: \"node_modules/docz/dist/index.esm.js\"\n }\n });\n}\nif (typeof useDataServer !== 'undefined' && useDataServer && useDataServer === Object(useDataServer) && Object.isExtensible(useDataServer) && !Object.prototype.hasOwnProperty.call(useDataServer, '__filemeta')) {\n Object.defineProperty(useDataServer, '__filemeta', {\n configurable: true,\n value: {\n name: \"useDataServer\",\n filename: \"node_modules/docz/dist/index.esm.js\"\n }\n });\n}\nif (typeof useCurrentDoc !== 'undefined' && useCurrentDoc && useCurrentDoc === Object(useCurrentDoc) && Object.isExtensible(useCurrentDoc) && !Object.prototype.hasOwnProperty.call(useCurrentDoc, '__filemeta')) {\n Object.defineProperty(useCurrentDoc, '__filemeta', {\n configurable: true,\n value: {\n name: \"useCurrentDoc\",\n filename: \"node_modules/docz/dist/index.esm.js\"\n }\n });\n}\nif (typeof useConfig !== 'undefined' && useConfig && useConfig === Object(useConfig) && Object.isExtensible(useConfig) && !Object.prototype.hasOwnProperty.call(useConfig, '__filemeta')) {\n Object.defineProperty(useConfig, '__filemeta', {\n configurable: true,\n value: {\n name: \"useConfig\",\n filename: \"node_modules/docz/dist/index.esm.js\"\n }\n });\n}\nif (typeof useComponents !== 'undefined' && useComponents && useComponents === Object(useComponents) && Object.isExtensible(useComponents) && !Object.prototype.hasOwnProperty.call(useComponents, '__filemeta')) {\n Object.defineProperty(useComponents, '__filemeta', {\n configurable: true,\n value: {\n name: \"useComponents\",\n filename: \"node_modules/docz/dist/index.esm.js\"\n }\n });\n}\nif (typeof useComponentProps !== 'undefined' && useComponentProps && useComponentProps === Object(useComponentProps) && Object.isExtensible(useComponentProps) && !Object.prototype.hasOwnProperty.call(useComponentProps, '__filemeta')) {\n Object.defineProperty(useComponentProps, '__filemeta', {\n configurable: true,\n value: {\n name: \"useComponentProps\",\n filename: \"node_modules/docz/dist/index.esm.js\"\n }\n });\n}\nif (typeof theme !== 'undefined' && theme && theme === Object(theme) && Object.isExtensible(theme) && !Object.prototype.hasOwnProperty.call(theme, '__filemeta')) {\n Object.defineProperty(theme, '__filemeta', {\n configurable: true,\n value: {\n name: \"theme\",\n filename: \"node_modules/docz/dist/index.esm.js\"\n }\n });\n}\nif (typeof doczState !== 'undefined' && doczState && doczState === Object(doczState) && Object.isExtensible(doczState) && !Object.prototype.hasOwnProperty.call(doczState, '__filemeta')) {\n Object.defineProperty(doczState, '__filemeta', {\n configurable: true,\n value: {\n name: \"doczState\",\n filename: \"node_modules/docz/dist/index.esm.js\"\n }\n });\n}\nif (typeof Props !== 'undefined' && Props && Props === Object(Props) && Object.isExtensible(Props) && !Object.prototype.hasOwnProperty.call(Props, '__filemeta')) {\n Object.defineProperty(Props, '__filemeta', {\n configurable: true,\n value: {\n name: \"Props\",\n filename: \"node_modules/docz/dist/index.esm.js\"\n }\n });\n}\nif (typeof Playground !== 'undefined' && Playground && Playground === Object(Playground) && Object.isExtensible(Playground) && !Object.prototype.hasOwnProperty.call(Playground, '__filemeta')) {\n Object.defineProperty(Playground, '__filemeta', {\n configurable: true,\n value: {\n name: \"Playground\",\n filename: \"node_modules/docz/dist/index.esm.js\"\n }\n });\n}\nif (typeof ComponentsProvider !== 'undefined' && ComponentsProvider && ComponentsProvider === Object(ComponentsProvider) && Object.isExtensible(ComponentsProvider) && !Object.prototype.hasOwnProperty.call(ComponentsProvider, '__filemeta')) {\n Object.defineProperty(ComponentsProvider, '__filemeta', {\n configurable: true,\n value: {\n name: \"ComponentsProvider\",\n filename: \"node_modules/docz/dist/index.esm.js\"\n }\n });\n}","var createFlow = require('./_createFlow');\n\n/**\n * Creates a function that returns the result of invoking the given functions\n * with the `this` binding of the created function, where each successive\n * invocation is supplied the return value of the previous.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Util\n * @param {...(Function|Function[])} [funcs] The functions to invoke.\n * @returns {Function} Returns the new composite function.\n * @see _.flowRight\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var addSquare = _.flow([_.add, square]);\n * addSquare(1, 2);\n * // => 9\n */\nvar flow = createFlow();\n\nmodule.exports = flow;\n","const set = require('regenerate')();\nset.addRange(0xA500, 0xA62B);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0xAB70, 0xABBF);\nmodule.exports = set;","var root = require('./_root');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nmodule.exports = cloneBuffer;\n","const set = require('regenerate')();\nset.addRange(0x1C00, 0x1C37).addRange(0x1C3B, 0x1C49).addRange(0x1C4D, 0x1C4F);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x16A40, 0x16A5E).addRange(0x16A60, 0x16A69).addRange(0x16A6E, 0x16A6F);\nmodule.exports = set;","import * as React from 'react'\n /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsxRuntime classic */\n/* @jsx mdx */\nimport DefaultLayout from \"/home/runner/work/tanka/tanka/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nexport const _frontmatter = {};\nconst layoutProps = {\n _frontmatter\n};\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n components,\n ...props\n}) {\n return \n\n\n
    \n
    {`$ `}{`cd`}{` /tmp`}{`\n`}{`$ go install github.com/jsonnet-bundler/jsonnet-bundler/cmd/jb@latest`}
    \n\n \n ;\n}\n;\nMDXContent.isMDXComponent = true;\n ","var isLaziable = require('./_isLaziable'),\n setData = require('./_setData'),\n setWrapToString = require('./_setWrapToString');\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_BIND_FLAG = 1,\n WRAP_BIND_KEY_FLAG = 2,\n WRAP_CURRY_BOUND_FLAG = 4,\n WRAP_CURRY_FLAG = 8,\n WRAP_PARTIAL_FLAG = 32,\n WRAP_PARTIAL_RIGHT_FLAG = 64;\n\n/**\n * Creates a function that wraps `func` to continue currying.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {Function} wrapFunc The function to create the `func` wrapper.\n * @param {*} placeholder The placeholder value.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to prepend to those provided to\n * the new function.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\nfunction createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) {\n var isCurry = bitmask & WRAP_CURRY_FLAG,\n newHolders = isCurry ? holders : undefined,\n newHoldersRight = isCurry ? undefined : holders,\n newPartials = isCurry ? partials : undefined,\n newPartialsRight = isCurry ? undefined : partials;\n\n bitmask |= (isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG);\n bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG);\n\n if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) {\n bitmask &= ~(WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG);\n }\n var newData = [\n func, bitmask, thisArg, newPartials, newHolders, newPartialsRight,\n newHoldersRight, argPos, ary, arity\n ];\n\n var result = wrapFunc.apply(undefined, newData);\n if (isLaziable(func)) {\n setData(result, newData);\n }\n result.placeholder = placeholder;\n return setWrapToString(result, func, bitmask);\n}\n\nmodule.exports = createRecurry;\n","const set = require('regenerate')();\nset.addRange(0x10600, 0x10736).addRange(0x10740, 0x10755).addRange(0x10760, 0x10767);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x11400, 0x1145B).addRange(0x1145D, 0x11461);\nmodule.exports = set;","const set = require('regenerate')(0xA6, 0xA9, 0xAE, 0xB0, 0x482, 0x6DE, 0x6E9, 0x7F6, 0x9FA, 0xB70, 0xBFA, 0xC7F, 0xD4F, 0xD79, 0xF13, 0xF34, 0xF36, 0xF38, 0x166D, 0x1940, 0x2114, 0x2125, 0x2127, 0x2129, 0x212E, 0x214A, 0x214F, 0x21D3, 0x3004, 0x3020, 0x3250, 0xA839, 0xFDCF, 0xFFE4, 0xFFE8, 0x101A0, 0x10AC8, 0x1173F, 0x16B45, 0x1BC9C, 0x1D245, 0x1E14F, 0x1ECAC, 0x1ED2E, 0x1F7F0);\nset.addRange(0x58D, 0x58E).addRange(0x60E, 0x60F).addRange(0x6FD, 0x6FE).addRange(0xBF3, 0xBF8).addRange(0xF01, 0xF03).addRange(0xF15, 0xF17).addRange(0xF1A, 0xF1F).addRange(0xFBE, 0xFC5).addRange(0xFC7, 0xFCC).addRange(0xFCE, 0xFCF).addRange(0xFD5, 0xFD8).addRange(0x109E, 0x109F).addRange(0x1390, 0x1399).addRange(0x19DE, 0x19FF).addRange(0x1B61, 0x1B6A).addRange(0x1B74, 0x1B7C).addRange(0x2100, 0x2101).addRange(0x2103, 0x2106).addRange(0x2108, 0x2109).addRange(0x2116, 0x2117).addRange(0x211E, 0x2123).addRange(0x213A, 0x213B).addRange(0x214C, 0x214D).addRange(0x218A, 0x218B).addRange(0x2195, 0x2199).addRange(0x219C, 0x219F).addRange(0x21A1, 0x21A2).addRange(0x21A4, 0x21A5).addRange(0x21A7, 0x21AD).addRange(0x21AF, 0x21CD).addRange(0x21D0, 0x21D1).addRange(0x21D5, 0x21F3).addRange(0x2300, 0x2307).addRange(0x230C, 0x231F).addRange(0x2322, 0x2328).addRange(0x232B, 0x237B).addRange(0x237D, 0x239A).addRange(0x23B4, 0x23DB).addRange(0x23E2, 0x2426).addRange(0x2440, 0x244A).addRange(0x249C, 0x24E9).addRange(0x2500, 0x25B6).addRange(0x25B8, 0x25C0).addRange(0x25C2, 0x25F7).addRange(0x2600, 0x266E).addRange(0x2670, 0x2767).addRange(0x2794, 0x27BF).addRange(0x2800, 0x28FF).addRange(0x2B00, 0x2B2F).addRange(0x2B45, 0x2B46).addRange(0x2B4D, 0x2B73);\nset.addRange(0x2B76, 0x2B95).addRange(0x2B97, 0x2BFF).addRange(0x2CE5, 0x2CEA).addRange(0x2E50, 0x2E51).addRange(0x2E80, 0x2E99).addRange(0x2E9B, 0x2EF3).addRange(0x2F00, 0x2FD5).addRange(0x2FF0, 0x2FFB).addRange(0x3012, 0x3013).addRange(0x3036, 0x3037).addRange(0x303E, 0x303F).addRange(0x3190, 0x3191).addRange(0x3196, 0x319F).addRange(0x31C0, 0x31E3).addRange(0x3200, 0x321E).addRange(0x322A, 0x3247).addRange(0x3260, 0x327F).addRange(0x328A, 0x32B0).addRange(0x32C0, 0x33FF).addRange(0x4DC0, 0x4DFF).addRange(0xA490, 0xA4C6).addRange(0xA828, 0xA82B).addRange(0xA836, 0xA837).addRange(0xAA77, 0xAA79).addRange(0xFD40, 0xFD4F).addRange(0xFDFD, 0xFDFF).addRange(0xFFED, 0xFFEE).addRange(0xFFFC, 0xFFFD).addRange(0x10137, 0x1013F).addRange(0x10179, 0x10189).addRange(0x1018C, 0x1018E).addRange(0x10190, 0x1019C).addRange(0x101D0, 0x101FC).addRange(0x10877, 0x10878).addRange(0x11FD5, 0x11FDC).addRange(0x11FE1, 0x11FF1).addRange(0x16B3C, 0x16B3F).addRange(0x1CF50, 0x1CFC3).addRange(0x1D000, 0x1D0F5).addRange(0x1D100, 0x1D126).addRange(0x1D129, 0x1D164).addRange(0x1D16A, 0x1D16C).addRange(0x1D183, 0x1D184).addRange(0x1D18C, 0x1D1A9).addRange(0x1D1AE, 0x1D1EA).addRange(0x1D200, 0x1D241).addRange(0x1D300, 0x1D356).addRange(0x1D800, 0x1D9FF).addRange(0x1DA37, 0x1DA3A).addRange(0x1DA6D, 0x1DA74).addRange(0x1DA76, 0x1DA83);\nset.addRange(0x1DA85, 0x1DA86).addRange(0x1F000, 0x1F02B).addRange(0x1F030, 0x1F093).addRange(0x1F0A0, 0x1F0AE).addRange(0x1F0B1, 0x1F0BF).addRange(0x1F0C1, 0x1F0CF).addRange(0x1F0D1, 0x1F0F5).addRange(0x1F10D, 0x1F1AD).addRange(0x1F1E6, 0x1F202).addRange(0x1F210, 0x1F23B).addRange(0x1F240, 0x1F248).addRange(0x1F250, 0x1F251).addRange(0x1F260, 0x1F265).addRange(0x1F300, 0x1F3FA).addRange(0x1F400, 0x1F6D7).addRange(0x1F6DD, 0x1F6EC).addRange(0x1F6F0, 0x1F6FC).addRange(0x1F700, 0x1F773).addRange(0x1F780, 0x1F7D8).addRange(0x1F7E0, 0x1F7EB).addRange(0x1F800, 0x1F80B).addRange(0x1F810, 0x1F847).addRange(0x1F850, 0x1F859).addRange(0x1F860, 0x1F887).addRange(0x1F890, 0x1F8AD).addRange(0x1F8B0, 0x1F8B1).addRange(0x1F900, 0x1FA53).addRange(0x1FA60, 0x1FA6D).addRange(0x1FA70, 0x1FA74).addRange(0x1FA78, 0x1FA7C).addRange(0x1FA80, 0x1FA86).addRange(0x1FA90, 0x1FAAC).addRange(0x1FAB0, 0x1FABA).addRange(0x1FAC0, 0x1FAC5).addRange(0x1FAD0, 0x1FAD9).addRange(0x1FAE0, 0x1FAE7).addRange(0x1FAF0, 0x1FAF6).addRange(0x1FB00, 0x1FB92).addRange(0x1FB94, 0x1FBCA);\nmodule.exports = set;","import mitt from \"mitt\"\n\nconst emitter = mitt()\nexport default emitter\n","// \n// An event handler can take an optional event argument\n// and should not return a value\n \n \n\n// An array of all currently registered event handlers for a type\n \n \n// A map of event types and their corresponding event handlers.\n \n \n \n \n\n/** Mitt: Tiny (~200b) functional event emitter / pubsub.\n * @name mitt\n * @returns {Mitt}\n */\nfunction mitt(all ) {\n\tall = all || Object.create(null);\n\n\treturn {\n\t\t/**\n\t\t * Register an event handler for the given type.\n\t\t *\n\t\t * @param {String} type\tType of event to listen for, or `\"*\"` for all events\n\t\t * @param {Function} handler Function to call in response to given event\n\t\t * @memberOf mitt\n\t\t */\n\t\ton: function on(type , handler ) {\n\t\t\t(all[type] || (all[type] = [])).push(handler);\n\t\t},\n\n\t\t/**\n\t\t * Remove an event handler for the given type.\n\t\t *\n\t\t * @param {String} type\tType of event to unregister `handler` from, or `\"*\"`\n\t\t * @param {Function} handler Handler function to remove\n\t\t * @memberOf mitt\n\t\t */\n\t\toff: function off(type , handler ) {\n\t\t\tif (all[type]) {\n\t\t\t\tall[type].splice(all[type].indexOf(handler) >>> 0, 1);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Invoke all handlers for the given type.\n\t\t * If present, `\"*\"` handlers are invoked after type-matched handlers.\n\t\t *\n\t\t * @param {String} type The event type to invoke\n\t\t * @param {Any} [evt] Any value (object is recommended and powerful), passed to each handler\n\t\t * @memberOf mitt\n\t\t */\n\t\temit: function emit(type , evt ) {\n\t\t\t(all[type] || []).slice().map(function (handler) { handler(evt); });\n\t\t\t(all['*'] || []).slice().map(function (handler) { handler(type, evt); });\n\t\t}\n\t};\n}\n\nexport default mitt;\n//# sourceMappingURL=mitt.es.js.map\n","var baseFlatten = require('./_baseFlatten'),\n toInteger = require('./toInteger');\n\n/**\n * Recursively flatten `array` up to `depth` times.\n *\n * @static\n * @memberOf _\n * @since 4.4.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @param {number} [depth=1] The maximum recursion depth.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * var array = [1, [2, [3, [4]], 5]];\n *\n * _.flattenDepth(array, 1);\n * // => [1, 2, [3, [4]], 5]\n *\n * _.flattenDepth(array, 2);\n * // => [1, 2, 3, [4], 5]\n */\nfunction flattenDepth(array, depth) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n depth = depth === undefined ? 1 : toInteger(depth);\n return baseFlatten(array, depth);\n}\n\nmodule.exports = flattenDepth;\n","const set = require('regenerate')();\nset.addRange(0x10840, 0x10855).addRange(0x10857, 0x1085F);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x1040, 0x1049).addRange(0x1950, 0x196D).addRange(0x1970, 0x1974);\nmodule.exports = set;","'use strict';\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-basic-detection');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar classof = require('../internals/classof');\nvar tryToString = require('../internals/try-to-string');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar uid = require('../internals/uid');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar Uint8ClampedArray = global.Uint8ClampedArray;\nvar Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;\nvar TypedArray = Int8Array && getPrototypeOf(Int8Array);\nvar TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);\nvar ObjectPrototype = Object.prototype;\nvar TypeError = global.TypeError;\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');\nvar TYPED_ARRAY_CONSTRUCTOR = 'TypedArrayConstructor';\n// Fixing native typed arrays in Opera Presto crashes the browser, see #595\nvar NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera';\nvar TYPED_ARRAY_TAG_REQUIRED = false;\nvar NAME, Constructor, Prototype;\n\nvar TypedArrayConstructorsList = {\n Int8Array: 1,\n Uint8Array: 1,\n Uint8ClampedArray: 1,\n Int16Array: 2,\n Uint16Array: 2,\n Int32Array: 4,\n Uint32Array: 4,\n Float32Array: 4,\n Float64Array: 8\n};\n\nvar BigIntArrayConstructorsList = {\n BigInt64Array: 8,\n BigUint64Array: 8\n};\n\nvar isView = function isView(it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return klass === 'DataView'\n || hasOwn(TypedArrayConstructorsList, klass)\n || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar getTypedArrayConstructor = function (it) {\n var proto = getPrototypeOf(it);\n if (!isObject(proto)) return;\n var state = getInternalState(proto);\n return (state && hasOwn(state, TYPED_ARRAY_CONSTRUCTOR)) ? state[TYPED_ARRAY_CONSTRUCTOR] : getTypedArrayConstructor(proto);\n};\n\nvar isTypedArray = function (it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return hasOwn(TypedArrayConstructorsList, klass)\n || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar aTypedArray = function (it) {\n if (isTypedArray(it)) return it;\n throw TypeError('Target is not a typed array');\n};\n\nvar aTypedArrayConstructor = function (C) {\n if (isCallable(C) && (!setPrototypeOf || isPrototypeOf(TypedArray, C))) return C;\n throw TypeError(tryToString(C) + ' is not a typed array constructor');\n};\n\nvar exportTypedArrayMethod = function (KEY, property, forced, options) {\n if (!DESCRIPTORS) return;\n if (forced) for (var ARRAY in TypedArrayConstructorsList) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor.prototype, KEY)) try {\n delete TypedArrayConstructor.prototype[KEY];\n } catch (error) {\n // old WebKit bug - some methods are non-configurable\n try {\n TypedArrayConstructor.prototype[KEY] = property;\n } catch (error2) { /* empty */ }\n }\n }\n if (!TypedArrayPrototype[KEY] || forced) {\n defineBuiltIn(TypedArrayPrototype, KEY, forced ? property\n : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property, options);\n }\n};\n\nvar exportTypedArrayStaticMethod = function (KEY, property, forced) {\n var ARRAY, TypedArrayConstructor;\n if (!DESCRIPTORS) return;\n if (setPrototypeOf) {\n if (forced) for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor, KEY)) try {\n delete TypedArrayConstructor[KEY];\n } catch (error) { /* empty */ }\n }\n if (!TypedArray[KEY] || forced) {\n // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable\n try {\n return defineBuiltIn(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && TypedArray[KEY] || property);\n } catch (error) { /* empty */ }\n } else return;\n }\n for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {\n defineBuiltIn(TypedArrayConstructor, KEY, property);\n }\n }\n};\n\nfor (NAME in TypedArrayConstructorsList) {\n Constructor = global[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor;\n else NATIVE_ARRAY_BUFFER_VIEWS = false;\n}\n\nfor (NAME in BigIntArrayConstructorsList) {\n Constructor = global[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor;\n}\n\n// WebKit bug - typed arrays constructors prototype is Object.prototype\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !isCallable(TypedArray) || TypedArray === Function.prototype) {\n // eslint-disable-next-line no-shadow -- safe\n TypedArray = function TypedArray() {\n throw TypeError('Incorrect invocation');\n };\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME], TypedArray);\n }\n}\n\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {\n TypedArrayPrototype = TypedArray.prototype;\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME].prototype, TypedArrayPrototype);\n }\n}\n\n// WebKit bug - one more object in Uint8ClampedArray prototype chain\nif (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {\n setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);\n}\n\nif (DESCRIPTORS && !hasOwn(TypedArrayPrototype, TO_STRING_TAG)) {\n TYPED_ARRAY_TAG_REQUIRED = true;\n defineBuiltInAccessor(TypedArrayPrototype, TO_STRING_TAG, {\n configurable: true,\n get: function () {\n return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;\n }\n });\n for (NAME in TypedArrayConstructorsList) if (global[NAME]) {\n createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME);\n }\n}\n\nmodule.exports = {\n NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,\n TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQUIRED && TYPED_ARRAY_TAG,\n aTypedArray: aTypedArray,\n aTypedArrayConstructor: aTypedArrayConstructor,\n exportTypedArrayMethod: exportTypedArrayMethod,\n exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,\n getTypedArrayConstructor: getTypedArrayConstructor,\n isView: isView,\n isTypedArray: isTypedArray,\n TypedArray: TypedArray,\n TypedArrayPrototype: TypedArrayPrototype\n};\n","module.exports = require('./matchesProperty');\n","const set = require('regenerate')();\nset.addRange(0x10100, 0x10101).addRange(0x12F90, 0x12FF2);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0xA6A0, 0xA6F7).addRange(0x16800, 0x16A38);\nmodule.exports = set;","var hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","const set = require('regenerate')();\nset.addRange(0x11A50, 0x11AA2);\nmodule.exports = set;","/** Used as the internal argument placeholder. */\nvar PLACEHOLDER = '__lodash_placeholder__';\n\n/**\n * Replaces all `placeholder` elements in `array` with an internal placeholder\n * and returns an array of their indexes.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {*} placeholder The placeholder to replace.\n * @returns {Array} Returns the new array of placeholder indexes.\n */\nfunction replaceHolders(array, placeholder) {\n var index = -1,\n length = array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (value === placeholder || value === PLACEHOLDER) {\n array[index] = PLACEHOLDER;\n result[resIndex++] = index;\n }\n }\n return result;\n}\n\nmodule.exports = replaceHolders;\n","const set = require('regenerate')();\nset.addRange(0x108E0, 0x108F2).addRange(0x108F4, 0x108F5).addRange(0x108FB, 0x108FF);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x2800, 0x28FF);\nmodule.exports = set;","var baseSetData = require('./_baseSetData'),\n createBind = require('./_createBind'),\n createCurry = require('./_createCurry'),\n createHybrid = require('./_createHybrid'),\n createPartial = require('./_createPartial'),\n getData = require('./_getData'),\n mergeData = require('./_mergeData'),\n setData = require('./_setData'),\n setWrapToString = require('./_setWrapToString'),\n toInteger = require('./toInteger');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_BIND_FLAG = 1,\n WRAP_BIND_KEY_FLAG = 2,\n WRAP_CURRY_FLAG = 8,\n WRAP_CURRY_RIGHT_FLAG = 16,\n WRAP_PARTIAL_FLAG = 32,\n WRAP_PARTIAL_RIGHT_FLAG = 64;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * Creates a function that either curries or invokes `func` with optional\n * `this` binding and partially applied arguments.\n *\n * @private\n * @param {Function|string} func The function or method name to wrap.\n * @param {number} bitmask The bitmask flags.\n * 1 - `_.bind`\n * 2 - `_.bindKey`\n * 4 - `_.curry` or `_.curryRight` of a bound function\n * 8 - `_.curry`\n * 16 - `_.curryRight`\n * 32 - `_.partial`\n * 64 - `_.partialRight`\n * 128 - `_.rearg`\n * 256 - `_.ary`\n * 512 - `_.flip`\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to be partially applied.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\nfunction createWrap(func, bitmask, thisArg, partials, holders, argPos, ary, arity) {\n var isBindKey = bitmask & WRAP_BIND_KEY_FLAG;\n if (!isBindKey && typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var length = partials ? partials.length : 0;\n if (!length) {\n bitmask &= ~(WRAP_PARTIAL_FLAG | WRAP_PARTIAL_RIGHT_FLAG);\n partials = holders = undefined;\n }\n ary = ary === undefined ? ary : nativeMax(toInteger(ary), 0);\n arity = arity === undefined ? arity : toInteger(arity);\n length -= holders ? holders.length : 0;\n\n if (bitmask & WRAP_PARTIAL_RIGHT_FLAG) {\n var partialsRight = partials,\n holdersRight = holders;\n\n partials = holders = undefined;\n }\n var data = isBindKey ? undefined : getData(func);\n\n var newData = [\n func, bitmask, thisArg, partials, holders, partialsRight, holdersRight,\n argPos, ary, arity\n ];\n\n if (data) {\n mergeData(newData, data);\n }\n func = newData[0];\n bitmask = newData[1];\n thisArg = newData[2];\n partials = newData[3];\n holders = newData[4];\n arity = newData[9] = newData[9] === undefined\n ? (isBindKey ? 0 : func.length)\n : nativeMax(newData[9] - length, 0);\n\n if (!arity && bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG)) {\n bitmask &= ~(WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG);\n }\n if (!bitmask || bitmask == WRAP_BIND_FLAG) {\n var result = createBind(func, bitmask, thisArg);\n } else if (bitmask == WRAP_CURRY_FLAG || bitmask == WRAP_CURRY_RIGHT_FLAG) {\n result = createCurry(func, bitmask, arity);\n } else if ((bitmask == WRAP_PARTIAL_FLAG || bitmask == (WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG)) && !holders.length) {\n result = createPartial(func, bitmask, thisArg, partials);\n } else {\n result = createHybrid.apply(undefined, newData);\n }\n var setter = data ? baseSetData : setData;\n return setWrapToString(setter(result, newData), func, bitmask);\n}\n\nmodule.exports = createWrap;\n","const set = require('regenerate')();\nset.addRange(0x200C, 0x200D);\nmodule.exports = set;","var baseCreate = require('./_baseCreate'),\n baseLodash = require('./_baseLodash');\n\n/**\n * The base constructor for creating `lodash` wrapper objects.\n *\n * @private\n * @param {*} value The value to wrap.\n * @param {boolean} [chainAll] Enable explicit method chain sequences.\n */\nfunction LodashWrapper(value, chainAll) {\n this.__wrapped__ = value;\n this.__actions__ = [];\n this.__chain__ = !!chainAll;\n this.__index__ = 0;\n this.__values__ = undefined;\n}\n\nLodashWrapper.prototype = baseCreate(baseLodash.prototype);\nLodashWrapper.prototype.constructor = LodashWrapper;\n\nmodule.exports = LodashWrapper;\n","const set = require('regenerate')(0x1D2B, 0x1D78);\nset.addRange(0x400, 0x484).addRange(0x487, 0x52F).addRange(0x1C80, 0x1C88).addRange(0x2DE0, 0x2DFF).addRange(0xA640, 0xA69F).addRange(0xFE2E, 0xFE2F);\nmodule.exports = set;","module.exports = require('./head');\n","const set = require('regenerate')(0xFB3E);\nset.addRange(0x591, 0x5C7).addRange(0x5D0, 0x5EA).addRange(0x5EF, 0x5F4).addRange(0xFB1D, 0xFB36).addRange(0xFB38, 0xFB3C).addRange(0xFB40, 0xFB41).addRange(0xFB43, 0xFB44).addRange(0xFB46, 0xFB4F);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x964, 0x96F).addRange(0xA830, 0xA839).addRange(0x11800, 0x1183B);\nmodule.exports = set;","var asciiWords = require('./_asciiWords'),\n hasUnicodeWord = require('./_hasUnicodeWord'),\n toString = require('./toString'),\n unicodeWords = require('./_unicodeWords');\n\n/**\n * Splits `string` into an array of its words.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {RegExp|string} [pattern] The pattern to match words.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the words of `string`.\n * @example\n *\n * _.words('fred, barney, & pebbles');\n * // => ['fred', 'barney', 'pebbles']\n *\n * _.words('fred, barney, & pebbles', /[^, ]+/g);\n * // => ['fred', 'barney', '&', 'pebbles']\n */\nfunction words(string, pattern, guard) {\n string = toString(string);\n pattern = guard ? undefined : pattern;\n\n if (pattern === undefined) {\n return hasUnicodeWord(string) ? unicodeWords(string) : asciiWords(string);\n }\n return string.match(pattern) || [];\n}\n\nmodule.exports = words;\n","const set = require('regenerate')(0x2EC, 0x2EE, 0x374, 0x37A, 0x559, 0x640, 0x7FA, 0x81A, 0x824, 0x828, 0x8C9, 0x971, 0xE46, 0xEC6, 0x10FC, 0x17D7, 0x1843, 0x1AA7, 0x1D78, 0x2071, 0x207F, 0x2D6F, 0x2E2F, 0x3005, 0x303B, 0xA015, 0xA60C, 0xA67F, 0xA770, 0xA788, 0xA9CF, 0xA9E6, 0xAA70, 0xAADD, 0xAB69, 0xFF70, 0x16FE3, 0x1E94B);\nset.addRange(0x2B0, 0x2C1).addRange(0x2C6, 0x2D1).addRange(0x2E0, 0x2E4).addRange(0x6E5, 0x6E6).addRange(0x7F4, 0x7F5).addRange(0x1C78, 0x1C7D).addRange(0x1D2C, 0x1D6A).addRange(0x1D9B, 0x1DBF).addRange(0x2090, 0x209C).addRange(0x2C7C, 0x2C7D).addRange(0x3031, 0x3035).addRange(0x309D, 0x309E).addRange(0x30FC, 0x30FE).addRange(0xA4F8, 0xA4FD).addRange(0xA69C, 0xA69D).addRange(0xA717, 0xA71F).addRange(0xA7F2, 0xA7F4).addRange(0xA7F8, 0xA7F9).addRange(0xAAF3, 0xAAF4).addRange(0xAB5C, 0xAB5F).addRange(0xFF9E, 0xFF9F).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x16B40, 0x16B43).addRange(0x16F93, 0x16F9F).addRange(0x16FE0, 0x16FE1).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE).addRange(0x1E137, 0x1E13D);\nmodule.exports = set;","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n","const set = require('regenerate')();\nset.addRange(0x13000, 0x1342E).addRange(0x13430, 0x13438);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0xAE6, 0xAEF).addRange(0xA830, 0xA839).addRange(0x11200, 0x11211).addRange(0x11213, 0x1123E);\nmodule.exports = set;","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n","const set = require('regenerate')();\nset.addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x10A00, 0x10A03).addRange(0x10A05, 0x10A06).addRange(0x10A0C, 0x10A13).addRange(0x10A15, 0x10A17).addRange(0x10A19, 0x10A35).addRange(0x10A38, 0x10A3A).addRange(0x10A3F, 0x10A48).addRange(0x10A50, 0x10A58);\nmodule.exports = set;","var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n","var toString = Object.prototype.toString;\n\n/**\n * Get the native `typeof` a value.\n *\n * @param {*} `val`\n * @return {*} Native javascript type\n */\n\nmodule.exports = function kindOf(val) {\n var type = typeof val;\n\n // primitivies\n if (type === 'undefined') {\n return 'undefined';\n }\n if (val === null) {\n return 'null';\n }\n if (val === true || val === false || val instanceof Boolean) {\n return 'boolean';\n }\n if (type === 'string' || val instanceof String) {\n return 'string';\n }\n if (type === 'number' || val instanceof Number) {\n return 'number';\n }\n\n // functions\n if (type === 'function' || val instanceof Function) {\n if (typeof val.constructor.name !== 'undefined' && val.constructor.name.slice(0, 9) === 'Generator') {\n return 'generatorfunction';\n }\n return 'function';\n }\n\n // array\n if (typeof Array.isArray !== 'undefined' && Array.isArray(val)) {\n return 'array';\n }\n\n // check for instances of RegExp and Date before calling `toString`\n if (val instanceof RegExp) {\n return 'regexp';\n }\n if (val instanceof Date) {\n return 'date';\n }\n\n // other objects\n type = toString.call(val);\n if (type === '[object RegExp]') {\n return 'regexp';\n }\n if (type === '[object Date]') {\n return 'date';\n }\n if (type === '[object Arguments]') {\n return 'arguments';\n }\n if (type === '[object Error]') {\n return 'error';\n }\n if (type === '[object Promise]') {\n return 'promise';\n }\n\n // buffer\n if (isBuffer(val)) {\n return 'buffer';\n }\n\n // es6: Map, WeakMap, Set, WeakSet\n if (type === '[object Set]') {\n return 'set';\n }\n if (type === '[object WeakSet]') {\n return 'weakset';\n }\n if (type === '[object Map]') {\n return 'map';\n }\n if (type === '[object WeakMap]') {\n return 'weakmap';\n }\n if (type === '[object Symbol]') {\n return 'symbol';\n }\n if (type === '[object Map Iterator]') {\n return 'mapiterator';\n }\n if (type === '[object Set Iterator]') {\n return 'setiterator';\n }\n if (type === '[object String Iterator]') {\n return 'stringiterator';\n }\n if (type === '[object Array Iterator]') {\n return 'arrayiterator';\n }\n\n // typed arrays\n if (type === '[object Int8Array]') {\n return 'int8array';\n }\n if (type === '[object Uint8Array]') {\n return 'uint8array';\n }\n if (type === '[object Uint8ClampedArray]') {\n return 'uint8clampedarray';\n }\n if (type === '[object Int16Array]') {\n return 'int16array';\n }\n if (type === '[object Uint16Array]') {\n return 'uint16array';\n }\n if (type === '[object Int32Array]') {\n return 'int32array';\n }\n if (type === '[object Uint32Array]') {\n return 'uint32array';\n }\n if (type === '[object Float32Array]') {\n return 'float32array';\n }\n if (type === '[object Float64Array]') {\n return 'float64array';\n }\n\n // must be a plain object\n return 'object';\n};\n\n/**\n * If you need to support Safari 5-7 (8-10 yr-old browser),\n * take a look at https://github.com/feross/is-buffer\n */\n\nfunction isBuffer(val) {\n return val.constructor && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}","const set = require('regenerate')();\nset.addRange(0x1A20, 0x1A5E).addRange(0x1A60, 0x1A7C).addRange(0x1A7F, 0x1A89).addRange(0x1A90, 0x1A99).addRange(0x1AA0, 0x1AAD);\nmodule.exports = set;","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeys = require('./_baseKeys'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = nativeKeysIn;\n","const set = require('regenerate')();\nset.addRange(0xA6A0, 0xA6F7).addRange(0x16800, 0x16A38);\nmodule.exports = set;","var makeBuiltIn = require('../internals/make-built-in');\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });\n if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });\n return defineProperty.f(target, name, descriptor);\n};\n","/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nmodule.exports = mapToArray;\n","\"use strict\";\n\nexports.__esModule = true;\nexports.useScrollRestoration = exports.ScrollContainer = exports.ScrollContext = void 0;\n\nvar _scrollHandler = require(\"./scroll-handler\");\n\nexports.ScrollContext = _scrollHandler.ScrollHandler;\n\nvar _scrollContainer = require(\"./scroll-container\");\n\nexports.ScrollContainer = _scrollContainer.ScrollContainer;\n\nvar _useScrollRestoration = require(\"./use-scroll-restoration\");\n\nexports.useScrollRestoration = _useScrollRestoration.useScrollRestoration;","const set = require('regenerate')();\nset.addRange(0x1E800, 0x1E8C4).addRange(0x1E8C7, 0x1E8D6);\nmodule.exports = set;","const set = require('regenerate')(0x5F, 0xAA, 0xB5, 0xB7, 0xBA, 0x2EC, 0x2EE, 0x37F, 0x38C, 0x559, 0x5BF, 0x5C7, 0x6FF, 0x7FA, 0x7FD, 0x9B2, 0x9D7, 0x9FC, 0x9FE, 0xA3C, 0xA51, 0xA5E, 0xAD0, 0xB71, 0xB9C, 0xBD0, 0xBD7, 0xC5D, 0xDBD, 0xDCA, 0xDD6, 0xE84, 0xEA5, 0xEC6, 0xF00, 0xF35, 0xF37, 0xF39, 0xFC6, 0x10C7, 0x10CD, 0x1258, 0x12C0, 0x17D7, 0x1AA7, 0x1F59, 0x1F5B, 0x1F5D, 0x1FBE, 0x2054, 0x2071, 0x207F, 0x20E1, 0x2102, 0x2107, 0x2115, 0x2124, 0x2126, 0x2128, 0x214E, 0x2D27, 0x2D2D, 0x2D6F, 0xA7D3, 0xA82C, 0xA8FB, 0xFB3E, 0xFE71, 0xFE73, 0xFE77, 0xFE79, 0xFE7B, 0xFE7D, 0xFF3F, 0x101FD, 0x102E0, 0x10808, 0x1083C, 0x10A3F, 0x10F27, 0x110C2, 0x11176, 0x111DC, 0x1123E, 0x11288, 0x11350, 0x11357, 0x114C7, 0x11644, 0x11909, 0x11A47, 0x11A9D, 0x11D3A, 0x11FB0, 0x1D4A2, 0x1D4BB, 0x1D546, 0x1DA75, 0x1DA84, 0x1E14E, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E);\nset.addRange(0x30, 0x39).addRange(0x41, 0x5A).addRange(0x61, 0x7A).addRange(0xC0, 0xD6).addRange(0xD8, 0xF6).addRange(0xF8, 0x2C1).addRange(0x2C6, 0x2D1).addRange(0x2E0, 0x2E4).addRange(0x300, 0x374).addRange(0x376, 0x377).addRange(0x37B, 0x37D).addRange(0x386, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x3F5).addRange(0x3F7, 0x481).addRange(0x483, 0x487).addRange(0x48A, 0x52F).addRange(0x531, 0x556).addRange(0x560, 0x588).addRange(0x591, 0x5BD).addRange(0x5C1, 0x5C2).addRange(0x5C4, 0x5C5).addRange(0x5D0, 0x5EA).addRange(0x5EF, 0x5F2).addRange(0x610, 0x61A).addRange(0x620, 0x669).addRange(0x66E, 0x6D3).addRange(0x6D5, 0x6DC).addRange(0x6DF, 0x6E8).addRange(0x6EA, 0x6FC).addRange(0x710, 0x74A).addRange(0x74D, 0x7B1).addRange(0x7C0, 0x7F5).addRange(0x800, 0x82D).addRange(0x840, 0x85B).addRange(0x860, 0x86A).addRange(0x870, 0x887).addRange(0x889, 0x88E).addRange(0x898, 0x8E1).addRange(0x8E3, 0x963).addRange(0x966, 0x96F).addRange(0x971, 0x983).addRange(0x985, 0x98C).addRange(0x98F, 0x990).addRange(0x993, 0x9A8).addRange(0x9AA, 0x9B0).addRange(0x9B6, 0x9B9).addRange(0x9BC, 0x9C4).addRange(0x9C7, 0x9C8).addRange(0x9CB, 0x9CE).addRange(0x9DC, 0x9DD);\nset.addRange(0x9DF, 0x9E3).addRange(0x9E6, 0x9F1).addRange(0xA01, 0xA03).addRange(0xA05, 0xA0A).addRange(0xA0F, 0xA10).addRange(0xA13, 0xA28).addRange(0xA2A, 0xA30).addRange(0xA32, 0xA33).addRange(0xA35, 0xA36).addRange(0xA38, 0xA39).addRange(0xA3E, 0xA42).addRange(0xA47, 0xA48).addRange(0xA4B, 0xA4D).addRange(0xA59, 0xA5C).addRange(0xA66, 0xA75).addRange(0xA81, 0xA83).addRange(0xA85, 0xA8D).addRange(0xA8F, 0xA91).addRange(0xA93, 0xAA8).addRange(0xAAA, 0xAB0).addRange(0xAB2, 0xAB3).addRange(0xAB5, 0xAB9).addRange(0xABC, 0xAC5).addRange(0xAC7, 0xAC9).addRange(0xACB, 0xACD).addRange(0xAE0, 0xAE3).addRange(0xAE6, 0xAEF).addRange(0xAF9, 0xAFF).addRange(0xB01, 0xB03).addRange(0xB05, 0xB0C).addRange(0xB0F, 0xB10).addRange(0xB13, 0xB28).addRange(0xB2A, 0xB30).addRange(0xB32, 0xB33).addRange(0xB35, 0xB39).addRange(0xB3C, 0xB44).addRange(0xB47, 0xB48).addRange(0xB4B, 0xB4D).addRange(0xB55, 0xB57).addRange(0xB5C, 0xB5D).addRange(0xB5F, 0xB63).addRange(0xB66, 0xB6F).addRange(0xB82, 0xB83).addRange(0xB85, 0xB8A).addRange(0xB8E, 0xB90).addRange(0xB92, 0xB95).addRange(0xB99, 0xB9A).addRange(0xB9E, 0xB9F).addRange(0xBA3, 0xBA4).addRange(0xBA8, 0xBAA).addRange(0xBAE, 0xBB9);\nset.addRange(0xBBE, 0xBC2).addRange(0xBC6, 0xBC8).addRange(0xBCA, 0xBCD).addRange(0xBE6, 0xBEF).addRange(0xC00, 0xC0C).addRange(0xC0E, 0xC10).addRange(0xC12, 0xC28).addRange(0xC2A, 0xC39).addRange(0xC3C, 0xC44).addRange(0xC46, 0xC48).addRange(0xC4A, 0xC4D).addRange(0xC55, 0xC56).addRange(0xC58, 0xC5A).addRange(0xC60, 0xC63).addRange(0xC66, 0xC6F).addRange(0xC80, 0xC83).addRange(0xC85, 0xC8C).addRange(0xC8E, 0xC90).addRange(0xC92, 0xCA8).addRange(0xCAA, 0xCB3).addRange(0xCB5, 0xCB9).addRange(0xCBC, 0xCC4).addRange(0xCC6, 0xCC8).addRange(0xCCA, 0xCCD).addRange(0xCD5, 0xCD6).addRange(0xCDD, 0xCDE).addRange(0xCE0, 0xCE3).addRange(0xCE6, 0xCEF).addRange(0xCF1, 0xCF2).addRange(0xD00, 0xD0C).addRange(0xD0E, 0xD10).addRange(0xD12, 0xD44).addRange(0xD46, 0xD48).addRange(0xD4A, 0xD4E).addRange(0xD54, 0xD57).addRange(0xD5F, 0xD63).addRange(0xD66, 0xD6F).addRange(0xD7A, 0xD7F).addRange(0xD81, 0xD83).addRange(0xD85, 0xD96).addRange(0xD9A, 0xDB1).addRange(0xDB3, 0xDBB).addRange(0xDC0, 0xDC6).addRange(0xDCF, 0xDD4).addRange(0xDD8, 0xDDF).addRange(0xDE6, 0xDEF).addRange(0xDF2, 0xDF3).addRange(0xE01, 0xE3A).addRange(0xE40, 0xE4E).addRange(0xE50, 0xE59).addRange(0xE81, 0xE82);\nset.addRange(0xE86, 0xE8A).addRange(0xE8C, 0xEA3).addRange(0xEA7, 0xEBD).addRange(0xEC0, 0xEC4).addRange(0xEC8, 0xECD).addRange(0xED0, 0xED9).addRange(0xEDC, 0xEDF).addRange(0xF18, 0xF19).addRange(0xF20, 0xF29).addRange(0xF3E, 0xF47).addRange(0xF49, 0xF6C).addRange(0xF71, 0xF84).addRange(0xF86, 0xF97).addRange(0xF99, 0xFBC).addRange(0x1000, 0x1049).addRange(0x1050, 0x109D).addRange(0x10A0, 0x10C5).addRange(0x10D0, 0x10FA).addRange(0x10FC, 0x1248).addRange(0x124A, 0x124D).addRange(0x1250, 0x1256).addRange(0x125A, 0x125D).addRange(0x1260, 0x1288).addRange(0x128A, 0x128D).addRange(0x1290, 0x12B0).addRange(0x12B2, 0x12B5).addRange(0x12B8, 0x12BE).addRange(0x12C2, 0x12C5).addRange(0x12C8, 0x12D6).addRange(0x12D8, 0x1310).addRange(0x1312, 0x1315).addRange(0x1318, 0x135A).addRange(0x135D, 0x135F).addRange(0x1369, 0x1371).addRange(0x1380, 0x138F).addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0x1401, 0x166C).addRange(0x166F, 0x167F).addRange(0x1681, 0x169A).addRange(0x16A0, 0x16EA).addRange(0x16EE, 0x16F8).addRange(0x1700, 0x1715).addRange(0x171F, 0x1734).addRange(0x1740, 0x1753).addRange(0x1760, 0x176C).addRange(0x176E, 0x1770).addRange(0x1772, 0x1773).addRange(0x1780, 0x17D3).addRange(0x17DC, 0x17DD).addRange(0x17E0, 0x17E9);\nset.addRange(0x180B, 0x180D).addRange(0x180F, 0x1819).addRange(0x1820, 0x1878).addRange(0x1880, 0x18AA).addRange(0x18B0, 0x18F5).addRange(0x1900, 0x191E).addRange(0x1920, 0x192B).addRange(0x1930, 0x193B).addRange(0x1946, 0x196D).addRange(0x1970, 0x1974).addRange(0x1980, 0x19AB).addRange(0x19B0, 0x19C9).addRange(0x19D0, 0x19DA).addRange(0x1A00, 0x1A1B).addRange(0x1A20, 0x1A5E).addRange(0x1A60, 0x1A7C).addRange(0x1A7F, 0x1A89).addRange(0x1A90, 0x1A99).addRange(0x1AB0, 0x1ABD).addRange(0x1ABF, 0x1ACE).addRange(0x1B00, 0x1B4C).addRange(0x1B50, 0x1B59).addRange(0x1B6B, 0x1B73).addRange(0x1B80, 0x1BF3).addRange(0x1C00, 0x1C37).addRange(0x1C40, 0x1C49).addRange(0x1C4D, 0x1C7D).addRange(0x1C80, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1CD0, 0x1CD2).addRange(0x1CD4, 0x1CFA).addRange(0x1D00, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D).addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FBC).addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FCC).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FE0, 0x1FEC).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFC).addRange(0x203F, 0x2040).addRange(0x2090, 0x209C).addRange(0x20D0, 0x20DC).addRange(0x20E5, 0x20F0);\nset.addRange(0x210A, 0x2113).addRange(0x2118, 0x211D).addRange(0x212A, 0x2139).addRange(0x213C, 0x213F).addRange(0x2145, 0x2149).addRange(0x2160, 0x2188).addRange(0x2C00, 0x2CE4).addRange(0x2CEB, 0x2CF3).addRange(0x2D00, 0x2D25).addRange(0x2D30, 0x2D67).addRange(0x2D7F, 0x2D96).addRange(0x2DA0, 0x2DA6).addRange(0x2DA8, 0x2DAE).addRange(0x2DB0, 0x2DB6).addRange(0x2DB8, 0x2DBE).addRange(0x2DC0, 0x2DC6).addRange(0x2DC8, 0x2DCE).addRange(0x2DD0, 0x2DD6).addRange(0x2DD8, 0x2DDE).addRange(0x2DE0, 0x2DFF).addRange(0x3005, 0x3007).addRange(0x3021, 0x302F).addRange(0x3031, 0x3035).addRange(0x3038, 0x303C).addRange(0x3041, 0x3096).addRange(0x3099, 0x309A).addRange(0x309D, 0x309F).addRange(0x30A1, 0x30FA).addRange(0x30FC, 0x30FF).addRange(0x3105, 0x312F).addRange(0x3131, 0x318E).addRange(0x31A0, 0x31BF).addRange(0x31F0, 0x31FF).addRange(0x3400, 0x4DBF).addRange(0x4E00, 0xA48C).addRange(0xA4D0, 0xA4FD).addRange(0xA500, 0xA60C).addRange(0xA610, 0xA62B).addRange(0xA640, 0xA66F).addRange(0xA674, 0xA67D).addRange(0xA67F, 0xA6F1).addRange(0xA717, 0xA71F).addRange(0xA722, 0xA788).addRange(0xA78B, 0xA7CA).addRange(0xA7D0, 0xA7D1).addRange(0xA7D5, 0xA7D9).addRange(0xA7F2, 0xA827).addRange(0xA840, 0xA873).addRange(0xA880, 0xA8C5).addRange(0xA8D0, 0xA8D9).addRange(0xA8E0, 0xA8F7);\nset.addRange(0xA8FD, 0xA92D).addRange(0xA930, 0xA953).addRange(0xA960, 0xA97C).addRange(0xA980, 0xA9C0).addRange(0xA9CF, 0xA9D9).addRange(0xA9E0, 0xA9FE).addRange(0xAA00, 0xAA36).addRange(0xAA40, 0xAA4D).addRange(0xAA50, 0xAA59).addRange(0xAA60, 0xAA76).addRange(0xAA7A, 0xAAC2).addRange(0xAADB, 0xAADD).addRange(0xAAE0, 0xAAEF).addRange(0xAAF2, 0xAAF6).addRange(0xAB01, 0xAB06).addRange(0xAB09, 0xAB0E).addRange(0xAB11, 0xAB16).addRange(0xAB20, 0xAB26).addRange(0xAB28, 0xAB2E).addRange(0xAB30, 0xAB5A).addRange(0xAB5C, 0xAB69).addRange(0xAB70, 0xABEA).addRange(0xABEC, 0xABED).addRange(0xABF0, 0xABF9).addRange(0xAC00, 0xD7A3).addRange(0xD7B0, 0xD7C6).addRange(0xD7CB, 0xD7FB).addRange(0xF900, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFB1D, 0xFB28).addRange(0xFB2A, 0xFB36).addRange(0xFB38, 0xFB3C).addRange(0xFB40, 0xFB41).addRange(0xFB43, 0xFB44).addRange(0xFB46, 0xFBB1).addRange(0xFBD3, 0xFC5D).addRange(0xFC64, 0xFD3D).addRange(0xFD50, 0xFD8F).addRange(0xFD92, 0xFDC7).addRange(0xFDF0, 0xFDF9).addRange(0xFE00, 0xFE0F).addRange(0xFE20, 0xFE2F).addRange(0xFE33, 0xFE34).addRange(0xFE4D, 0xFE4F).addRange(0xFE7F, 0xFEFC).addRange(0xFF10, 0xFF19).addRange(0xFF21, 0xFF3A).addRange(0xFF41, 0xFF5A).addRange(0xFF66, 0xFFBE);\nset.addRange(0xFFC2, 0xFFC7).addRange(0xFFCA, 0xFFCF).addRange(0xFFD2, 0xFFD7).addRange(0xFFDA, 0xFFDC).addRange(0x10000, 0x1000B).addRange(0x1000D, 0x10026).addRange(0x10028, 0x1003A).addRange(0x1003C, 0x1003D).addRange(0x1003F, 0x1004D).addRange(0x10050, 0x1005D).addRange(0x10080, 0x100FA).addRange(0x10140, 0x10174).addRange(0x10280, 0x1029C).addRange(0x102A0, 0x102D0).addRange(0x10300, 0x1031F).addRange(0x1032D, 0x1034A).addRange(0x10350, 0x1037A).addRange(0x10380, 0x1039D).addRange(0x103A0, 0x103C3).addRange(0x103C8, 0x103CF).addRange(0x103D1, 0x103D5).addRange(0x10400, 0x1049D).addRange(0x104A0, 0x104A9).addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB).addRange(0x10500, 0x10527).addRange(0x10530, 0x10563).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10600, 0x10736).addRange(0x10740, 0x10755).addRange(0x10760, 0x10767).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10800, 0x10805).addRange(0x1080A, 0x10835).addRange(0x10837, 0x10838).addRange(0x1083F, 0x10855).addRange(0x10860, 0x10876).addRange(0x10880, 0x1089E).addRange(0x108E0, 0x108F2).addRange(0x108F4, 0x108F5).addRange(0x10900, 0x10915).addRange(0x10920, 0x10939);\nset.addRange(0x10980, 0x109B7).addRange(0x109BE, 0x109BF).addRange(0x10A00, 0x10A03).addRange(0x10A05, 0x10A06).addRange(0x10A0C, 0x10A13).addRange(0x10A15, 0x10A17).addRange(0x10A19, 0x10A35).addRange(0x10A38, 0x10A3A).addRange(0x10A60, 0x10A7C).addRange(0x10A80, 0x10A9C).addRange(0x10AC0, 0x10AC7).addRange(0x10AC9, 0x10AE6).addRange(0x10B00, 0x10B35).addRange(0x10B40, 0x10B55).addRange(0x10B60, 0x10B72).addRange(0x10B80, 0x10B91).addRange(0x10C00, 0x10C48).addRange(0x10C80, 0x10CB2).addRange(0x10CC0, 0x10CF2).addRange(0x10D00, 0x10D27).addRange(0x10D30, 0x10D39).addRange(0x10E80, 0x10EA9).addRange(0x10EAB, 0x10EAC).addRange(0x10EB0, 0x10EB1).addRange(0x10F00, 0x10F1C).addRange(0x10F30, 0x10F50).addRange(0x10F70, 0x10F85).addRange(0x10FB0, 0x10FC4).addRange(0x10FE0, 0x10FF6).addRange(0x11000, 0x11046).addRange(0x11066, 0x11075).addRange(0x1107F, 0x110BA).addRange(0x110D0, 0x110E8).addRange(0x110F0, 0x110F9).addRange(0x11100, 0x11134).addRange(0x11136, 0x1113F).addRange(0x11144, 0x11147).addRange(0x11150, 0x11173).addRange(0x11180, 0x111C4).addRange(0x111C9, 0x111CC).addRange(0x111CE, 0x111DA).addRange(0x11200, 0x11211).addRange(0x11213, 0x11237).addRange(0x11280, 0x11286).addRange(0x1128A, 0x1128D).addRange(0x1128F, 0x1129D).addRange(0x1129F, 0x112A8).addRange(0x112B0, 0x112EA).addRange(0x112F0, 0x112F9).addRange(0x11300, 0x11303).addRange(0x11305, 0x1130C);\nset.addRange(0x1130F, 0x11310).addRange(0x11313, 0x11328).addRange(0x1132A, 0x11330).addRange(0x11332, 0x11333).addRange(0x11335, 0x11339).addRange(0x1133B, 0x11344).addRange(0x11347, 0x11348).addRange(0x1134B, 0x1134D).addRange(0x1135D, 0x11363).addRange(0x11366, 0x1136C).addRange(0x11370, 0x11374).addRange(0x11400, 0x1144A).addRange(0x11450, 0x11459).addRange(0x1145E, 0x11461).addRange(0x11480, 0x114C5).addRange(0x114D0, 0x114D9).addRange(0x11580, 0x115B5).addRange(0x115B8, 0x115C0).addRange(0x115D8, 0x115DD).addRange(0x11600, 0x11640).addRange(0x11650, 0x11659).addRange(0x11680, 0x116B8).addRange(0x116C0, 0x116C9).addRange(0x11700, 0x1171A).addRange(0x1171D, 0x1172B).addRange(0x11730, 0x11739).addRange(0x11740, 0x11746).addRange(0x11800, 0x1183A).addRange(0x118A0, 0x118E9).addRange(0x118FF, 0x11906).addRange(0x1190C, 0x11913).addRange(0x11915, 0x11916).addRange(0x11918, 0x11935).addRange(0x11937, 0x11938).addRange(0x1193B, 0x11943).addRange(0x11950, 0x11959).addRange(0x119A0, 0x119A7).addRange(0x119AA, 0x119D7).addRange(0x119DA, 0x119E1).addRange(0x119E3, 0x119E4).addRange(0x11A00, 0x11A3E).addRange(0x11A50, 0x11A99).addRange(0x11AB0, 0x11AF8).addRange(0x11C00, 0x11C08).addRange(0x11C0A, 0x11C36).addRange(0x11C38, 0x11C40).addRange(0x11C50, 0x11C59).addRange(0x11C72, 0x11C8F).addRange(0x11C92, 0x11CA7).addRange(0x11CA9, 0x11CB6).addRange(0x11D00, 0x11D06);\nset.addRange(0x11D08, 0x11D09).addRange(0x11D0B, 0x11D36).addRange(0x11D3C, 0x11D3D).addRange(0x11D3F, 0x11D47).addRange(0x11D50, 0x11D59).addRange(0x11D60, 0x11D65).addRange(0x11D67, 0x11D68).addRange(0x11D6A, 0x11D8E).addRange(0x11D90, 0x11D91).addRange(0x11D93, 0x11D98).addRange(0x11DA0, 0x11DA9).addRange(0x11EE0, 0x11EF6).addRange(0x12000, 0x12399).addRange(0x12400, 0x1246E).addRange(0x12480, 0x12543).addRange(0x12F90, 0x12FF0).addRange(0x13000, 0x1342E).addRange(0x14400, 0x14646).addRange(0x16800, 0x16A38).addRange(0x16A40, 0x16A5E).addRange(0x16A60, 0x16A69).addRange(0x16A70, 0x16ABE).addRange(0x16AC0, 0x16AC9).addRange(0x16AD0, 0x16AED).addRange(0x16AF0, 0x16AF4).addRange(0x16B00, 0x16B36).addRange(0x16B40, 0x16B43).addRange(0x16B50, 0x16B59).addRange(0x16B63, 0x16B77).addRange(0x16B7D, 0x16B8F).addRange(0x16E40, 0x16E7F).addRange(0x16F00, 0x16F4A).addRange(0x16F4F, 0x16F87).addRange(0x16F8F, 0x16F9F).addRange(0x16FE0, 0x16FE1).addRange(0x16FE3, 0x16FE4).addRange(0x16FF0, 0x16FF1).addRange(0x17000, 0x187F7).addRange(0x18800, 0x18CD5).addRange(0x18D00, 0x18D08).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE).addRange(0x1B000, 0x1B122).addRange(0x1B150, 0x1B152).addRange(0x1B164, 0x1B167).addRange(0x1B170, 0x1B2FB).addRange(0x1BC00, 0x1BC6A).addRange(0x1BC70, 0x1BC7C).addRange(0x1BC80, 0x1BC88).addRange(0x1BC90, 0x1BC99);\nset.addRange(0x1BC9D, 0x1BC9E).addRange(0x1CF00, 0x1CF2D).addRange(0x1CF30, 0x1CF46).addRange(0x1D165, 0x1D169).addRange(0x1D16D, 0x1D172).addRange(0x1D17B, 0x1D182).addRange(0x1D185, 0x1D18B).addRange(0x1D1AA, 0x1D1AD).addRange(0x1D242, 0x1D244).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D6C0).addRange(0x1D6C2, 0x1D6DA).addRange(0x1D6DC, 0x1D6FA).addRange(0x1D6FC, 0x1D714).addRange(0x1D716, 0x1D734).addRange(0x1D736, 0x1D74E).addRange(0x1D750, 0x1D76E).addRange(0x1D770, 0x1D788).addRange(0x1D78A, 0x1D7A8).addRange(0x1D7AA, 0x1D7C2).addRange(0x1D7C4, 0x1D7CB).addRange(0x1D7CE, 0x1D7FF).addRange(0x1DA00, 0x1DA36).addRange(0x1DA3B, 0x1DA6C).addRange(0x1DA9B, 0x1DA9F).addRange(0x1DAA1, 0x1DAAF).addRange(0x1DF00, 0x1DF1E).addRange(0x1E000, 0x1E006).addRange(0x1E008, 0x1E018).addRange(0x1E01B, 0x1E021).addRange(0x1E023, 0x1E024).addRange(0x1E026, 0x1E02A).addRange(0x1E100, 0x1E12C).addRange(0x1E130, 0x1E13D).addRange(0x1E140, 0x1E149).addRange(0x1E290, 0x1E2AE);\nset.addRange(0x1E2C0, 0x1E2F9).addRange(0x1E7E0, 0x1E7E6).addRange(0x1E7E8, 0x1E7EB).addRange(0x1E7ED, 0x1E7EE).addRange(0x1E7F0, 0x1E7FE).addRange(0x1E800, 0x1E8C4).addRange(0x1E8D0, 0x1E8D6).addRange(0x1E900, 0x1E94B).addRange(0x1E950, 0x1E959).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F).addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72).addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89).addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x1FBF0, 0x1FBF9).addRange(0x20000, 0x2A6DF).addRange(0x2A700, 0x2B738).addRange(0x2B740, 0x2B81D).addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x2F800, 0x2FA1D).addRange(0x30000, 0x3134A).addRange(0xE0100, 0xE01EF);\nmodule.exports = set;","import React from 'react';\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n return target;\n}\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = _objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}\nvar isFunction = function isFunction(obj) {\n return typeof obj === 'function';\n};\nvar MDXContext = /*#__PURE__*/React.createContext({});\nvar withMDXComponents = function withMDXComponents(Component) {\n return function (props) {\n var allComponents = useMDXComponents(props.components);\n return /*#__PURE__*/React.createElement(Component, _extends({}, props, {\n components: allComponents\n }));\n };\n};\nvar useMDXComponents = function useMDXComponents(components) {\n var contextComponents = React.useContext(MDXContext);\n var allComponents = contextComponents;\n if (components) {\n allComponents = isFunction(components) ? components(contextComponents) : _objectSpread2(_objectSpread2({}, contextComponents), components);\n }\n return allComponents;\n};\nvar MDXProvider = function MDXProvider(props) {\n var allComponents = useMDXComponents(props.components);\n return /*#__PURE__*/React.createElement(MDXContext.Provider, {\n value: allComponents\n }, props.children);\n};\nvar TYPE_PROP_NAME = 'mdxType';\nvar DEFAULTS = {\n inlineCode: 'code',\n wrapper: function wrapper(_ref) {\n var children = _ref.children;\n return /*#__PURE__*/React.createElement(React.Fragment, {}, children);\n }\n};\nvar MDXCreateElement = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var propComponents = props.components,\n mdxType = props.mdxType,\n originalType = props.originalType,\n parentName = props.parentName,\n etc = _objectWithoutProperties(props, [\"components\", \"mdxType\", \"originalType\", \"parentName\"]);\n var components = useMDXComponents(propComponents);\n var type = mdxType;\n var Component = components[\"\".concat(parentName, \".\").concat(type)] || components[type] || DEFAULTS[type] || originalType;\n if (propComponents) {\n return /*#__PURE__*/React.createElement(Component, _objectSpread2(_objectSpread2({\n ref: ref\n }, etc), {}, {\n components: propComponents\n }));\n }\n return /*#__PURE__*/React.createElement(Component, _objectSpread2({\n ref: ref\n }, etc));\n});\nMDXCreateElement.displayName = 'MDXCreateElement';\nfunction createElement(type, props) {\n var args = arguments;\n var mdxType = props && props.mdxType;\n if (typeof type === 'string' || mdxType) {\n var argsLength = args.length;\n var createElementArgArray = new Array(argsLength);\n createElementArgArray[0] = MDXCreateElement;\n var newProps = {};\n for (var key in props) {\n if (hasOwnProperty.call(props, key)) {\n newProps[key] = props[key];\n }\n }\n newProps.originalType = type;\n newProps[TYPE_PROP_NAME] = typeof type === 'string' ? type : mdxType;\n createElementArgArray[1] = newProps;\n for (var i = 2; i < argsLength; i++) {\n createElementArgArray[i] = args[i];\n }\n return React.createElement.apply(null, createElementArgArray);\n }\n return React.createElement.apply(null, args);\n}\nexport { MDXContext, MDXProvider, createElement as mdx, useMDXComponents, withMDXComponents };","const set = require('regenerate')(0xE84, 0xEA5, 0xEC6);\nset.addRange(0xE81, 0xE82).addRange(0xE86, 0xE8A).addRange(0xE8C, 0xEA3).addRange(0xEA7, 0xEBD).addRange(0xEC0, 0xEC4).addRange(0xEC8, 0xECD).addRange(0xED0, 0xED9).addRange(0xEDC, 0xEDF);\nmodule.exports = set;","const set = require('regenerate')(0xDBD, 0xDCA, 0xDD6);\nset.addRange(0x964, 0x965).addRange(0xD81, 0xD83).addRange(0xD85, 0xD96).addRange(0xD9A, 0xDB1).addRange(0xDB3, 0xDBB).addRange(0xDC0, 0xDC6).addRange(0xDCF, 0xDD4).addRange(0xDD8, 0xDDF).addRange(0xDE6, 0xDEF).addRange(0xDF2, 0xDF4).addRange(0x111E1, 0x111F4);\nmodule.exports = set;","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nmodule.exports = shortOut;\n","const set = require('regenerate')();\nset.addRange(0x1720, 0x1736);\nmodule.exports = set;","function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","const set = require('regenerate')();\nset.addRange(0x12000, 0x12399).addRange(0x12400, 0x1246E).addRange(0x12470, 0x12474).addRange(0x12480, 0x12543);\nmodule.exports = set;","\"use strict\";\n\nvar __extends = this && this.__extends || function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null) throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() {\n this.constructor = d;\n }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n}();\nvar __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = {\n enumerable: true,\n get: function () {\n return m[k];\n }\n };\n }\n Object.defineProperty(o, k2, desc);\n} : function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\nvar __setModuleDefault = this && this.__setModuleDefault || (Object.create ? function (o, v) {\n Object.defineProperty(o, \"default\", {\n enumerable: true,\n value: v\n });\n} : function (o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = this && this.__importStar || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar React = __importStar(require(\"react\"));\nvar KEYCODE_ENTER = 13;\nvar KEYCODE_TAB = 9;\nvar KEYCODE_BACKSPACE = 8;\nvar KEYCODE_Y = 89;\nvar KEYCODE_Z = 90;\nvar KEYCODE_M = 77;\nvar KEYCODE_PARENS = 57;\nvar KEYCODE_BRACKETS = 219;\nvar KEYCODE_QUOTE = 222;\nvar KEYCODE_BACK_QUOTE = 192;\nvar KEYCODE_ESCAPE = 27;\nvar HISTORY_LIMIT = 100;\nvar HISTORY_TIME_GAP = 3000;\nvar isWindows = typeof window !== 'undefined' && 'navigator' in window && /Win/i.test(navigator.platform);\nvar isMacLike = typeof window !== 'undefined' && 'navigator' in window && /(Mac|iPhone|iPod|iPad)/i.test(navigator.platform);\nvar className = 'npm__react-simple-code-editor__textarea';\nvar cssText = /* CSS */\"\\n/**\\n * Reset the text fill color so that placeholder is visible\\n */\\n.\".concat(className, \":empty {\\n -webkit-text-fill-color: inherit !important;\\n}\\n\\n/**\\n * Hack to apply on some CSS on IE10 and IE11\\n */\\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\\n /**\\n * IE doesn't support '-webkit-text-fill-color'\\n * So we use 'color: transparent' to make the text transparent on IE\\n * Unlike other browsers, it doesn't affect caret color in IE\\n */\\n .\").concat(className, \" {\\n color: transparent !important;\\n }\\n\\n .\").concat(className, \"::selection {\\n background-color: #accef7 !important;\\n color: transparent !important;\\n }\\n}\\n\");\nvar Editor = /** @class */function (_super) {\n __extends(Editor, _super);\n function Editor() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.state = {\n capture: true\n };\n _this._recordCurrentState = function () {\n var input = _this._input;\n if (!input) return;\n // Save current state of the input\n var value = input.value,\n selectionStart = input.selectionStart,\n selectionEnd = input.selectionEnd;\n _this._recordChange({\n value: value,\n selectionStart: selectionStart,\n selectionEnd: selectionEnd\n });\n };\n _this._getLines = function (text, position) {\n return text.substring(0, position).split('\\n');\n };\n _this._recordChange = function (record, overwrite) {\n var _a, _b, _c;\n if (overwrite === void 0) {\n overwrite = false;\n }\n var _d = _this._history,\n stack = _d.stack,\n offset = _d.offset;\n if (stack.length && offset > -1) {\n // When something updates, drop the redo operations\n _this._history.stack = stack.slice(0, offset + 1);\n // Limit the number of operations to 100\n var count = _this._history.stack.length;\n if (count > HISTORY_LIMIT) {\n var extras = count - HISTORY_LIMIT;\n _this._history.stack = stack.slice(extras, count);\n _this._history.offset = Math.max(_this._history.offset - extras, 0);\n }\n }\n var timestamp = Date.now();\n if (overwrite) {\n var last = _this._history.stack[_this._history.offset];\n if (last && timestamp - last.timestamp < HISTORY_TIME_GAP) {\n // A previous entry exists and was in short interval\n // Match the last word in the line\n var re = /[^a-z0-9]([a-z0-9]+)$/i;\n // Get the previous line\n var previous = (_a = _this._getLines(last.value, last.selectionStart).pop()) === null || _a === void 0 ? void 0 : _a.match(re);\n // Get the current line\n var current = (_b = _this._getLines(record.value, record.selectionStart).pop()) === null || _b === void 0 ? void 0 : _b.match(re);\n if ((previous === null || previous === void 0 ? void 0 : previous[1]) && ((_c = current === null || current === void 0 ? void 0 : current[1]) === null || _c === void 0 ? void 0 : _c.startsWith(previous[1]))) {\n // The last word of the previous line and current line match\n // Overwrite previous entry so that undo will remove whole word\n _this._history.stack[_this._history.offset] = __assign(__assign({}, record), {\n timestamp: timestamp\n });\n return;\n }\n }\n }\n // Add the new operation to the stack\n _this._history.stack.push(__assign(__assign({}, record), {\n timestamp: timestamp\n }));\n _this._history.offset++;\n };\n _this._updateInput = function (record) {\n var input = _this._input;\n if (!input) return;\n // Update values and selection state\n input.value = record.value;\n input.selectionStart = record.selectionStart;\n input.selectionEnd = record.selectionEnd;\n _this.props.onValueChange(record.value);\n };\n _this._applyEdits = function (record) {\n // Save last selection state\n var input = _this._input;\n var last = _this._history.stack[_this._history.offset];\n if (last && input) {\n _this._history.stack[_this._history.offset] = __assign(__assign({}, last), {\n selectionStart: input.selectionStart,\n selectionEnd: input.selectionEnd\n });\n }\n // Save the changes\n _this._recordChange(record);\n _this._updateInput(record);\n };\n _this._undoEdit = function () {\n var _a = _this._history,\n stack = _a.stack,\n offset = _a.offset;\n // Get the previous edit\n var record = stack[offset - 1];\n if (record) {\n // Apply the changes and update the offset\n _this._updateInput(record);\n _this._history.offset = Math.max(offset - 1, 0);\n }\n };\n _this._redoEdit = function () {\n var _a = _this._history,\n stack = _a.stack,\n offset = _a.offset;\n // Get the next edit\n var record = stack[offset + 1];\n if (record) {\n // Apply the changes and update the offset\n _this._updateInput(record);\n _this._history.offset = Math.min(offset + 1, stack.length - 1);\n }\n };\n _this._handleKeyDown = function (e) {\n var _a = _this.props,\n tabSize = _a.tabSize,\n insertSpaces = _a.insertSpaces,\n ignoreTabKey = _a.ignoreTabKey,\n onKeyDown = _a.onKeyDown;\n if (onKeyDown) {\n onKeyDown(e);\n if (e.defaultPrevented) {\n return;\n }\n }\n if (e.keyCode === KEYCODE_ESCAPE) {\n e.currentTarget.blur();\n }\n var _b = e.currentTarget,\n value = _b.value,\n selectionStart = _b.selectionStart,\n selectionEnd = _b.selectionEnd;\n var tabCharacter = (insertSpaces ? ' ' : '\\t').repeat(tabSize);\n if (e.keyCode === KEYCODE_TAB && !ignoreTabKey && _this.state.capture) {\n // Prevent focus change\n e.preventDefault();\n if (e.shiftKey) {\n // Unindent selected lines\n var linesBeforeCaret = _this._getLines(value, selectionStart);\n var startLine_1 = linesBeforeCaret.length - 1;\n var endLine_1 = _this._getLines(value, selectionEnd).length - 1;\n var nextValue = value.split('\\n').map(function (line, i) {\n if (i >= startLine_1 && i <= endLine_1 && line.startsWith(tabCharacter)) {\n return line.substring(tabCharacter.length);\n }\n return line;\n }).join('\\n');\n if (value !== nextValue) {\n var startLineText = linesBeforeCaret[startLine_1];\n _this._applyEdits({\n value: nextValue,\n // Move the start cursor if first line in selection was modified\n // It was modified only if it started with a tab\n selectionStart: (startLineText === null || startLineText === void 0 ? void 0 : startLineText.startsWith(tabCharacter)) ? selectionStart - tabCharacter.length : selectionStart,\n // Move the end cursor by total number of characters removed\n selectionEnd: selectionEnd - (value.length - nextValue.length)\n });\n }\n } else if (selectionStart !== selectionEnd) {\n // Indent selected lines\n var linesBeforeCaret = _this._getLines(value, selectionStart);\n var startLine_2 = linesBeforeCaret.length - 1;\n var endLine_2 = _this._getLines(value, selectionEnd).length - 1;\n var startLineText = linesBeforeCaret[startLine_2];\n _this._applyEdits({\n value: value.split('\\n').map(function (line, i) {\n if (i >= startLine_2 && i <= endLine_2) {\n return tabCharacter + line;\n }\n return line;\n }).join('\\n'),\n // Move the start cursor by number of characters added in first line of selection\n // Don't move it if it there was no text before cursor\n selectionStart: startLineText && /\\S/.test(startLineText) ? selectionStart + tabCharacter.length : selectionStart,\n // Move the end cursor by total number of characters added\n selectionEnd: selectionEnd + tabCharacter.length * (endLine_2 - startLine_2 + 1)\n });\n } else {\n var updatedSelection = selectionStart + tabCharacter.length;\n _this._applyEdits({\n // Insert tab character at caret\n value: value.substring(0, selectionStart) + tabCharacter + value.substring(selectionEnd),\n // Update caret position\n selectionStart: updatedSelection,\n selectionEnd: updatedSelection\n });\n }\n } else if (e.keyCode === KEYCODE_BACKSPACE) {\n var hasSelection = selectionStart !== selectionEnd;\n var textBeforeCaret = value.substring(0, selectionStart);\n if (textBeforeCaret.endsWith(tabCharacter) && !hasSelection) {\n // Prevent default delete behaviour\n e.preventDefault();\n var updatedSelection = selectionStart - tabCharacter.length;\n _this._applyEdits({\n // Remove tab character at caret\n value: value.substring(0, selectionStart - tabCharacter.length) + value.substring(selectionEnd),\n // Update caret position\n selectionStart: updatedSelection,\n selectionEnd: updatedSelection\n });\n }\n } else if (e.keyCode === KEYCODE_ENTER) {\n // Ignore selections\n if (selectionStart === selectionEnd) {\n // Get the current line\n var line = _this._getLines(value, selectionStart).pop();\n var matches = line === null || line === void 0 ? void 0 : line.match(/^\\s+/);\n if (matches === null || matches === void 0 ? void 0 : matches[0]) {\n e.preventDefault();\n // Preserve indentation on inserting a new line\n var indent = '\\n' + matches[0];\n var updatedSelection = selectionStart + indent.length;\n _this._applyEdits({\n // Insert indentation character at caret\n value: value.substring(0, selectionStart) + indent + value.substring(selectionEnd),\n // Update caret position\n selectionStart: updatedSelection,\n selectionEnd: updatedSelection\n });\n }\n }\n } else if (e.keyCode === KEYCODE_PARENS || e.keyCode === KEYCODE_BRACKETS || e.keyCode === KEYCODE_QUOTE || e.keyCode === KEYCODE_BACK_QUOTE) {\n var chars = void 0;\n if (e.keyCode === KEYCODE_PARENS && e.shiftKey) {\n chars = ['(', ')'];\n } else if (e.keyCode === KEYCODE_BRACKETS) {\n if (e.shiftKey) {\n chars = ['{', '}'];\n } else {\n chars = ['[', ']'];\n }\n } else if (e.keyCode === KEYCODE_QUOTE) {\n if (e.shiftKey) {\n chars = ['\"', '\"'];\n } else {\n chars = [\"'\", \"'\"];\n }\n } else if (e.keyCode === KEYCODE_BACK_QUOTE && !e.shiftKey) {\n chars = ['`', '`'];\n }\n // If text is selected, wrap them in the characters\n if (selectionStart !== selectionEnd && chars) {\n e.preventDefault();\n _this._applyEdits({\n value: value.substring(0, selectionStart) + chars[0] + value.substring(selectionStart, selectionEnd) + chars[1] + value.substring(selectionEnd),\n // Update caret position\n selectionStart: selectionStart,\n selectionEnd: selectionEnd + 2\n });\n }\n } else if ((isMacLike ?\n // Trigger undo with ⌘+Z on Mac\n e.metaKey && e.keyCode === KEYCODE_Z :\n // Trigger undo with Ctrl+Z on other platforms\n e.ctrlKey && e.keyCode === KEYCODE_Z) && !e.shiftKey && !e.altKey) {\n e.preventDefault();\n _this._undoEdit();\n } else if ((isMacLike ?\n // Trigger redo with ⌘+Shift+Z on Mac\n e.metaKey && e.keyCode === KEYCODE_Z && e.shiftKey : isWindows ?\n // Trigger redo with Ctrl+Y on Windows\n e.ctrlKey && e.keyCode === KEYCODE_Y :\n // Trigger redo with Ctrl+Shift+Z on other platforms\n e.ctrlKey && e.keyCode === KEYCODE_Z && e.shiftKey) && !e.altKey) {\n e.preventDefault();\n _this._redoEdit();\n } else if (e.keyCode === KEYCODE_M && e.ctrlKey && (isMacLike ? e.shiftKey : true)) {\n e.preventDefault();\n // Toggle capturing tab key so users can focus away\n _this.setState(function (state) {\n return {\n capture: !state.capture\n };\n });\n }\n };\n _this._handleChange = function (e) {\n var _a = e.currentTarget,\n value = _a.value,\n selectionStart = _a.selectionStart,\n selectionEnd = _a.selectionEnd;\n _this._recordChange({\n value: value,\n selectionStart: selectionStart,\n selectionEnd: selectionEnd\n }, true);\n _this.props.onValueChange(value);\n };\n _this._history = {\n stack: [],\n offset: -1\n };\n _this._input = null;\n return _this;\n }\n Editor.prototype.componentDidMount = function () {\n this._recordCurrentState();\n };\n Object.defineProperty(Editor.prototype, \"session\", {\n get: function () {\n return {\n history: this._history\n };\n },\n set: function (session) {\n this._history = session.history;\n },\n enumerable: false,\n configurable: true\n });\n Editor.prototype.render = function () {\n var _this = this;\n var _a = this.props,\n value = _a.value,\n style = _a.style,\n padding = _a.padding,\n highlight = _a.highlight,\n textareaId = _a.textareaId,\n textareaClassName = _a.textareaClassName,\n autoFocus = _a.autoFocus,\n disabled = _a.disabled,\n form = _a.form,\n maxLength = _a.maxLength,\n minLength = _a.minLength,\n name = _a.name,\n placeholder = _a.placeholder,\n readOnly = _a.readOnly,\n required = _a.required,\n onClick = _a.onClick,\n onFocus = _a.onFocus,\n onBlur = _a.onBlur,\n onKeyUp = _a.onKeyUp,\n /* eslint-disable @typescript-eslint/no-unused-vars */\n onKeyDown = _a.onKeyDown,\n onValueChange = _a.onValueChange,\n tabSize = _a.tabSize,\n insertSpaces = _a.insertSpaces,\n ignoreTabKey = _a.ignoreTabKey,\n /* eslint-enable @typescript-eslint/no-unused-vars */\n preClassName = _a.preClassName,\n rest = __rest(_a, [\"value\", \"style\", \"padding\", \"highlight\", \"textareaId\", \"textareaClassName\", \"autoFocus\", \"disabled\", \"form\", \"maxLength\", \"minLength\", \"name\", \"placeholder\", \"readOnly\", \"required\", \"onClick\", \"onFocus\", \"onBlur\", \"onKeyUp\", \"onKeyDown\", \"onValueChange\", \"tabSize\", \"insertSpaces\", \"ignoreTabKey\", \"preClassName\"]);\n var contentStyle = {\n paddingTop: padding,\n paddingRight: padding,\n paddingBottom: padding,\n paddingLeft: padding\n };\n var highlighted = highlight(value);\n return React.createElement(\"div\", __assign({}, rest, {\n style: __assign(__assign({}, styles.container), style)\n }), React.createElement(\"textarea\", {\n ref: function (c) {\n return _this._input = c;\n },\n style: __assign(__assign(__assign({}, styles.editor), styles.textarea), contentStyle),\n className: className + (textareaClassName ? \" \".concat(textareaClassName) : ''),\n id: textareaId,\n value: value,\n onChange: this._handleChange,\n onKeyDown: this._handleKeyDown,\n onClick: onClick,\n onKeyUp: onKeyUp,\n onFocus: onFocus,\n onBlur: onBlur,\n disabled: disabled,\n form: form,\n maxLength: maxLength,\n minLength: minLength,\n name: name,\n placeholder: placeholder,\n readOnly: readOnly,\n required: required,\n autoFocus: autoFocus,\n autoCapitalize: \"off\",\n autoComplete: \"off\",\n autoCorrect: \"off\",\n spellCheck: false,\n \"data-gramm\": false\n }), React.createElement(\"pre\", __assign({\n className: preClassName,\n \"aria-hidden\": \"true\",\n style: __assign(__assign(__assign({}, styles.editor), styles.highlight), contentStyle)\n }, typeof highlighted === 'string' ? {\n dangerouslySetInnerHTML: {\n __html: highlighted + '
    '\n }\n } : {\n children: highlighted\n })), React.createElement(\"style\", {\n type: \"text/css\",\n dangerouslySetInnerHTML: {\n __html: cssText\n }\n }));\n };\n Editor.defaultProps = {\n tabSize: 2,\n insertSpaces: true,\n ignoreTabKey: false,\n padding: 0\n };\n return Editor;\n}(React.Component);\nexports.default = Editor;\nvar styles = {\n container: {\n position: 'relative',\n textAlign: 'left',\n boxSizing: 'border-box',\n padding: 0,\n overflow: 'hidden'\n },\n textarea: {\n position: 'absolute',\n top: 0,\n left: 0,\n height: '100%',\n width: '100%',\n resize: 'none',\n color: 'inherit',\n overflow: 'hidden',\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n WebkitTextFillColor: 'transparent'\n },\n highlight: {\n position: 'relative',\n pointerEvents: 'none'\n },\n editor: {\n margin: 0,\n border: 0,\n background: 'none',\n boxSizing: 'inherit',\n display: 'inherit',\n fontFamily: 'inherit',\n fontSize: 'inherit',\n fontStyle: 'inherit',\n fontVariantLigatures: 'inherit',\n fontWeight: 'inherit',\n letterSpacing: 'inherit',\n lineHeight: 'inherit',\n tabSize: 'inherit',\n textIndent: 'inherit',\n textRendering: 'inherit',\n textTransform: 'inherit',\n whiteSpace: 'pre-wrap',\n wordBreak: 'keep-all',\n overflowWrap: 'break-word'\n }\n};","const set = require('regenerate')();\nset.addRange(0x11C70, 0x11C8F).addRange(0x11C92, 0x11CA7).addRange(0x11CA9, 0x11CB6);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x10840, 0x10855).addRange(0x10857, 0x1085F);\nmodule.exports = set;","const set = require('regenerate')(0x60C, 0x61B, 0x61F);\nset.addRange(0x660, 0x669).addRange(0x10E80, 0x10EA9).addRange(0x10EAB, 0x10EAD).addRange(0x10EB0, 0x10EB1);\nmodule.exports = set;","const set = require('regenerate')(0x171F);\nset.addRange(0x1700, 0x1715).addRange(0x1735, 0x1736);\nmodule.exports = set;","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","exports.polyfill = Component => Component\n","const set = require('regenerate')();\nset.addRange(0x11AC0, 0x11AF8);\nmodule.exports = set;","var baseSetData = require('./_baseSetData'),\n shortOut = require('./_shortOut');\n\n/**\n * Sets metadata for `func`.\n *\n * **Note:** If this function becomes hot, i.e. is invoked a lot in a short\n * period of time, it will trip its breaker and transition to an identity\n * function to avoid garbage collection pauses in V8. See\n * [V8 issue 2070](https://bugs.chromium.org/p/v8/issues/detail?id=2070)\n * for more details.\n *\n * @private\n * @param {Function} func The function to associate metadata with.\n * @param {*} data The metadata.\n * @returns {Function} Returns `func`.\n */\nvar setData = shortOut(baseSetData);\n\nmodule.exports = setData;\n","const set = require('regenerate')(0x171F);\nset.addRange(0x1700, 0x1715);\nmodule.exports = set;","const set = require('regenerate')(0x3005, 0x3007);\nset.addRange(0x2E80, 0x2E99).addRange(0x2E9B, 0x2EF3).addRange(0x2F00, 0x2FD5).addRange(0x3021, 0x3029).addRange(0x3038, 0x303B).addRange(0x3400, 0x4DBF).addRange(0x4E00, 0x9FFF).addRange(0xF900, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0x16FE2, 0x16FE3).addRange(0x16FF0, 0x16FF1).addRange(0x20000, 0x2A6DF).addRange(0x2A700, 0x2B738).addRange(0x2B740, 0x2B81D).addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x2F800, 0x2FA1D).addRange(0x30000, 0x3134A);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x9E6, 0x9EF).addRange(0x1040, 0x1049).addRange(0x11100, 0x11134).addRange(0x11136, 0x11147);\nmodule.exports = set;","module.exports = '14.0.0';","var isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = toKey;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsDingbatRange = '\\\\u2700-\\\\u27bf',\n rsLowerRange = 'a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff',\n rsMathOpRange = '\\\\xac\\\\xb1\\\\xd7\\\\xf7',\n rsNonCharRange = '\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf',\n rsPunctuationRange = '\\\\u2000-\\\\u206f',\n rsSpaceRange = ' \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000',\n rsUpperRange = 'A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde',\n rsVarRange = '\\\\ufe0e\\\\ufe0f',\n rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange;\n\n/** Used to compose unicode capture groups. */\nvar rsApos = \"['\\u2019]\",\n rsBreak = '[' + rsBreakRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsDigits = '\\\\d+',\n rsDingbat = '[' + rsDingbatRange + ']',\n rsLower = '[' + rsLowerRange + ']',\n rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsUpper = '[' + rsUpperRange + ']',\n rsZWJ = '\\\\u200d';\n\n/** Used to compose unicode regexes. */\nvar rsMiscLower = '(?:' + rsLower + '|' + rsMisc + ')',\n rsMiscUpper = '(?:' + rsUpper + '|' + rsMisc + ')',\n rsOptContrLower = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?',\n rsOptContrUpper = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?',\n reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsOrdLower = '\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])',\n rsOrdUpper = '\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq;\n\n/** Used to match complex or compound words. */\nvar reUnicodeWord = RegExp([\n rsUpper + '?' + rsLower + '+' + rsOptContrLower + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')',\n rsMiscUpper + '+' + rsOptContrUpper + '(?=' + [rsBreak, rsUpper + rsMiscLower, '$'].join('|') + ')',\n rsUpper + '?' + rsMiscLower + '+' + rsOptContrLower,\n rsUpper + '+' + rsOptContrUpper,\n rsOrdUpper,\n rsOrdLower,\n rsDigits,\n rsEmoji\n].join('|'), 'g');\n\n/**\n * Splits a Unicode `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\nfunction unicodeWords(string) {\n return string.match(reUnicodeWord) || [];\n}\n\nmodule.exports = unicodeWords;\n","import { PlatformInstall, Tanka, Jb } from \"../../../../src/components/install\";\nimport * as React from 'react';\nexport default {\n PlatformInstall,\n Tanka,\n Jb,\n React\n};","const set = require('regenerate')(0x640);\nset.addRange(0x10F30, 0x10F59);\nmodule.exports = set;","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar getLocation = function getLocation(source) {\n var _source$location = source.location,\n search = _source$location.search,\n hash = _source$location.hash,\n href = _source$location.href,\n origin = _source$location.origin,\n protocol = _source$location.protocol,\n host = _source$location.host,\n hostname = _source$location.hostname,\n port = _source$location.port;\n var pathname = source.location.pathname;\n\n\n if (!pathname && href && canUseDOM) {\n var url = new URL(href);\n pathname = url.pathname;\n }\n\n return {\n pathname: encodeURI(decodeURI(pathname)),\n search: search,\n hash: hash,\n href: href,\n origin: origin,\n protocol: protocol,\n host: host,\n hostname: hostname,\n port: port,\n state: source.history.state,\n key: source.history.state && source.history.state.key || \"initial\"\n };\n};\n\nvar createHistory = function createHistory(source, options) {\n var listeners = [];\n var location = getLocation(source);\n var transitioning = false;\n var resolveTransition = function resolveTransition() {};\n\n return {\n get location() {\n return location;\n },\n\n get transitioning() {\n return transitioning;\n },\n\n _onTransitionComplete: function _onTransitionComplete() {\n transitioning = false;\n resolveTransition();\n },\n listen: function listen(listener) {\n listeners.push(listener);\n\n var popstateListener = function popstateListener() {\n location = getLocation(source);\n listener({ location: location, action: \"POP\" });\n };\n\n source.addEventListener(\"popstate\", popstateListener);\n\n return function () {\n source.removeEventListener(\"popstate\", popstateListener);\n listeners = listeners.filter(function (fn) {\n return fn !== listener;\n });\n };\n },\n navigate: function navigate(to) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n state = _ref.state,\n _ref$replace = _ref.replace,\n replace = _ref$replace === undefined ? false : _ref$replace;\n\n if (typeof to === \"number\") {\n source.history.go(to);\n } else {\n state = _extends({}, state, { key: Date.now() + \"\" });\n // try...catch iOS Safari limits to 100 pushState calls\n try {\n if (transitioning || replace) {\n source.history.replaceState(state, null, to);\n } else {\n source.history.pushState(state, null, to);\n }\n } catch (e) {\n source.location[replace ? \"replace\" : \"assign\"](to);\n }\n }\n\n location = getLocation(source);\n transitioning = true;\n var transition = new Promise(function (res) {\n return resolveTransition = res;\n });\n listeners.forEach(function (listener) {\n return listener({ location: location, action: \"PUSH\" });\n });\n return transition;\n }\n };\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Stores history entries in memory for testing or other platforms like Native\nvar createMemorySource = function createMemorySource() {\n var initialPath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"/\";\n\n var searchIndex = initialPath.indexOf(\"?\");\n var initialLocation = {\n pathname: searchIndex > -1 ? initialPath.substr(0, searchIndex) : initialPath,\n search: searchIndex > -1 ? initialPath.substr(searchIndex) : \"\"\n };\n var index = 0;\n var stack = [initialLocation];\n var states = [null];\n\n return {\n get location() {\n return stack[index];\n },\n addEventListener: function addEventListener(name, fn) {},\n removeEventListener: function removeEventListener(name, fn) {},\n\n history: {\n get entries() {\n return stack;\n },\n get index() {\n return index;\n },\n get state() {\n return states[index];\n },\n pushState: function pushState(state, _, uri) {\n var _uri$split = uri.split(\"?\"),\n pathname = _uri$split[0],\n _uri$split$ = _uri$split[1],\n search = _uri$split$ === undefined ? \"\" : _uri$split$;\n\n index++;\n stack.push({ pathname: pathname, search: search.length ? \"?\" + search : search });\n states.push(state);\n },\n replaceState: function replaceState(state, _, uri) {\n var _uri$split2 = uri.split(\"?\"),\n pathname = _uri$split2[0],\n _uri$split2$ = _uri$split2[1],\n search = _uri$split2$ === undefined ? \"\" : _uri$split2$;\n\n stack[index] = { pathname: pathname, search: search };\n states[index] = state;\n },\n go: function go(to) {\n var newIndex = index + to;\n\n if (newIndex < 0 || newIndex > states.length - 1) {\n return;\n }\n\n index = newIndex;\n }\n }\n };\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// global history - uses window.history as the source if available, otherwise a\n// memory history\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nvar getSource = function getSource() {\n return canUseDOM ? window : createMemorySource();\n};\n\nvar globalHistory = createHistory(getSource());\nvar navigate = globalHistory.navigate;\n\n////////////////////////////////////////////////////////////////////////////////\n\nexport { globalHistory, navigate, createHistory, createMemorySource };","const set = require('regenerate')();\nset.addRange(0x119A0, 0x119A7).addRange(0x119AA, 0x119D7).addRange(0x119DA, 0x119E4);\nmodule.exports = set;","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","var isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nmodule.exports = isKey;\n","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\n/**\n * Get a manifest filename depending on localized pathname\n *\n * @param {string} pathname\n * @param {Array<{start_url: string, lang: string}>} localizedManifests\n * @return string\n */\nvar _default = function _default(pathname, localizedManifests) {\n var defaultFilename = \"manifest.webmanifest\";\n\n if (!Array.isArray(localizedManifests)) {\n return defaultFilename;\n }\n\n var localizedManifest = localizedManifests.find(function (app) {\n return pathname.startsWith(app.start_url);\n });\n\n if (!localizedManifest) {\n return defaultFilename;\n }\n\n return \"manifest_\" + localizedManifest.lang + \".webmanifest\";\n};\n\nexports.default = _default;","const set = require('regenerate')(0xA3C, 0xA51, 0xA5E);\nset.addRange(0x951, 0x952).addRange(0x964, 0x965).addRange(0xA01, 0xA03).addRange(0xA05, 0xA0A).addRange(0xA0F, 0xA10).addRange(0xA13, 0xA28).addRange(0xA2A, 0xA30).addRange(0xA32, 0xA33).addRange(0xA35, 0xA36).addRange(0xA38, 0xA39).addRange(0xA3E, 0xA42).addRange(0xA47, 0xA48).addRange(0xA4B, 0xA4D).addRange(0xA59, 0xA5C).addRange(0xA66, 0xA76).addRange(0xA830, 0xA839);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0xE01, 0xE3A).addRange(0xE40, 0xE5B);\nmodule.exports = set;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _react = require('react');\nvar _react2 = _interopRequireDefault(_react);\nvar _propTypes = require('prop-types');\nvar _propTypes2 = _interopRequireDefault(_propTypes);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n} // eslint-disable-line no-unused-vars\n\nvar Content = function (_Component) {\n _inherits(Content, _Component);\n function Content() {\n _classCallCheck(this, Content);\n return _possibleConstructorReturn(this, (Content.__proto__ || Object.getPrototypeOf(Content)).apply(this, arguments));\n }\n _createClass(Content, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.props.contentDidMount();\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate() {\n this.props.contentDidUpdate();\n }\n }, {\n key: 'render',\n value: function render() {\n return _react.Children.only(this.props.children);\n }\n }]);\n return Content;\n}(_react.Component);\nContent.propTypes = {\n children: _propTypes2.default.element.isRequired,\n contentDidMount: _propTypes2.default.func.isRequired,\n contentDidUpdate: _propTypes2.default.func.isRequired\n};\nexports.default = Content;","const set = require('regenerate')(0x640, 0x10AF2);\nset.addRange(0x10F70, 0x10F89);\nmodule.exports = set;","const set = require('regenerate')(0x37F, 0x384, 0x386, 0x38C, 0x1DBF, 0x1F59, 0x1F5B, 0x1F5D, 0x2126, 0xAB65, 0x101A0);\nset.addRange(0x370, 0x373).addRange(0x375, 0x377).addRange(0x37A, 0x37D).addRange(0x388, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x3E1).addRange(0x3F0, 0x3FF).addRange(0x1D26, 0x1D2A).addRange(0x1D5D, 0x1D61).addRange(0x1D66, 0x1D6A).addRange(0x1F00, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D).addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FC4).addRange(0x1FC6, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FDD, 0x1FEF).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFE).addRange(0x10140, 0x1018E).addRange(0x1D200, 0x1D245);\nmodule.exports = set;","const set = require('regenerate')(0x903, 0x93B, 0x9D7, 0xA03, 0xA83, 0xAC9, 0xB3E, 0xB40, 0xB57, 0xBD7, 0xCBE, 0xD57, 0xF7F, 0x1031, 0x1038, 0x108F, 0x1715, 0x1734, 0x17B6, 0x1A55, 0x1A57, 0x1A61, 0x1B04, 0x1B35, 0x1B3B, 0x1B82, 0x1BA1, 0x1BAA, 0x1BE7, 0x1BEE, 0x1CE1, 0x1CF7, 0xA827, 0xA983, 0xAA4D, 0xAA7B, 0xAA7D, 0xAAEB, 0xAAF5, 0xABEC, 0x11000, 0x11002, 0x11082, 0x1112C, 0x11182, 0x111CE, 0x11235, 0x11357, 0x11445, 0x114B9, 0x114C1, 0x115BE, 0x1163E, 0x116AC, 0x116B6, 0x11726, 0x11838, 0x1193D, 0x11940, 0x11942, 0x119E4, 0x11A39, 0x11A97, 0x11C2F, 0x11C3E, 0x11CA9, 0x11CB1, 0x11CB4, 0x11D96);\nset.addRange(0x93E, 0x940).addRange(0x949, 0x94C).addRange(0x94E, 0x94F).addRange(0x982, 0x983).addRange(0x9BE, 0x9C0).addRange(0x9C7, 0x9C8).addRange(0x9CB, 0x9CC).addRange(0xA3E, 0xA40).addRange(0xABE, 0xAC0).addRange(0xACB, 0xACC).addRange(0xB02, 0xB03).addRange(0xB47, 0xB48).addRange(0xB4B, 0xB4C).addRange(0xBBE, 0xBBF).addRange(0xBC1, 0xBC2).addRange(0xBC6, 0xBC8).addRange(0xBCA, 0xBCC).addRange(0xC01, 0xC03).addRange(0xC41, 0xC44).addRange(0xC82, 0xC83).addRange(0xCC0, 0xCC4).addRange(0xCC7, 0xCC8).addRange(0xCCA, 0xCCB).addRange(0xCD5, 0xCD6).addRange(0xD02, 0xD03).addRange(0xD3E, 0xD40).addRange(0xD46, 0xD48).addRange(0xD4A, 0xD4C).addRange(0xD82, 0xD83).addRange(0xDCF, 0xDD1).addRange(0xDD8, 0xDDF).addRange(0xDF2, 0xDF3).addRange(0xF3E, 0xF3F).addRange(0x102B, 0x102C).addRange(0x103B, 0x103C).addRange(0x1056, 0x1057).addRange(0x1062, 0x1064).addRange(0x1067, 0x106D).addRange(0x1083, 0x1084).addRange(0x1087, 0x108C).addRange(0x109A, 0x109C).addRange(0x17BE, 0x17C5).addRange(0x17C7, 0x17C8).addRange(0x1923, 0x1926).addRange(0x1929, 0x192B).addRange(0x1930, 0x1931).addRange(0x1933, 0x1938).addRange(0x1A19, 0x1A1A).addRange(0x1A63, 0x1A64).addRange(0x1A6D, 0x1A72).addRange(0x1B3D, 0x1B41);\nset.addRange(0x1B43, 0x1B44).addRange(0x1BA6, 0x1BA7).addRange(0x1BEA, 0x1BEC).addRange(0x1BF2, 0x1BF3).addRange(0x1C24, 0x1C2B).addRange(0x1C34, 0x1C35).addRange(0x302E, 0x302F).addRange(0xA823, 0xA824).addRange(0xA880, 0xA881).addRange(0xA8B4, 0xA8C3).addRange(0xA952, 0xA953).addRange(0xA9B4, 0xA9B5).addRange(0xA9BA, 0xA9BB).addRange(0xA9BE, 0xA9C0).addRange(0xAA2F, 0xAA30).addRange(0xAA33, 0xAA34).addRange(0xAAEE, 0xAAEF).addRange(0xABE3, 0xABE4).addRange(0xABE6, 0xABE7).addRange(0xABE9, 0xABEA).addRange(0x110B0, 0x110B2).addRange(0x110B7, 0x110B8).addRange(0x11145, 0x11146).addRange(0x111B3, 0x111B5).addRange(0x111BF, 0x111C0).addRange(0x1122C, 0x1122E).addRange(0x11232, 0x11233).addRange(0x112E0, 0x112E2).addRange(0x11302, 0x11303).addRange(0x1133E, 0x1133F).addRange(0x11341, 0x11344).addRange(0x11347, 0x11348).addRange(0x1134B, 0x1134D).addRange(0x11362, 0x11363).addRange(0x11435, 0x11437).addRange(0x11440, 0x11441).addRange(0x114B0, 0x114B2).addRange(0x114BB, 0x114BE).addRange(0x115AF, 0x115B1).addRange(0x115B8, 0x115BB).addRange(0x11630, 0x11632).addRange(0x1163B, 0x1163C).addRange(0x116AE, 0x116AF).addRange(0x11720, 0x11721).addRange(0x1182C, 0x1182E).addRange(0x11930, 0x11935).addRange(0x11937, 0x11938).addRange(0x119D1, 0x119D3).addRange(0x119DC, 0x119DF).addRange(0x11A57, 0x11A58).addRange(0x11D8A, 0x11D8E);\nset.addRange(0x11D93, 0x11D94).addRange(0x11EF5, 0x11EF6).addRange(0x16F51, 0x16F87).addRange(0x16FF0, 0x16FF1).addRange(0x1D165, 0x1D166).addRange(0x1D16D, 0x1D172);\nmodule.exports = set;","const set = require('regenerate')(0xD7, 0xF7, 0x374, 0x37E, 0x385, 0x387, 0x605, 0x60C, 0x61B, 0x61F, 0x640, 0x6DD, 0x8E2, 0xE3F, 0x10FB, 0x1805, 0x1CD3, 0x1CE1, 0x1CFA, 0x3006, 0x30A0, 0x32FF, 0xA92E, 0xA9CF, 0xAB5B, 0xFEFF, 0xFF70, 0x1D4A2, 0x1D4BB, 0x1D546, 0x1F7F0, 0xE0001);\nset.addRange(0x0, 0x40).addRange(0x5B, 0x60).addRange(0x7B, 0xA9).addRange(0xAB, 0xB9).addRange(0xBB, 0xBF).addRange(0x2B9, 0x2DF).addRange(0x2E5, 0x2E9).addRange(0x2EC, 0x2FF).addRange(0x964, 0x965).addRange(0xFD5, 0xFD8).addRange(0x16EB, 0x16ED).addRange(0x1735, 0x1736).addRange(0x1802, 0x1803).addRange(0x1CE9, 0x1CEC).addRange(0x1CEE, 0x1CF3).addRange(0x1CF5, 0x1CF7).addRange(0x2000, 0x200B).addRange(0x200E, 0x2064).addRange(0x2066, 0x2070).addRange(0x2074, 0x207E).addRange(0x2080, 0x208E).addRange(0x20A0, 0x20C0).addRange(0x2100, 0x2125).addRange(0x2127, 0x2129).addRange(0x212C, 0x2131).addRange(0x2133, 0x214D).addRange(0x214F, 0x215F).addRange(0x2189, 0x218B).addRange(0x2190, 0x2426).addRange(0x2440, 0x244A).addRange(0x2460, 0x27FF).addRange(0x2900, 0x2B73).addRange(0x2B76, 0x2B95).addRange(0x2B97, 0x2BFF).addRange(0x2E00, 0x2E5D).addRange(0x2FF0, 0x2FFB).addRange(0x3000, 0x3004).addRange(0x3008, 0x3020).addRange(0x3030, 0x3037).addRange(0x303C, 0x303F).addRange(0x309B, 0x309C).addRange(0x30FB, 0x30FC).addRange(0x3190, 0x319F).addRange(0x31C0, 0x31E3).addRange(0x3220, 0x325F).addRange(0x327F, 0x32CF).addRange(0x3358, 0x33FF).addRange(0x4DC0, 0x4DFF).addRange(0xA700, 0xA721).addRange(0xA788, 0xA78A).addRange(0xA830, 0xA839);\nset.addRange(0xAB6A, 0xAB6B).addRange(0xFD3E, 0xFD3F).addRange(0xFE10, 0xFE19).addRange(0xFE30, 0xFE52).addRange(0xFE54, 0xFE66).addRange(0xFE68, 0xFE6B).addRange(0xFF01, 0xFF20).addRange(0xFF3B, 0xFF40).addRange(0xFF5B, 0xFF65).addRange(0xFF9E, 0xFF9F).addRange(0xFFE0, 0xFFE6).addRange(0xFFE8, 0xFFEE).addRange(0xFFF9, 0xFFFD).addRange(0x10100, 0x10102).addRange(0x10107, 0x10133).addRange(0x10137, 0x1013F).addRange(0x10190, 0x1019C).addRange(0x101D0, 0x101FC).addRange(0x102E1, 0x102FB).addRange(0x1BCA0, 0x1BCA3).addRange(0x1CF50, 0x1CFC3).addRange(0x1D000, 0x1D0F5).addRange(0x1D100, 0x1D126).addRange(0x1D129, 0x1D166).addRange(0x1D16A, 0x1D17A).addRange(0x1D183, 0x1D184).addRange(0x1D18C, 0x1D1A9).addRange(0x1D1AE, 0x1D1EA).addRange(0x1D2E0, 0x1D2F3).addRange(0x1D300, 0x1D356).addRange(0x1D360, 0x1D378).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D7CB).addRange(0x1D7CE, 0x1D7FF).addRange(0x1EC71, 0x1ECB4).addRange(0x1ED01, 0x1ED3D);\nset.addRange(0x1F000, 0x1F02B).addRange(0x1F030, 0x1F093).addRange(0x1F0A0, 0x1F0AE).addRange(0x1F0B1, 0x1F0BF).addRange(0x1F0C1, 0x1F0CF).addRange(0x1F0D1, 0x1F0F5).addRange(0x1F100, 0x1F1AD).addRange(0x1F1E6, 0x1F1FF).addRange(0x1F201, 0x1F202).addRange(0x1F210, 0x1F23B).addRange(0x1F240, 0x1F248).addRange(0x1F250, 0x1F251).addRange(0x1F260, 0x1F265).addRange(0x1F300, 0x1F6D7).addRange(0x1F6DD, 0x1F6EC).addRange(0x1F6F0, 0x1F6FC).addRange(0x1F700, 0x1F773).addRange(0x1F780, 0x1F7D8).addRange(0x1F7E0, 0x1F7EB).addRange(0x1F800, 0x1F80B).addRange(0x1F810, 0x1F847).addRange(0x1F850, 0x1F859).addRange(0x1F860, 0x1F887).addRange(0x1F890, 0x1F8AD).addRange(0x1F8B0, 0x1F8B1).addRange(0x1F900, 0x1FA53).addRange(0x1FA60, 0x1FA6D).addRange(0x1FA70, 0x1FA74).addRange(0x1FA78, 0x1FA7C).addRange(0x1FA80, 0x1FA86).addRange(0x1FA90, 0x1FAAC).addRange(0x1FAB0, 0x1FABA).addRange(0x1FAC0, 0x1FAC5).addRange(0x1FAD0, 0x1FAD9).addRange(0x1FAE0, 0x1FAE7).addRange(0x1FAF0, 0x1FAF6).addRange(0x1FB00, 0x1FB92).addRange(0x1FB94, 0x1FBCA).addRange(0x1FBF0, 0x1FBF9).addRange(0xE0020, 0xE007F);\nmodule.exports = set;","var isPrototype = require('./_isPrototype'),\n nativeKeys = require('./_nativeKeys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeys;\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","const set = require('regenerate')();\nset.addRange(0x11580, 0x115B5).addRange(0x115B8, 0x115DD);\nmodule.exports = set;","const set = require('regenerate')(0xA95F);\nset.addRange(0xA930, 0xA953);\nmodule.exports = set;","const set = require('regenerate')(0x9B2, 0x9D7, 0x1CD0, 0x1CD2, 0x1CD8, 0x1CE1, 0x1CEA, 0x1CED, 0x1CF2, 0xA8F1);\nset.addRange(0x951, 0x952).addRange(0x964, 0x965).addRange(0x980, 0x983).addRange(0x985, 0x98C).addRange(0x98F, 0x990).addRange(0x993, 0x9A8).addRange(0x9AA, 0x9B0).addRange(0x9B6, 0x9B9).addRange(0x9BC, 0x9C4).addRange(0x9C7, 0x9C8).addRange(0x9CB, 0x9CE).addRange(0x9DC, 0x9DD).addRange(0x9DF, 0x9E3).addRange(0x9E6, 0x9FE).addRange(0x1CD5, 0x1CD6).addRange(0x1CF5, 0x1CF7);\nmodule.exports = set;","var toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","var e = require(\"parse-unit\"),\n r = function (r) {\n return e(r)[0];\n };\nmodule.exports = function (n) {\n return null == n && (n = n), function (u, i, t, f) {\n null == t && (t = n), null == f && (f = t);\n var l = function (r) {\n return e(r)[1];\n }(u);\n if (l === i) return u;\n var o = r(u);\n if (\"px\" !== l) if (\"em\" === l) o = r(u) * r(t);else if (\"rem\" === l) o = r(u) * r(n);else {\n if (\"ex\" !== l) return u;\n o = r(u) * r(t) * 2;\n }\n var a = o;\n if (\"px\" !== i) if (\"em\" === i) a = o / r(f);else if (\"rem\" === i) a = o / r(n);else {\n if (\"ex\" !== i) return u;\n a = o / r(f) / 2;\n }\n return parseFloat(a.toFixed(5)) + i;\n };\n};","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n","const set = require('regenerate')(0xAD, 0x38B, 0x38D, 0x3A2, 0x530, 0x590, 0x61C, 0x6DD, 0x83F, 0x85F, 0x8E2, 0x984, 0x9A9, 0x9B1, 0x9DE, 0xA04, 0xA29, 0xA31, 0xA34, 0xA37, 0xA3D, 0xA5D, 0xA84, 0xA8E, 0xA92, 0xAA9, 0xAB1, 0xAB4, 0xAC6, 0xACA, 0xB00, 0xB04, 0xB29, 0xB31, 0xB34, 0xB5E, 0xB84, 0xB91, 0xB9B, 0xB9D, 0xBC9, 0xC0D, 0xC11, 0xC29, 0xC45, 0xC49, 0xC57, 0xC8D, 0xC91, 0xCA9, 0xCB4, 0xCC5, 0xCC9, 0xCDF, 0xCF0, 0xD0D, 0xD11, 0xD45, 0xD49, 0xD80, 0xD84, 0xDB2, 0xDBC, 0xDD5, 0xDD7, 0xE83, 0xE85, 0xE8B, 0xEA4, 0xEA6, 0xEC5, 0xEC7, 0xF48, 0xF98, 0xFBD, 0xFCD, 0x10C6, 0x1249, 0x1257, 0x1259, 0x1289, 0x12B1, 0x12BF, 0x12C1, 0x12D7, 0x1311, 0x176D, 0x1771, 0x180E, 0x191F, 0x1A5F, 0x1B7F, 0x1F58, 0x1F5A, 0x1F5C, 0x1F5E, 0x1FB5, 0x1FC5, 0x1FDC, 0x1FF5, 0x1FFF, 0x208F, 0x2B96, 0x2D26, 0x2DA7, 0x2DAF, 0x2DB7, 0x2DBF, 0x2DC7, 0x2DCF, 0x2DD7, 0x2DDF, 0x2E9A, 0x3040, 0x3130, 0x318F, 0x321F, 0xA7D2, 0xA7D4, 0xA9CE, 0xA9FF, 0xAB27, 0xAB2F, 0xFB37, 0xFB3D, 0xFB3F, 0xFB42, 0xFB45, 0xFE53, 0xFE67, 0xFE75, 0xFFE7, 0x1000C, 0x10027, 0x1003B, 0x1003E, 0x1018F, 0x1039E, 0x1057B, 0x1058B, 0x10593, 0x10596, 0x105A2, 0x105B2, 0x105BA, 0x10786, 0x107B1, 0x10809, 0x10836, 0x10856, 0x108F3, 0x10A04, 0x10A14, 0x10A18, 0x10E7F, 0x10EAA, 0x110BD, 0x11135, 0x111E0, 0x11212, 0x11287, 0x11289, 0x1128E, 0x1129E, 0x11304, 0x11329, 0x11331, 0x11334, 0x1133A, 0x1145C, 0x11914, 0x11917, 0x11936, 0x11C09, 0x11C37, 0x11CA8, 0x11D07, 0x11D0A, 0x11D3B, 0x11D3E, 0x11D66, 0x11D69, 0x11D8F, 0x11D92, 0x1246F, 0x16A5F, 0x16ABF, 0x16B5A, 0x16B62, 0x1AFF4, 0x1AFFC, 0x1AFFF, 0x1D455, 0x1D49D, 0x1D4AD, 0x1D4BA, 0x1D4BC, 0x1D4C4, 0x1D506, 0x1D515, 0x1D51D, 0x1D53A, 0x1D53F, 0x1D545, 0x1D551, 0x1DAA0, 0x1E007, 0x1E022, 0x1E025, 0x1E7E7, 0x1E7EC, 0x1E7EF, 0x1E7FF, 0x1EE04, 0x1EE20, 0x1EE23, 0x1EE28, 0x1EE33, 0x1EE38, 0x1EE3A, 0x1EE48, 0x1EE4A, 0x1EE4C, 0x1EE50, 0x1EE53, 0x1EE58, 0x1EE5A, 0x1EE5C, 0x1EE5E, 0x1EE60, 0x1EE63, 0x1EE6B, 0x1EE73, 0x1EE78, 0x1EE7D, 0x1EE7F, 0x1EE8A, 0x1EEA4, 0x1EEAA, 0x1F0C0, 0x1F0D0, 0x1FB93);\nset.addRange(0x0, 0x1F).addRange(0x7F, 0x9F).addRange(0x378, 0x379).addRange(0x380, 0x383).addRange(0x557, 0x558).addRange(0x58B, 0x58C).addRange(0x5C8, 0x5CF).addRange(0x5EB, 0x5EE).addRange(0x5F5, 0x605).addRange(0x70E, 0x70F).addRange(0x74B, 0x74C).addRange(0x7B2, 0x7BF).addRange(0x7FB, 0x7FC).addRange(0x82E, 0x82F).addRange(0x85C, 0x85D).addRange(0x86B, 0x86F).addRange(0x88F, 0x897).addRange(0x98D, 0x98E).addRange(0x991, 0x992).addRange(0x9B3, 0x9B5).addRange(0x9BA, 0x9BB).addRange(0x9C5, 0x9C6).addRange(0x9C9, 0x9CA).addRange(0x9CF, 0x9D6).addRange(0x9D8, 0x9DB).addRange(0x9E4, 0x9E5).addRange(0x9FF, 0xA00).addRange(0xA0B, 0xA0E).addRange(0xA11, 0xA12).addRange(0xA3A, 0xA3B).addRange(0xA43, 0xA46).addRange(0xA49, 0xA4A).addRange(0xA4E, 0xA50).addRange(0xA52, 0xA58).addRange(0xA5F, 0xA65).addRange(0xA77, 0xA80).addRange(0xABA, 0xABB).addRange(0xACE, 0xACF).addRange(0xAD1, 0xADF).addRange(0xAE4, 0xAE5).addRange(0xAF2, 0xAF8).addRange(0xB0D, 0xB0E).addRange(0xB11, 0xB12).addRange(0xB3A, 0xB3B).addRange(0xB45, 0xB46).addRange(0xB49, 0xB4A).addRange(0xB4E, 0xB54).addRange(0xB58, 0xB5B).addRange(0xB64, 0xB65).addRange(0xB78, 0xB81).addRange(0xB8B, 0xB8D);\nset.addRange(0xB96, 0xB98).addRange(0xBA0, 0xBA2).addRange(0xBA5, 0xBA7).addRange(0xBAB, 0xBAD).addRange(0xBBA, 0xBBD).addRange(0xBC3, 0xBC5).addRange(0xBCE, 0xBCF).addRange(0xBD1, 0xBD6).addRange(0xBD8, 0xBE5).addRange(0xBFB, 0xBFF).addRange(0xC3A, 0xC3B).addRange(0xC4E, 0xC54).addRange(0xC5B, 0xC5C).addRange(0xC5E, 0xC5F).addRange(0xC64, 0xC65).addRange(0xC70, 0xC76).addRange(0xCBA, 0xCBB).addRange(0xCCE, 0xCD4).addRange(0xCD7, 0xCDC).addRange(0xCE4, 0xCE5).addRange(0xCF3, 0xCFF).addRange(0xD50, 0xD53).addRange(0xD64, 0xD65).addRange(0xD97, 0xD99).addRange(0xDBE, 0xDBF).addRange(0xDC7, 0xDC9).addRange(0xDCB, 0xDCE).addRange(0xDE0, 0xDE5).addRange(0xDF0, 0xDF1).addRange(0xDF5, 0xE00).addRange(0xE3B, 0xE3E).addRange(0xE5C, 0xE80).addRange(0xEBE, 0xEBF).addRange(0xECE, 0xECF).addRange(0xEDA, 0xEDB).addRange(0xEE0, 0xEFF).addRange(0xF6D, 0xF70).addRange(0xFDB, 0xFFF).addRange(0x10C8, 0x10CC).addRange(0x10CE, 0x10CF).addRange(0x124E, 0x124F).addRange(0x125E, 0x125F).addRange(0x128E, 0x128F).addRange(0x12B6, 0x12B7).addRange(0x12C6, 0x12C7).addRange(0x1316, 0x1317).addRange(0x135B, 0x135C).addRange(0x137D, 0x137F).addRange(0x139A, 0x139F).addRange(0x13F6, 0x13F7).addRange(0x13FE, 0x13FF);\nset.addRange(0x169D, 0x169F).addRange(0x16F9, 0x16FF).addRange(0x1716, 0x171E).addRange(0x1737, 0x173F).addRange(0x1754, 0x175F).addRange(0x1774, 0x177F).addRange(0x17DE, 0x17DF).addRange(0x17EA, 0x17EF).addRange(0x17FA, 0x17FF).addRange(0x181A, 0x181F).addRange(0x1879, 0x187F).addRange(0x18AB, 0x18AF).addRange(0x18F6, 0x18FF).addRange(0x192C, 0x192F).addRange(0x193C, 0x193F).addRange(0x1941, 0x1943).addRange(0x196E, 0x196F).addRange(0x1975, 0x197F).addRange(0x19AC, 0x19AF).addRange(0x19CA, 0x19CF).addRange(0x19DB, 0x19DD).addRange(0x1A1C, 0x1A1D).addRange(0x1A7D, 0x1A7E).addRange(0x1A8A, 0x1A8F).addRange(0x1A9A, 0x1A9F).addRange(0x1AAE, 0x1AAF).addRange(0x1ACF, 0x1AFF).addRange(0x1B4D, 0x1B4F).addRange(0x1BF4, 0x1BFB).addRange(0x1C38, 0x1C3A).addRange(0x1C4A, 0x1C4C).addRange(0x1C89, 0x1C8F).addRange(0x1CBB, 0x1CBC).addRange(0x1CC8, 0x1CCF).addRange(0x1CFB, 0x1CFF).addRange(0x1F16, 0x1F17).addRange(0x1F1E, 0x1F1F).addRange(0x1F46, 0x1F47).addRange(0x1F4E, 0x1F4F).addRange(0x1F7E, 0x1F7F).addRange(0x1FD4, 0x1FD5).addRange(0x1FF0, 0x1FF1).addRange(0x200B, 0x200F).addRange(0x202A, 0x202E).addRange(0x2060, 0x206F).addRange(0x2072, 0x2073).addRange(0x209D, 0x209F).addRange(0x20C1, 0x20CF).addRange(0x20F1, 0x20FF).addRange(0x218C, 0x218F).addRange(0x2427, 0x243F);\nset.addRange(0x244B, 0x245F).addRange(0x2B74, 0x2B75).addRange(0x2CF4, 0x2CF8).addRange(0x2D28, 0x2D2C).addRange(0x2D2E, 0x2D2F).addRange(0x2D68, 0x2D6E).addRange(0x2D71, 0x2D7E).addRange(0x2D97, 0x2D9F).addRange(0x2E5E, 0x2E7F).addRange(0x2EF4, 0x2EFF).addRange(0x2FD6, 0x2FEF).addRange(0x2FFC, 0x2FFF).addRange(0x3097, 0x3098).addRange(0x3100, 0x3104).addRange(0x31E4, 0x31EF).addRange(0xA48D, 0xA48F).addRange(0xA4C7, 0xA4CF).addRange(0xA62C, 0xA63F).addRange(0xA6F8, 0xA6FF).addRange(0xA7CB, 0xA7CF).addRange(0xA7DA, 0xA7F1).addRange(0xA82D, 0xA82F).addRange(0xA83A, 0xA83F).addRange(0xA878, 0xA87F).addRange(0xA8C6, 0xA8CD).addRange(0xA8DA, 0xA8DF).addRange(0xA954, 0xA95E).addRange(0xA97D, 0xA97F).addRange(0xA9DA, 0xA9DD).addRange(0xAA37, 0xAA3F).addRange(0xAA4E, 0xAA4F).addRange(0xAA5A, 0xAA5B).addRange(0xAAC3, 0xAADA).addRange(0xAAF7, 0xAB00).addRange(0xAB07, 0xAB08).addRange(0xAB0F, 0xAB10).addRange(0xAB17, 0xAB1F).addRange(0xAB6C, 0xAB6F).addRange(0xABEE, 0xABEF).addRange(0xABFA, 0xABFF).addRange(0xD7A4, 0xD7AF).addRange(0xD7C7, 0xD7CA).addRange(0xD7FC, 0xF8FF).addRange(0xFA6E, 0xFA6F).addRange(0xFADA, 0xFAFF).addRange(0xFB07, 0xFB12).addRange(0xFB18, 0xFB1C).addRange(0xFBC3, 0xFBD2).addRange(0xFD90, 0xFD91).addRange(0xFDC8, 0xFDCE).addRange(0xFDD0, 0xFDEF);\nset.addRange(0xFE1A, 0xFE1F).addRange(0xFE6C, 0xFE6F).addRange(0xFEFD, 0xFF00).addRange(0xFFBF, 0xFFC1).addRange(0xFFC8, 0xFFC9).addRange(0xFFD0, 0xFFD1).addRange(0xFFD8, 0xFFD9).addRange(0xFFDD, 0xFFDF).addRange(0xFFEF, 0xFFFB).addRange(0xFFFE, 0xFFFF).addRange(0x1004E, 0x1004F).addRange(0x1005E, 0x1007F).addRange(0x100FB, 0x100FF).addRange(0x10103, 0x10106).addRange(0x10134, 0x10136).addRange(0x1019D, 0x1019F).addRange(0x101A1, 0x101CF).addRange(0x101FE, 0x1027F).addRange(0x1029D, 0x1029F).addRange(0x102D1, 0x102DF).addRange(0x102FC, 0x102FF).addRange(0x10324, 0x1032C).addRange(0x1034B, 0x1034F).addRange(0x1037B, 0x1037F).addRange(0x103C4, 0x103C7).addRange(0x103D6, 0x103FF).addRange(0x1049E, 0x1049F).addRange(0x104AA, 0x104AF).addRange(0x104D4, 0x104D7).addRange(0x104FC, 0x104FF).addRange(0x10528, 0x1052F).addRange(0x10564, 0x1056E).addRange(0x105BD, 0x105FF).addRange(0x10737, 0x1073F).addRange(0x10756, 0x1075F).addRange(0x10768, 0x1077F).addRange(0x107BB, 0x107FF).addRange(0x10806, 0x10807).addRange(0x10839, 0x1083B).addRange(0x1083D, 0x1083E).addRange(0x1089F, 0x108A6).addRange(0x108B0, 0x108DF).addRange(0x108F6, 0x108FA).addRange(0x1091C, 0x1091E).addRange(0x1093A, 0x1093E).addRange(0x10940, 0x1097F).addRange(0x109B8, 0x109BB).addRange(0x109D0, 0x109D1).addRange(0x10A07, 0x10A0B).addRange(0x10A36, 0x10A37).addRange(0x10A3B, 0x10A3E);\nset.addRange(0x10A49, 0x10A4F).addRange(0x10A59, 0x10A5F).addRange(0x10AA0, 0x10ABF).addRange(0x10AE7, 0x10AEA).addRange(0x10AF7, 0x10AFF).addRange(0x10B36, 0x10B38).addRange(0x10B56, 0x10B57).addRange(0x10B73, 0x10B77).addRange(0x10B92, 0x10B98).addRange(0x10B9D, 0x10BA8).addRange(0x10BB0, 0x10BFF).addRange(0x10C49, 0x10C7F).addRange(0x10CB3, 0x10CBF).addRange(0x10CF3, 0x10CF9).addRange(0x10D28, 0x10D2F).addRange(0x10D3A, 0x10E5F).addRange(0x10EAE, 0x10EAF).addRange(0x10EB2, 0x10EFF).addRange(0x10F28, 0x10F2F).addRange(0x10F5A, 0x10F6F).addRange(0x10F8A, 0x10FAF).addRange(0x10FCC, 0x10FDF).addRange(0x10FF7, 0x10FFF).addRange(0x1104E, 0x11051).addRange(0x11076, 0x1107E).addRange(0x110C3, 0x110CF).addRange(0x110E9, 0x110EF).addRange(0x110FA, 0x110FF).addRange(0x11148, 0x1114F).addRange(0x11177, 0x1117F).addRange(0x111F5, 0x111FF).addRange(0x1123F, 0x1127F).addRange(0x112AA, 0x112AF).addRange(0x112EB, 0x112EF).addRange(0x112FA, 0x112FF).addRange(0x1130D, 0x1130E).addRange(0x11311, 0x11312).addRange(0x11345, 0x11346).addRange(0x11349, 0x1134A).addRange(0x1134E, 0x1134F).addRange(0x11351, 0x11356).addRange(0x11358, 0x1135C).addRange(0x11364, 0x11365).addRange(0x1136D, 0x1136F).addRange(0x11375, 0x113FF).addRange(0x11462, 0x1147F).addRange(0x114C8, 0x114CF).addRange(0x114DA, 0x1157F).addRange(0x115B6, 0x115B7).addRange(0x115DE, 0x115FF).addRange(0x11645, 0x1164F);\nset.addRange(0x1165A, 0x1165F).addRange(0x1166D, 0x1167F).addRange(0x116BA, 0x116BF).addRange(0x116CA, 0x116FF).addRange(0x1171B, 0x1171C).addRange(0x1172C, 0x1172F).addRange(0x11747, 0x117FF).addRange(0x1183C, 0x1189F).addRange(0x118F3, 0x118FE).addRange(0x11907, 0x11908).addRange(0x1190A, 0x1190B).addRange(0x11939, 0x1193A).addRange(0x11947, 0x1194F).addRange(0x1195A, 0x1199F).addRange(0x119A8, 0x119A9).addRange(0x119D8, 0x119D9).addRange(0x119E5, 0x119FF).addRange(0x11A48, 0x11A4F).addRange(0x11AA3, 0x11AAF).addRange(0x11AF9, 0x11BFF).addRange(0x11C46, 0x11C4F).addRange(0x11C6D, 0x11C6F).addRange(0x11C90, 0x11C91).addRange(0x11CB7, 0x11CFF).addRange(0x11D37, 0x11D39).addRange(0x11D48, 0x11D4F).addRange(0x11D5A, 0x11D5F).addRange(0x11D99, 0x11D9F).addRange(0x11DAA, 0x11EDF).addRange(0x11EF9, 0x11FAF).addRange(0x11FB1, 0x11FBF).addRange(0x11FF2, 0x11FFE).addRange(0x1239A, 0x123FF).addRange(0x12475, 0x1247F).addRange(0x12544, 0x12F8F).addRange(0x12FF3, 0x12FFF).addRange(0x1342F, 0x143FF).addRange(0x14647, 0x167FF).addRange(0x16A39, 0x16A3F).addRange(0x16A6A, 0x16A6D).addRange(0x16ACA, 0x16ACF).addRange(0x16AEE, 0x16AEF).addRange(0x16AF6, 0x16AFF).addRange(0x16B46, 0x16B4F).addRange(0x16B78, 0x16B7C).addRange(0x16B90, 0x16E3F).addRange(0x16E9B, 0x16EFF).addRange(0x16F4B, 0x16F4E).addRange(0x16F88, 0x16F8E).addRange(0x16FA0, 0x16FDF).addRange(0x16FE5, 0x16FEF);\nset.addRange(0x16FF2, 0x16FFF).addRange(0x187F8, 0x187FF).addRange(0x18CD6, 0x18CFF).addRange(0x18D09, 0x1AFEF).addRange(0x1B123, 0x1B14F).addRange(0x1B153, 0x1B163).addRange(0x1B168, 0x1B16F).addRange(0x1B2FC, 0x1BBFF).addRange(0x1BC6B, 0x1BC6F).addRange(0x1BC7D, 0x1BC7F).addRange(0x1BC89, 0x1BC8F).addRange(0x1BC9A, 0x1BC9B).addRange(0x1BCA0, 0x1CEFF).addRange(0x1CF2E, 0x1CF2F).addRange(0x1CF47, 0x1CF4F).addRange(0x1CFC4, 0x1CFFF).addRange(0x1D0F6, 0x1D0FF).addRange(0x1D127, 0x1D128).addRange(0x1D173, 0x1D17A).addRange(0x1D1EB, 0x1D1FF).addRange(0x1D246, 0x1D2DF).addRange(0x1D2F4, 0x1D2FF).addRange(0x1D357, 0x1D35F).addRange(0x1D379, 0x1D3FF).addRange(0x1D4A0, 0x1D4A1).addRange(0x1D4A3, 0x1D4A4).addRange(0x1D4A7, 0x1D4A8).addRange(0x1D50B, 0x1D50C).addRange(0x1D547, 0x1D549).addRange(0x1D6A6, 0x1D6A7).addRange(0x1D7CC, 0x1D7CD).addRange(0x1DA8C, 0x1DA9A).addRange(0x1DAB0, 0x1DEFF).addRange(0x1DF1F, 0x1DFFF).addRange(0x1E019, 0x1E01A).addRange(0x1E02B, 0x1E0FF).addRange(0x1E12D, 0x1E12F).addRange(0x1E13E, 0x1E13F).addRange(0x1E14A, 0x1E14D).addRange(0x1E150, 0x1E28F).addRange(0x1E2AF, 0x1E2BF).addRange(0x1E2FA, 0x1E2FE).addRange(0x1E300, 0x1E7DF).addRange(0x1E8C5, 0x1E8C6).addRange(0x1E8D7, 0x1E8FF).addRange(0x1E94C, 0x1E94F).addRange(0x1E95A, 0x1E95D).addRange(0x1E960, 0x1EC70).addRange(0x1ECB5, 0x1ED00).addRange(0x1ED3E, 0x1EDFF).addRange(0x1EE25, 0x1EE26);\nset.addRange(0x1EE3C, 0x1EE41).addRange(0x1EE43, 0x1EE46).addRange(0x1EE55, 0x1EE56).addRange(0x1EE65, 0x1EE66).addRange(0x1EE9C, 0x1EEA0).addRange(0x1EEBC, 0x1EEEF).addRange(0x1EEF2, 0x1EFFF).addRange(0x1F02C, 0x1F02F).addRange(0x1F094, 0x1F09F).addRange(0x1F0AF, 0x1F0B0).addRange(0x1F0F6, 0x1F0FF).addRange(0x1F1AE, 0x1F1E5).addRange(0x1F203, 0x1F20F).addRange(0x1F23C, 0x1F23F).addRange(0x1F249, 0x1F24F).addRange(0x1F252, 0x1F25F).addRange(0x1F266, 0x1F2FF).addRange(0x1F6D8, 0x1F6DC).addRange(0x1F6ED, 0x1F6EF).addRange(0x1F6FD, 0x1F6FF).addRange(0x1F774, 0x1F77F).addRange(0x1F7D9, 0x1F7DF).addRange(0x1F7EC, 0x1F7EF).addRange(0x1F7F1, 0x1F7FF).addRange(0x1F80C, 0x1F80F).addRange(0x1F848, 0x1F84F).addRange(0x1F85A, 0x1F85F).addRange(0x1F888, 0x1F88F).addRange(0x1F8AE, 0x1F8AF).addRange(0x1F8B2, 0x1F8FF).addRange(0x1FA54, 0x1FA5F).addRange(0x1FA6E, 0x1FA6F).addRange(0x1FA75, 0x1FA77).addRange(0x1FA7D, 0x1FA7F).addRange(0x1FA87, 0x1FA8F).addRange(0x1FAAD, 0x1FAAF).addRange(0x1FABB, 0x1FABF).addRange(0x1FAC6, 0x1FACF).addRange(0x1FADA, 0x1FADF).addRange(0x1FAE8, 0x1FAEF).addRange(0x1FAF7, 0x1FAFF).addRange(0x1FBCB, 0x1FBEF).addRange(0x1FBFA, 0x1FFFF).addRange(0x2A6E0, 0x2A6FF).addRange(0x2B739, 0x2B73F).addRange(0x2B81E, 0x2B81F).addRange(0x2CEA2, 0x2CEAF).addRange(0x2EBE1, 0x2F7FF).addRange(0x2FA1E, 0x2FFFF).addRange(0x3134B, 0xE00FF).addRange(0xE01F0, 0x10FFFF);\nset;\nmodule.exports = set;","const set = require('regenerate')(0x61C);\nset.addRange(0x200E, 0x200F).addRange(0x202A, 0x202E).addRange(0x2066, 0x2069);\nmodule.exports = set;","var userAgent = require('../internals/engine-user-agent');\n\nvar firefox = userAgent.match(/firefox\\/(\\d+)/i);\n\nmodule.exports = !!firefox && +firefox[1];\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _gatsby = require(\"gatsby\");\n\nvar _catchLinks = _interopRequireDefault(require(\"./catch-links\"));\n\nexports.onClientEntry = function (_, pluginOptions) {\n if (pluginOptions === void 0) {\n pluginOptions = {};\n }\n\n (0, _catchLinks.default)(window, pluginOptions, function (href) {\n (0, _gatsby.navigate)(href);\n });\n};","/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\nvar $String = global.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","const set = require('regenerate')();\nset.addRange(0x10400, 0x1044F);\nmodule.exports = set;","var convert = require('./convert'),\n func = convert('omit', require('../omit'));\n\nfunc.placeholder = require('./placeholder');\nmodule.exports = func;\n","var Symbol = require('./_Symbol'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray');\n\n/** Built-in value references. */\nvar spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined;\n\n/**\n * Checks if `value` is a flattenable `arguments` object or array.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n */\nfunction isFlattenable(value) {\n return isArray(value) || isArguments(value) ||\n !!(spreadableSymbol && value && value[spreadableSymbol]);\n}\n\nmodule.exports = isFlattenable;\n","const set = require('regenerate')();\nset.addRange(0xAA00, 0xAA36).addRange(0xAA40, 0xAA4D).addRange(0xAA50, 0xAA59).addRange(0xAA5C, 0xAA5F);\nmodule.exports = set;","var DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","const set = require('regenerate')(0x20, 0xA0, 0x1680, 0x202F, 0x205F, 0x3000);\nset.addRange(0x2000, 0x200A);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x10C80, 0x10CB2).addRange(0x10CC0, 0x10CF2).addRange(0x10CFA, 0x10CFF);\nmodule.exports = set;","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;\n","import { Highlights } from \"../../../../docs/home\";\nimport { Catcher } from \"../../../../src/components/home\";\nimport * as React from 'react';\nexport default {\n Highlights,\n Catcher,\n React\n};","var isObject = require('./isObject');\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\nmodule.exports = isStrictComparable;\n","/**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction strictIndexOf(array, value, fromIndex) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = strictIndexOf;\n","const set = require('regenerate')(0x1D2B, 0x1D78, 0x1DF8, 0x2E43);\nset.addRange(0x400, 0x52F).addRange(0x1C80, 0x1C88).addRange(0x2DE0, 0x2DFF).addRange(0xA640, 0xA69F).addRange(0xFE2E, 0xFE2F);\nmodule.exports = set;","const set = require('regenerate')(0xAA, 0xB5, 0xBA, 0x2EC, 0x2EE, 0x37F, 0x386, 0x38C, 0x559, 0x6D5, 0x6FF, 0x710, 0x7B1, 0x7FA, 0x81A, 0x824, 0x828, 0x93D, 0x950, 0x9B2, 0x9BD, 0x9CE, 0x9FC, 0xA5E, 0xABD, 0xAD0, 0xAF9, 0xB3D, 0xB71, 0xB83, 0xB9C, 0xBD0, 0xC3D, 0xC5D, 0xC80, 0xCBD, 0xD3D, 0xD4E, 0xDBD, 0xE32, 0xE84, 0xEA5, 0xEB2, 0xEBD, 0xEC6, 0xF00, 0x103F, 0x1061, 0x108E, 0x10C7, 0x10CD, 0x1258, 0x12C0, 0x17D7, 0x17DC, 0x18AA, 0x1AA7, 0x1CFA, 0x1F59, 0x1F5B, 0x1F5D, 0x1FBE, 0x2071, 0x207F, 0x2102, 0x2107, 0x2115, 0x2124, 0x2126, 0x2128, 0x214E, 0x2D27, 0x2D2D, 0x2D6F, 0xA7D3, 0xA8FB, 0xA9CF, 0xAA7A, 0xAAB1, 0xAAC0, 0xAAC2, 0xFB1D, 0xFB3E, 0xFE71, 0xFE73, 0xFE77, 0xFE79, 0xFE7B, 0xFE7D, 0x10808, 0x1083C, 0x10A00, 0x10F27, 0x11075, 0x11144, 0x11147, 0x11176, 0x111DA, 0x111DC, 0x11288, 0x1133D, 0x11350, 0x114C7, 0x11644, 0x116B8, 0x11909, 0x1193F, 0x11941, 0x119E1, 0x119E3, 0x11A00, 0x11A3A, 0x11A50, 0x11A9D, 0x11C40, 0x11D46, 0x11D98, 0x11FB0, 0x16F50, 0x16FE3, 0x1D4A2, 0x1D4BB, 0x1D546, 0x1E14E, 0x1E94B, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E);\nset.addRange(0x41, 0x5A).addRange(0x61, 0x7A).addRange(0xC0, 0xD6).addRange(0xD8, 0xF6).addRange(0xF8, 0x2C1).addRange(0x2C6, 0x2D1).addRange(0x2E0, 0x2E4).addRange(0x370, 0x374).addRange(0x376, 0x377).addRange(0x37B, 0x37D).addRange(0x388, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x3F5).addRange(0x3F7, 0x481).addRange(0x48A, 0x52F).addRange(0x531, 0x556).addRange(0x560, 0x588).addRange(0x5D0, 0x5EA).addRange(0x5EF, 0x5F2).addRange(0x620, 0x64A).addRange(0x66E, 0x66F).addRange(0x671, 0x6D3).addRange(0x6E5, 0x6E6).addRange(0x6EE, 0x6EF).addRange(0x6FA, 0x6FC).addRange(0x712, 0x72F).addRange(0x74D, 0x7A5).addRange(0x7CA, 0x7EA).addRange(0x7F4, 0x7F5).addRange(0x800, 0x815).addRange(0x840, 0x858).addRange(0x860, 0x86A).addRange(0x870, 0x887).addRange(0x889, 0x88E).addRange(0x8A0, 0x8C9).addRange(0x904, 0x939).addRange(0x958, 0x961).addRange(0x971, 0x980).addRange(0x985, 0x98C).addRange(0x98F, 0x990).addRange(0x993, 0x9A8).addRange(0x9AA, 0x9B0).addRange(0x9B6, 0x9B9).addRange(0x9DC, 0x9DD).addRange(0x9DF, 0x9E1).addRange(0x9F0, 0x9F1).addRange(0xA05, 0xA0A).addRange(0xA0F, 0xA10).addRange(0xA13, 0xA28).addRange(0xA2A, 0xA30).addRange(0xA32, 0xA33);\nset.addRange(0xA35, 0xA36).addRange(0xA38, 0xA39).addRange(0xA59, 0xA5C).addRange(0xA72, 0xA74).addRange(0xA85, 0xA8D).addRange(0xA8F, 0xA91).addRange(0xA93, 0xAA8).addRange(0xAAA, 0xAB0).addRange(0xAB2, 0xAB3).addRange(0xAB5, 0xAB9).addRange(0xAE0, 0xAE1).addRange(0xB05, 0xB0C).addRange(0xB0F, 0xB10).addRange(0xB13, 0xB28).addRange(0xB2A, 0xB30).addRange(0xB32, 0xB33).addRange(0xB35, 0xB39).addRange(0xB5C, 0xB5D).addRange(0xB5F, 0xB61).addRange(0xB85, 0xB8A).addRange(0xB8E, 0xB90).addRange(0xB92, 0xB95).addRange(0xB99, 0xB9A).addRange(0xB9E, 0xB9F).addRange(0xBA3, 0xBA4).addRange(0xBA8, 0xBAA).addRange(0xBAE, 0xBB9).addRange(0xC05, 0xC0C).addRange(0xC0E, 0xC10).addRange(0xC12, 0xC28).addRange(0xC2A, 0xC39).addRange(0xC58, 0xC5A).addRange(0xC60, 0xC61).addRange(0xC85, 0xC8C).addRange(0xC8E, 0xC90).addRange(0xC92, 0xCA8).addRange(0xCAA, 0xCB3).addRange(0xCB5, 0xCB9).addRange(0xCDD, 0xCDE).addRange(0xCE0, 0xCE1).addRange(0xCF1, 0xCF2).addRange(0xD04, 0xD0C).addRange(0xD0E, 0xD10).addRange(0xD12, 0xD3A).addRange(0xD54, 0xD56).addRange(0xD5F, 0xD61).addRange(0xD7A, 0xD7F).addRange(0xD85, 0xD96).addRange(0xD9A, 0xDB1).addRange(0xDB3, 0xDBB).addRange(0xDC0, 0xDC6);\nset.addRange(0xE01, 0xE30).addRange(0xE40, 0xE46).addRange(0xE81, 0xE82).addRange(0xE86, 0xE8A).addRange(0xE8C, 0xEA3).addRange(0xEA7, 0xEB0).addRange(0xEC0, 0xEC4).addRange(0xEDC, 0xEDF).addRange(0xF40, 0xF47).addRange(0xF49, 0xF6C).addRange(0xF88, 0xF8C).addRange(0x1000, 0x102A).addRange(0x1050, 0x1055).addRange(0x105A, 0x105D).addRange(0x1065, 0x1066).addRange(0x106E, 0x1070).addRange(0x1075, 0x1081).addRange(0x10A0, 0x10C5).addRange(0x10D0, 0x10FA).addRange(0x10FC, 0x1248).addRange(0x124A, 0x124D).addRange(0x1250, 0x1256).addRange(0x125A, 0x125D).addRange(0x1260, 0x1288).addRange(0x128A, 0x128D).addRange(0x1290, 0x12B0).addRange(0x12B2, 0x12B5).addRange(0x12B8, 0x12BE).addRange(0x12C2, 0x12C5).addRange(0x12C8, 0x12D6).addRange(0x12D8, 0x1310).addRange(0x1312, 0x1315).addRange(0x1318, 0x135A).addRange(0x1380, 0x138F).addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0x1401, 0x166C).addRange(0x166F, 0x167F).addRange(0x1681, 0x169A).addRange(0x16A0, 0x16EA).addRange(0x16EE, 0x16F8).addRange(0x1700, 0x1711).addRange(0x171F, 0x1731).addRange(0x1740, 0x1751).addRange(0x1760, 0x176C).addRange(0x176E, 0x1770).addRange(0x1780, 0x17B3).addRange(0x1820, 0x1878).addRange(0x1880, 0x18A8).addRange(0x18B0, 0x18F5).addRange(0x1900, 0x191E);\nset.addRange(0x1950, 0x196D).addRange(0x1970, 0x1974).addRange(0x1980, 0x19AB).addRange(0x19B0, 0x19C9).addRange(0x1A00, 0x1A16).addRange(0x1A20, 0x1A54).addRange(0x1B05, 0x1B33).addRange(0x1B45, 0x1B4C).addRange(0x1B83, 0x1BA0).addRange(0x1BAE, 0x1BAF).addRange(0x1BBA, 0x1BE5).addRange(0x1C00, 0x1C23).addRange(0x1C4D, 0x1C4F).addRange(0x1C5A, 0x1C7D).addRange(0x1C80, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1CE9, 0x1CEC).addRange(0x1CEE, 0x1CF3).addRange(0x1CF5, 0x1CF6).addRange(0x1D00, 0x1DBF).addRange(0x1E00, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D).addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FBC).addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FCC).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FE0, 0x1FEC).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFC).addRange(0x2090, 0x209C).addRange(0x210A, 0x2113).addRange(0x2118, 0x211D).addRange(0x212A, 0x2139).addRange(0x213C, 0x213F).addRange(0x2145, 0x2149).addRange(0x2160, 0x2188).addRange(0x2C00, 0x2CE4).addRange(0x2CEB, 0x2CEE).addRange(0x2CF2, 0x2CF3).addRange(0x2D00, 0x2D25).addRange(0x2D30, 0x2D67).addRange(0x2D80, 0x2D96).addRange(0x2DA0, 0x2DA6).addRange(0x2DA8, 0x2DAE);\nset.addRange(0x2DB0, 0x2DB6).addRange(0x2DB8, 0x2DBE).addRange(0x2DC0, 0x2DC6).addRange(0x2DC8, 0x2DCE).addRange(0x2DD0, 0x2DD6).addRange(0x2DD8, 0x2DDE).addRange(0x3005, 0x3007).addRange(0x3021, 0x3029).addRange(0x3031, 0x3035).addRange(0x3038, 0x303C).addRange(0x3041, 0x3096).addRange(0x309D, 0x309F).addRange(0x30A1, 0x30FA).addRange(0x30FC, 0x30FF).addRange(0x3105, 0x312F).addRange(0x3131, 0x318E).addRange(0x31A0, 0x31BF).addRange(0x31F0, 0x31FF).addRange(0x3400, 0x4DBF).addRange(0x4E00, 0xA48C).addRange(0xA4D0, 0xA4FD).addRange(0xA500, 0xA60C).addRange(0xA610, 0xA61F).addRange(0xA62A, 0xA62B).addRange(0xA640, 0xA66E).addRange(0xA67F, 0xA69D).addRange(0xA6A0, 0xA6EF).addRange(0xA717, 0xA71F).addRange(0xA722, 0xA788).addRange(0xA78B, 0xA7CA).addRange(0xA7D0, 0xA7D1).addRange(0xA7D5, 0xA7D9).addRange(0xA7F2, 0xA801).addRange(0xA803, 0xA805).addRange(0xA807, 0xA80A).addRange(0xA80C, 0xA822).addRange(0xA840, 0xA873).addRange(0xA882, 0xA8B3).addRange(0xA8F2, 0xA8F7).addRange(0xA8FD, 0xA8FE).addRange(0xA90A, 0xA925).addRange(0xA930, 0xA946).addRange(0xA960, 0xA97C).addRange(0xA984, 0xA9B2).addRange(0xA9E0, 0xA9E4).addRange(0xA9E6, 0xA9EF).addRange(0xA9FA, 0xA9FE).addRange(0xAA00, 0xAA28).addRange(0xAA40, 0xAA42).addRange(0xAA44, 0xAA4B).addRange(0xAA60, 0xAA76);\nset.addRange(0xAA7E, 0xAAAF).addRange(0xAAB5, 0xAAB6).addRange(0xAAB9, 0xAABD).addRange(0xAADB, 0xAADD).addRange(0xAAE0, 0xAAEA).addRange(0xAAF2, 0xAAF4).addRange(0xAB01, 0xAB06).addRange(0xAB09, 0xAB0E).addRange(0xAB11, 0xAB16).addRange(0xAB20, 0xAB26).addRange(0xAB28, 0xAB2E).addRange(0xAB30, 0xAB5A).addRange(0xAB5C, 0xAB69).addRange(0xAB70, 0xABE2).addRange(0xAC00, 0xD7A3).addRange(0xD7B0, 0xD7C6).addRange(0xD7CB, 0xD7FB).addRange(0xF900, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFB1F, 0xFB28).addRange(0xFB2A, 0xFB36).addRange(0xFB38, 0xFB3C).addRange(0xFB40, 0xFB41).addRange(0xFB43, 0xFB44).addRange(0xFB46, 0xFBB1).addRange(0xFBD3, 0xFC5D).addRange(0xFC64, 0xFD3D).addRange(0xFD50, 0xFD8F).addRange(0xFD92, 0xFDC7).addRange(0xFDF0, 0xFDF9).addRange(0xFE7F, 0xFEFC).addRange(0xFF21, 0xFF3A).addRange(0xFF41, 0xFF5A).addRange(0xFF66, 0xFF9D).addRange(0xFFA0, 0xFFBE).addRange(0xFFC2, 0xFFC7).addRange(0xFFCA, 0xFFCF).addRange(0xFFD2, 0xFFD7).addRange(0xFFDA, 0xFFDC).addRange(0x10000, 0x1000B).addRange(0x1000D, 0x10026).addRange(0x10028, 0x1003A).addRange(0x1003C, 0x1003D).addRange(0x1003F, 0x1004D).addRange(0x10050, 0x1005D).addRange(0x10080, 0x100FA).addRange(0x10140, 0x10174).addRange(0x10280, 0x1029C).addRange(0x102A0, 0x102D0);\nset.addRange(0x10300, 0x1031F).addRange(0x1032D, 0x1034A).addRange(0x10350, 0x10375).addRange(0x10380, 0x1039D).addRange(0x103A0, 0x103C3).addRange(0x103C8, 0x103CF).addRange(0x103D1, 0x103D5).addRange(0x10400, 0x1049D).addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB).addRange(0x10500, 0x10527).addRange(0x10530, 0x10563).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10600, 0x10736).addRange(0x10740, 0x10755).addRange(0x10760, 0x10767).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10800, 0x10805).addRange(0x1080A, 0x10835).addRange(0x10837, 0x10838).addRange(0x1083F, 0x10855).addRange(0x10860, 0x10876).addRange(0x10880, 0x1089E).addRange(0x108E0, 0x108F2).addRange(0x108F4, 0x108F5).addRange(0x10900, 0x10915).addRange(0x10920, 0x10939).addRange(0x10980, 0x109B7).addRange(0x109BE, 0x109BF).addRange(0x10A10, 0x10A13).addRange(0x10A15, 0x10A17).addRange(0x10A19, 0x10A35).addRange(0x10A60, 0x10A7C).addRange(0x10A80, 0x10A9C).addRange(0x10AC0, 0x10AC7).addRange(0x10AC9, 0x10AE4).addRange(0x10B00, 0x10B35).addRange(0x10B40, 0x10B55).addRange(0x10B60, 0x10B72).addRange(0x10B80, 0x10B91).addRange(0x10C00, 0x10C48).addRange(0x10C80, 0x10CB2);\nset.addRange(0x10CC0, 0x10CF2).addRange(0x10D00, 0x10D23).addRange(0x10E80, 0x10EA9).addRange(0x10EB0, 0x10EB1).addRange(0x10F00, 0x10F1C).addRange(0x10F30, 0x10F45).addRange(0x10F70, 0x10F81).addRange(0x10FB0, 0x10FC4).addRange(0x10FE0, 0x10FF6).addRange(0x11003, 0x11037).addRange(0x11071, 0x11072).addRange(0x11083, 0x110AF).addRange(0x110D0, 0x110E8).addRange(0x11103, 0x11126).addRange(0x11150, 0x11172).addRange(0x11183, 0x111B2).addRange(0x111C1, 0x111C4).addRange(0x11200, 0x11211).addRange(0x11213, 0x1122B).addRange(0x11280, 0x11286).addRange(0x1128A, 0x1128D).addRange(0x1128F, 0x1129D).addRange(0x1129F, 0x112A8).addRange(0x112B0, 0x112DE).addRange(0x11305, 0x1130C).addRange(0x1130F, 0x11310).addRange(0x11313, 0x11328).addRange(0x1132A, 0x11330).addRange(0x11332, 0x11333).addRange(0x11335, 0x11339).addRange(0x1135D, 0x11361).addRange(0x11400, 0x11434).addRange(0x11447, 0x1144A).addRange(0x1145F, 0x11461).addRange(0x11480, 0x114AF).addRange(0x114C4, 0x114C5).addRange(0x11580, 0x115AE).addRange(0x115D8, 0x115DB).addRange(0x11600, 0x1162F).addRange(0x11680, 0x116AA).addRange(0x11700, 0x1171A).addRange(0x11740, 0x11746).addRange(0x11800, 0x1182B).addRange(0x118A0, 0x118DF).addRange(0x118FF, 0x11906).addRange(0x1190C, 0x11913).addRange(0x11915, 0x11916).addRange(0x11918, 0x1192F).addRange(0x119A0, 0x119A7).addRange(0x119AA, 0x119D0).addRange(0x11A0B, 0x11A32);\nset.addRange(0x11A5C, 0x11A89).addRange(0x11AB0, 0x11AF8).addRange(0x11C00, 0x11C08).addRange(0x11C0A, 0x11C2E).addRange(0x11C72, 0x11C8F).addRange(0x11D00, 0x11D06).addRange(0x11D08, 0x11D09).addRange(0x11D0B, 0x11D30).addRange(0x11D60, 0x11D65).addRange(0x11D67, 0x11D68).addRange(0x11D6A, 0x11D89).addRange(0x11EE0, 0x11EF2).addRange(0x12000, 0x12399).addRange(0x12400, 0x1246E).addRange(0x12480, 0x12543).addRange(0x12F90, 0x12FF0).addRange(0x13000, 0x1342E).addRange(0x14400, 0x14646).addRange(0x16800, 0x16A38).addRange(0x16A40, 0x16A5E).addRange(0x16A70, 0x16ABE).addRange(0x16AD0, 0x16AED).addRange(0x16B00, 0x16B2F).addRange(0x16B40, 0x16B43).addRange(0x16B63, 0x16B77).addRange(0x16B7D, 0x16B8F).addRange(0x16E40, 0x16E7F).addRange(0x16F00, 0x16F4A).addRange(0x16F93, 0x16F9F).addRange(0x16FE0, 0x16FE1).addRange(0x17000, 0x187F7).addRange(0x18800, 0x18CD5).addRange(0x18D00, 0x18D08).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE).addRange(0x1B000, 0x1B122).addRange(0x1B150, 0x1B152).addRange(0x1B164, 0x1B167).addRange(0x1B170, 0x1B2FB).addRange(0x1BC00, 0x1BC6A).addRange(0x1BC70, 0x1BC7C).addRange(0x1BC80, 0x1BC88).addRange(0x1BC90, 0x1BC99).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3);\nset.addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D6C0).addRange(0x1D6C2, 0x1D6DA).addRange(0x1D6DC, 0x1D6FA).addRange(0x1D6FC, 0x1D714).addRange(0x1D716, 0x1D734).addRange(0x1D736, 0x1D74E).addRange(0x1D750, 0x1D76E).addRange(0x1D770, 0x1D788).addRange(0x1D78A, 0x1D7A8).addRange(0x1D7AA, 0x1D7C2).addRange(0x1D7C4, 0x1D7CB).addRange(0x1DF00, 0x1DF1E).addRange(0x1E100, 0x1E12C).addRange(0x1E137, 0x1E13D).addRange(0x1E290, 0x1E2AD).addRange(0x1E2C0, 0x1E2EB).addRange(0x1E7E0, 0x1E7E6).addRange(0x1E7E8, 0x1E7EB).addRange(0x1E7ED, 0x1E7EE).addRange(0x1E7F0, 0x1E7FE).addRange(0x1E800, 0x1E8C4).addRange(0x1E900, 0x1E943).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F).addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72).addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89).addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x20000, 0x2A6DF).addRange(0x2A700, 0x2B738).addRange(0x2B740, 0x2B81D);\nset.addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x2F800, 0x2FA1D).addRange(0x30000, 0x3134A);\nmodule.exports = set;","const set = require('regenerate')(0x5F, 0x7B, 0x7D, 0xA1, 0xA7, 0xAB, 0xBB, 0xBF, 0x37E, 0x387, 0x5BE, 0x5C0, 0x5C3, 0x5C6, 0x61B, 0x6D4, 0x85E, 0x970, 0x9FD, 0xA76, 0xAF0, 0xC77, 0xC84, 0xDF4, 0xE4F, 0xF14, 0xF85, 0x10FB, 0x1400, 0x166E, 0x1CD3, 0x2D70, 0x3030, 0x303D, 0x30A0, 0x30FB, 0xA673, 0xA67E, 0xA8FC, 0xA95F, 0xABEB, 0xFE63, 0xFE68, 0xFF3F, 0xFF5B, 0xFF5D, 0x1039F, 0x103D0, 0x1056F, 0x10857, 0x1091F, 0x1093F, 0x10A7F, 0x10EAD, 0x111CD, 0x111DB, 0x112A9, 0x1145D, 0x114C6, 0x116B9, 0x1183B, 0x119E2, 0x11FFF, 0x16AF5, 0x16B44, 0x16FE2, 0x1BC9F);\nset.addRange(0x21, 0x23).addRange(0x25, 0x2A).addRange(0x2C, 0x2F).addRange(0x3A, 0x3B).addRange(0x3F, 0x40).addRange(0x5B, 0x5D).addRange(0xB6, 0xB7).addRange(0x55A, 0x55F).addRange(0x589, 0x58A).addRange(0x5F3, 0x5F4).addRange(0x609, 0x60A).addRange(0x60C, 0x60D).addRange(0x61D, 0x61F).addRange(0x66A, 0x66D).addRange(0x700, 0x70D).addRange(0x7F7, 0x7F9).addRange(0x830, 0x83E).addRange(0x964, 0x965).addRange(0xE5A, 0xE5B).addRange(0xF04, 0xF12).addRange(0xF3A, 0xF3D).addRange(0xFD0, 0xFD4).addRange(0xFD9, 0xFDA).addRange(0x104A, 0x104F).addRange(0x1360, 0x1368).addRange(0x169B, 0x169C).addRange(0x16EB, 0x16ED).addRange(0x1735, 0x1736).addRange(0x17D4, 0x17D6).addRange(0x17D8, 0x17DA).addRange(0x1800, 0x180A).addRange(0x1944, 0x1945).addRange(0x1A1E, 0x1A1F).addRange(0x1AA0, 0x1AA6).addRange(0x1AA8, 0x1AAD).addRange(0x1B5A, 0x1B60).addRange(0x1B7D, 0x1B7E).addRange(0x1BFC, 0x1BFF).addRange(0x1C3B, 0x1C3F).addRange(0x1C7E, 0x1C7F).addRange(0x1CC0, 0x1CC7).addRange(0x2010, 0x2027).addRange(0x2030, 0x2043).addRange(0x2045, 0x2051).addRange(0x2053, 0x205E).addRange(0x207D, 0x207E).addRange(0x208D, 0x208E).addRange(0x2308, 0x230B).addRange(0x2329, 0x232A).addRange(0x2768, 0x2775).addRange(0x27C5, 0x27C6);\nset.addRange(0x27E6, 0x27EF).addRange(0x2983, 0x2998).addRange(0x29D8, 0x29DB).addRange(0x29FC, 0x29FD).addRange(0x2CF9, 0x2CFC).addRange(0x2CFE, 0x2CFF).addRange(0x2E00, 0x2E2E).addRange(0x2E30, 0x2E4F).addRange(0x2E52, 0x2E5D).addRange(0x3001, 0x3003).addRange(0x3008, 0x3011).addRange(0x3014, 0x301F).addRange(0xA4FE, 0xA4FF).addRange(0xA60D, 0xA60F).addRange(0xA6F2, 0xA6F7).addRange(0xA874, 0xA877).addRange(0xA8CE, 0xA8CF).addRange(0xA8F8, 0xA8FA).addRange(0xA92E, 0xA92F).addRange(0xA9C1, 0xA9CD).addRange(0xA9DE, 0xA9DF).addRange(0xAA5C, 0xAA5F).addRange(0xAADE, 0xAADF).addRange(0xAAF0, 0xAAF1).addRange(0xFD3E, 0xFD3F).addRange(0xFE10, 0xFE19).addRange(0xFE30, 0xFE52).addRange(0xFE54, 0xFE61).addRange(0xFE6A, 0xFE6B).addRange(0xFF01, 0xFF03).addRange(0xFF05, 0xFF0A).addRange(0xFF0C, 0xFF0F).addRange(0xFF1A, 0xFF1B).addRange(0xFF1F, 0xFF20).addRange(0xFF3B, 0xFF3D).addRange(0xFF5F, 0xFF65).addRange(0x10100, 0x10102).addRange(0x10A50, 0x10A58).addRange(0x10AF0, 0x10AF6).addRange(0x10B39, 0x10B3F).addRange(0x10B99, 0x10B9C).addRange(0x10F55, 0x10F59).addRange(0x10F86, 0x10F89).addRange(0x11047, 0x1104D).addRange(0x110BB, 0x110BC).addRange(0x110BE, 0x110C1).addRange(0x11140, 0x11143).addRange(0x11174, 0x11175).addRange(0x111C5, 0x111C8).addRange(0x111DD, 0x111DF).addRange(0x11238, 0x1123D);\nset.addRange(0x1144B, 0x1144F).addRange(0x1145A, 0x1145B).addRange(0x115C1, 0x115D7).addRange(0x11641, 0x11643).addRange(0x11660, 0x1166C).addRange(0x1173C, 0x1173E).addRange(0x11944, 0x11946).addRange(0x11A3F, 0x11A46).addRange(0x11A9A, 0x11A9C).addRange(0x11A9E, 0x11AA2).addRange(0x11C41, 0x11C45).addRange(0x11C70, 0x11C71).addRange(0x11EF7, 0x11EF8).addRange(0x12470, 0x12474).addRange(0x12FF1, 0x12FF2).addRange(0x16A6E, 0x16A6F).addRange(0x16B37, 0x16B3B).addRange(0x16E97, 0x16E9A).addRange(0x1DA87, 0x1DA8B).addRange(0x1E95E, 0x1E95F);\nmodule.exports = set;","const set = require('regenerate')(0x30FB);\nset.addRange(0x3001, 0x3002).addRange(0x3008, 0x3011).addRange(0x3014, 0x301B).addRange(0xA000, 0xA48C).addRange(0xA490, 0xA4C6).addRange(0xFF61, 0xFF65);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x1735, 0x1736).addRange(0x1760, 0x176C).addRange(0x176E, 0x1770).addRange(0x1772, 0x1773);\nmodule.exports = set;","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","const set = require('regenerate')();\nset.addRange(0x11800, 0x1183B);\nmodule.exports = set;","var baseSet = require('./_baseSet');\n\n/**\n * Sets the value at `path` of `object`. If a portion of `path` doesn't exist,\n * it's created. Arrays are created for missing index properties while objects\n * are created for all other missing properties. Use `_.setWith` to customize\n * `path` creation.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.set(object, 'a[0].b.c', 4);\n * console.log(object.a[0].b.c);\n * // => 4\n *\n * _.set(object, ['x', '0', 'y', 'z'], 5);\n * console.log(object.x[0].y.z);\n * // => 5\n */\nfunction set(object, path, value) {\n return object == null ? object : baseSet(object, path, value);\n}\n\nmodule.exports = set;\n","const set = require('regenerate')();\nset.addRange(0x780, 0x7B1);\nmodule.exports = set;","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","var $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","/**\n * marked - a markdown parser\n * Copyright (c) 2011-2014, Christopher Jeffrey. (MIT Licensed)\n * https://github.com/markedjs/marked\n */\n\n;\n(function (root) {\n 'use strict';\n\n /**\n * Block-Level Grammar\n */\n var block = {\n newline: /^\\n+/,\n code: /^( {4}[^\\n]+\\n*)+/,\n fences: noop,\n hr: /^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)/,\n heading: /^ *(#{1,6}) *([^\\n]+?) *#* *(?:\\n+|$)/,\n nptable: noop,\n blockquote: /^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/,\n list: /^( *)(bull) [\\s\\S]+?(?:hr|def|\\n{2,}(?! )(?!\\1bull )\\n*|\\s*$)/,\n html: /^ *(?:comment *(?:\\n|\\s*$)|closed *(?:\\n{2,}|\\s*$)|closing *(?:\\n{2,}|\\s*$))/,\n def: /^ {0,3}\\[(label)\\]: *\\n? *]+)>?(?:(?: +\\n? *| *\\n *)(title))? *(?:\\n+|$)/,\n table: noop,\n lheading: /^([^\\n]+)\\n *(=|-){2,} *(?:\\n+|$)/,\n paragraph: /^([^\\n]+(?:\\n?(?!hr|heading|lheading| {0,3}>|tag)[^\\n]+)+)/,\n text: /^[^\\n]+/\n };\n block._label = /(?:\\\\[\\[\\]]|[^\\[\\]])+/;\n block._title = /(?:\"(?:\\\\\"|[^\"]|\"[^\"\\n]*\")*\"|'\\n?(?:[^'\\n]+\\n?)*'|\\([^()]*\\))/;\n block.def = edit(block.def).replace('label', block._label).replace('title', block._title).getRegex();\n block.bullet = /(?:[*+-]|\\d+\\.)/;\n block.item = /^( *)(bull) [^\\n]*(?:\\n(?!\\1bull )[^\\n]*)*/;\n block.item = edit(block.item, 'gm').replace(/bull/g, block.bullet).getRegex();\n block.list = edit(block.list).replace(/bull/g, block.bullet).replace('hr', '\\\\n+(?=\\\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$))').replace('def', '\\\\n+(?=' + block.def.source + ')').getRegex();\n block._tag = '(?!(?:' + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code' + '|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo' + '|span|br|wbr|ins|del|img)\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b';\n block.html = edit(block.html).replace('comment', //).replace('closed', /<(tag)[\\s\\S]+?<\\/\\1>/).replace('closing', /\\s]*)*?\\/?>/).replace(/tag/g, block._tag).getRegex();\n block.paragraph = edit(block.paragraph).replace('hr', block.hr).replace('heading', block.heading).replace('lheading', block.lheading).replace('tag', '<' + block._tag).getRegex();\n block.blockquote = edit(block.blockquote).replace('paragraph', block.paragraph).getRegex();\n\n /**\n * Normal Block Grammar\n */\n\n block.normal = merge({}, block);\n\n /**\n * GFM Block Grammar\n */\n\n block.gfm = merge({}, block.normal, {\n fences: /^ *(`{3,}|~{3,})[ \\.]*(\\S+)? *\\n([\\s\\S]*?)\\n? *\\1 *(?:\\n+|$)/,\n paragraph: /^/,\n heading: /^ *(#{1,6}) +([^\\n]+?) *#* *(?:\\n+|$)/\n });\n block.gfm.paragraph = edit(block.paragraph).replace('(?!', '(?!' + block.gfm.fences.source.replace('\\\\1', '\\\\2') + '|' + block.list.source.replace('\\\\1', '\\\\3') + '|').getRegex();\n\n /**\n * GFM + Tables Block Grammar\n */\n\n block.tables = merge({}, block.gfm, {\n nptable: /^ *(\\S.*\\|.*)\\n *([-:]+ *\\|[-| :]*)\\n((?:.*\\|.*(?:\\n|$))*)\\n*/,\n table: /^ *\\|(.+)\\n *\\|( *[-:]+[-| :]*)\\n((?: *\\|.*(?:\\n|$))*)\\n*/\n });\n\n /**\n * Block Lexer\n */\n\n function Lexer(options) {\n this.tokens = [];\n this.tokens.links = {};\n this.options = options || marked.defaults;\n this.rules = block.normal;\n if (this.options.gfm) {\n if (this.options.tables) {\n this.rules = block.tables;\n } else {\n this.rules = block.gfm;\n }\n }\n }\n\n /**\n * Expose Block Rules\n */\n\n Lexer.rules = block;\n\n /**\n * Static Lex Method\n */\n\n Lexer.lex = function (src, options) {\n var lexer = new Lexer(options);\n return lexer.lex(src);\n };\n\n /**\n * Preprocessing\n */\n\n Lexer.prototype.lex = function (src) {\n src = src.replace(/\\r\\n|\\r/g, '\\n').replace(/\\t/g, ' ').replace(/\\u00a0/g, ' ').replace(/\\u2424/g, '\\n');\n return this.token(src, true);\n };\n\n /**\n * Lexing\n */\n\n Lexer.prototype.token = function (src, top) {\n src = src.replace(/^ +$/gm, '');\n var next, loose, cap, bull, b, item, space, i, tag, l, isordered;\n while (src) {\n // newline\n if (cap = this.rules.newline.exec(src)) {\n src = src.substring(cap[0].length);\n if (cap[0].length > 1) {\n this.tokens.push({\n type: 'space'\n });\n }\n }\n\n // code\n if (cap = this.rules.code.exec(src)) {\n src = src.substring(cap[0].length);\n cap = cap[0].replace(/^ {4}/gm, '');\n this.tokens.push({\n type: 'code',\n text: !this.options.pedantic ? cap.replace(/\\n+$/, '') : cap\n });\n continue;\n }\n\n // fences (gfm)\n if (cap = this.rules.fences.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'code',\n lang: cap[2],\n text: cap[3] || ''\n });\n continue;\n }\n\n // heading\n if (cap = this.rules.heading.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'heading',\n depth: cap[1].length,\n text: cap[2]\n });\n continue;\n }\n\n // table no leading pipe (gfm)\n if (top && (cap = this.rules.nptable.exec(src))) {\n src = src.substring(cap[0].length);\n item = {\n type: 'table',\n header: cap[1].replace(/^ *| *\\| *$/g, '').split(/ *\\| */),\n align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n cells: cap[3].replace(/\\n$/, '').split('\\n')\n };\n for (i = 0; i < item.align.length; i++) {\n if (/^ *-+: *$/.test(item.align[i])) {\n item.align[i] = 'right';\n } else if (/^ *:-+: *$/.test(item.align[i])) {\n item.align[i] = 'center';\n } else if (/^ *:-+ *$/.test(item.align[i])) {\n item.align[i] = 'left';\n } else {\n item.align[i] = null;\n }\n }\n for (i = 0; i < item.cells.length; i++) {\n item.cells[i] = item.cells[i].split(/ *\\| */);\n }\n this.tokens.push(item);\n continue;\n }\n\n // hr\n if (cap = this.rules.hr.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'hr'\n });\n continue;\n }\n\n // blockquote\n if (cap = this.rules.blockquote.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'blockquote_start'\n });\n cap = cap[0].replace(/^ *> ?/gm, '');\n\n // Pass `top` to keep the current\n // \"toplevel\" state. This is exactly\n // how markdown.pl works.\n this.token(cap, top);\n this.tokens.push({\n type: 'blockquote_end'\n });\n continue;\n }\n\n // list\n if (cap = this.rules.list.exec(src)) {\n src = src.substring(cap[0].length);\n bull = cap[2];\n isordered = bull.length > 1;\n this.tokens.push({\n type: 'list_start',\n ordered: isordered,\n start: isordered ? +bull : ''\n });\n\n // Get each top-level item.\n cap = cap[0].match(this.rules.item);\n next = false;\n l = cap.length;\n i = 0;\n for (; i < l; i++) {\n item = cap[i];\n\n // Remove the list item's bullet\n // so it is seen as the next token.\n space = item.length;\n item = item.replace(/^ *([*+-]|\\d+\\.) +/, '');\n\n // Outdent whatever the\n // list item contains. Hacky.\n if (~item.indexOf('\\n ')) {\n space -= item.length;\n item = !this.options.pedantic ? item.replace(new RegExp('^ {1,' + space + '}', 'gm'), '') : item.replace(/^ {1,4}/gm, '');\n }\n\n // Determine whether the next list item belongs here.\n // Backpedal if it does not belong in this list.\n if (this.options.smartLists && i !== l - 1) {\n b = block.bullet.exec(cap[i + 1])[0];\n if (bull !== b && !(bull.length > 1 && b.length > 1)) {\n src = cap.slice(i + 1).join('\\n') + src;\n i = l - 1;\n }\n }\n\n // Determine whether item is loose or not.\n // Use: /(^|\\n)(?! )[^\\n]+\\n\\n(?!\\s*$)/\n // for discount behavior.\n loose = next || /\\n\\n(?!\\s*$)/.test(item);\n if (i !== l - 1) {\n next = item.charAt(item.length - 1) === '\\n';\n if (!loose) loose = next;\n }\n this.tokens.push({\n type: loose ? 'loose_item_start' : 'list_item_start'\n });\n\n // Recurse.\n this.token(item, false);\n this.tokens.push({\n type: 'list_item_end'\n });\n }\n this.tokens.push({\n type: 'list_end'\n });\n continue;\n }\n\n // html\n if (cap = this.rules.html.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: this.options.sanitize ? 'paragraph' : 'html',\n pre: !this.options.sanitizer && (cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style'),\n text: cap[0]\n });\n continue;\n }\n\n // def\n if (top && (cap = this.rules.def.exec(src))) {\n src = src.substring(cap[0].length);\n if (cap[3]) cap[3] = cap[3].substring(1, cap[3].length - 1);\n tag = cap[1].toLowerCase();\n if (!this.tokens.links[tag]) {\n this.tokens.links[tag] = {\n href: cap[2],\n title: cap[3]\n };\n }\n continue;\n }\n\n // table (gfm)\n if (top && (cap = this.rules.table.exec(src))) {\n src = src.substring(cap[0].length);\n item = {\n type: 'table',\n header: cap[1].replace(/^ *| *\\| *$/g, '').split(/ *\\| */),\n align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n cells: cap[3].replace(/(?: *\\| *)?\\n$/, '').split('\\n')\n };\n for (i = 0; i < item.align.length; i++) {\n if (/^ *-+: *$/.test(item.align[i])) {\n item.align[i] = 'right';\n } else if (/^ *:-+: *$/.test(item.align[i])) {\n item.align[i] = 'center';\n } else if (/^ *:-+ *$/.test(item.align[i])) {\n item.align[i] = 'left';\n } else {\n item.align[i] = null;\n }\n }\n for (i = 0; i < item.cells.length; i++) {\n item.cells[i] = item.cells[i].replace(/^ *\\| *| *\\| *$/g, '').split(/ *\\| */);\n }\n this.tokens.push(item);\n continue;\n }\n\n // lheading\n if (cap = this.rules.lheading.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'heading',\n depth: cap[2] === '=' ? 1 : 2,\n text: cap[1]\n });\n continue;\n }\n\n // top-level paragraph\n if (top && (cap = this.rules.paragraph.exec(src))) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'paragraph',\n text: cap[1].charAt(cap[1].length - 1) === '\\n' ? cap[1].slice(0, -1) : cap[1]\n });\n continue;\n }\n\n // text\n if (cap = this.rules.text.exec(src)) {\n // Top-level should never reach here.\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'text',\n text: cap[0]\n });\n continue;\n }\n if (src) {\n throw new Error('Infinite loop on byte: ' + src.charCodeAt(0));\n }\n }\n return this.tokens;\n };\n\n /**\n * Inline-Level Grammar\n */\n\n var inline = {\n escape: /^\\\\([\\\\`*{}\\[\\]()#+\\-.!_>])/,\n autolink: /^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/,\n url: noop,\n tag: /^|^<\\/?[a-zA-Z0-9\\-]+(?:\"[^\"]*\"|'[^']*'|\\s[^<'\">\\/\\s]*)*?\\/?>/,\n link: /^!?\\[(inside)\\]\\(href\\)/,\n reflink: /^!?\\[(inside)\\]\\s*\\[([^\\]]*)\\]/,\n nolink: /^!?\\[((?:\\[[^\\[\\]]*\\]|\\\\[\\[\\]]|[^\\[\\]])*)\\]/,\n strong: /^__([\\s\\S]+?)__(?!_)|^\\*\\*([\\s\\S]+?)\\*\\*(?!\\*)/,\n em: /^_([^\\s_](?:[^_]|__)+?[^\\s_])_\\b|^\\*((?:\\*\\*|[^*])+?)\\*(?!\\*)/,\n code: /^(`+)\\s*([\\s\\S]*?[^`]?)\\s*\\1(?!`)/,\n br: /^ {2,}\\n(?!\\s*$)/,\n del: noop,\n text: /^[\\s\\S]+?(?=[\\\\?(?:\\s+['\"]([\\s\\S]*?)['\"])?\\s*/;\n inline.link = edit(inline.link).replace('inside', inline._inside).replace('href', inline._href).getRegex();\n inline.reflink = edit(inline.reflink).replace('inside', inline._inside).getRegex();\n\n /**\n * Normal Inline Grammar\n */\n\n inline.normal = merge({}, inline);\n\n /**\n * Pedantic Inline Grammar\n */\n\n inline.pedantic = merge({}, inline.normal, {\n strong: /^__(?=\\S)([\\s\\S]*?\\S)__(?!_)|^\\*\\*(?=\\S)([\\s\\S]*?\\S)\\*\\*(?!\\*)/,\n em: /^_(?=\\S)([\\s\\S]*?\\S)_(?!_)|^\\*(?=\\S)([\\s\\S]*?\\S)\\*(?!\\*)/\n });\n\n /**\n * GFM Inline Grammar\n */\n\n inline.gfm = merge({}, inline.normal, {\n escape: edit(inline.escape).replace('])', '~|])').getRegex(),\n url: edit(/^((?:ftp|https?):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/).replace('email', inline._email).getRegex(),\n _backpedal: /(?:[^?!.,:;*_~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,\n del: /^~~(?=\\S)([\\s\\S]*?\\S)~~/,\n text: edit(inline.text).replace(']|', '~]|').replace('|', '|https?://|ftp://|www\\\\.|[a-zA-Z0-9.!#$%&\\'*+/=?^_`{\\\\|}~-]+@|').getRegex()\n });\n\n /**\n * GFM + Line Breaks Inline Grammar\n */\n\n inline.breaks = merge({}, inline.gfm, {\n br: edit(inline.br).replace('{2,}', '*').getRegex(),\n text: edit(inline.gfm.text).replace('{2,}', '*').getRegex()\n });\n\n /**\n * Inline Lexer & Compiler\n */\n\n function InlineLexer(links, options) {\n this.options = options || marked.defaults;\n this.links = links;\n this.rules = inline.normal;\n this.renderer = this.options.renderer || new Renderer();\n this.renderer.options = this.options;\n if (!this.links) {\n throw new Error('Tokens array requires a `links` property.');\n }\n if (this.options.gfm) {\n if (this.options.breaks) {\n this.rules = inline.breaks;\n } else {\n this.rules = inline.gfm;\n }\n } else if (this.options.pedantic) {\n this.rules = inline.pedantic;\n }\n }\n\n /**\n * Expose Inline Rules\n */\n\n InlineLexer.rules = inline;\n\n /**\n * Static Lexing/Compiling Method\n */\n\n InlineLexer.output = function (src, links, options) {\n var inline = new InlineLexer(links, options);\n return inline.output(src);\n };\n\n /**\n * Lexing/Compiling\n */\n\n InlineLexer.prototype.output = function (src) {\n var out = '',\n link,\n text,\n href,\n cap;\n while (src) {\n // escape\n if (cap = this.rules.escape.exec(src)) {\n src = src.substring(cap[0].length);\n out += cap[1];\n continue;\n }\n\n // autolink\n if (cap = this.rules.autolink.exec(src)) {\n src = src.substring(cap[0].length);\n if (cap[2] === '@') {\n text = escape(this.mangle(cap[1]));\n href = 'mailto:' + text;\n } else {\n text = escape(cap[1]);\n href = text;\n }\n out += this.renderer.link(href, null, text);\n continue;\n }\n\n // url (gfm)\n if (!this.inLink && (cap = this.rules.url.exec(src))) {\n cap[0] = this.rules._backpedal.exec(cap[0])[0];\n src = src.substring(cap[0].length);\n if (cap[2] === '@') {\n text = escape(cap[0]);\n href = 'mailto:' + text;\n } else {\n text = escape(cap[0]);\n if (cap[1] === 'www.') {\n href = 'http://' + text;\n } else {\n href = text;\n }\n }\n out += this.renderer.link(href, null, text);\n continue;\n }\n\n // tag\n if (cap = this.rules.tag.exec(src)) {\n if (!this.inLink && /^/i.test(cap[0])) {\n this.inLink = false;\n }\n src = src.substring(cap[0].length);\n out += this.options.sanitize ? this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0]) : cap[0];\n continue;\n }\n\n // link\n if (cap = this.rules.link.exec(src)) {\n src = src.substring(cap[0].length);\n this.inLink = true;\n out += this.outputLink(cap, {\n href: cap[2],\n title: cap[3]\n });\n this.inLink = false;\n continue;\n }\n\n // reflink, nolink\n if ((cap = this.rules.reflink.exec(src)) || (cap = this.rules.nolink.exec(src))) {\n src = src.substring(cap[0].length);\n link = (cap[2] || cap[1]).replace(/\\s+/g, ' ');\n link = this.links[link.toLowerCase()];\n if (!link || !link.href) {\n out += cap[0].charAt(0);\n src = cap[0].substring(1) + src;\n continue;\n }\n this.inLink = true;\n out += this.outputLink(cap, link);\n this.inLink = false;\n continue;\n }\n\n // strong\n if (cap = this.rules.strong.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.strong(this.output(cap[2] || cap[1]));\n continue;\n }\n\n // em\n if (cap = this.rules.em.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.em(this.output(cap[2] || cap[1]));\n continue;\n }\n\n // code\n if (cap = this.rules.code.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.codespan(escape(cap[2].trim(), true));\n continue;\n }\n\n // br\n if (cap = this.rules.br.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.br();\n continue;\n }\n\n // del (gfm)\n if (cap = this.rules.del.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.del(this.output(cap[1]));\n continue;\n }\n\n // text\n if (cap = this.rules.text.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.text(escape(this.smartypants(cap[0])));\n continue;\n }\n if (src) {\n throw new Error('Infinite loop on byte: ' + src.charCodeAt(0));\n }\n }\n return out;\n };\n\n /**\n * Compile Link\n */\n\n InlineLexer.prototype.outputLink = function (cap, link) {\n var href = escape(link.href),\n title = link.title ? escape(link.title) : null;\n return cap[0].charAt(0) !== '!' ? this.renderer.link(href, title, this.output(cap[1])) : this.renderer.image(href, title, escape(cap[1]));\n };\n\n /**\n * Smartypants Transformations\n */\n\n InlineLexer.prototype.smartypants = function (text) {\n if (!this.options.smartypants) return text;\n return text\n // em-dashes\n .replace(/---/g, '\\u2014')\n // en-dashes\n .replace(/--/g, '\\u2013')\n // opening singles\n .replace(/(^|[-\\u2014/(\\[{\"\\s])'/g, '$1\\u2018')\n // closing singles & apostrophes\n .replace(/'/g, '\\u2019')\n // opening doubles\n .replace(/(^|[-\\u2014/(\\[{\\u2018\\s])\"/g, '$1\\u201c')\n // closing doubles\n .replace(/\"/g, '\\u201d')\n // ellipses\n .replace(/\\.{3}/g, '\\u2026');\n };\n\n /**\n * Mangle Links\n */\n\n InlineLexer.prototype.mangle = function (text) {\n if (!this.options.mangle) return text;\n var out = '',\n l = text.length,\n i = 0,\n ch;\n for (; i < l; i++) {\n ch = text.charCodeAt(i);\n if (Math.random() > 0.5) {\n ch = 'x' + ch.toString(16);\n }\n out += '&#' + ch + ';';\n }\n return out;\n };\n\n /**\n * Renderer\n */\n\n function Renderer(options) {\n this.options = options || {};\n }\n Renderer.prototype.code = function (code, lang, escaped) {\n if (this.options.highlight) {\n var out = this.options.highlight(code, lang);\n if (out != null && out !== code) {\n escaped = true;\n code = out;\n }\n }\n if (!lang) {\n return '
    ' + (escaped ? code : escape(code, true)) + '\\n
    ';\n }\n return '
    ' + (escaped ? code : escape(code, true)) + '\\n
    \\n';\n };\n Renderer.prototype.blockquote = function (quote) {\n return '
    \\n' + quote + '
    \\n';\n };\n Renderer.prototype.html = function (html) {\n return html;\n };\n Renderer.prototype.heading = function (text, level, raw) {\n return '' + text + '\\n';\n };\n Renderer.prototype.hr = function () {\n return this.options.xhtml ? '
    \\n' : '
    \\n';\n };\n Renderer.prototype.list = function (body, ordered, start) {\n var type = ordered ? 'ol' : 'ul',\n startatt = ordered && start !== 1 ? ' start=\"' + start + '\"' : '';\n return '<' + type + startatt + '>\\n' + body + '\\n';\n };\n Renderer.prototype.listitem = function (text) {\n return '
  • ' + text + '
  • \\n';\n };\n Renderer.prototype.paragraph = function (text) {\n return '

    ' + text + '

    \\n';\n };\n Renderer.prototype.table = function (header, body) {\n return '\\n' + '\\n' + header + '\\n' + '\\n' + body + '\\n' + '
    \\n';\n };\n Renderer.prototype.tablerow = function (content) {\n return '\\n' + content + '\\n';\n };\n Renderer.prototype.tablecell = function (content, flags) {\n var type = flags.header ? 'th' : 'td';\n var tag = flags.align ? '<' + type + ' style=\"text-align:' + flags.align + '\">' : '<' + type + '>';\n return tag + content + '\\n';\n };\n\n // span level renderer\n Renderer.prototype.strong = function (text) {\n return '' + text + '';\n };\n Renderer.prototype.em = function (text) {\n return '' + text + '';\n };\n Renderer.prototype.codespan = function (text) {\n return '' + text + '';\n };\n Renderer.prototype.br = function () {\n return this.options.xhtml ? '
    ' : '
    ';\n };\n Renderer.prototype.del = function (text) {\n return '' + text + '';\n };\n Renderer.prototype.link = function (href, title, text) {\n if (this.options.sanitize) {\n try {\n var prot = decodeURIComponent(unescape(href)).replace(/[^\\w:]/g, '').toLowerCase();\n } catch (e) {\n return text;\n }\n if (prot.indexOf('javascript:') === 0 || prot.indexOf('vbscript:') === 0 || prot.indexOf('data:') === 0) {\n return text;\n }\n }\n if (this.options.baseUrl && !originIndependentUrl.test(href)) {\n href = resolveUrl(this.options.baseUrl, href);\n }\n var out = '
    ';\n return out;\n };\n Renderer.prototype.image = function (href, title, text) {\n if (this.options.baseUrl && !originIndependentUrl.test(href)) {\n href = resolveUrl(this.options.baseUrl, href);\n }\n var out = '\"'' : '>';\n return out;\n };\n Renderer.prototype.text = function (text) {\n return text;\n };\n\n /**\n * TextRenderer\n * returns only the textual part of the token\n */\n\n function TextRenderer() {}\n\n // no need for block level renderers\n\n TextRenderer.prototype.strong = TextRenderer.prototype.em = TextRenderer.prototype.codespan = TextRenderer.prototype.del = TextRenderer.prototype.text = function (text) {\n return text;\n };\n TextRenderer.prototype.link = TextRenderer.prototype.image = function (href, title, text) {\n return '' + text;\n };\n TextRenderer.prototype.br = function () {\n return '';\n };\n\n /**\n * Parsing & Compiling\n */\n\n function Parser(options) {\n this.tokens = [];\n this.token = null;\n this.options = options || marked.defaults;\n this.options.renderer = this.options.renderer || new Renderer();\n this.renderer = this.options.renderer;\n this.renderer.options = this.options;\n }\n\n /**\n * Static Parse Method\n */\n\n Parser.parse = function (src, options) {\n var parser = new Parser(options);\n return parser.parse(src);\n };\n\n /**\n * Parse Loop\n */\n\n Parser.prototype.parse = function (src) {\n this.inline = new InlineLexer(src.links, this.options);\n // use an InlineLexer with a TextRenderer to extract pure text\n this.inlineText = new InlineLexer(src.links, merge({}, this.options, {\n renderer: new TextRenderer()\n }));\n this.tokens = src.reverse();\n var out = '';\n while (this.next()) {\n out += this.tok();\n }\n return out;\n };\n\n /**\n * Next Token\n */\n\n Parser.prototype.next = function () {\n return this.token = this.tokens.pop();\n };\n\n /**\n * Preview Next Token\n */\n\n Parser.prototype.peek = function () {\n return this.tokens[this.tokens.length - 1] || 0;\n };\n\n /**\n * Parse Text Tokens\n */\n\n Parser.prototype.parseText = function () {\n var body = this.token.text;\n while (this.peek().type === 'text') {\n body += '\\n' + this.next().text;\n }\n return this.inline.output(body);\n };\n\n /**\n * Parse Current Token\n */\n\n Parser.prototype.tok = function () {\n switch (this.token.type) {\n case 'space':\n {\n return '';\n }\n case 'hr':\n {\n return this.renderer.hr();\n }\n case 'heading':\n {\n return this.renderer.heading(this.inline.output(this.token.text), this.token.depth, unescape(this.inlineText.output(this.token.text)));\n }\n case 'code':\n {\n return this.renderer.code(this.token.text, this.token.lang, this.token.escaped);\n }\n case 'table':\n {\n var header = '',\n body = '',\n i,\n row,\n cell,\n j;\n\n // header\n cell = '';\n for (i = 0; i < this.token.header.length; i++) {\n cell += this.renderer.tablecell(this.inline.output(this.token.header[i]), {\n header: true,\n align: this.token.align[i]\n });\n }\n header += this.renderer.tablerow(cell);\n for (i = 0; i < this.token.cells.length; i++) {\n row = this.token.cells[i];\n cell = '';\n for (j = 0; j < row.length; j++) {\n cell += this.renderer.tablecell(this.inline.output(row[j]), {\n header: false,\n align: this.token.align[j]\n });\n }\n body += this.renderer.tablerow(cell);\n }\n return this.renderer.table(header, body);\n }\n case 'blockquote_start':\n {\n body = '';\n while (this.next().type !== 'blockquote_end') {\n body += this.tok();\n }\n return this.renderer.blockquote(body);\n }\n case 'list_start':\n {\n body = '';\n var ordered = this.token.ordered,\n start = this.token.start;\n while (this.next().type !== 'list_end') {\n body += this.tok();\n }\n return this.renderer.list(body, ordered, start);\n }\n case 'list_item_start':\n {\n body = '';\n while (this.next().type !== 'list_item_end') {\n body += this.token.type === 'text' ? this.parseText() : this.tok();\n }\n return this.renderer.listitem(body);\n }\n case 'loose_item_start':\n {\n body = '';\n while (this.next().type !== 'list_item_end') {\n body += this.tok();\n }\n return this.renderer.listitem(body);\n }\n case 'html':\n {\n var html = !this.token.pre && !this.options.pedantic ? this.inline.output(this.token.text) : this.token.text;\n return this.renderer.html(html);\n }\n case 'paragraph':\n {\n return this.renderer.paragraph(this.inline.output(this.token.text));\n }\n case 'text':\n {\n return this.renderer.paragraph(this.parseText());\n }\n }\n };\n\n /**\n * Helpers\n */\n\n function escape(html, encode) {\n return html.replace(!encode ? /&(?!#?\\w+;)/g : /&/g, '&').replace(//g, '>').replace(/\"/g, '"').replace(/'/g, ''');\n }\n function unescape(html) {\n // explicitly match decimal, hex, and named HTML entities\n return html.replace(/&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/ig, function (_, n) {\n n = n.toLowerCase();\n if (n === 'colon') return ':';\n if (n.charAt(0) === '#') {\n return n.charAt(1) === 'x' ? String.fromCharCode(parseInt(n.substring(2), 16)) : String.fromCharCode(+n.substring(1));\n }\n return '';\n });\n }\n function edit(regex, opt) {\n regex = regex.source;\n opt = opt || '';\n return {\n replace: function (name, val) {\n val = val.source || val;\n val = val.replace(/(^|[^\\[])\\^/g, '$1');\n regex = regex.replace(name, val);\n return this;\n },\n getRegex: function () {\n return new RegExp(regex, opt);\n }\n };\n }\n function resolveUrl(base, href) {\n if (!baseUrls[' ' + base]) {\n // we can ignore everything in base after the last slash of its path component,\n // but we might need to add _that_\n // https://tools.ietf.org/html/rfc3986#section-3\n if (/^[^:]+:\\/*[^/]*$/.test(base)) {\n baseUrls[' ' + base] = base + '/';\n } else {\n baseUrls[' ' + base] = base.replace(/[^/]*$/, '');\n }\n }\n base = baseUrls[' ' + base];\n if (href.slice(0, 2) === '//') {\n return base.replace(/:[\\s\\S]*/, ':') + href;\n } else if (href.charAt(0) === '/') {\n return base.replace(/(:\\/*[^/]*)[\\s\\S]*/, '$1') + href;\n } else {\n return base + href;\n }\n }\n var baseUrls = {};\n var originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;\n function noop() {}\n noop.exec = noop;\n function merge(obj) {\n var i = 1,\n target,\n key;\n for (; i < arguments.length; i++) {\n target = arguments[i];\n for (key in target) {\n if (Object.prototype.hasOwnProperty.call(target, key)) {\n obj[key] = target[key];\n }\n }\n }\n return obj;\n }\n\n /**\n * Marked\n */\n\n function marked(src, opt, callback) {\n // throw error in case of non string input\n if (typeof src === 'undefined' || src === null) {\n throw new Error('marked(): input parameter is undefined or null');\n }\n if (typeof src !== 'string') {\n throw new Error('marked(): input parameter is of type ' + Object.prototype.toString.call(src) + ', string expected');\n }\n if (callback || typeof opt === 'function') {\n if (!callback) {\n callback = opt;\n opt = null;\n }\n opt = merge({}, marked.defaults, opt || {});\n var highlight = opt.highlight,\n tokens,\n pending,\n i = 0;\n try {\n tokens = Lexer.lex(src, opt);\n } catch (e) {\n return callback(e);\n }\n pending = tokens.length;\n var done = function (err) {\n if (err) {\n opt.highlight = highlight;\n return callback(err);\n }\n var out;\n try {\n out = Parser.parse(tokens, opt);\n } catch (e) {\n err = e;\n }\n opt.highlight = highlight;\n return err ? callback(err) : callback(null, out);\n };\n if (!highlight || highlight.length < 3) {\n return done();\n }\n delete opt.highlight;\n if (!pending) return done();\n for (; i < tokens.length; i++) {\n (function (token) {\n if (token.type !== 'code') {\n return --pending || done();\n }\n return highlight(token.text, token.lang, function (err, code) {\n if (err) return done(err);\n if (code == null || code === token.text) {\n return --pending || done();\n }\n token.text = code;\n token.escaped = true;\n --pending || done();\n });\n })(tokens[i]);\n }\n return;\n }\n try {\n if (opt) opt = merge({}, marked.defaults, opt);\n return Parser.parse(Lexer.lex(src, opt), opt);\n } catch (e) {\n e.message += '\\nPlease report this to https://github.com/markedjs/marked.';\n if ((opt || marked.defaults).silent) {\n return '

    An error occurred:

    ' + escape(e.message + '', true) + '
    ';\n }\n throw e;\n }\n }\n\n /**\n * Options\n */\n\n marked.options = marked.setOptions = function (opt) {\n merge(marked.defaults, opt);\n return marked;\n };\n marked.defaults = {\n gfm: true,\n tables: true,\n breaks: false,\n pedantic: false,\n sanitize: false,\n sanitizer: null,\n mangle: true,\n smartLists: false,\n silent: false,\n highlight: null,\n langPrefix: 'lang-',\n smartypants: false,\n headerPrefix: '',\n renderer: new Renderer(),\n xhtml: false,\n baseUrl: null\n };\n\n /**\n * Expose\n */\n\n marked.Parser = Parser;\n marked.parser = Parser.parse;\n marked.Renderer = Renderer;\n marked.TextRenderer = TextRenderer;\n marked.Lexer = Lexer;\n marked.lexer = Lexer.lex;\n marked.InlineLexer = InlineLexer;\n marked.inlineLexer = InlineLexer.output;\n marked.parse = marked;\n if (typeof module !== 'undefined' && typeof exports === 'object') {\n module.exports = marked;\n } else if (typeof define === 'function' && define.amd) {\n define(function () {\n return marked;\n });\n } else {\n root.marked = marked;\n }\n})(this || (typeof window !== 'undefined' ? window : global));","const set = require('regenerate')();\nset.addRange(0x16A0, 0x16EA).addRange(0x16EE, 0x16F8);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x1E100, 0x1E12C).addRange(0x1E130, 0x1E13D).addRange(0x1E140, 0x1E149).addRange(0x1E14E, 0x1E14F);\nmodule.exports = set;","const set = require('regenerate')(0xAB, 0x2018, 0x201F, 0x2039, 0x2E02, 0x2E04, 0x2E09, 0x2E0C, 0x2E1C, 0x2E20);\nset.addRange(0x201B, 0x201C);\nmodule.exports = set;","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssignIn(object, source) {\n return object && copyObject(source, keysIn(source), object);\n}\n\nmodule.exports = baseAssignIn;\n","var debounce = require('./debounce'),\n isObject = require('./isObject');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\nmodule.exports = throttle;\n","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (stringSlice($String(name), 0, 7) === 'Symbol(') {\n name = '[' + replace($String(name), /^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = join(TEMPLATE, typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","var identity = require('./identity'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nmodule.exports = baseRest;\n","var copyObject = require('./_copyObject'),\n getSymbolsIn = require('./_getSymbolsIn');\n\n/**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbolsIn(source, object) {\n return copyObject(source, getSymbolsIn(source), object);\n}\n\nmodule.exports = copySymbolsIn;\n","const set = require('regenerate')();\nset.addRange(0x16B00, 0x16B45).addRange(0x16B50, 0x16B59).addRange(0x16B5B, 0x16B61).addRange(0x16B63, 0x16B77).addRange(0x16B7D, 0x16B8F);\nmodule.exports = set;","const set = require('regenerate')(0x1E2FF);\nset.addRange(0x1E2C0, 0x1E2F9);\nmodule.exports = set;","import React from \"react\"\nimport { Link } from \"docz\"\n\nimport Snip from \"./snippet.mdx\"\n\nconst elemCss = {\n display: \"flex\",\n flexGrow: 1,\n flexDirection: \"column\",\n flexBasis: `calc(50% - 2em)`,\n justifyContent: \"center\",\n marginBottom: \"1em\",\n marginLeft: \"2em\",\n}\n\nexport const Catcher = () => (\n \n
    \n \n \n Kubernetes Deployment. That's all it takes.\n \n \n)\n\nconst Button = ({ to, children }) => (\n \n {children}\n \n)\n","module.exports = require('./set');\n","var realNames = require('./_realNames');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the name of `func`.\n *\n * @private\n * @param {Function} func The function to query.\n * @returns {string} Returns the function name.\n */\nfunction getFuncName(func) {\n var result = (func.name + ''),\n array = realNames[result],\n length = hasOwnProperty.call(realNames, result) ? array.length : 0;\n\n while (length--) {\n var data = array[length],\n otherFunc = data.func;\n if (otherFunc == null || otherFunc == func) {\n return data.name;\n }\n }\n return result;\n}\n\nmodule.exports = getFuncName;\n","const set = require('regenerate')();\nset.addRange(0x10480, 0x1049D).addRange(0x104A0, 0x104A9);\nmodule.exports = set;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar LARGER_DISPLAY_WIDTH = exports.LARGER_DISPLAY_WIDTH = \"1600px\";\nvar LARGE_DISPLAY_WIDTH = exports.LARGE_DISPLAY_WIDTH = \"1280px\";\nvar DEFAULT_WIDTH = exports.DEFAULT_WIDTH = \"980px\";\nvar TABLET_WIDTH = exports.TABLET_WIDTH = \"768px\";\nvar MOBILE_WIDTH = exports.MOBILE_WIDTH = \"480px\";\nvar LARGER_DISPLAY_MEDIA_QUERY = exports.LARGER_DISPLAY_MEDIA_QUERY = \"@media only screen and (max-width:1600px)\";\nvar LARGE_DISPLAY_MEDIA_QUERY = exports.LARGE_DISPLAY_MEDIA_QUERY = \"@media only screen and (max-width:1280px)\";\nvar DEFAULT_MEDIA_QUERY = exports.DEFAULT_MEDIA_QUERY = \"@media only screen and (max-width:980px)\";\nvar TABLET_MEDIA_QUERY = exports.TABLET_MEDIA_QUERY = \"@media only screen and (max-width:768px)\";\nvar MOBILE_MEDIA_QUERY = exports.MOBILE_MEDIA_QUERY = \"@media only screen and (max-width:480px)\";\nvar MIN_LARGER_DISPLAY_MEDIA_QUERY = exports.MIN_LARGER_DISPLAY_MEDIA_QUERY = \"@media (min-width:1600px)\";\nvar MIN_LARGE_DISPLAY_MEDIA_QUERY = exports.MIN_LARGE_DISPLAY_MEDIA_QUERY = \"@media (min-width:1280px)\";\nvar MIN_DEFAULT_MEDIA_QUERY = exports.MIN_DEFAULT_MEDIA_QUERY = \"@media (min-width:980px)\";\nvar MIN_TABLET_MEDIA_QUERY = exports.MIN_TABLET_MEDIA_QUERY = \"@media (min-width:768px)\";\nvar MIN_MOBILE_MEDIA_QUERY = exports.MIN_MOBILE_MEDIA_QUERY = \"@media (min-width:480px)\";","const set = require('regenerate')();\nset.addRange(0xA900, 0xA92F);\nmodule.exports = set;","var baseCreate = require('./_baseCreate'),\n isObject = require('./isObject');\n\n/**\n * Creates a function that produces an instance of `Ctor` regardless of\n * whether it was invoked as part of a `new` expression or by `call` or `apply`.\n *\n * @private\n * @param {Function} Ctor The constructor to wrap.\n * @returns {Function} Returns the new wrapped function.\n */\nfunction createCtor(Ctor) {\n return function() {\n // Use a `switch` statement to work with class constructors. See\n // http://ecma-international.org/ecma-262/7.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist\n // for more details.\n var args = arguments;\n switch (args.length) {\n case 0: return new Ctor;\n case 1: return new Ctor(args[0]);\n case 2: return new Ctor(args[0], args[1]);\n case 3: return new Ctor(args[0], args[1], args[2]);\n case 4: return new Ctor(args[0], args[1], args[2], args[3]);\n case 5: return new Ctor(args[0], args[1], args[2], args[3], args[4]);\n case 6: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5]);\n case 7: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5], args[6]);\n }\n var thisBinding = baseCreate(Ctor.prototype),\n result = Ctor.apply(thisBinding, args);\n\n // Mimic the constructor's `return` behavior.\n // See https://es5.github.io/#x13.2.2 for more details.\n return isObject(result) ? result : thisBinding;\n };\n}\n\nmodule.exports = createCtor;\n","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.ScrollHandler = exports.ScrollContext = void 0;\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _sessionStorage = require(\"./session-storage\");\n\nvar ScrollContext = /*#__PURE__*/React.createContext(new _sessionStorage.SessionStorage());\nexports.ScrollContext = ScrollContext;\nScrollContext.displayName = \"GatsbyScrollContext\";\n\nvar ScrollHandler = /*#__PURE__*/function (_React$Component) {\n (0, _inheritsLoose2.default)(ScrollHandler, _React$Component);\n\n function ScrollHandler() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this._stateStorage = new _sessionStorage.SessionStorage();\n\n _this.scrollListener = function () {\n var key = _this.props.location.key;\n\n if (key) {\n _this._stateStorage.save(_this.props.location, key, window.scrollY);\n }\n };\n\n _this.windowScroll = function (position, prevProps) {\n if (_this.shouldUpdateScroll(prevProps, _this.props)) {\n window.scrollTo(0, position);\n }\n };\n\n _this.scrollToHash = function (hash, prevProps) {\n var node = document.getElementById(hash.substring(1));\n\n if (node && _this.shouldUpdateScroll(prevProps, _this.props)) {\n node.scrollIntoView();\n }\n };\n\n _this.shouldUpdateScroll = function (prevRouterProps, routerProps) {\n var shouldUpdateScroll = _this.props.shouldUpdateScroll;\n\n if (!shouldUpdateScroll) {\n return true;\n } // Hack to allow accessing this._stateStorage.\n\n\n return shouldUpdateScroll.call((0, _assertThisInitialized2.default)(_this), prevRouterProps, routerProps);\n };\n\n return _this;\n }\n\n var _proto = ScrollHandler.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n window.addEventListener(\"scroll\", this.scrollListener);\n var scrollPosition;\n var _this$props$location = this.props.location,\n key = _this$props$location.key,\n hash = _this$props$location.hash;\n\n if (key) {\n scrollPosition = this._stateStorage.read(this.props.location, key);\n }\n\n if (scrollPosition) {\n this.windowScroll(scrollPosition, undefined);\n } else if (hash) {\n this.scrollToHash(decodeURI(hash), undefined);\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n window.removeEventListener(\"scroll\", this.scrollListener);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var _this$props$location2 = this.props.location,\n hash = _this$props$location2.hash,\n key = _this$props$location2.key;\n var scrollPosition;\n\n if (key) {\n scrollPosition = this._stateStorage.read(this.props.location, key);\n }\n /** There are two pieces of state: the browser url and\n * history state which keeps track of scroll position\n * Native behaviour prescribes that we ought to restore scroll position\n * when a user navigates back in their browser (this is the `POP` action)\n * Currently, reach router has a bug that prevents this at https://github.com/reach/router/issues/228\n * So we _always_ stick to the url as a source of truth — if the url\n * contains a hash, we scroll to it\n */\n\n\n if (hash) {\n this.scrollToHash(decodeURI(hash), prevProps);\n } else {\n this.windowScroll(scrollPosition, prevProps);\n }\n };\n\n _proto.render = function render() {\n return /*#__PURE__*/React.createElement(ScrollContext.Provider, {\n value: this._stateStorage\n }, this.props.children);\n };\n\n return ScrollHandler;\n}(React.Component);\n\nexports.ScrollHandler = ScrollHandler;\nScrollHandler.propTypes = {\n shouldUpdateScroll: _propTypes.default.func,\n children: _propTypes.default.element.isRequired,\n location: _propTypes.default.object.isRequired\n};","const set = require('regenerate')();\nset.addRange(0x11200, 0x11211).addRange(0x11213, 0x1123E);\nmodule.exports = set;","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n","module.exports = {\n 'cap': false,\n 'curry': false,\n 'fixed': false,\n 'immutable': false,\n 'rearg': false\n};\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","const set = require('regenerate')();\nset.addRange(0x10A60, 0x10A7F);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x10A60, 0x10A7F);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x1C50, 0x1C7F);\nmodule.exports = set;","/*!\n * array-sort \n *\n * Copyright (c) 2015-2017, Jon Schlinkert.\n * Released under the MIT License.\n */\n\n'use strict';\n\nvar defaultCompare = require('default-compare');\nvar typeOf = require('kind-of');\nvar get = require('get-value');\n\n/**\n * Sort an array of objects by one or more properties.\n *\n * @param {Array} `arr` The Array to sort.\n * @param {String|Array|Function} `props` One or more object paths or comparison functions.\n * @param {Object} `opts` Pass `{ reverse: true }` to reverse the sort order.\n * @return {Array} Returns a sorted array.\n * @api public\n */\n\nfunction arraySort(arr, props, opts) {\n if (arr == null) {\n return [];\n }\n if (!Array.isArray(arr)) {\n throw new TypeError('array-sort expects an array.');\n }\n if (arguments.length === 1) {\n return arr.sort();\n }\n var args = flatten([].slice.call(arguments, 1));\n\n // if the last argument appears to be a plain object,\n // it's not a valid `compare` arg, so it must be options.\n if (typeOf(args[args.length - 1]) === 'object') {\n opts = args.pop();\n }\n return arr.sort(sortBy(args, opts));\n}\n\n/**\n * Iterate over each comparison property or function until `1` or `-1`\n * is returned.\n *\n * @param {String|Array|Function} `props` One or more object paths or comparison functions.\n * @param {Object} `opts` Pass `{ reverse: true }` to reverse the sort order.\n * @return {Array}\n */\n\nfunction sortBy(props, opts) {\n opts = opts || {};\n return function compareFn(a, b) {\n var len = props.length,\n i = -1;\n var result;\n while (++i < len) {\n result = compare(props[i], a, b);\n if (result !== 0) {\n break;\n }\n }\n if (opts.reverse === true) {\n return result * -1;\n }\n return result;\n };\n}\n\n/**\n * Compare `a` to `b`. If an object `prop` is passed, then\n * `a[prop]` is compared to `b[prop]`\n */\n\nfunction compare(prop, a, b) {\n if (typeof prop === 'function') {\n // expose `compare` to custom function\n return prop(a, b, compare.bind(null, null));\n }\n // compare object values\n if (prop && typeof a === 'object' && typeof b === 'object') {\n return compare(null, get(a, prop), get(b, prop));\n }\n return defaultCompare(a, b);\n}\n\n/**\n * Flatten the given array.\n */\n\nfunction flatten(arr) {\n return [].concat.apply([], arr);\n}\n\n/**\n * Expose `arraySort`\n */\n\nmodule.exports = arraySort;","const set = require('regenerate')(0x1056F);\nset.addRange(0x10530, 0x10563);\nmodule.exports = set;","var assignValue = require('./_assignValue'),\n castPath = require('./_castPath'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.set`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\nfunction baseSet(object, path, value, customizer) {\n if (!isObject(object)) {\n return object;\n }\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n lastIndex = length - 1,\n nested = object;\n\n while (nested != null && ++index < length) {\n var key = toKey(path[index]),\n newValue = value;\n\n if (key === '__proto__' || key === 'constructor' || key === 'prototype') {\n return object;\n }\n\n if (index != lastIndex) {\n var objValue = nested[key];\n newValue = customizer ? customizer(objValue, key, nested) : undefined;\n if (newValue === undefined) {\n newValue = isObject(objValue)\n ? objValue\n : (isIndex(path[index + 1]) ? [] : {});\n }\n }\n assignValue(nested, key, newValue);\n nested = nested[key];\n }\n return object;\n}\n\nmodule.exports = baseSet;\n","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}","var $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = $documentAll.IS_HTMLDDA ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","/**\n * Checks `value` to determine whether a default value should be returned in\n * its place. The `defaultValue` is returned if `value` is `NaN`, `null`,\n * or `undefined`.\n *\n * @static\n * @memberOf _\n * @since 4.14.0\n * @category Util\n * @param {*} value The value to check.\n * @param {*} defaultValue The default value.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * _.defaultTo(1, 10);\n * // => 1\n *\n * _.defaultTo(undefined, 10);\n * // => 10\n */\nfunction defaultTo(value, defaultValue) {\n return (value == null || value !== value) ? defaultValue : value;\n}\n\nmodule.exports = defaultTo;\n","const set = require('regenerate')(0xFDCF, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E);\nset.addRange(0x600, 0x604).addRange(0x606, 0x60B).addRange(0x60D, 0x61A).addRange(0x61C, 0x61E).addRange(0x620, 0x63F).addRange(0x641, 0x64A).addRange(0x656, 0x66F).addRange(0x671, 0x6DC).addRange(0x6DE, 0x6FF).addRange(0x750, 0x77F).addRange(0x870, 0x88E).addRange(0x890, 0x891).addRange(0x898, 0x8E1).addRange(0x8E3, 0x8FF).addRange(0xFB50, 0xFBC2).addRange(0xFBD3, 0xFD3D).addRange(0xFD40, 0xFD8F).addRange(0xFD92, 0xFDC7).addRange(0xFDF0, 0xFDFF).addRange(0xFE70, 0xFE74).addRange(0xFE76, 0xFEFC).addRange(0x10E60, 0x10E7E).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F).addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72).addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89).addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x1EEF0, 0x1EEF1);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x16F00, 0x16F4A).addRange(0x16F4F, 0x16F87).addRange(0x16F8F, 0x16F9F);\nmodule.exports = set;","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbolsIn = require('./_getSymbolsIn'),\n keysIn = require('./keysIn');\n\n/**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n}\n\nmodule.exports = getAllKeysIn;\n","var toPositiveInteger = require('../internals/to-positive-integer');\n\nvar $RangeError = RangeError;\n\nmodule.exports = function (it, BYTES) {\n var offset = toPositiveInteger(it);\n if (offset % BYTES) throw $RangeError('Wrong offset');\n return offset;\n};\n","var baseIsEqual = require('./_baseIsEqual'),\n get = require('./get'),\n hasIn = require('./hasIn'),\n isKey = require('./_isKey'),\n isStrictComparable = require('./_isStrictComparable'),\n matchesStrictComparable = require('./_matchesStrictComparable'),\n toKey = require('./_toKey');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n}\n\nmodule.exports = baseMatchesProperty;\n","const set = require('regenerate')();\nset.addRange(0x964, 0x965).addRange(0xA830, 0xA839).addRange(0x112B0, 0x112EA).addRange(0x112F0, 0x112F9);\nmodule.exports = set;","var memoizeCapped = require('./_memoizeCapped');\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nmodule.exports = stringToPath;\n","const set = require('regenerate')();\nset.addRange(0xE000, 0xF8FF).addRange(0xF0000, 0xFFFFD).addRange(0x100000, 0x10FFFD);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x10B00, 0x10B35).addRange(0x10B39, 0x10B3F);\nmodule.exports = set;","var getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]';\n\n/**\n * The base implementation of `_.isMap` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n */\nfunction baseIsMap(value) {\n return isObjectLike(value) && getTag(value) == mapTag;\n}\n\nmodule.exports = baseIsMap;\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","const set = require('regenerate')();\nset.addRange(0x11700, 0x1171A).addRange(0x1171D, 0x1172B).addRange(0x11730, 0x11746);\nmodule.exports = set;","//\n\nmodule.exports = function shallowEqual(objA, objB, compare, compareContext) {\n var ret = compare ? compare.call(compareContext, objA, objB) : void 0;\n if (ret !== void 0) {\n return !!ret;\n }\n if (objA === objB) {\n return true;\n }\n if (typeof objA !== \"object\" || !objA || typeof objB !== \"object\" || !objB) {\n return false;\n }\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n if (keysA.length !== keysB.length) {\n return false;\n }\n var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);\n\n // Test for A's keys different from B.\n for (var idx = 0; idx < keysA.length; idx++) {\n var key = keysA[idx];\n if (!bHasOwnProperty(key)) {\n return false;\n }\n var valueA = objA[key];\n var valueB = objB[key];\n ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;\n if (ret === false || ret === void 0 && valueA !== valueB) {\n return false;\n }\n }\n return true;\n};","'use strict';\n\nrequire(\"core-js/modules/es.typed-array.set.js\");\nrequire(\"core-js/modules/es.typed-array.sort.js\");\nexports.byteLength = byteLength;\nexports.toByteArray = toByteArray;\nexports.fromByteArray = fromByteArray;\nvar lookup = [];\nvar revLookup = [];\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array;\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i];\n revLookup[code.charCodeAt(i)] = i;\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62;\nrevLookup['_'.charCodeAt(0)] = 63;\nfunction getLens(b64) {\n var len = b64.length;\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4');\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=');\n if (validLen === -1) validLen = len;\n var placeHoldersLen = validLen === len ? 0 : 4 - validLen % 4;\n return [validLen, placeHoldersLen];\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength(b64) {\n var lens = getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;\n}\nfunction _byteLength(b64, validLen, placeHoldersLen) {\n return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;\n}\nfunction toByteArray(b64) {\n var tmp;\n var lens = getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen));\n var curByte = 0;\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0 ? validLen - 4 : validLen;\n var i;\n for (i = 0; i < len; i += 4) {\n tmp = revLookup[b64.charCodeAt(i)] << 18 | revLookup[b64.charCodeAt(i + 1)] << 12 | revLookup[b64.charCodeAt(i + 2)] << 6 | revLookup[b64.charCodeAt(i + 3)];\n arr[curByte++] = tmp >> 16 & 0xFF;\n arr[curByte++] = tmp >> 8 & 0xFF;\n arr[curByte++] = tmp & 0xFF;\n }\n if (placeHoldersLen === 2) {\n tmp = revLookup[b64.charCodeAt(i)] << 2 | revLookup[b64.charCodeAt(i + 1)] >> 4;\n arr[curByte++] = tmp & 0xFF;\n }\n if (placeHoldersLen === 1) {\n tmp = revLookup[b64.charCodeAt(i)] << 10 | revLookup[b64.charCodeAt(i + 1)] << 4 | revLookup[b64.charCodeAt(i + 2)] >> 2;\n arr[curByte++] = tmp >> 8 & 0xFF;\n arr[curByte++] = tmp & 0xFF;\n }\n return arr;\n}\nfunction tripletToBase64(num) {\n return lookup[num >> 18 & 0x3F] + lookup[num >> 12 & 0x3F] + lookup[num >> 6 & 0x3F] + lookup[num & 0x3F];\n}\nfunction encodeChunk(uint8, start, end) {\n var tmp;\n var output = [];\n for (var i = start; i < end; i += 3) {\n tmp = (uint8[i] << 16 & 0xFF0000) + (uint8[i + 1] << 8 & 0xFF00) + (uint8[i + 2] & 0xFF);\n output.push(tripletToBase64(tmp));\n }\n return output.join('');\n}\nfunction fromByteArray(uint8) {\n var tmp;\n var len = uint8.length;\n var extraBytes = len % 3; // if we have 1 byte left, pad 2 bytes\n var parts = [];\n var maxChunkLength = 16383; // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, i + maxChunkLength > len2 ? len2 : i + maxChunkLength));\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1];\n parts.push(lookup[tmp >> 2] + lookup[tmp << 4 & 0x3F] + '==');\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1];\n parts.push(lookup[tmp >> 10] + lookup[tmp >> 4 & 0x3F] + lookup[tmp << 2 & 0x3F] + '=');\n }\n return parts.join('');\n}","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict';\n\nrequire(\"core-js/modules/es.typed-array.set.js\");\nrequire(\"core-js/modules/es.typed-array.sort.js\");\nvar base64 = require('base64-js');\nvar ieee754 = require('ieee754');\nvar isArray = require('isarray');\nexports.Buffer = Buffer;\nexports.SlowBuffer = SlowBuffer;\nexports.INSPECT_MAX_BYTES = 50;\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined ? global.TYPED_ARRAY_SUPPORT : typedArraySupport();\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength();\nfunction typedArraySupport() {\n try {\n var arr = new Uint8Array(1);\n arr.__proto__ = {\n __proto__: Uint8Array.prototype,\n foo: function () {\n return 42;\n }\n };\n return arr.foo() === 42 &&\n // typed array instances can be augmented\n typeof arr.subarray === 'function' &&\n // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0; // ie10 has broken `subarray`\n } catch (e) {\n return false;\n }\n}\nfunction kMaxLength() {\n return Buffer.TYPED_ARRAY_SUPPORT ? 0x7fffffff : 0x3fffffff;\n}\nfunction createBuffer(that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length');\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length);\n that.__proto__ = Buffer.prototype;\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length);\n }\n that.length = length;\n }\n return that;\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer(arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length);\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error('If encoding is specified then the first argument must be a string');\n }\n return allocUnsafe(this, arg);\n }\n return from(this, arg, encodingOrOffset, length);\n}\nBuffer.poolSize = 8192; // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype;\n return arr;\n};\nfunction from(that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number');\n }\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length);\n }\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset);\n }\n return fromObject(that, value);\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length);\n};\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype;\n Buffer.__proto__ = Uint8Array;\n if (typeof Symbol !== 'undefined' && Symbol.species && Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n });\n }\n}\nfunction assertSize(size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number');\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative');\n }\n}\nfunction alloc(that, size, fill, encoding) {\n assertSize(size);\n if (size <= 0) {\n return createBuffer(that, size);\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string' ? createBuffer(that, size).fill(fill, encoding) : createBuffer(that, size).fill(fill);\n }\n return createBuffer(that, size);\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding);\n};\nfunction allocUnsafe(that, size) {\n assertSize(size);\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0);\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0;\n }\n }\n return that;\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size);\n};\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size);\n};\nfunction fromString(that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8';\n }\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding');\n }\n var length = byteLength(string, encoding) | 0;\n that = createBuffer(that, length);\n var actual = that.write(string, encoding);\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual);\n }\n return that;\n}\nfunction fromArrayLike(that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0;\n that = createBuffer(that, length);\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255;\n }\n return that;\n}\nfunction fromArrayBuffer(that, array, byteOffset, length) {\n array.byteLength; // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds');\n }\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds');\n }\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array);\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset);\n } else {\n array = new Uint8Array(array, byteOffset, length);\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array;\n that.__proto__ = Buffer.prototype;\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array);\n }\n return that;\n}\nfunction fromObject(that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0;\n that = createBuffer(that, len);\n if (that.length === 0) {\n return that;\n }\n obj.copy(that, 0, 0, len);\n return that;\n }\n if (obj) {\n if (typeof ArrayBuffer !== 'undefined' && obj.buffer instanceof ArrayBuffer || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0);\n }\n return fromArrayLike(that, obj);\n }\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data);\n }\n }\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.');\n}\nfunction checked(length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' + 'size: 0x' + kMaxLength().toString(16) + ' bytes');\n }\n return length | 0;\n}\nfunction SlowBuffer(length) {\n if (+length != length) {\n // eslint-disable-line eqeqeq\n length = 0;\n }\n return Buffer.alloc(+length);\n}\nBuffer.isBuffer = function isBuffer(b) {\n return !!(b != null && b._isBuffer);\n};\nBuffer.compare = function compare(a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers');\n }\n if (a === b) return 0;\n var x = a.length;\n var y = b.length;\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i];\n y = b[i];\n break;\n }\n }\n if (x < y) return -1;\n if (y < x) return 1;\n return 0;\n};\nBuffer.isEncoding = function isEncoding(encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true;\n default:\n return false;\n }\n};\nBuffer.concat = function concat(list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers');\n }\n if (list.length === 0) {\n return Buffer.alloc(0);\n }\n var i;\n if (length === undefined) {\n length = 0;\n for (i = 0; i < list.length; ++i) {\n length += list[i].length;\n }\n }\n var buffer = Buffer.allocUnsafe(length);\n var pos = 0;\n for (i = 0; i < list.length; ++i) {\n var buf = list[i];\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers');\n }\n buf.copy(buffer, pos);\n pos += buf.length;\n }\n return buffer;\n};\nfunction byteLength(string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length;\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' && (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength;\n }\n if (typeof string !== 'string') {\n string = '' + string;\n }\n var len = string.length;\n if (len === 0) return 0;\n\n // Use a for loop to avoid recursion\n var loweredCase = false;\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len;\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length;\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2;\n case 'hex':\n return len >>> 1;\n case 'base64':\n return base64ToBytes(string).length;\n default:\n if (loweredCase) return utf8ToBytes(string).length; // assume utf8\n encoding = ('' + encoding).toLowerCase();\n loweredCase = true;\n }\n }\n}\nBuffer.byteLength = byteLength;\nfunction slowToString(encoding, start, end) {\n var loweredCase = false;\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0;\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return '';\n }\n if (end === undefined || end > this.length) {\n end = this.length;\n }\n if (end <= 0) {\n return '';\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0;\n start >>>= 0;\n if (end <= start) {\n return '';\n }\n if (!encoding) encoding = 'utf8';\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end);\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end);\n case 'ascii':\n return asciiSlice(this, start, end);\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end);\n case 'base64':\n return base64Slice(this, start, end);\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end);\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding);\n encoding = (encoding + '').toLowerCase();\n loweredCase = true;\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true;\nfunction swap(b, n, m) {\n var i = b[n];\n b[n] = b[m];\n b[m] = i;\n}\nBuffer.prototype.swap16 = function swap16() {\n var len = this.length;\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits');\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1);\n }\n return this;\n};\nBuffer.prototype.swap32 = function swap32() {\n var len = this.length;\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits');\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3);\n swap(this, i + 1, i + 2);\n }\n return this;\n};\nBuffer.prototype.swap64 = function swap64() {\n var len = this.length;\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits');\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7);\n swap(this, i + 1, i + 6);\n swap(this, i + 2, i + 5);\n swap(this, i + 3, i + 4);\n }\n return this;\n};\nBuffer.prototype.toString = function toString() {\n var length = this.length | 0;\n if (length === 0) return '';\n if (arguments.length === 0) return utf8Slice(this, 0, length);\n return slowToString.apply(this, arguments);\n};\nBuffer.prototype.equals = function equals(b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer');\n if (this === b) return true;\n return Buffer.compare(this, b) === 0;\n};\nBuffer.prototype.inspect = function inspect() {\n var str = '';\n var max = exports.INSPECT_MAX_BYTES;\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ');\n if (this.length > max) str += ' ... ';\n }\n return '';\n};\nBuffer.prototype.compare = function compare(target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer');\n }\n if (start === undefined) {\n start = 0;\n }\n if (end === undefined) {\n end = target ? target.length : 0;\n }\n if (thisStart === undefined) {\n thisStart = 0;\n }\n if (thisEnd === undefined) {\n thisEnd = this.length;\n }\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index');\n }\n if (thisStart >= thisEnd && start >= end) {\n return 0;\n }\n if (thisStart >= thisEnd) {\n return -1;\n }\n if (start >= end) {\n return 1;\n }\n start >>>= 0;\n end >>>= 0;\n thisStart >>>= 0;\n thisEnd >>>= 0;\n if (this === target) return 0;\n var x = thisEnd - thisStart;\n var y = end - start;\n var len = Math.min(x, y);\n var thisCopy = this.slice(thisStart, thisEnd);\n var targetCopy = target.slice(start, end);\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i];\n y = targetCopy[i];\n break;\n }\n }\n if (x < y) return -1;\n if (y < x) return 1;\n return 0;\n};\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf(buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1;\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset;\n byteOffset = 0;\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff;\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000;\n }\n byteOffset = +byteOffset; // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : buffer.length - 1;\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset;\n if (byteOffset >= buffer.length) {\n if (dir) return -1;else byteOffset = buffer.length - 1;\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0;else return -1;\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding);\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1;\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir);\n } else if (typeof val === 'number') {\n val = val & 0xFF; // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT && typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset);\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset);\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir);\n }\n throw new TypeError('val must be string, number or Buffer');\n}\nfunction arrayIndexOf(arr, val, byteOffset, encoding, dir) {\n var indexSize = 1;\n var arrLength = arr.length;\n var valLength = val.length;\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase();\n if (encoding === 'ucs2' || encoding === 'ucs-2' || encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1;\n }\n indexSize = 2;\n arrLength /= 2;\n valLength /= 2;\n byteOffset /= 2;\n }\n }\n function read(buf, i) {\n if (indexSize === 1) {\n return buf[i];\n } else {\n return buf.readUInt16BE(i * indexSize);\n }\n }\n var i;\n if (dir) {\n var foundIndex = -1;\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i;\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize;\n } else {\n if (foundIndex !== -1) i -= i - foundIndex;\n foundIndex = -1;\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength;\n for (i = byteOffset; i >= 0; i--) {\n var found = true;\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false;\n break;\n }\n }\n if (found) return i;\n }\n }\n return -1;\n}\nBuffer.prototype.includes = function includes(val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1;\n};\nBuffer.prototype.indexOf = function indexOf(val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true);\n};\nBuffer.prototype.lastIndexOf = function lastIndexOf(val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false);\n};\nfunction hexWrite(buf, string, offset, length) {\n offset = Number(offset) || 0;\n var remaining = buf.length - offset;\n if (!length) {\n length = remaining;\n } else {\n length = Number(length);\n if (length > remaining) {\n length = remaining;\n }\n }\n\n // must be an even number of digits\n var strLen = string.length;\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string');\n if (length > strLen / 2) {\n length = strLen / 2;\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16);\n if (isNaN(parsed)) return i;\n buf[offset + i] = parsed;\n }\n return i;\n}\nfunction utf8Write(buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length);\n}\nfunction asciiWrite(buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length);\n}\nfunction latin1Write(buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length);\n}\nfunction base64Write(buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length);\n}\nfunction ucs2Write(buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length);\n}\nBuffer.prototype.write = function write(string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8';\n length = this.length;\n offset = 0;\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset;\n length = this.length;\n offset = 0;\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0;\n if (isFinite(length)) {\n length = length | 0;\n if (encoding === undefined) encoding = 'utf8';\n } else {\n encoding = length;\n length = undefined;\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error('Buffer.write(string, encoding, offset[, length]) is no longer supported');\n }\n var remaining = this.length - offset;\n if (length === undefined || length > remaining) length = remaining;\n if (string.length > 0 && (length < 0 || offset < 0) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds');\n }\n if (!encoding) encoding = 'utf8';\n var loweredCase = false;\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length);\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length);\n case 'ascii':\n return asciiWrite(this, string, offset, length);\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length);\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length);\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length);\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding);\n encoding = ('' + encoding).toLowerCase();\n loweredCase = true;\n }\n }\n};\nBuffer.prototype.toJSON = function toJSON() {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n };\n};\nfunction base64Slice(buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf);\n } else {\n return base64.fromByteArray(buf.slice(start, end));\n }\n}\nfunction utf8Slice(buf, start, end) {\n end = Math.min(buf.length, end);\n var res = [];\n var i = start;\n while (i < end) {\n var firstByte = buf[i];\n var codePoint = null;\n var bytesPerSequence = firstByte > 0xEF ? 4 : firstByte > 0xDF ? 3 : firstByte > 0xBF ? 2 : 1;\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint;\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte;\n }\n break;\n case 2:\n secondByte = buf[i + 1];\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | secondByte & 0x3F;\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint;\n }\n }\n break;\n case 3:\n secondByte = buf[i + 1];\n thirdByte = buf[i + 2];\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | thirdByte & 0x3F;\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint;\n }\n }\n break;\n case 4:\n secondByte = buf[i + 1];\n thirdByte = buf[i + 2];\n fourthByte = buf[i + 3];\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | fourthByte & 0x3F;\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint;\n }\n }\n }\n }\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD;\n bytesPerSequence = 1;\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000;\n res.push(codePoint >>> 10 & 0x3FF | 0xD800);\n codePoint = 0xDC00 | codePoint & 0x3FF;\n }\n res.push(codePoint);\n i += bytesPerSequence;\n }\n return decodeCodePointsArray(res);\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000;\nfunction decodeCodePointsArray(codePoints) {\n var len = codePoints.length;\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints); // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = '';\n var i = 0;\n while (i < len) {\n res += String.fromCharCode.apply(String, codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH));\n }\n return res;\n}\nfunction asciiSlice(buf, start, end) {\n var ret = '';\n end = Math.min(buf.length, end);\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F);\n }\n return ret;\n}\nfunction latin1Slice(buf, start, end) {\n var ret = '';\n end = Math.min(buf.length, end);\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i]);\n }\n return ret;\n}\nfunction hexSlice(buf, start, end) {\n var len = buf.length;\n if (!start || start < 0) start = 0;\n if (!end || end < 0 || end > len) end = len;\n var out = '';\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i]);\n }\n return out;\n}\nfunction utf16leSlice(buf, start, end) {\n var bytes = buf.slice(start, end);\n var res = '';\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256);\n }\n return res;\n}\nBuffer.prototype.slice = function slice(start, end) {\n var len = this.length;\n start = ~~start;\n end = end === undefined ? len : ~~end;\n if (start < 0) {\n start += len;\n if (start < 0) start = 0;\n } else if (start > len) {\n start = len;\n }\n if (end < 0) {\n end += len;\n if (end < 0) end = 0;\n } else if (end > len) {\n end = len;\n }\n if (end < start) end = start;\n var newBuf;\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end);\n newBuf.__proto__ = Buffer.prototype;\n } else {\n var sliceLen = end - start;\n newBuf = new Buffer(sliceLen, undefined);\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start];\n }\n }\n return newBuf;\n};\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset(offset, ext, length) {\n if (offset % 1 !== 0 || offset < 0) throw new RangeError('offset is not uint');\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length');\n}\nBuffer.prototype.readUIntLE = function readUIntLE(offset, byteLength, noAssert) {\n offset = offset | 0;\n byteLength = byteLength | 0;\n if (!noAssert) checkOffset(offset, byteLength, this.length);\n var val = this[offset];\n var mul = 1;\n var i = 0;\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul;\n }\n return val;\n};\nBuffer.prototype.readUIntBE = function readUIntBE(offset, byteLength, noAssert) {\n offset = offset | 0;\n byteLength = byteLength | 0;\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length);\n }\n var val = this[offset + --byteLength];\n var mul = 1;\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul;\n }\n return val;\n};\nBuffer.prototype.readUInt8 = function readUInt8(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length);\n return this[offset];\n};\nBuffer.prototype.readUInt16LE = function readUInt16LE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length);\n return this[offset] | this[offset + 1] << 8;\n};\nBuffer.prototype.readUInt16BE = function readUInt16BE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length);\n return this[offset] << 8 | this[offset + 1];\n};\nBuffer.prototype.readUInt32LE = function readUInt32LE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length);\n return (this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16) + this[offset + 3] * 0x1000000;\n};\nBuffer.prototype.readUInt32BE = function readUInt32BE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length);\n return this[offset] * 0x1000000 + (this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]);\n};\nBuffer.prototype.readIntLE = function readIntLE(offset, byteLength, noAssert) {\n offset = offset | 0;\n byteLength = byteLength | 0;\n if (!noAssert) checkOffset(offset, byteLength, this.length);\n var val = this[offset];\n var mul = 1;\n var i = 0;\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul;\n }\n mul *= 0x80;\n if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n return val;\n};\nBuffer.prototype.readIntBE = function readIntBE(offset, byteLength, noAssert) {\n offset = offset | 0;\n byteLength = byteLength | 0;\n if (!noAssert) checkOffset(offset, byteLength, this.length);\n var i = byteLength;\n var mul = 1;\n var val = this[offset + --i];\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul;\n }\n mul *= 0x80;\n if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n return val;\n};\nBuffer.prototype.readInt8 = function readInt8(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length);\n if (!(this[offset] & 0x80)) return this[offset];\n return (0xff - this[offset] + 1) * -1;\n};\nBuffer.prototype.readInt16LE = function readInt16LE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length);\n var val = this[offset] | this[offset + 1] << 8;\n return val & 0x8000 ? val | 0xFFFF0000 : val;\n};\nBuffer.prototype.readInt16BE = function readInt16BE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length);\n var val = this[offset + 1] | this[offset] << 8;\n return val & 0x8000 ? val | 0xFFFF0000 : val;\n};\nBuffer.prototype.readInt32LE = function readInt32LE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length);\n return this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16 | this[offset + 3] << 24;\n};\nBuffer.prototype.readInt32BE = function readInt32BE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length);\n return this[offset] << 24 | this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3];\n};\nBuffer.prototype.readFloatLE = function readFloatLE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length);\n return ieee754.read(this, offset, true, 23, 4);\n};\nBuffer.prototype.readFloatBE = function readFloatBE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length);\n return ieee754.read(this, offset, false, 23, 4);\n};\nBuffer.prototype.readDoubleLE = function readDoubleLE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length);\n return ieee754.read(this, offset, true, 52, 8);\n};\nBuffer.prototype.readDoubleBE = function readDoubleBE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length);\n return ieee754.read(this, offset, false, 52, 8);\n};\nfunction checkInt(buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance');\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds');\n if (offset + ext > buf.length) throw new RangeError('Index out of range');\n}\nBuffer.prototype.writeUIntLE = function writeUIntLE(value, offset, byteLength, noAssert) {\n value = +value;\n offset = offset | 0;\n byteLength = byteLength | 0;\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1;\n checkInt(this, value, offset, byteLength, maxBytes, 0);\n }\n var mul = 1;\n var i = 0;\n this[offset] = value & 0xFF;\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = value / mul & 0xFF;\n }\n return offset + byteLength;\n};\nBuffer.prototype.writeUIntBE = function writeUIntBE(value, offset, byteLength, noAssert) {\n value = +value;\n offset = offset | 0;\n byteLength = byteLength | 0;\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1;\n checkInt(this, value, offset, byteLength, maxBytes, 0);\n }\n var i = byteLength - 1;\n var mul = 1;\n this[offset + i] = value & 0xFF;\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = value / mul & 0xFF;\n }\n return offset + byteLength;\n};\nBuffer.prototype.writeUInt8 = function writeUInt8(value, offset, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0);\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value);\n this[offset] = value & 0xff;\n return offset + 1;\n};\nfunction objectWriteUInt16(buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1;\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & 0xff << 8 * (littleEndian ? i : 1 - i)) >>> (littleEndian ? i : 1 - i) * 8;\n }\n}\nBuffer.prototype.writeUInt16LE = function writeUInt16LE(value, offset, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value & 0xff;\n this[offset + 1] = value >>> 8;\n } else {\n objectWriteUInt16(this, value, offset, true);\n }\n return offset + 2;\n};\nBuffer.prototype.writeUInt16BE = function writeUInt16BE(value, offset, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value >>> 8;\n this[offset + 1] = value & 0xff;\n } else {\n objectWriteUInt16(this, value, offset, false);\n }\n return offset + 2;\n};\nfunction objectWriteUInt32(buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1;\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = value >>> (littleEndian ? i : 3 - i) * 8 & 0xff;\n }\n}\nBuffer.prototype.writeUInt32LE = function writeUInt32LE(value, offset, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = value >>> 24;\n this[offset + 2] = value >>> 16;\n this[offset + 1] = value >>> 8;\n this[offset] = value & 0xff;\n } else {\n objectWriteUInt32(this, value, offset, true);\n }\n return offset + 4;\n};\nBuffer.prototype.writeUInt32BE = function writeUInt32BE(value, offset, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value >>> 24;\n this[offset + 1] = value >>> 16;\n this[offset + 2] = value >>> 8;\n this[offset + 3] = value & 0xff;\n } else {\n objectWriteUInt32(this, value, offset, false);\n }\n return offset + 4;\n};\nBuffer.prototype.writeIntLE = function writeIntLE(value, offset, byteLength, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1);\n checkInt(this, value, offset, byteLength, limit - 1, -limit);\n }\n var i = 0;\n var mul = 1;\n var sub = 0;\n this[offset] = value & 0xFF;\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1;\n }\n this[offset + i] = (value / mul >> 0) - sub & 0xFF;\n }\n return offset + byteLength;\n};\nBuffer.prototype.writeIntBE = function writeIntBE(value, offset, byteLength, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1);\n checkInt(this, value, offset, byteLength, limit - 1, -limit);\n }\n var i = byteLength - 1;\n var mul = 1;\n var sub = 0;\n this[offset + i] = value & 0xFF;\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1;\n }\n this[offset + i] = (value / mul >> 0) - sub & 0xFF;\n }\n return offset + byteLength;\n};\nBuffer.prototype.writeInt8 = function writeInt8(value, offset, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80);\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value);\n if (value < 0) value = 0xff + value + 1;\n this[offset] = value & 0xff;\n return offset + 1;\n};\nBuffer.prototype.writeInt16LE = function writeInt16LE(value, offset, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value & 0xff;\n this[offset + 1] = value >>> 8;\n } else {\n objectWriteUInt16(this, value, offset, true);\n }\n return offset + 2;\n};\nBuffer.prototype.writeInt16BE = function writeInt16BE(value, offset, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value >>> 8;\n this[offset + 1] = value & 0xff;\n } else {\n objectWriteUInt16(this, value, offset, false);\n }\n return offset + 2;\n};\nBuffer.prototype.writeInt32LE = function writeInt32LE(value, offset, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value & 0xff;\n this[offset + 1] = value >>> 8;\n this[offset + 2] = value >>> 16;\n this[offset + 3] = value >>> 24;\n } else {\n objectWriteUInt32(this, value, offset, true);\n }\n return offset + 4;\n};\nBuffer.prototype.writeInt32BE = function writeInt32BE(value, offset, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);\n if (value < 0) value = 0xffffffff + value + 1;\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value >>> 24;\n this[offset + 1] = value >>> 16;\n this[offset + 2] = value >>> 8;\n this[offset + 3] = value & 0xff;\n } else {\n objectWriteUInt32(this, value, offset, false);\n }\n return offset + 4;\n};\nfunction checkIEEE754(buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range');\n if (offset < 0) throw new RangeError('Index out of range');\n}\nfunction writeFloat(buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38);\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4);\n return offset + 4;\n}\nBuffer.prototype.writeFloatLE = function writeFloatLE(value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert);\n};\nBuffer.prototype.writeFloatBE = function writeFloatBE(value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert);\n};\nfunction writeDouble(buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308);\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8);\n return offset + 8;\n}\nBuffer.prototype.writeDoubleLE = function writeDoubleLE(value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert);\n};\nBuffer.prototype.writeDoubleBE = function writeDoubleBE(value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert);\n};\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy(target, targetStart, start, end) {\n if (!start) start = 0;\n if (!end && end !== 0) end = this.length;\n if (targetStart >= target.length) targetStart = target.length;\n if (!targetStart) targetStart = 0;\n if (end > 0 && end < start) end = start;\n\n // Copy 0 bytes; we're done\n if (end === start) return 0;\n if (target.length === 0 || this.length === 0) return 0;\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds');\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds');\n if (end < 0) throw new RangeError('sourceEnd out of bounds');\n\n // Are we oob?\n if (end > this.length) end = this.length;\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start;\n }\n var len = end - start;\n var i;\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start];\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start];\n }\n } else {\n Uint8Array.prototype.set.call(target, this.subarray(start, start + len), targetStart);\n }\n return len;\n};\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill(val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start;\n start = 0;\n end = this.length;\n } else if (typeof end === 'string') {\n encoding = end;\n end = this.length;\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0);\n if (code < 256) {\n val = code;\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string');\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding);\n }\n } else if (typeof val === 'number') {\n val = val & 255;\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index');\n }\n if (end <= start) {\n return this;\n }\n start = start >>> 0;\n end = end === undefined ? this.length : end >>> 0;\n if (!val) val = 0;\n var i;\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val;\n }\n } else {\n var bytes = Buffer.isBuffer(val) ? val : utf8ToBytes(new Buffer(val, encoding).toString());\n var len = bytes.length;\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len];\n }\n }\n return this;\n};\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g;\nfunction base64clean(str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '');\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return '';\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '=';\n }\n return str;\n}\nfunction stringtrim(str) {\n if (str.trim) return str.trim();\n return str.replace(/^\\s+|\\s+$/g, '');\n}\nfunction toHex(n) {\n if (n < 16) return '0' + n.toString(16);\n return n.toString(16);\n}\nfunction utf8ToBytes(string, units) {\n units = units || Infinity;\n var codePoint;\n var length = string.length;\n var leadSurrogate = null;\n var bytes = [];\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i);\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n continue;\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n continue;\n }\n\n // valid lead\n leadSurrogate = codePoint;\n continue;\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n leadSurrogate = codePoint;\n continue;\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000;\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n }\n leadSurrogate = null;\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break;\n bytes.push(codePoint);\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break;\n bytes.push(codePoint >> 0x6 | 0xC0, codePoint & 0x3F | 0x80);\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break;\n bytes.push(codePoint >> 0xC | 0xE0, codePoint >> 0x6 & 0x3F | 0x80, codePoint & 0x3F | 0x80);\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break;\n bytes.push(codePoint >> 0x12 | 0xF0, codePoint >> 0xC & 0x3F | 0x80, codePoint >> 0x6 & 0x3F | 0x80, codePoint & 0x3F | 0x80);\n } else {\n throw new Error('Invalid code point');\n }\n }\n return bytes;\n}\nfunction asciiToBytes(str) {\n var byteArray = [];\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF);\n }\n return byteArray;\n}\nfunction utf16leToBytes(str, units) {\n var c, hi, lo;\n var byteArray = [];\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break;\n c = str.charCodeAt(i);\n hi = c >> 8;\n lo = c % 256;\n byteArray.push(lo);\n byteArray.push(hi);\n }\n return byteArray;\n}\nfunction base64ToBytes(str) {\n return base64.toByteArray(base64clean(str));\n}\nfunction blitBuffer(src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if (i + offset >= dst.length || i >= src.length) break;\n dst[i + offset] = src[i];\n }\n return i;\n}\nfunction isnan(val) {\n return val !== val; // eslint-disable-line no-self-compare\n}","var Symbol = require('./_Symbol'),\n Uint8Array = require('./_Uint8Array'),\n eq = require('./eq'),\n equalArrays = require('./_equalArrays'),\n mapToArray = require('./_mapToArray'),\n setToArray = require('./_setToArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n","const set = require('regenerate')();\nset.addRange(0x3E2, 0x3EF).addRange(0x2C80, 0x2CF3).addRange(0x2CF9, 0x2CFF);\nmodule.exports = set;","import * as React from 'react'\n /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsxRuntime classic */\n/* @jsx mdx */\nimport DefaultLayout from \"/home/runner/work/tanka/tanka/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nexport const _frontmatter = {};\nconst layoutProps = {\n _frontmatter\n};\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n components,\n ...props\n}) {\n return \n\n\n

    {`If you happen to have a local `}{`Go`}{` toolchain, you can also build Tanka from source using `}{`go install`}{`:`}

    \n
    {`$ `}{`cd`}{` /tmp`}{`\n`}{`$ go install github.com/grafana/tanka/cmd/tk@latest`}
    \n

    {`If that does not work for whatever reason (Go modules, etc), clone and compile manually:`}

    \n
    {`$ git clone https://github.com/grafana/tanka`}{`\n`}{`$ `}{`cd`}{` tanka`}{`\n`}{`$ make install`}
    \n\n \n
    ;\n}\n;\nMDXContent.isMDXComponent = true;\n ","const set = require('regenerate')();\nset.addRange(0x2EA, 0x2EB).addRange(0x3105, 0x312F).addRange(0x31A0, 0x31BF);\nmodule.exports = set;","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n","const set = require('regenerate')(0x60C, 0x61F, 0x640, 0x670, 0x1DF8, 0x1DFA);\nset.addRange(0x61B, 0x61C).addRange(0x64B, 0x655).addRange(0x700, 0x70D).addRange(0x70F, 0x74A).addRange(0x74D, 0x74F).addRange(0x860, 0x86A);\nmodule.exports = set;","var isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","const set = require('regenerate')();\nset.addRange(0xD00, 0xD0C).addRange(0xD0E, 0xD10).addRange(0xD12, 0xD44).addRange(0xD46, 0xD48).addRange(0xD4A, 0xD4F).addRange(0xD54, 0xD63).addRange(0xD66, 0xD7F);\nmodule.exports = set;","const set = require('regenerate')(0x20, 0xA0, 0x1680, 0x202F, 0x205F, 0x3000);\nset.addRange(0x2000, 0x200A).addRange(0x2028, 0x2029);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x109A0, 0x109B7).addRange(0x109BC, 0x109CF).addRange(0x109D2, 0x109FF);\nmodule.exports = set;","const set = require('regenerate')(0x11909);\nset.addRange(0x11900, 0x11906).addRange(0x1190C, 0x11913).addRange(0x11915, 0x11916).addRange(0x11918, 0x11935).addRange(0x11937, 0x11938).addRange(0x1193B, 0x11946).addRange(0x11950, 0x11959);\nmodule.exports = set;","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n","const set = require('regenerate')();\nset.addRange(0xA830, 0xA839).addRange(0x11600, 0x11644).addRange(0x11650, 0x11659);\nmodule.exports = set;","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","var memoize = require('./memoize');\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nmodule.exports = memoizeCapped;\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","const set = require('regenerate')(0x1E2FF);\nset.addRange(0x1E2C0, 0x1E2F9);\nmodule.exports = set;","/*!\n * regjsgen 0.5.2\n * Copyright 2014-2020 Benjamin Tan \n * Available under the MIT license \n */\n;\n(function () {\n 'use strict';\n\n // Used to determine if values are of the language type `Object`.\n var objectTypes = {\n 'function': true,\n 'object': true\n };\n\n // Used as a reference to the global object.\n var root = objectTypes[typeof window] && window || this;\n\n // Detect free variable `exports`.\n var freeExports = objectTypes[typeof exports] && exports && !exports.nodeType && exports;\n\n // Detect free variable `module`.\n var hasFreeModule = objectTypes[typeof module] && module && !module.nodeType;\n\n // Detect free variable `global` from Node.js or Browserified code and use it as `root`.\n var freeGlobal = freeExports && hasFreeModule && typeof global == 'object' && global;\n if (freeGlobal && (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal || freeGlobal.self === freeGlobal)) {\n root = freeGlobal;\n }\n\n // Used to check objects for own properties.\n var hasOwnProperty = Object.prototype.hasOwnProperty;\n\n /*--------------------------------------------------------------------------*/\n\n // Generates a string based on the given code point.\n // Based on https://mths.be/fromcodepoint by @mathias.\n function fromCodePoint() {\n var codePoint = Number(arguments[0]);\n if (!isFinite(codePoint) ||\n // `NaN`, `+Infinity`, or `-Infinity`\n codePoint < 0 ||\n // not a valid Unicode code point\n codePoint > 0x10FFFF ||\n // not a valid Unicode code point\n Math.floor(codePoint) != codePoint // not an integer\n ) {\n throw RangeError('Invalid code point: ' + codePoint);\n }\n if (codePoint <= 0xFFFF) {\n // BMP code point\n return String.fromCharCode(codePoint);\n } else {\n // Astral code point; split in surrogate halves\n // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n codePoint -= 0x10000;\n var highSurrogate = (codePoint >> 10) + 0xD800;\n var lowSurrogate = codePoint % 0x400 + 0xDC00;\n return String.fromCharCode(highSurrogate, lowSurrogate);\n }\n }\n\n /*--------------------------------------------------------------------------*/\n\n // Ensures that nodes have the correct types.\n var assertTypeRegexMap = {};\n function assertType(type, expected) {\n if (expected.indexOf('|') == -1) {\n if (type == expected) {\n return;\n }\n throw Error('Invalid node type: ' + type + '; expected type: ' + expected);\n }\n expected = hasOwnProperty.call(assertTypeRegexMap, expected) ? assertTypeRegexMap[expected] : assertTypeRegexMap[expected] = RegExp('^(?:' + expected + ')$');\n if (expected.test(type)) {\n return;\n }\n throw Error('Invalid node type: ' + type + '; expected types: ' + expected);\n }\n\n /*--------------------------------------------------------------------------*/\n\n // Generates a regular expression string based on an AST.\n function generate(node) {\n var type = node.type;\n if (hasOwnProperty.call(generators, type)) {\n return generators[type](node);\n }\n throw Error('Invalid node type: ' + type);\n }\n\n // Constructs a string by concatentating the output of each term.\n function generateSequence(generator, terms) {\n var i = -1,\n length = terms.length,\n result = '',\n term;\n while (++i < length) {\n term = terms[i];\n\n // Ensure that `\\0` null escapes followed by number symbols are not\n // treated as backreferences.\n if (i + 1 < length && terms[i].type == 'value' && terms[i].kind == 'null' && terms[i + 1].type == 'value' && terms[i + 1].kind == 'symbol' && terms[i + 1].codePoint >= 48 && terms[i + 1].codePoint <= 57) {\n result += '\\\\000';\n continue;\n }\n result += generator(term);\n }\n return result;\n }\n\n /*--------------------------------------------------------------------------*/\n\n function generateAlternative(node) {\n assertType(node.type, 'alternative');\n return generateSequence(generateTerm, node.body);\n }\n function generateAnchor(node) {\n assertType(node.type, 'anchor');\n switch (node.kind) {\n case 'start':\n return '^';\n case 'end':\n return '$';\n case 'boundary':\n return '\\\\b';\n case 'not-boundary':\n return '\\\\B';\n default:\n throw Error('Invalid assertion');\n }\n }\n function generateAtom(node) {\n assertType(node.type, 'anchor|characterClass|characterClassEscape|dot|group|reference|value');\n return generate(node);\n }\n function generateCharacterClass(node) {\n assertType(node.type, 'characterClass');\n return '[' + (node.negative ? '^' : '') + generateSequence(generateClassAtom, node.body) + ']';\n }\n function generateCharacterClassEscape(node) {\n assertType(node.type, 'characterClassEscape');\n return '\\\\' + node.value;\n }\n function generateCharacterClassRange(node) {\n assertType(node.type, 'characterClassRange');\n var min = node.min,\n max = node.max;\n if (min.type == 'characterClassRange' || max.type == 'characterClassRange') {\n throw Error('Invalid character class range');\n }\n return generateClassAtom(min) + '-' + generateClassAtom(max);\n }\n function generateClassAtom(node) {\n assertType(node.type, 'anchor|characterClassEscape|characterClassRange|dot|value');\n return generate(node);\n }\n function generateDisjunction(node) {\n assertType(node.type, 'disjunction');\n var body = node.body,\n i = -1,\n length = body.length,\n result = '';\n while (++i < length) {\n if (i != 0) {\n result += '|';\n }\n result += generate(body[i]);\n }\n return result;\n }\n function generateDot(node) {\n assertType(node.type, 'dot');\n return '.';\n }\n function generateGroup(node) {\n assertType(node.type, 'group');\n var result = '';\n switch (node.behavior) {\n case 'normal':\n if (node.name) {\n result += '?<' + generateIdentifier(node.name) + '>';\n }\n break;\n case 'ignore':\n result += '?:';\n break;\n case 'lookahead':\n result += '?=';\n break;\n case 'negativeLookahead':\n result += '?!';\n break;\n case 'lookbehind':\n result += '?<=';\n break;\n case 'negativeLookbehind':\n result += '?';\n }\n throw new Error('Unknown reference type');\n }\n function generateTerm(node) {\n assertType(node.type, 'anchor|characterClass|characterClassEscape|empty|group|quantifier|reference|unicodePropertyEscape|value|dot');\n return generate(node);\n }\n function generateUnicodePropertyEscape(node) {\n assertType(node.type, 'unicodePropertyEscape');\n return '\\\\' + (node.negative ? 'P' : 'p') + '{' + node.value + '}';\n }\n function generateValue(node) {\n assertType(node.type, 'value');\n var kind = node.kind,\n codePoint = node.codePoint;\n if (typeof codePoint != 'number') {\n throw new Error('Invalid code point: ' + codePoint);\n }\n switch (kind) {\n case 'controlLetter':\n return '\\\\c' + fromCodePoint(codePoint + 64);\n case 'hexadecimalEscape':\n return '\\\\x' + ('00' + codePoint.toString(16).toUpperCase()).slice(-2);\n case 'identifier':\n return '\\\\' + fromCodePoint(codePoint);\n case 'null':\n return '\\\\' + codePoint;\n case 'octal':\n return '\\\\' + ('000' + codePoint.toString(8)).slice(-3);\n case 'singleEscape':\n switch (codePoint) {\n case 0x0008:\n return '\\\\b';\n case 0x0009:\n return '\\\\t';\n case 0x000A:\n return '\\\\n';\n case 0x000B:\n return '\\\\v';\n case 0x000C:\n return '\\\\f';\n case 0x000D:\n return '\\\\r';\n case 0x002D:\n return '\\\\-';\n default:\n throw Error('Invalid code point: ' + codePoint);\n }\n case 'symbol':\n return fromCodePoint(codePoint);\n case 'unicodeEscape':\n return '\\\\u' + ('0000' + codePoint.toString(16).toUpperCase()).slice(-4);\n case 'unicodeCodePointEscape':\n return '\\\\u{' + codePoint.toString(16).toUpperCase() + '}';\n default:\n throw Error('Unsupported node kind: ' + kind);\n }\n }\n\n /*--------------------------------------------------------------------------*/\n\n // Used to generate strings for each node type.\n var generators = {\n 'alternative': generateAlternative,\n 'anchor': generateAnchor,\n 'characterClass': generateCharacterClass,\n 'characterClassEscape': generateCharacterClassEscape,\n 'characterClassRange': generateCharacterClassRange,\n 'disjunction': generateDisjunction,\n 'dot': generateDot,\n 'group': generateGroup,\n 'quantifier': generateQuantifier,\n 'reference': generateReference,\n 'unicodePropertyEscape': generateUnicodePropertyEscape,\n 'value': generateValue\n };\n\n /*--------------------------------------------------------------------------*/\n\n // Export regjsgen.\n var regjsgen = {\n 'generate': generate\n };\n\n // Some AMD build optimizers, like r.js, check for condition patterns like the following:\n if (typeof define == 'function' && typeof define.amd == 'object' && define.amd) {\n // Define as an anonymous module so it can be aliased through path mapping.\n define(function () {\n return regjsgen;\n });\n root.regjsgen = regjsgen;\n }\n // Check for `exports` after `define` in case a build optimizer adds an `exports` object.\n else if (freeExports && hasFreeModule) {\n // Export for CommonJS support.\n freeExports.generate = generate;\n } else {\n // Export to the global object.\n root.regjsgen = regjsgen;\n }\n}).call(this);","const set = require('regenerate')();\nset.addRange(0x10C80, 0x10CB2).addRange(0x10CC0, 0x10CF2).addRange(0x10CFA, 0x10CFF);\nmodule.exports = set;","const set = require('regenerate')(0xB5, 0x101, 0x103, 0x105, 0x107, 0x109, 0x10B, 0x10D, 0x10F, 0x111, 0x113, 0x115, 0x117, 0x119, 0x11B, 0x11D, 0x11F, 0x121, 0x123, 0x125, 0x127, 0x129, 0x12B, 0x12D, 0x12F, 0x131, 0x133, 0x135, 0x137, 0x13A, 0x13C, 0x13E, 0x140, 0x142, 0x144, 0x146, 0x14B, 0x14D, 0x14F, 0x151, 0x153, 0x155, 0x157, 0x159, 0x15B, 0x15D, 0x15F, 0x161, 0x163, 0x165, 0x167, 0x169, 0x16B, 0x16D, 0x16F, 0x171, 0x173, 0x175, 0x177, 0x17A, 0x17C, 0x183, 0x185, 0x188, 0x18C, 0x192, 0x195, 0x19E, 0x1A1, 0x1A3, 0x1A5, 0x1A8, 0x1AD, 0x1B0, 0x1B4, 0x1B6, 0x1B9, 0x1BD, 0x1BF, 0x1C4, 0x1CC, 0x1CE, 0x1D0, 0x1D2, 0x1D4, 0x1D6, 0x1D8, 0x1DA, 0x1DF, 0x1E1, 0x1E3, 0x1E5, 0x1E7, 0x1E9, 0x1EB, 0x1ED, 0x1F3, 0x1F5, 0x1F9, 0x1FB, 0x1FD, 0x1FF, 0x201, 0x203, 0x205, 0x207, 0x209, 0x20B, 0x20D, 0x20F, 0x211, 0x213, 0x215, 0x217, 0x219, 0x21B, 0x21D, 0x21F, 0x223, 0x225, 0x227, 0x229, 0x22B, 0x22D, 0x22F, 0x231, 0x233, 0x23C, 0x242, 0x247, 0x249, 0x24B, 0x24D, 0x259, 0x263, 0x26F, 0x275, 0x27D, 0x280, 0x292, 0x345, 0x371, 0x373, 0x377, 0x390, 0x3D9, 0x3DB, 0x3DD, 0x3DF, 0x3E1, 0x3E3, 0x3E5, 0x3E7, 0x3E9, 0x3EB, 0x3ED, 0x3F5, 0x3F8, 0x3FB, 0x461, 0x463, 0x465, 0x467, 0x469, 0x46B, 0x46D, 0x46F, 0x471, 0x473, 0x475, 0x477, 0x479, 0x47B, 0x47D, 0x47F, 0x481, 0x48B, 0x48D, 0x48F, 0x491, 0x493, 0x495, 0x497, 0x499, 0x49B, 0x49D, 0x49F, 0x4A1, 0x4A3, 0x4A5, 0x4A7, 0x4A9, 0x4AB, 0x4AD, 0x4AF, 0x4B1, 0x4B3, 0x4B5, 0x4B7, 0x4B9, 0x4BB, 0x4BD, 0x4BF, 0x4C2, 0x4C4, 0x4C6, 0x4C8, 0x4CA, 0x4CC, 0x4D1, 0x4D3, 0x4D5, 0x4D7, 0x4D9, 0x4DB, 0x4DD, 0x4DF, 0x4E1, 0x4E3, 0x4E5, 0x4E7, 0x4E9, 0x4EB, 0x4ED, 0x4EF, 0x4F1, 0x4F3, 0x4F5, 0x4F7, 0x4F9, 0x4FB, 0x4FD, 0x4FF, 0x501, 0x503, 0x505, 0x507, 0x509, 0x50B, 0x50D, 0x50F, 0x511, 0x513, 0x515, 0x517, 0x519, 0x51B, 0x51D, 0x51F, 0x521, 0x523, 0x525, 0x527, 0x529, 0x52B, 0x52D, 0x52F, 0x1D79, 0x1D7D, 0x1D8E, 0x1E01, 0x1E03, 0x1E05, 0x1E07, 0x1E09, 0x1E0B, 0x1E0D, 0x1E0F, 0x1E11, 0x1E13, 0x1E15, 0x1E17, 0x1E19, 0x1E1B, 0x1E1D, 0x1E1F, 0x1E21, 0x1E23, 0x1E25, 0x1E27, 0x1E29, 0x1E2B, 0x1E2D, 0x1E2F, 0x1E31, 0x1E33, 0x1E35, 0x1E37, 0x1E39, 0x1E3B, 0x1E3D, 0x1E3F, 0x1E41, 0x1E43, 0x1E45, 0x1E47, 0x1E49, 0x1E4B, 0x1E4D, 0x1E4F, 0x1E51, 0x1E53, 0x1E55, 0x1E57, 0x1E59, 0x1E5B, 0x1E5D, 0x1E5F, 0x1E61, 0x1E63, 0x1E65, 0x1E67, 0x1E69, 0x1E6B, 0x1E6D, 0x1E6F, 0x1E71, 0x1E73, 0x1E75, 0x1E77, 0x1E79, 0x1E7B, 0x1E7D, 0x1E7F, 0x1E81, 0x1E83, 0x1E85, 0x1E87, 0x1E89, 0x1E8B, 0x1E8D, 0x1E8F, 0x1E91, 0x1E93, 0x1EA1, 0x1EA3, 0x1EA5, 0x1EA7, 0x1EA9, 0x1EAB, 0x1EAD, 0x1EAF, 0x1EB1, 0x1EB3, 0x1EB5, 0x1EB7, 0x1EB9, 0x1EBB, 0x1EBD, 0x1EBF, 0x1EC1, 0x1EC3, 0x1EC5, 0x1EC7, 0x1EC9, 0x1ECB, 0x1ECD, 0x1ECF, 0x1ED1, 0x1ED3, 0x1ED5, 0x1ED7, 0x1ED9, 0x1EDB, 0x1EDD, 0x1EDF, 0x1EE1, 0x1EE3, 0x1EE5, 0x1EE7, 0x1EE9, 0x1EEB, 0x1EED, 0x1EEF, 0x1EF1, 0x1EF3, 0x1EF5, 0x1EF7, 0x1EF9, 0x1EFB, 0x1EFD, 0x1FBE, 0x214E, 0x2184, 0x2C61, 0x2C68, 0x2C6A, 0x2C6C, 0x2C73, 0x2C76, 0x2C81, 0x2C83, 0x2C85, 0x2C87, 0x2C89, 0x2C8B, 0x2C8D, 0x2C8F, 0x2C91, 0x2C93, 0x2C95, 0x2C97, 0x2C99, 0x2C9B, 0x2C9D, 0x2C9F, 0x2CA1, 0x2CA3, 0x2CA5, 0x2CA7, 0x2CA9, 0x2CAB, 0x2CAD, 0x2CAF, 0x2CB1, 0x2CB3, 0x2CB5, 0x2CB7, 0x2CB9, 0x2CBB, 0x2CBD, 0x2CBF, 0x2CC1, 0x2CC3, 0x2CC5, 0x2CC7, 0x2CC9, 0x2CCB, 0x2CCD, 0x2CCF, 0x2CD1, 0x2CD3, 0x2CD5, 0x2CD7, 0x2CD9, 0x2CDB, 0x2CDD, 0x2CDF, 0x2CE1, 0x2CE3, 0x2CEC, 0x2CEE, 0x2CF3, 0x2D27, 0x2D2D, 0xA641, 0xA643, 0xA645, 0xA647, 0xA649, 0xA64B, 0xA64D, 0xA64F, 0xA651, 0xA653, 0xA655, 0xA657, 0xA659, 0xA65B, 0xA65D, 0xA65F, 0xA661, 0xA663, 0xA665, 0xA667, 0xA669, 0xA66B, 0xA66D, 0xA681, 0xA683, 0xA685, 0xA687, 0xA689, 0xA68B, 0xA68D, 0xA68F, 0xA691, 0xA693, 0xA695, 0xA697, 0xA699, 0xA69B, 0xA723, 0xA725, 0xA727, 0xA729, 0xA72B, 0xA72D, 0xA72F, 0xA733, 0xA735, 0xA737, 0xA739, 0xA73B, 0xA73D, 0xA73F, 0xA741, 0xA743, 0xA745, 0xA747, 0xA749, 0xA74B, 0xA74D, 0xA74F, 0xA751, 0xA753, 0xA755, 0xA757, 0xA759, 0xA75B, 0xA75D, 0xA75F, 0xA761, 0xA763, 0xA765, 0xA767, 0xA769, 0xA76B, 0xA76D, 0xA76F, 0xA77A, 0xA77C, 0xA77F, 0xA781, 0xA783, 0xA785, 0xA787, 0xA78C, 0xA791, 0xA797, 0xA799, 0xA79B, 0xA79D, 0xA79F, 0xA7A1, 0xA7A3, 0xA7A5, 0xA7A7, 0xA7A9, 0xA7B5, 0xA7B7, 0xA7B9, 0xA7BB, 0xA7BD, 0xA7BF, 0xA7C1, 0xA7C3, 0xA7C8, 0xA7CA, 0xA7D1, 0xA7D7, 0xA7D9, 0xA7F6, 0xAB53);\nset.addRange(0x61, 0x7A).addRange(0xDF, 0xF6).addRange(0xF8, 0xFF).addRange(0x148, 0x149).addRange(0x17E, 0x180).addRange(0x199, 0x19A).addRange(0x1C6, 0x1C7).addRange(0x1C9, 0x1CA).addRange(0x1DC, 0x1DD).addRange(0x1EF, 0x1F1).addRange(0x23F, 0x240).addRange(0x24F, 0x254).addRange(0x256, 0x257).addRange(0x25B, 0x25C).addRange(0x260, 0x261).addRange(0x265, 0x266).addRange(0x268, 0x26C).addRange(0x271, 0x272).addRange(0x282, 0x283).addRange(0x287, 0x28C).addRange(0x29D, 0x29E).addRange(0x37B, 0x37D).addRange(0x3AC, 0x3CE).addRange(0x3D0, 0x3D1).addRange(0x3D5, 0x3D7).addRange(0x3EF, 0x3F3).addRange(0x430, 0x45F).addRange(0x4CE, 0x4CF).addRange(0x561, 0x587).addRange(0x13F8, 0x13FD).addRange(0x1C80, 0x1C88).addRange(0x1E95, 0x1E9B).addRange(0x1EFF, 0x1F07).addRange(0x1F10, 0x1F15).addRange(0x1F20, 0x1F27).addRange(0x1F30, 0x1F37).addRange(0x1F40, 0x1F45).addRange(0x1F50, 0x1F57).addRange(0x1F60, 0x1F67).addRange(0x1F70, 0x1F7D).addRange(0x1F80, 0x1F87).addRange(0x1F90, 0x1F97).addRange(0x1FA0, 0x1FA7).addRange(0x1FB0, 0x1FB4).addRange(0x1FB6, 0x1FB7).addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FC7).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FD7).addRange(0x1FE0, 0x1FE7).addRange(0x1FF2, 0x1FF4);\nset.addRange(0x1FF6, 0x1FF7).addRange(0x2170, 0x217F).addRange(0x24D0, 0x24E9).addRange(0x2C30, 0x2C5F).addRange(0x2C65, 0x2C66).addRange(0x2D00, 0x2D25).addRange(0xA793, 0xA794).addRange(0xAB70, 0xABBF).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFF41, 0xFF5A).addRange(0x10428, 0x1044F).addRange(0x104D8, 0x104FB).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10CC0, 0x10CF2).addRange(0x118C0, 0x118DF).addRange(0x16E60, 0x16E7F).addRange(0x1E922, 0x1E943);\nmodule.exports = set;","import React, { createElement } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { publicLoader } from \"./loader\"\nimport { apiRunner } from \"./api-runner-browser\"\nimport { grabMatchParams } from \"./find-path\"\n\n// Renders page\nclass PageRenderer extends React.Component {\n render() {\n const props = {\n ...this.props,\n params: {\n ...grabMatchParams(this.props.location.pathname),\n ...this.props.pageResources.json.pageContext.__params,\n },\n pathContext: this.props.pageContext,\n }\n\n const [replacementElement] = apiRunner(`replaceComponentRenderer`, {\n props: this.props,\n loader: publicLoader,\n })\n\n const pageElement =\n replacementElement ||\n createElement(this.props.pageResources.component, {\n ...props,\n key: this.props.path || this.props.pageResources.page.path,\n })\n\n const wrappedPage = apiRunner(\n `wrapPageElement`,\n { element: pageElement, props },\n pageElement,\n ({ result }) => {\n return { element: result, props }\n }\n ).pop()\n\n return wrappedPage\n }\n}\n\nPageRenderer.propTypes = {\n location: PropTypes.object.isRequired,\n pageResources: PropTypes.object.isRequired,\n data: PropTypes.object,\n pageContext: PropTypes.object.isRequired,\n}\n\nexport default PageRenderer\n","/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\nmodule.exports = matchesStrictComparable;\n","const set = require('regenerate')();\nset.addRange(0xFDD0, 0xFDEF).addRange(0xFFFE, 0xFFFF).addRange(0x1FFFE, 0x1FFFF).addRange(0x2FFFE, 0x2FFFF).addRange(0x3FFFE, 0x3FFFF).addRange(0x4FFFE, 0x4FFFF).addRange(0x5FFFE, 0x5FFFF).addRange(0x6FFFE, 0x6FFFF).addRange(0x7FFFE, 0x7FFFF).addRange(0x8FFFE, 0x8FFFF).addRange(0x9FFFE, 0x9FFFF).addRange(0xAFFFE, 0xAFFFF).addRange(0xBFFFE, 0xBFFFF).addRange(0xCFFFE, 0xCFFFF).addRange(0xDFFFE, 0xDFFFF).addRange(0xEFFFE, 0xEFFFF).addRange(0xFFFFE, 0xFFFFF).addRange(0x10FFFE, 0x10FFFF);\nmodule.exports = set;","'use strict';\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar fails = require('../internals/fails');\nvar aCallable = require('../internals/a-callable');\nvar internalSort = require('../internals/array-sort');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar FF = require('../internals/engine-ff-version');\nvar IE_OR_EDGE = require('../internals/engine-is-ie-or-edge');\nvar V8 = require('../internals/engine-v8-version');\nvar WEBKIT = require('../internals/engine-webkit-version');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar Uint16Array = global.Uint16Array;\nvar nativeSort = Uint16Array && uncurryThis(Uint16Array.prototype.sort);\n\n// WebKit\nvar ACCEPT_INCORRECT_ARGUMENTS = !!nativeSort && !(fails(function () {\n nativeSort(new Uint16Array(2), null);\n}) && fails(function () {\n nativeSort(new Uint16Array(2), {});\n}));\n\nvar STABLE_SORT = !!nativeSort && !fails(function () {\n // feature detection can be too slow, so check engines versions\n if (V8) return V8 < 74;\n if (FF) return FF < 67;\n if (IE_OR_EDGE) return true;\n if (WEBKIT) return WEBKIT < 602;\n\n var array = new Uint16Array(516);\n var expected = Array(516);\n var index, mod;\n\n for (index = 0; index < 516; index++) {\n mod = index % 4;\n array[index] = 515 - index;\n expected[index] = index - 2 * mod + 3;\n }\n\n nativeSort(array, function (a, b) {\n return (a / 4 | 0) - (b / 4 | 0);\n });\n\n for (index = 0; index < 516; index++) {\n if (array[index] !== expected[index]) return true;\n }\n});\n\nvar getSortCompare = function (comparefn) {\n return function (x, y) {\n if (comparefn !== undefined) return +comparefn(x, y) || 0;\n // eslint-disable-next-line no-self-compare -- NaN check\n if (y !== y) return -1;\n // eslint-disable-next-line no-self-compare -- NaN check\n if (x !== x) return 1;\n if (x === 0 && y === 0) return 1 / x > 0 && 1 / y < 0 ? 1 : -1;\n return x > y;\n };\n};\n\n// `%TypedArray%.prototype.sort` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.sort\nexportTypedArrayMethod('sort', function sort(comparefn) {\n if (comparefn !== undefined) aCallable(comparefn);\n if (STABLE_SORT) return nativeSort(this, comparefn);\n\n return internalSort(aTypedArray(this), getSortCompare(comparefn));\n}, !STABLE_SORT || ACCEPT_INCORRECT_ARGUMENTS);\n","module.exports = {\n 'ary': require('../ary'),\n 'assign': require('../_baseAssign'),\n 'clone': require('../clone'),\n 'curry': require('../curry'),\n 'forEach': require('../_arrayEach'),\n 'isArray': require('../isArray'),\n 'isError': require('../isError'),\n 'isFunction': require('../isFunction'),\n 'isWeakMap': require('../isWeakMap'),\n 'iteratee': require('../iteratee'),\n 'keys': require('../_baseKeys'),\n 'rearg': require('../rearg'),\n 'toInteger': require('../toInteger'),\n 'toPath': require('../toPath')\n};\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FrameContextConsumer = exports.FrameContext = undefined;\nvar _Context = require('./Context');\nObject.defineProperty(exports, 'FrameContext', {\n enumerable: true,\n get: function get() {\n return _Context.FrameContext;\n }\n});\nObject.defineProperty(exports, 'FrameContextConsumer', {\n enumerable: true,\n get: function get() {\n return _Context.FrameContextConsumer;\n }\n});\nvar _Frame = require('./Frame');\nvar _Frame2 = _interopRequireDefault(_Frame);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nexports.default = _Frame2.default;","var apply = require('./_apply');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = overRest;\n","const set = require('regenerate')();\nset.addRange(0xAA80, 0xAAC2).addRange(0xAADB, 0xAADF);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0xAAE0, 0xAAF6).addRange(0xABC0, 0xABED).addRange(0xABF0, 0xABF9);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x10A00, 0x10A03).addRange(0x10A05, 0x10A06).addRange(0x10A0C, 0x10A13).addRange(0x10A15, 0x10A17).addRange(0x10A19, 0x10A35).addRange(0x10A38, 0x10A3A).addRange(0x10A3F, 0x10A48).addRange(0x10A50, 0x10A58);\nmodule.exports = set;","const set = require('regenerate')(0x5F, 0x2054, 0xFF3F);\nset.addRange(0x203F, 0x2040).addRange(0xFE33, 0xFE34).addRange(0xFE4D, 0xFE4F);\nmodule.exports = set;","const set = require('regenerate')(0x11D3A);\nset.addRange(0x964, 0x965).addRange(0x11D00, 0x11D06).addRange(0x11D08, 0x11D09).addRange(0x11D0B, 0x11D36).addRange(0x11D3C, 0x11D3D).addRange(0x11D3F, 0x11D47).addRange(0x11D50, 0x11D59);\nmodule.exports = set;","require('../../modules/es.object.assign');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.assign;\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","var baseFor = require('./_baseFor'),\n keys = require('./keys');\n\n/**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n","const set = require('regenerate')(0x118FF);\nset.addRange(0x118A0, 0x118F2);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x1A00, 0x1A1B).addRange(0x1A1E, 0x1A1F);\nmodule.exports = set;","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","const set = require('regenerate')(0x3030, 0x3037, 0x30FB);\nset.addRange(0x2EA, 0x2EB).addRange(0x3001, 0x3003).addRange(0x3008, 0x3011).addRange(0x3013, 0x301F).addRange(0x302A, 0x302D).addRange(0x3105, 0x312F).addRange(0x31A0, 0x31BF).addRange(0xFE45, 0xFE46).addRange(0xFF61, 0xFF65);\nmodule.exports = set;","const set = require('regenerate')(0x16FE1);\nset.addRange(0x1B170, 0x1B2FB);\nmodule.exports = set;","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n","import * as React from 'react';\nexport default {\n React\n};","const set = require('regenerate')(0xB5, 0x37F, 0x386, 0x38C, 0x10C7, 0x10CD, 0x1F59, 0x1F5B, 0x1F5D, 0x1FBE, 0x2102, 0x2107, 0x2115, 0x2124, 0x2126, 0x2128, 0x2139, 0x214E, 0x2D27, 0x2D2D, 0xA7D3, 0xA7FA, 0x1D4A2, 0x1D4BB, 0x1D546);\nset.addRange(0x41, 0x5A).addRange(0x61, 0x7A).addRange(0xC0, 0xD6).addRange(0xD8, 0xF6).addRange(0xF8, 0x1BA).addRange(0x1BC, 0x1BF).addRange(0x1C4, 0x293).addRange(0x295, 0x2AF).addRange(0x370, 0x373).addRange(0x376, 0x377).addRange(0x37B, 0x37D).addRange(0x388, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x3F5).addRange(0x3F7, 0x481).addRange(0x48A, 0x52F).addRange(0x531, 0x556).addRange(0x560, 0x588).addRange(0x10A0, 0x10C5).addRange(0x10D0, 0x10FA).addRange(0x10FD, 0x10FF).addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0x1C80, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1D00, 0x1D2B).addRange(0x1D6B, 0x1D77).addRange(0x1D79, 0x1D9A).addRange(0x1E00, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D).addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FBC).addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FCC).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FE0, 0x1FEC).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFC).addRange(0x210A, 0x2113).addRange(0x2119, 0x211D).addRange(0x212A, 0x212D).addRange(0x212F, 0x2134).addRange(0x213C, 0x213F).addRange(0x2145, 0x2149).addRange(0x2183, 0x2184);\nset.addRange(0x2C00, 0x2C7B).addRange(0x2C7E, 0x2CE4).addRange(0x2CEB, 0x2CEE).addRange(0x2CF2, 0x2CF3).addRange(0x2D00, 0x2D25).addRange(0xA640, 0xA66D).addRange(0xA680, 0xA69B).addRange(0xA722, 0xA76F).addRange(0xA771, 0xA787).addRange(0xA78B, 0xA78E).addRange(0xA790, 0xA7CA).addRange(0xA7D0, 0xA7D1).addRange(0xA7D5, 0xA7D9).addRange(0xA7F5, 0xA7F6).addRange(0xAB30, 0xAB5A).addRange(0xAB60, 0xAB68).addRange(0xAB70, 0xABBF).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFF21, 0xFF3A).addRange(0xFF41, 0xFF5A).addRange(0x10400, 0x1044F).addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10C80, 0x10CB2).addRange(0x10CC0, 0x10CF2).addRange(0x118A0, 0x118DF).addRange(0x16E40, 0x16E7F).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550);\nset.addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D6C0).addRange(0x1D6C2, 0x1D6DA).addRange(0x1D6DC, 0x1D6FA).addRange(0x1D6FC, 0x1D714).addRange(0x1D716, 0x1D734).addRange(0x1D736, 0x1D74E).addRange(0x1D750, 0x1D76E).addRange(0x1D770, 0x1D788).addRange(0x1D78A, 0x1D7A8).addRange(0x1D7AA, 0x1D7C2).addRange(0x1D7C4, 0x1D7CB).addRange(0x1DF00, 0x1DF09).addRange(0x1DF0B, 0x1DF1E).addRange(0x1E900, 0x1E943);\nmodule.exports = set;","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n","const set = require('regenerate')(0x118FF);\nset.addRange(0x118A0, 0x118F2);\nmodule.exports = set;","/** Used to lookup unminified function names. */\nvar realNames = {};\n\nmodule.exports = realNames;\n","// regjsparser\n//\n// ==================================================================\n//\n// See ECMA-262 Standard: 15.10.1\n//\n// NOTE: The ECMA-262 standard uses the term \"Assertion\" for /^/. Here the\n// term \"Anchor\" is used.\n//\n// Pattern ::\n// Disjunction\n//\n// Disjunction ::\n// Alternative\n// Alternative | Disjunction\n//\n// Alternative ::\n// [empty]\n// Alternative Term\n//\n// Term ::\n// Anchor\n// Atom\n// Atom Quantifier\n//\n// Anchor ::\n// ^\n// $\n// \\ b\n// \\ B\n// ( ? = Disjunction )\n// ( ? ! Disjunction )\n// ( ? < = Disjunction )\n// ( ? < ! Disjunction )\n//\n// Quantifier ::\n// QuantifierPrefix\n// QuantifierPrefix ?\n//\n// QuantifierPrefix ::\n// *\n// +\n// ?\n// { DecimalDigits }\n// { DecimalDigits , }\n// { DecimalDigits , DecimalDigits }\n//\n// Atom ::\n// PatternCharacter\n// .\n// \\ AtomEscape\n// CharacterClass\n// ( GroupSpecifier Disjunction )\n// ( ? : Disjunction )\n//\n// PatternCharacter ::\n// SourceCharacter but not any of: ^ $ \\ . * + ? ( ) [ ] { } |\n//\n// AtomEscape ::\n// DecimalEscape\n// CharacterClassEscape\n// CharacterEscape\n// k GroupName\n//\n// CharacterEscape[U] ::\n// ControlEscape\n// c ControlLetter\n// HexEscapeSequence\n// RegExpUnicodeEscapeSequence[?U] (ES6)\n// IdentityEscape[?U]\n//\n// ControlEscape ::\n// one of f n r t v\n// ControlLetter ::\n// one of\n// a b c d e f g h i j k l m n o p q r s t u v w x y z\n// A B C D E F G H I J K L M N O P Q R S T U V W X Y Z\n//\n// IdentityEscape ::\n// SourceCharacter but not c\n//\n// DecimalEscape ::\n// DecimalIntegerLiteral [lookahead ∉ DecimalDigit]\n//\n// CharacterClassEscape ::\n// one of d D s S w W\n//\n// CharacterClass ::\n// [ [lookahead ∉ {^}] ClassRanges ]\n// [ ^ ClassRanges ]\n//\n// ClassRanges ::\n// [empty]\n// [~V] NonemptyClassRanges\n// [+V] ClassContents\n//\n// NonemptyClassRanges ::\n// ClassAtom\n// ClassAtom NonemptyClassRangesNoDash\n// ClassAtom - ClassAtom ClassRanges\n//\n// NonemptyClassRangesNoDash ::\n// ClassAtom\n// ClassAtomNoDash NonemptyClassRangesNoDash\n// ClassAtomNoDash - ClassAtom ClassRanges\n//\n// ClassAtom ::\n// -\n// ClassAtomNoDash\n//\n// ClassAtomNoDash ::\n// SourceCharacter but not one of \\ or ] or -\n// \\ ClassEscape\n//\n// ClassEscape ::\n// DecimalEscape\n// b\n// CharacterEscape\n// CharacterClassEscape\n//\n// GroupSpecifier ::\n// [empty]\n// ? GroupName\n//\n// GroupName ::\n// < RegExpIdentifierName >\n//\n// RegExpIdentifierName ::\n// RegExpIdentifierStart\n// RegExpIdentifierName RegExpIdentifierContinue\n//\n// RegExpIdentifierStart ::\n// UnicodeIDStart\n// $\n// _\n// \\ RegExpUnicodeEscapeSequence\n//\n// RegExpIdentifierContinue ::\n// UnicodeIDContinue\n// $\n// _\n// \\ RegExpUnicodeEscapeSequence\n// \n// \n//\n// --------------------------------------------------------------\n// NOTE: The following productions refer to the \"set notation and\n// properties of strings\" proposal.\n// https://github.com/tc39/proposal-regexp-set-notation\n// --------------------------------------------------------------\n//\n// ClassContents ::\n// ClassUnion\n// ClassIntersection\n// ClassSubtraction\n//\n// ClassUnion ::\n// ClassRange ClassUnion?\n// ClassOperand ClassUnion?\n//\n// ClassIntersection ::\n// ClassOperand && [lookahead ≠ &] ClassOperand\n// ClassIntersection && [lookahead ≠ &] ClassOperand\n//\n// ClassSubtraction ::\n// ClassOperand -- ClassOperand\n// ClassSubtraction -- ClassOperand\n//\n// ClassOperand ::\n// ClassCharacter\n// ClassStrings\n// NestedClass\n//\n// NestedClass ::\n// [ [lookahead ≠ ^] ClassRanges[+U,+V] ]\n// [ ^ ClassRanges[+U,+V] ]\n// \\ CharacterClassEscape[+U, +V]\n//\n// ClassRange ::\n// ClassCharacter - ClassCharacter\n//\n// ClassCharacter ::\n// [lookahead ∉ ClassReservedDouble] SourceCharacter but not ClassSyntaxCharacter\n// \\ CharacterEscape[+U]\n// \\ ClassHalfOfDouble\n// \\ b\n//\n// ClassSyntaxCharacter ::\n// one of ( ) [ ] { } / - \\ |\n//\n// ClassStrings ::\n// ( ClassString MoreClassStrings? )\n//\n// MoreClassStrings ::\n// | ClassString MoreClassStrings?\n//\n// ClassString ::\n// [empty]\n// NonEmptyClassString\n//\n// NonEmptyClassString ::\n// ClassCharacter NonEmptyClassString?\n//\n// ClassReservedDouble ::\n// one of && !! ## $$ %% ** ++ ,, .. :: ;; << == >> ?? @@ ^^ __ `` ~~\n//\n// ClassHalfOfDouble ::\n// one of & - ! # % , : ; < = > @ _ ` ~\n//\n\n(function () {\n var fromCodePoint = String.fromCodePoint || function () {\n // Implementation taken from\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fromCodePoint\n\n var stringFromCharCode = String.fromCharCode;\n var floor = Math.floor;\n return function fromCodePoint() {\n var MAX_SIZE = 0x4000;\n var codeUnits = [];\n var highSurrogate;\n var lowSurrogate;\n var index = -1;\n var length = arguments.length;\n if (!length) {\n return '';\n }\n var result = '';\n while (++index < length) {\n var codePoint = Number(arguments[index]);\n if (!isFinite(codePoint) ||\n // `NaN`, `+Infinity`, or `-Infinity`\n codePoint < 0 ||\n // not a valid Unicode code point\n codePoint > 0x10FFFF ||\n // not a valid Unicode code point\n floor(codePoint) != codePoint // not an integer\n ) {\n throw RangeError('Invalid code point: ' + codePoint);\n }\n if (codePoint <= 0xFFFF) {\n // BMP code point\n codeUnits.push(codePoint);\n } else {\n // Astral code point; split in surrogate halves\n // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n codePoint -= 0x10000;\n highSurrogate = (codePoint >> 10) + 0xD800;\n lowSurrogate = codePoint % 0x400 + 0xDC00;\n codeUnits.push(highSurrogate, lowSurrogate);\n }\n if (index + 1 == length || codeUnits.length > MAX_SIZE) {\n result += stringFromCharCode.apply(null, codeUnits);\n codeUnits.length = 0;\n }\n }\n return result;\n };\n }();\n function parse(str, flags, features) {\n if (!features) {\n features = {};\n }\n function addRaw(node) {\n node.raw = str.substring(node.range[0], node.range[1]);\n return node;\n }\n function updateRawStart(node, start) {\n node.range[0] = start;\n return addRaw(node);\n }\n function createAnchor(kind, rawLength) {\n return addRaw({\n type: 'anchor',\n kind: kind,\n range: [pos - rawLength, pos]\n });\n }\n function createValue(kind, codePoint, from, to) {\n return addRaw({\n type: 'value',\n kind: kind,\n codePoint: codePoint,\n range: [from, to]\n });\n }\n function createEscaped(kind, codePoint, value, fromOffset) {\n fromOffset = fromOffset || 0;\n return createValue(kind, codePoint, pos - (value.length + fromOffset), pos);\n }\n function createCharacter(matches) {\n var _char = matches[0];\n var first = _char.charCodeAt(0);\n if (hasUnicodeFlag) {\n var second;\n if (_char.length === 1 && first >= 0xD800 && first <= 0xDBFF) {\n second = lookahead().charCodeAt(0);\n if (second >= 0xDC00 && second <= 0xDFFF) {\n // Unicode surrogate pair\n pos++;\n return createValue('symbol', (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000, pos - 2, pos);\n }\n }\n }\n return createValue('symbol', first, pos - 1, pos);\n }\n function createDisjunction(alternatives, from, to) {\n return addRaw({\n type: 'disjunction',\n body: alternatives,\n range: [from, to]\n });\n }\n function createDot() {\n return addRaw({\n type: 'dot',\n range: [pos - 1, pos]\n });\n }\n function createCharacterClassEscape(value) {\n return addRaw({\n type: 'characterClassEscape',\n value: value,\n range: [pos - 2, pos]\n });\n }\n function createReference(matchIndex) {\n return addRaw({\n type: 'reference',\n matchIndex: parseInt(matchIndex, 10),\n range: [pos - 1 - matchIndex.length, pos]\n });\n }\n function createNamedReference(name) {\n return addRaw({\n type: 'reference',\n name: name,\n range: [name.range[0] - 3, pos]\n });\n }\n function createGroup(behavior, disjunction, from, to) {\n return addRaw({\n type: 'group',\n behavior: behavior,\n body: disjunction,\n range: [from, to]\n });\n }\n function createQuantifier(min, max, from, to) {\n if (to == null) {\n from = pos - 1;\n to = pos;\n }\n return addRaw({\n type: 'quantifier',\n min: min,\n max: max,\n greedy: true,\n body: null,\n // set later on\n range: [from, to]\n });\n }\n function createAlternative(terms, from, to) {\n return addRaw({\n type: 'alternative',\n body: terms,\n range: [from, to]\n });\n }\n function createCharacterClass(contents, negative, from, to) {\n return addRaw({\n type: 'characterClass',\n kind: contents.kind,\n body: contents.body,\n negative: negative,\n range: [from, to]\n });\n }\n function createClassRange(min, max, from, to) {\n // See 15.10.2.15:\n if (min.codePoint > max.codePoint) {\n bail('invalid range in character class', min.raw + '-' + max.raw, from, to);\n }\n return addRaw({\n type: 'characterClassRange',\n min: min,\n max: max,\n range: [from, to]\n });\n }\n function createClassStrings(strings, from, to) {\n return addRaw({\n type: 'classStrings',\n strings: strings,\n range: [from, to]\n });\n }\n function createClassString(characters, from, to) {\n return addRaw({\n type: 'classString',\n characters: characters,\n range: [from, to]\n });\n }\n function flattenBody(body) {\n if (body.type === 'alternative') {\n return body.body;\n } else {\n return [body];\n }\n }\n function incr(amount) {\n amount = amount || 1;\n var res = str.substring(pos, pos + amount);\n pos += amount || 1;\n return res;\n }\n function skip(value) {\n if (!match(value)) {\n bail('character', value);\n }\n }\n function match(value) {\n if (str.indexOf(value, pos) === pos) {\n return incr(value.length);\n }\n }\n function lookahead() {\n return str[pos];\n }\n function current(value) {\n return str.indexOf(value, pos) === pos;\n }\n function next(value) {\n return str[pos + 1] === value;\n }\n function matchReg(regExp) {\n var subStr = str.substring(pos);\n var res = subStr.match(regExp);\n if (res) {\n res.range = [];\n res.range[0] = pos;\n incr(res[0].length);\n res.range[1] = pos;\n }\n return res;\n }\n function parseDisjunction() {\n // Disjunction ::\n // Alternative\n // Alternative | Disjunction\n var res = [],\n from = pos;\n res.push(parseAlternative());\n while (match('|')) {\n res.push(parseAlternative());\n }\n if (res.length === 1) {\n return res[0];\n }\n return createDisjunction(res, from, pos);\n }\n function parseAlternative() {\n var res = [],\n from = pos;\n var term;\n\n // Alternative ::\n // [empty]\n // Alternative Term\n while (term = parseTerm()) {\n res.push(term);\n }\n if (res.length === 1) {\n return res[0];\n }\n return createAlternative(res, from, pos);\n }\n function parseTerm() {\n // Term ::\n // Anchor\n // Atom\n // Atom Quantifier\n\n if (pos >= str.length || current('|') || current(')')) {\n return null; /* Means: The term is empty */\n }\n\n var anchor = parseAnchor();\n if (anchor) {\n return anchor;\n }\n var atom = parseAtomAndExtendedAtom();\n if (!atom) {\n // Check if a quantifier is following. A quantifier without an atom\n // is an error.\n pos_backup = pos;\n var quantifier = parseQuantifier() || false;\n if (quantifier) {\n pos = pos_backup;\n bail('Expected atom');\n }\n\n // If no unicode flag, then try to parse ExtendedAtom -> ExtendedPatternCharacter.\n // ExtendedPatternCharacter\n if (!hasUnicodeFlag && (res = matchReg(/^{/))) {\n atom = createCharacter(res);\n } else {\n bail('Expected atom');\n }\n }\n var quantifier = parseQuantifier() || false;\n if (quantifier) {\n quantifier.body = flattenBody(atom);\n // The quantifier contains the atom. Therefore, the beginning of the\n // quantifier range is given by the beginning of the atom.\n updateRawStart(quantifier, atom.range[0]);\n return quantifier;\n }\n return atom;\n }\n function parseGroup(matchA, typeA, matchB, typeB) {\n var type = null,\n from = pos;\n if (match(matchA)) {\n type = typeA;\n } else if (match(matchB)) {\n type = typeB;\n } else {\n return false;\n }\n return finishGroup(type, from);\n }\n function finishGroup(type, from) {\n var body = parseDisjunction();\n if (!body) {\n bail('Expected disjunction');\n }\n skip(')');\n var group = createGroup(type, flattenBody(body), from, pos);\n if (type == 'normal') {\n // Keep track of the number of closed groups. This is required for\n // parseDecimalEscape(). In case the string is parsed a second time the\n // value already holds the total count and no incrementation is required.\n if (firstIteration) {\n closedCaptureCounter++;\n }\n }\n return group;\n }\n function parseAnchor() {\n // Anchor ::\n // ^\n // $\n // \\ b\n // \\ B\n // ( ? = Disjunction )\n // ( ? ! Disjunction )\n var res,\n from = pos;\n if (match('^')) {\n return createAnchor('start', 1 /* rawLength */);\n } else if (match('$')) {\n return createAnchor('end', 1 /* rawLength */);\n } else if (match('\\\\b')) {\n return createAnchor('boundary', 2 /* rawLength */);\n } else if (match('\\\\B')) {\n return createAnchor('not-boundary', 2 /* rawLength */);\n } else {\n return parseGroup('(?=', 'lookahead', '(?!', 'negativeLookahead');\n }\n }\n function parseQuantifier() {\n // Quantifier ::\n // QuantifierPrefix\n // QuantifierPrefix ?\n //\n // QuantifierPrefix ::\n // *\n // +\n // ?\n // { DecimalDigits }\n // { DecimalDigits , }\n // { DecimalDigits , DecimalDigits }\n\n var res,\n from = pos;\n var quantifier;\n var min, max;\n if (match('*')) {\n quantifier = createQuantifier(0);\n } else if (match('+')) {\n quantifier = createQuantifier(1);\n } else if (match('?')) {\n quantifier = createQuantifier(0, 1);\n } else if (res = matchReg(/^\\{([0-9]+)\\}/)) {\n min = parseInt(res[1], 10);\n quantifier = createQuantifier(min, min, res.range[0], res.range[1]);\n } else if (res = matchReg(/^\\{([0-9]+),\\}/)) {\n min = parseInt(res[1], 10);\n quantifier = createQuantifier(min, undefined, res.range[0], res.range[1]);\n } else if (res = matchReg(/^\\{([0-9]+),([0-9]+)\\}/)) {\n min = parseInt(res[1], 10);\n max = parseInt(res[2], 10);\n if (min > max) {\n bail('numbers out of order in {} quantifier', '', from, pos);\n }\n quantifier = createQuantifier(min, max, res.range[0], res.range[1]);\n }\n if (quantifier) {\n if (match('?')) {\n quantifier.greedy = false;\n quantifier.range[1] += 1;\n }\n }\n return quantifier;\n }\n function parseAtomAndExtendedAtom() {\n // Parsing Atom and ExtendedAtom together due to redundancy.\n // ExtendedAtom is defined in Apendix B of the ECMA-262 standard.\n //\n // SEE: https://www.ecma-international.org/ecma-262/10.0/index.html#prod-annexB-ExtendedPatternCharacter\n //\n // Atom ::\n // PatternCharacter\n // .\n // \\ AtomEscape\n // CharacterClass\n // ( GroupSpecifier Disjunction )\n // ( ? : Disjunction )\n // ExtendedAtom ::\n // ExtendedPatternCharacter\n // ExtendedPatternCharacter ::\n // SourceCharacter but not one of ^$\\.*+?()[|\n\n var res;\n\n // jviereck: allow ']', '}' here as well to be compatible with browser's\n // implementations: ']'.match(/]/);\n if (res = matchReg(/^[^^$\\\\.*+?()[\\]{}|]/)) {\n // PatternCharacter\n return createCharacter(res);\n } else if (!hasUnicodeFlag && (res = matchReg(/^(?:]|})/))) {\n // ExtendedPatternCharacter, first part. See parseTerm.\n return createCharacter(res);\n } else if (match('.')) {\n // .\n return createDot();\n } else if (match('\\\\')) {\n // \\ AtomEscape\n res = parseAtomEscape();\n if (!res) {\n if (!hasUnicodeFlag && lookahead() == 'c') {\n // B.1.4 ExtendedAtom\n // \\[lookahead = c]\n return createValue('symbol', 92, pos - 1, pos);\n }\n bail('atomEscape');\n }\n return res;\n } else if (res = parseCharacterClass()) {\n return res;\n } else if (features.lookbehind && (res = parseGroup('(?<=', 'lookbehind', '(?\");\n var group = finishGroup(\"normal\", name.range[0] - 3);\n group.name = name;\n return group;\n } else {\n // ( Disjunction )\n // ( ? : Disjunction )\n return parseGroup('(?:', 'ignore', '(', 'normal');\n }\n }\n function parseUnicodeSurrogatePairEscape(firstEscape) {\n if (hasUnicodeFlag) {\n var first, second;\n if (firstEscape.kind == 'unicodeEscape' && (first = firstEscape.codePoint) >= 0xD800 && first <= 0xDBFF && current('\\\\') && next('u')) {\n var prevPos = pos;\n pos++;\n var secondEscape = parseClassEscape();\n if (secondEscape.kind == 'unicodeEscape' && (second = secondEscape.codePoint) >= 0xDC00 && second <= 0xDFFF) {\n // Unicode surrogate pair\n firstEscape.range[1] = secondEscape.range[1];\n firstEscape.codePoint = (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;\n firstEscape.type = 'value';\n firstEscape.kind = 'unicodeCodePointEscape';\n addRaw(firstEscape);\n } else {\n pos = prevPos;\n }\n }\n }\n return firstEscape;\n }\n function parseClassEscape() {\n return parseAtomEscape(true);\n }\n function parseAtomEscape(insideCharacterClass) {\n // AtomEscape ::\n // DecimalEscape\n // CharacterEscape\n // CharacterClassEscape\n // k GroupName\n\n var res,\n from = pos;\n res = parseDecimalEscape() || parseNamedReference();\n if (res) {\n return res;\n }\n\n // For ClassEscape\n if (insideCharacterClass) {\n // b\n if (match('b')) {\n // 15.10.2.19\n // The production ClassEscape :: b evaluates by returning the\n // CharSet containing the one character (Unicode value 0008).\n return createEscaped('singleEscape', 0x0008, '\\\\b');\n } else if (match('B')) {\n bail('\\\\B not possible inside of CharacterClass', '', from);\n } else if (!hasUnicodeFlag && (res = matchReg(/^c([0-9])/))) {\n // B.1.4\n // c ClassControlLetter, ClassControlLetter = DecimalDigit\n return createEscaped('controlLetter', res[1] + 16, res[1], 2);\n } else if (!hasUnicodeFlag && (res = matchReg(/^c_/))) {\n // B.1.4\n // c ClassControlLetter, ClassControlLetter = _\n return createEscaped('controlLetter', 31, '_', 2);\n }\n // [+U] -\n if (hasUnicodeFlag && match('-')) {\n return createEscaped('singleEscape', 0x002d, '\\\\-');\n }\n }\n res = parseCharacterClassEscape() || parseCharacterEscape();\n return res;\n }\n function parseDecimalEscape() {\n // DecimalEscape ::\n // DecimalIntegerLiteral [lookahead ∉ DecimalDigit]\n\n var res, match;\n if (res = matchReg(/^(?!0)\\d+/)) {\n match = res[0];\n var refIdx = parseInt(res[0], 10);\n if (refIdx <= closedCaptureCounter) {\n // If the number is smaller than the normal-groups found so\n // far, then it is a reference...\n return createReference(res[0]);\n } else {\n // ... otherwise it needs to be interpreted as a octal (if the\n // number is in an octal format). If it is NOT octal format,\n // then the slash is ignored and the number is matched later\n // as normal characters.\n\n // Recall the negative decision to decide if the input must be parsed\n // a second time with the total normal-groups.\n backrefDenied.push(refIdx);\n\n // Reset the position again, as maybe only parts of the previous\n // matched numbers are actual octal numbers. E.g. in '019' only\n // the '01' should be matched.\n incr(-res[0].length);\n if (res = matchReg(/^[0-7]{1,3}/)) {\n return createEscaped('octal', parseInt(res[0], 8), res[0], 1);\n } else {\n // If we end up here, we have a case like /\\91/. Then the\n // first slash is to be ignored and the 9 & 1 to be treated\n // like ordinary characters. Create a character for the\n // first number only here - other number-characters\n // (if available) will be matched later.\n res = createCharacter(matchReg(/^[89]/));\n return updateRawStart(res, res.range[0] - 1);\n }\n }\n }\n // Only allow octal numbers in the following. All matched numbers start\n // with a zero (if the do not, the previous if-branch is executed).\n // If the number is not octal format and starts with zero (e.g. `091`)\n // then only the zeros `0` is treated here and the `91` are ordinary\n // characters.\n // Example:\n // /\\091/.exec('\\091')[0].length === 3\n else if (res = matchReg(/^[0-7]{1,3}/)) {\n match = res[0];\n if (/^0{1,3}$/.test(match)) {\n // If they are all zeros, then only take the first one.\n return createEscaped('null', 0x0000, '0', match.length);\n } else {\n return createEscaped('octal', parseInt(match, 8), match, 1);\n }\n }\n return false;\n }\n function parseCharacterClassEscape() {\n // CharacterClassEscape :: one of d D s S w W\n var res;\n if (res = matchReg(/^[dDsSwW]/)) {\n return createCharacterClassEscape(res[0]);\n } else if (features.unicodePropertyEscape && (hasUnicodeFlag || hasUnicodeSetFlag) && (res = matchReg(/^([pP])\\{([^\\}]+)\\}/))) {\n // https://github.com/jviereck/regjsparser/issues/77\n return addRaw({\n type: 'unicodePropertyEscape',\n negative: res[1] === 'P',\n value: res[2],\n range: [res.range[0] - 1, res.range[1]],\n raw: res[0]\n });\n }\n return false;\n }\n function parseNamedReference() {\n if (features.namedGroups && matchReg(/^k<(?=.*?>)/)) {\n var name = parseIdentifier();\n skip('>');\n return createNamedReference(name);\n }\n }\n function parseRegExpUnicodeEscapeSequence() {\n var res;\n if (res = matchReg(/^u([0-9a-fA-F]{4})/)) {\n // UnicodeEscapeSequence\n return parseUnicodeSurrogatePairEscape(createEscaped('unicodeEscape', parseInt(res[1], 16), res[1], 2));\n } else if (hasUnicodeFlag && (res = matchReg(/^u\\{([0-9a-fA-F]+)\\}/))) {\n // RegExpUnicodeEscapeSequence (ES6 Unicode code point escape)\n return createEscaped('unicodeCodePointEscape', parseInt(res[1], 16), res[1], 4);\n }\n }\n function parseCharacterEscape() {\n // CharacterEscape ::\n // ControlEscape\n // c ControlLetter\n // HexEscapeSequence\n // UnicodeEscapeSequence\n // IdentityEscape\n\n var res;\n var from = pos;\n if (res = matchReg(/^[fnrtv]/)) {\n // ControlEscape\n var codePoint = 0;\n switch (res[0]) {\n case 't':\n codePoint = 0x009;\n break;\n case 'n':\n codePoint = 0x00A;\n break;\n case 'v':\n codePoint = 0x00B;\n break;\n case 'f':\n codePoint = 0x00C;\n break;\n case 'r':\n codePoint = 0x00D;\n break;\n }\n return createEscaped('singleEscape', codePoint, '\\\\' + res[0]);\n } else if (res = matchReg(/^c([a-zA-Z])/)) {\n // c ControlLetter\n return createEscaped('controlLetter', res[1].charCodeAt(0) % 32, res[1], 2);\n } else if (res = matchReg(/^x([0-9a-fA-F]{2})/)) {\n // HexEscapeSequence\n return createEscaped('hexadecimalEscape', parseInt(res[1], 16), res[1], 2);\n } else if (res = parseRegExpUnicodeEscapeSequence()) {\n if (!res || res.codePoint > 0x10FFFF) {\n bail('Invalid escape sequence', null, from, pos);\n }\n return res;\n } else {\n // IdentityEscape\n return parseIdentityEscape();\n }\n }\n function parseIdentifierAtom(check) {\n var ch = lookahead();\n var from = pos;\n if (ch === '\\\\') {\n incr();\n var esc = parseRegExpUnicodeEscapeSequence();\n if (!esc || !check(esc.codePoint)) {\n bail('Invalid escape sequence', null, from, pos);\n }\n return fromCodePoint(esc.codePoint);\n }\n var code = ch.charCodeAt(0);\n if (code >= 0xD800 && code <= 0xDBFF) {\n ch += str[pos + 1];\n var second = ch.charCodeAt(1);\n if (second >= 0xDC00 && second <= 0xDFFF) {\n // Unicode surrogate pair\n code = (code - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;\n }\n }\n if (!check(code)) return;\n incr();\n if (code > 0xFFFF) incr();\n return ch;\n }\n function parseIdentifier() {\n // RegExpIdentifierName ::\n // RegExpIdentifierStart\n // RegExpIdentifierName RegExpIdentifierContinue\n //\n // RegExpIdentifierStart ::\n // UnicodeIDStart\n // $\n // _\n // \\ RegExpUnicodeEscapeSequence\n //\n // RegExpIdentifierContinue ::\n // UnicodeIDContinue\n // $\n // _\n // \\ RegExpUnicodeEscapeSequence\n // \n // \n\n var start = pos;\n var res = parseIdentifierAtom(isIdentifierStart);\n if (!res) {\n bail('Invalid identifier');\n }\n var ch;\n while (ch = parseIdentifierAtom(isIdentifierPart)) {\n res += ch;\n }\n return addRaw({\n type: 'identifier',\n value: res,\n range: [start, pos]\n });\n }\n function isIdentifierStart(ch) {\n // Generated by `tools/generate-identifier-regex.js`.\n var NonAsciiIdentifierStart = /[\\$A-Z_a-z\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05D0-\\u05EA\\u05EF-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086A\\u08A0-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u09FC\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1878\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309B-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FEF\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7B9\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA8FE\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF2D-\\uDF4A\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE35\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2\\uDD00-\\uDD23\\uDF00-\\uDF1C\\uDF27\\uDF30-\\uDF45]|\\uD804[\\uDC03-\\uDC37\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD44\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDF00-\\uDF1A]|\\uD806[\\uDC00-\\uDC2B\\uDCA0-\\uDCDF\\uDCFF\\uDE00\\uDE0B-\\uDE32\\uDE3A\\uDE50\\uDE5C-\\uDE83\\uDE86-\\uDE89\\uDE9D\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F\\uDD00-\\uDD06\\uDD08\\uDD09\\uDD0B-\\uDD30\\uDD46\\uDD60-\\uDD65\\uDD67\\uDD68\\uDD6A-\\uDD89\\uDD98\\uDEE0-\\uDEF2]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDE40-\\uDE7F\\uDF00-\\uDF44\\uDF50\\uDF93-\\uDF9F\\uDFE0\\uDFE1]|\\uD821[\\uDC00-\\uDFF1]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00-\\uDD1E\\uDD70-\\uDEFB]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD83A[\\uDC00-\\uDCC4\\uDD00-\\uDD43]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0]|\\uD87E[\\uDC00-\\uDE1D]/;\n return ch === 36 || ch === 95 ||\n // $ (dollar) and _ (underscore)\n ch >= 65 && ch <= 90 ||\n // A..Z\n ch >= 97 && ch <= 122 ||\n // a..z\n ch >= 0x80 && NonAsciiIdentifierStart.test(fromCodePoint(ch));\n }\n\n // Taken from the Esprima parser.\n function isIdentifierPart(ch) {\n // Generated by `tools/generate-identifier-regex.js`.\n var NonAsciiIdentifierPartOnly = /[0-9_\\xB7\\u0300-\\u036F\\u0387\\u0483-\\u0487\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u061A\\u064B-\\u0669\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u06F0-\\u06F9\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07C0-\\u07C9\\u07EB-\\u07F3\\u07FD\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u08D3-\\u08E1\\u08E3-\\u0903\\u093A-\\u093C\\u093E-\\u094F\\u0951-\\u0957\\u0962\\u0963\\u0966-\\u096F\\u0981-\\u0983\\u09BC\\u09BE-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CD\\u09D7\\u09E2\\u09E3\\u09E6-\\u09EF\\u09FE\\u0A01-\\u0A03\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A66-\\u0A71\\u0A75\\u0A81-\\u0A83\\u0ABC\\u0ABE-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AE2\\u0AE3\\u0AE6-\\u0AEF\\u0AFA-\\u0AFF\\u0B01-\\u0B03\\u0B3C\\u0B3E-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B62\\u0B63\\u0B66-\\u0B6F\\u0B82\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C04\\u0C3E-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0C66-\\u0C6F\\u0C81-\\u0C83\\u0CBC\\u0CBE-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CE2\\u0CE3\\u0CE6-\\u0CEF\\u0D00-\\u0D03\\u0D3B\\u0D3C\\u0D3E-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4D\\u0D57\\u0D62\\u0D63\\u0D66-\\u0D6F\\u0D82\\u0D83\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0E50-\\u0E59\\u0EB1\\u0EB4-\\u0EB9\\u0EBB\\u0EBC\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E\\u0F3F\\u0F71-\\u0F84\\u0F86\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102B-\\u103E\\u1040-\\u1049\\u1056-\\u1059\\u105E-\\u1060\\u1062-\\u1064\\u1067-\\u106D\\u1071-\\u1074\\u1082-\\u108D\\u108F-\\u109D\\u135D-\\u135F\\u1369-\\u1371\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17B4-\\u17D3\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u18A9\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u194F\\u19D0-\\u19DA\\u1A17-\\u1A1B\\u1A55-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AB0-\\u1ABD\\u1B00-\\u1B04\\u1B34-\\u1B44\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1B82\\u1BA1-\\u1BAD\\u1BB0-\\u1BB9\\u1BE6-\\u1BF3\\u1C24-\\u1C37\\u1C40-\\u1C49\\u1C50-\\u1C59\\u1CD0-\\u1CD2\\u1CD4-\\u1CE8\\u1CED\\u1CF2-\\u1CF4\\u1CF7-\\u1CF9\\u1DC0-\\u1DF9\\u1DFB-\\u1DFF\\u200C\\u200D\\u203F\\u2040\\u2054\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE0-\\u2DFF\\u302A-\\u302F\\u3099\\u309A\\uA620-\\uA629\\uA66F\\uA674-\\uA67D\\uA69E\\uA69F\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA823-\\uA827\\uA880\\uA881\\uA8B4-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F1\\uA8FF-\\uA909\\uA926-\\uA92D\\uA947-\\uA953\\uA980-\\uA983\\uA9B3-\\uA9C0\\uA9D0-\\uA9D9\\uA9E5\\uA9F0-\\uA9F9\\uAA29-\\uAA36\\uAA43\\uAA4C\\uAA4D\\uAA50-\\uAA59\\uAA7B-\\uAA7D\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAEB-\\uAAEF\\uAAF5\\uAAF6\\uABE3-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFF10-\\uFF19\\uFF3F]|\\uD800[\\uDDFD\\uDEE0\\uDF76-\\uDF7A]|\\uD801[\\uDCA0-\\uDCA9]|\\uD802[\\uDE01-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE0F\\uDE38-\\uDE3A\\uDE3F\\uDEE5\\uDEE6]|\\uD803[\\uDD24-\\uDD27\\uDD30-\\uDD39\\uDF46-\\uDF50]|\\uD804[\\uDC00-\\uDC02\\uDC38-\\uDC46\\uDC66-\\uDC6F\\uDC7F-\\uDC82\\uDCB0-\\uDCBA\\uDCF0-\\uDCF9\\uDD00-\\uDD02\\uDD27-\\uDD34\\uDD36-\\uDD3F\\uDD45\\uDD46\\uDD73\\uDD80-\\uDD82\\uDDB3-\\uDDC0\\uDDC9-\\uDDCC\\uDDD0-\\uDDD9\\uDE2C-\\uDE37\\uDE3E\\uDEDF-\\uDEEA\\uDEF0-\\uDEF9\\uDF00-\\uDF03\\uDF3B\\uDF3C\\uDF3E-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF57\\uDF62\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDC35-\\uDC46\\uDC50-\\uDC59\\uDC5E\\uDCB0-\\uDCC3\\uDCD0-\\uDCD9\\uDDAF-\\uDDB5\\uDDB8-\\uDDC0\\uDDDC\\uDDDD\\uDE30-\\uDE40\\uDE50-\\uDE59\\uDEAB-\\uDEB7\\uDEC0-\\uDEC9\\uDF1D-\\uDF2B\\uDF30-\\uDF39]|\\uD806[\\uDC2C-\\uDC3A\\uDCE0-\\uDCE9\\uDE01-\\uDE0A\\uDE33-\\uDE39\\uDE3B-\\uDE3E\\uDE47\\uDE51-\\uDE5B\\uDE8A-\\uDE99]|\\uD807[\\uDC2F-\\uDC36\\uDC38-\\uDC3F\\uDC50-\\uDC59\\uDC92-\\uDCA7\\uDCA9-\\uDCB6\\uDD31-\\uDD36\\uDD3A\\uDD3C\\uDD3D\\uDD3F-\\uDD45\\uDD47\\uDD50-\\uDD59\\uDD8A-\\uDD8E\\uDD90\\uDD91\\uDD93-\\uDD97\\uDDA0-\\uDDA9\\uDEF3-\\uDEF6]|\\uD81A[\\uDE60-\\uDE69\\uDEF0-\\uDEF4\\uDF30-\\uDF36\\uDF50-\\uDF59]|\\uD81B[\\uDF51-\\uDF7E\\uDF8F-\\uDF92]|\\uD82F[\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD835[\\uDFCE-\\uDFFF]|\\uD836[\\uDE00-\\uDE36\\uDE3B-\\uDE6C\\uDE75\\uDE84\\uDE9B-\\uDE9F\\uDEA1-\\uDEAF]|\\uD838[\\uDC00-\\uDC06\\uDC08-\\uDC18\\uDC1B-\\uDC21\\uDC23\\uDC24\\uDC26-\\uDC2A]|\\uD83A[\\uDCD0-\\uDCD6\\uDD44-\\uDD4A\\uDD50-\\uDD59]|\\uDB40[\\uDD00-\\uDDEF]/;\n return isIdentifierStart(ch) || ch >= 48 && ch <= 57 ||\n // 0..9\n ch >= 0x80 && NonAsciiIdentifierPartOnly.test(fromCodePoint(ch));\n }\n function parseIdentityEscape() {\n // IdentityEscape ::\n // [+U] SyntaxCharacter\n // [+U] /\n // [~U] SourceCharacterIdentityEscape[?N]\n // SourceCharacterIdentityEscape[?N] ::\n // [~N] SourceCharacter but not c\n // [+N] SourceCharacter but not one of c or k\n\n var tmp;\n var l = lookahead();\n if (hasUnicodeFlag && /[\\^\\$\\.\\*\\+\\?\\(\\)\\\\\\[\\]\\{\\}\\|\\/]/.test(l) || !hasUnicodeFlag && l !== \"c\") {\n if (l === \"k\" && features.lookbehind) {\n return null;\n }\n tmp = incr();\n return createEscaped('identifier', tmp.charCodeAt(0), tmp, 1);\n }\n return null;\n }\n function parseCharacterClass() {\n // CharacterClass ::\n // [ [lookahead ∉ {^}] ClassRanges ]\n // [ ^ ClassRanges ]\n\n var res,\n from = pos;\n if (res = matchReg(/^\\[\\^/)) {\n res = parseClassRanges();\n skip(']');\n return createCharacterClass(res, true, from, pos);\n } else if (match('[')) {\n res = parseClassRanges();\n skip(']');\n return createCharacterClass(res, false, from, pos);\n }\n return null;\n }\n function parseClassRanges() {\n // ClassRanges ::\n // [empty]\n // [~V] NonemptyClassRanges\n // [+V] ClassContents\n\n var res;\n if (current(']')) {\n // Empty array means nothing inside of the ClassRange.\n return {\n kind: 'union',\n body: []\n };\n } else if (hasUnicodeSetFlag) {\n return parseClassContents();\n } else {\n res = parseNonemptyClassRanges();\n if (!res) {\n bail('nonEmptyClassRanges');\n }\n return {\n kind: 'union',\n body: res\n };\n }\n }\n function parseHelperClassRanges(atom) {\n var from, to, res, atomTo, dash;\n if (current('-') && !next(']')) {\n // ClassAtom - ClassAtom ClassRanges\n from = atom.range[0];\n dash = createCharacter(match('-'));\n atomTo = parseClassAtom();\n if (!atomTo) {\n bail('classAtom');\n }\n to = pos;\n\n // Parse the next class range if exists.\n var classRanges = parseClassRanges();\n if (!classRanges) {\n bail('classRanges');\n }\n\n // Check if both the from and atomTo have codePoints.\n if (!('codePoint' in atom) || !('codePoint' in atomTo)) {\n if (!hasUnicodeFlag) {\n // If not, don't create a range but treat them as\n // `atom` `-` `atom` instead.\n //\n // SEE: https://tc39.es/ecma262/#sec-regular-expression-patterns-semantics\n // NonemptyClassRanges::ClassAtom-ClassAtomClassRanges\n // CharacterRangeOrUnion\n res = [atom, dash, atomTo];\n } else {\n // With unicode flag, both sides must have codePoints if\n // one side has a codePoint.\n //\n // SEE: https://tc39.es/ecma262/#sec-patterns-static-semantics-early-errors\n // NonemptyClassRanges :: ClassAtom - ClassAtom ClassRanges\n bail('invalid character class');\n }\n } else {\n res = [createClassRange(atom, atomTo, from, to)];\n }\n if (classRanges.type === 'empty') {\n return res;\n }\n return res.concat(classRanges.body);\n }\n res = parseNonemptyClassRangesNoDash();\n if (!res) {\n bail('nonEmptyClassRangesNoDash');\n }\n return [atom].concat(res);\n }\n function parseNonemptyClassRanges() {\n // NonemptyClassRanges ::\n // ClassAtom\n // ClassAtom NonemptyClassRangesNoDash\n // ClassAtom - ClassAtom ClassRanges\n\n var atom = parseClassAtom();\n if (!atom) {\n bail('classAtom');\n }\n if (current(']')) {\n // ClassAtom\n return [atom];\n }\n\n // ClassAtom NonemptyClassRangesNoDash\n // ClassAtom - ClassAtom ClassRanges\n return parseHelperClassRanges(atom);\n }\n function parseNonemptyClassRangesNoDash() {\n // NonemptyClassRangesNoDash ::\n // ClassAtom\n // ClassAtomNoDash NonemptyClassRangesNoDash\n // ClassAtomNoDash - ClassAtom ClassRanges\n\n var res = parseClassAtom();\n if (!res) {\n bail('classAtom');\n }\n if (current(']')) {\n // ClassAtom\n return res;\n }\n\n // ClassAtomNoDash NonemptyClassRangesNoDash\n // ClassAtomNoDash - ClassAtom ClassRanges\n return parseHelperClassRanges(res);\n }\n function parseClassAtom() {\n // ClassAtom ::\n // -\n // ClassAtomNoDash\n if (match('-')) {\n return createCharacter('-');\n } else {\n return parseClassAtomNoDash();\n }\n }\n function parseClassAtomNoDash() {\n // ClassAtomNoDash ::\n // SourceCharacter but not one of \\ or ] or -\n // \\ ClassEscape\n\n var res;\n if (res = matchReg(/^[^\\\\\\]-]/)) {\n return createCharacter(res[0]);\n } else if (match('\\\\')) {\n res = parseClassEscape();\n if (!res) {\n bail('classEscape');\n }\n return parseUnicodeSurrogatePairEscape(res);\n }\n }\n function parseClassContents() {\n // ClassContents ::\n // ClassUnion\n // ClassIntersection\n // ClassSubtraction\n //\n // ClassUnion ::\n // ClassRange ClassUnion?\n // ClassOperand ClassUnion?\n //\n // ClassIntersection ::\n // ClassOperand && [lookahead ≠ &] ClassOperand\n // ClassIntersection && [lookahead ≠ &] ClassOperand\n //\n // ClassSubtraction ::\n // ClassOperand -- ClassOperand\n // ClassSubtraction -- ClassOperand\n\n var body = [];\n var kind;\n var from = pos;\n var operand = parseClassOperand( /* allowRanges*/true);\n body.push(operand);\n if (operand.type === 'classRange') {\n kind = 'union';\n } else if (current('&')) {\n kind = 'intersection';\n } else if (current('-')) {\n kind = 'subtraction';\n } else {\n kind = 'union';\n }\n while (!current(']')) {\n if (kind === 'intersection') {\n skip('&');\n skip('&');\n if (current('&')) {\n bail('&& cannot be followed by &. Wrap it in parentheses: &&(&).');\n }\n } else if (kind === 'subtraction') {\n skip('-');\n skip('-');\n }\n operand = parseClassOperand( /* allowRanges*/kind === 'union');\n body.push(operand);\n }\n return {\n kind: kind,\n body: body\n };\n }\n function parseClassOperand(allowRanges) {\n // ClassOperand ::\n // ClassCharacter\n // ClassStrings\n // NestedClass\n //\n // NestedClass ::\n // [ [lookahead ≠ ^] ClassRanges[+U,+V] ]\n // [ ^ ClassRanges[+U,+V] ]\n // \\ CharacterClassEscape[+U, +V]\n //\n // ClassRange ::\n // ClassCharacter - ClassCharacter\n //\n // ClassCharacter ::\n // [lookahead ∉ ClassReservedDouble] SourceCharacter but not ClassSyntaxCharacter\n // \\ CharacterEscape[+U]\n // \\ ClassHalfOfDouble\n // \\ b\n //\n // ClassSyntaxCharacter ::\n // one of ( ) [ ] { } / - \\ |\n\n var from = pos;\n var start, res;\n if (match('\\\\')) {\n if (res = parseCharacterClassEscape()) {\n start = res;\n } else if (res = parseClassCharacterEscapedHelper()) {\n // ClassOperand ::\n // ...\n // NestedClass\n //\n // NestedClass ::\n // ...\n // \\ CharacterClassEscape[+U, +V]\n return res;\n } else {\n bail('Invalid escape', '\\\\' + lookahead(), from);\n }\n } else if (res = parseClassCharacterUnescapedHelper()) {\n start = res;\n } else if (res = parseClassStrings() || parseCharacterClass()) {\n // ClassOperand ::\n // ...\n // ClassStrings\n // NestedClass\n //\n // NestedClass ::\n // [ [lookahead ≠ ^] ClassRanges[+U,+V] ]\n // [ ^ ClassRanges[+U,+V] ]\n // ...\n return res;\n } else {\n bail('Invalid character', lookahead());\n }\n if (allowRanges && current('-') && !next('-')) {\n skip('-');\n if (res = parseClassCharacter()) {\n // ClassRange ::\n // ClassCharacter - ClassCharacter\n return createClassRange(start, res, from, pos);\n }\n bail('Invalid range end', lookahead());\n }\n\n // ClassOperand ::\n // ClassCharacter\n // ...\n return start;\n }\n function parseClassCharacter() {\n // ClassCharacter ::\n // [lookahead ∉ ClassReservedDouble] SourceCharacter but not ClassSyntaxCharacter\n // \\ CharacterEscape[+U]\n // \\ ClassHalfOfDouble\n // \\ b\n\n if (match('\\\\')) {\n if (res = parseClassCharacterEscapedHelper()) {\n return res;\n } else {\n bail('Invalid escape', '\\\\' + lookahead(), from);\n }\n }\n return parseClassCharacterUnescapedHelper();\n }\n function parseClassCharacterUnescapedHelper() {\n // ClassCharacter ::\n // [lookahead ∉ ClassReservedDouble] SourceCharacter but not ClassSyntaxCharacter\n // ...\n\n var res;\n if (res = matchReg(/^[^()[\\]{}/\\-\\\\|]/)) {\n return createCharacter(res);\n }\n ;\n }\n function parseClassCharacterEscapedHelper() {\n // ClassCharacter ::\n // ...\n // \\ CharacterEscape[+U]\n // \\ ClassHalfOfDouble\n // \\ b\n\n if (match('b')) {\n return createEscaped('singleEscape', 0x0008, '\\\\b');\n } else if (match('B')) {\n bail('\\\\B not possible inside of ClassContents', '', pos - 2);\n } else if (res = matchReg(/^[&\\-!#%,:;<=>@_`~]/)) {\n return createEscaped('identifier', res[0].codePointAt(0), res[0]);\n } else if (res = parseCharacterEscape()) {\n return res;\n } else {\n return null;\n }\n }\n function parseClassStrings() {\n // ClassStrings ::\n // ( ClassString MoreClassStrings? )\n\n var res = [];\n var from = pos;\n if (!match('(')) {\n return null;\n }\n do {\n res.push(parseClassString());\n } while (match('|'));\n skip(')');\n return createClassStrings(res, from, pos);\n }\n function parseClassString() {\n // ClassString ::\n // [empty]\n // NonEmptyClassString\n //\n // NonEmptyClassString ::\n // ClassCharacter NonEmptyClassString?\n\n var res = [],\n from = pos;\n var char;\n while (char = parseClassCharacter()) {\n res.push(char);\n }\n return createClassString(res, from, pos);\n }\n function bail(message, details, from, to) {\n from = from == null ? pos : from;\n to = to == null ? from : to;\n var contextStart = Math.max(0, from - 10);\n var contextEnd = Math.min(to + 10, str.length);\n\n // Output a bit of context and a line pointing to where our error is.\n //\n // We are assuming that there are no actual newlines in the content as this is a regular expression.\n var context = ' ' + str.substring(contextStart, contextEnd);\n var pointer = ' ' + new Array(from - contextStart + 1).join(' ') + '^';\n throw SyntaxError(message + ' at position ' + from + (details ? ': ' + details : '') + '\\n' + context + '\\n' + pointer);\n }\n var backrefDenied = [];\n var closedCaptureCounter = 0;\n var firstIteration = true;\n var hasUnicodeFlag = (flags || \"\").indexOf(\"u\") !== -1;\n var hasUnicodeSetFlag = (flags || \"\").indexOf(\"v\") !== -1;\n var pos = 0;\n if (hasUnicodeSetFlag && !features.unicodeSet) {\n throw new Error('The \"v\" flag is only supported when the .unicodeSet option is enabled.');\n }\n if (hasUnicodeFlag && hasUnicodeSetFlag) {\n throw new Error('The \"u\" and \"v\" flags are mutually exclusive.');\n }\n\n // Convert the input to a string and treat the empty string special.\n str = String(str);\n if (str === '') {\n str = '(?:)';\n }\n var result = parseDisjunction();\n if (result.range[1] !== str.length) {\n bail('Could not parse entire input - got stuck', '', result.range[1]);\n }\n\n // The spec requires to interpret the `\\2` in `/\\2()()/` as backreference.\n // As the parser collects the number of capture groups as the string is\n // parsed it is impossible to make these decisions at the point when the\n // `\\2` is handled. In case the local decision turns out to be wrong after\n // the parsing has finished, the input string is parsed a second time with\n // the total number of capture groups set.\n //\n // SEE: https://github.com/jviereck/regjsparser/issues/70\n for (var i = 0; i < backrefDenied.length; i++) {\n if (backrefDenied[i] <= closedCaptureCounter) {\n // Parse the input a second time.\n pos = 0;\n firstIteration = false;\n return parseDisjunction();\n }\n }\n return result;\n }\n var regjsparser = {\n parse: parse\n };\n if (typeof module !== 'undefined' && module.exports) {\n module.exports = regjsparser;\n } else {\n window.regjsparser = regjsparser;\n }\n})();","const set = require('regenerate')(0x28, 0x5B, 0x7B, 0xF3A, 0xF3C, 0x169B, 0x201A, 0x201E, 0x2045, 0x207D, 0x208D, 0x2308, 0x230A, 0x2329, 0x2768, 0x276A, 0x276C, 0x276E, 0x2770, 0x2772, 0x2774, 0x27C5, 0x27E6, 0x27E8, 0x27EA, 0x27EC, 0x27EE, 0x2983, 0x2985, 0x2987, 0x2989, 0x298B, 0x298D, 0x298F, 0x2991, 0x2993, 0x2995, 0x2997, 0x29D8, 0x29DA, 0x29FC, 0x2E22, 0x2E24, 0x2E26, 0x2E28, 0x2E42, 0x2E55, 0x2E57, 0x2E59, 0x2E5B, 0x3008, 0x300A, 0x300C, 0x300E, 0x3010, 0x3014, 0x3016, 0x3018, 0x301A, 0x301D, 0xFD3F, 0xFE17, 0xFE35, 0xFE37, 0xFE39, 0xFE3B, 0xFE3D, 0xFE3F, 0xFE41, 0xFE43, 0xFE47, 0xFE59, 0xFE5B, 0xFE5D, 0xFF08, 0xFF3B, 0xFF5B, 0xFF5F, 0xFF62);\nmodule.exports = set;","/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\nmodule.exports = baseHasIn;\n","const set = require('regenerate')();\nset.addRange(0x1BC0, 0x1BF3).addRange(0x1BFC, 0x1BFF);\nmodule.exports = set;","const set = require('regenerate')(0x110CD);\nset.addRange(0x966, 0x96F).addRange(0xA830, 0xA839).addRange(0x11080, 0x110C2);\nmodule.exports = set;","const set = require('regenerate')(0xBB, 0x2019, 0x201D, 0x203A, 0x2E03, 0x2E05, 0x2E0A, 0x2E0D, 0x2E1D, 0x2E21);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x10FE0, 0x10FF6);\nmodule.exports = set;","var metaMap = require('./_metaMap'),\n noop = require('./noop');\n\n/**\n * Gets metadata for `func`.\n *\n * @private\n * @param {Function} func The function to query.\n * @returns {*} Returns the metadata for `func`.\n */\nvar getData = !metaMap ? noop : function(func) {\n return metaMap.get(func);\n};\n\nmodule.exports = getData;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n","const set = require('regenerate')();\nset.addRange(0x16AD0, 0x16AED).addRange(0x16AF0, 0x16AF5);\nmodule.exports = set;","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var LazyWrapper = require('./_LazyWrapper'),\n LodashWrapper = require('./_LodashWrapper'),\n baseLodash = require('./_baseLodash'),\n isArray = require('./isArray'),\n isObjectLike = require('./isObjectLike'),\n wrapperClone = require('./_wrapperClone');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates a `lodash` object which wraps `value` to enable implicit method\n * chain sequences. Methods that operate on and return arrays, collections,\n * and functions can be chained together. Methods that retrieve a single value\n * or may return a primitive value will automatically end the chain sequence\n * and return the unwrapped value. Otherwise, the value must be unwrapped\n * with `_#value`.\n *\n * Explicit chain sequences, which must be unwrapped with `_#value`, may be\n * enabled using `_.chain`.\n *\n * The execution of chained methods is lazy, that is, it's deferred until\n * `_#value` is implicitly or explicitly called.\n *\n * Lazy evaluation allows several methods to support shortcut fusion.\n * Shortcut fusion is an optimization to merge iteratee calls; this avoids\n * the creation of intermediate arrays and can greatly reduce the number of\n * iteratee executions. Sections of a chain sequence qualify for shortcut\n * fusion if the section is applied to an array and iteratees accept only\n * one argument. The heuristic for whether a section qualifies for shortcut\n * fusion is subject to change.\n *\n * Chaining is supported in custom builds as long as the `_#value` method is\n * directly or indirectly included in the build.\n *\n * In addition to lodash methods, wrappers have `Array` and `String` methods.\n *\n * The wrapper `Array` methods are:\n * `concat`, `join`, `pop`, `push`, `shift`, `sort`, `splice`, and `unshift`\n *\n * The wrapper `String` methods are:\n * `replace` and `split`\n *\n * The wrapper methods that support shortcut fusion are:\n * `at`, `compact`, `drop`, `dropRight`, `dropWhile`, `filter`, `find`,\n * `findLast`, `head`, `initial`, `last`, `map`, `reject`, `reverse`, `slice`,\n * `tail`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, and `toArray`\n *\n * The chainable wrapper methods are:\n * `after`, `ary`, `assign`, `assignIn`, `assignInWith`, `assignWith`, `at`,\n * `before`, `bind`, `bindAll`, `bindKey`, `castArray`, `chain`, `chunk`,\n * `commit`, `compact`, `concat`, `conforms`, `constant`, `countBy`, `create`,\n * `curry`, `debounce`, `defaults`, `defaultsDeep`, `defer`, `delay`,\n * `difference`, `differenceBy`, `differenceWith`, `drop`, `dropRight`,\n * `dropRightWhile`, `dropWhile`, `extend`, `extendWith`, `fill`, `filter`,\n * `flatMap`, `flatMapDeep`, `flatMapDepth`, `flatten`, `flattenDeep`,\n * `flattenDepth`, `flip`, `flow`, `flowRight`, `fromPairs`, `functions`,\n * `functionsIn`, `groupBy`, `initial`, `intersection`, `intersectionBy`,\n * `intersectionWith`, `invert`, `invertBy`, `invokeMap`, `iteratee`, `keyBy`,\n * `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`, `matchesProperty`,\n * `memoize`, `merge`, `mergeWith`, `method`, `methodOf`, `mixin`, `negate`,\n * `nthArg`, `omit`, `omitBy`, `once`, `orderBy`, `over`, `overArgs`,\n * `overEvery`, `overSome`, `partial`, `partialRight`, `partition`, `pick`,\n * `pickBy`, `plant`, `property`, `propertyOf`, `pull`, `pullAll`, `pullAllBy`,\n * `pullAllWith`, `pullAt`, `push`, `range`, `rangeRight`, `rearg`, `reject`,\n * `remove`, `rest`, `reverse`, `sampleSize`, `set`, `setWith`, `shuffle`,\n * `slice`, `sort`, `sortBy`, `splice`, `spread`, `tail`, `take`, `takeRight`,\n * `takeRightWhile`, `takeWhile`, `tap`, `throttle`, `thru`, `toArray`,\n * `toPairs`, `toPairsIn`, `toPath`, `toPlainObject`, `transform`, `unary`,\n * `union`, `unionBy`, `unionWith`, `uniq`, `uniqBy`, `uniqWith`, `unset`,\n * `unshift`, `unzip`, `unzipWith`, `update`, `updateWith`, `values`,\n * `valuesIn`, `without`, `wrap`, `xor`, `xorBy`, `xorWith`, `zip`,\n * `zipObject`, `zipObjectDeep`, and `zipWith`\n *\n * The wrapper methods that are **not** chainable by default are:\n * `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clamp`, `clone`,\n * `cloneDeep`, `cloneDeepWith`, `cloneWith`, `conformsTo`, `deburr`,\n * `defaultTo`, `divide`, `each`, `eachRight`, `endsWith`, `eq`, `escape`,\n * `escapeRegExp`, `every`, `find`, `findIndex`, `findKey`, `findLast`,\n * `findLastIndex`, `findLastKey`, `first`, `floor`, `forEach`, `forEachRight`,\n * `forIn`, `forInRight`, `forOwn`, `forOwnRight`, `get`, `gt`, `gte`, `has`,\n * `hasIn`, `head`, `identity`, `includes`, `indexOf`, `inRange`, `invoke`,\n * `isArguments`, `isArray`, `isArrayBuffer`, `isArrayLike`, `isArrayLikeObject`,\n * `isBoolean`, `isBuffer`, `isDate`, `isElement`, `isEmpty`, `isEqual`,\n * `isEqualWith`, `isError`, `isFinite`, `isFunction`, `isInteger`, `isLength`,\n * `isMap`, `isMatch`, `isMatchWith`, `isNaN`, `isNative`, `isNil`, `isNull`,\n * `isNumber`, `isObject`, `isObjectLike`, `isPlainObject`, `isRegExp`,\n * `isSafeInteger`, `isSet`, `isString`, `isUndefined`, `isTypedArray`,\n * `isWeakMap`, `isWeakSet`, `join`, `kebabCase`, `last`, `lastIndexOf`,\n * `lowerCase`, `lowerFirst`, `lt`, `lte`, `max`, `maxBy`, `mean`, `meanBy`,\n * `min`, `minBy`, `multiply`, `noConflict`, `noop`, `now`, `nth`, `pad`,\n * `padEnd`, `padStart`, `parseInt`, `pop`, `random`, `reduce`, `reduceRight`,\n * `repeat`, `result`, `round`, `runInContext`, `sample`, `shift`, `size`,\n * `snakeCase`, `some`, `sortedIndex`, `sortedIndexBy`, `sortedLastIndex`,\n * `sortedLastIndexBy`, `startCase`, `startsWith`, `stubArray`, `stubFalse`,\n * `stubObject`, `stubString`, `stubTrue`, `subtract`, `sum`, `sumBy`,\n * `template`, `times`, `toFinite`, `toInteger`, `toJSON`, `toLength`,\n * `toLower`, `toNumber`, `toSafeInteger`, `toString`, `toUpper`, `trim`,\n * `trimEnd`, `trimStart`, `truncate`, `unescape`, `uniqueId`, `upperCase`,\n * `upperFirst`, `value`, and `words`\n *\n * @name _\n * @constructor\n * @category Seq\n * @param {*} value The value to wrap in a `lodash` instance.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var wrapped = _([1, 2, 3]);\n *\n * // Returns an unwrapped value.\n * wrapped.reduce(_.add);\n * // => 6\n *\n * // Returns a wrapped value.\n * var squares = wrapped.map(square);\n *\n * _.isArray(squares);\n * // => false\n *\n * _.isArray(squares.value());\n * // => true\n */\nfunction lodash(value) {\n if (isObjectLike(value) && !isArray(value) && !(value instanceof LazyWrapper)) {\n if (value instanceof LodashWrapper) {\n return value;\n }\n if (hasOwnProperty.call(value, '__wrapped__')) {\n return wrapperClone(value);\n }\n }\n return new LodashWrapper(value);\n}\n\n// Ensure wrappers are instances of `baseLodash`.\nlodash.prototype = baseLodash.prototype;\nlodash.prototype.constructor = lodash;\n\nmodule.exports = lodash;\n","const set = require('regenerate')();\nset.addRange(0x2FF0, 0x2FF1).addRange(0x2FF4, 0x2FFB);\nmodule.exports = set;","var convert = require('./convert'),\n func = convert('head', require('../head'), require('./_falseOptions'));\n\nfunc.placeholder = require('./placeholder');\nmodule.exports = func;\n","/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = baseFindIndex;\n","/**\n * The base implementation of `_.slice` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction baseSlice(array, start, end) {\n var index = -1,\n length = array.length;\n\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = end > length ? length : end;\n if (end < 0) {\n end += length;\n }\n length = start > end ? 0 : ((end - start) >>> 0);\n start >>>= 0;\n\n var result = Array(length);\n while (++index < length) {\n result[index] = array[index + start];\n }\n return result;\n}\n\nmodule.exports = baseSlice;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n","const set = require('regenerate')();\nset.addRange(0x1B00, 0x1B4C).addRange(0x1B50, 0x1B7E);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0xA800, 0xA82C);\nmodule.exports = set;","var SetCache = require('./_SetCache'),\n arrayIncludes = require('./_arrayIncludes'),\n arrayIncludesWith = require('./_arrayIncludesWith'),\n cacheHas = require('./_cacheHas'),\n createSet = require('./_createSet'),\n setToArray = require('./_setToArray');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\nfunction baseUniq(array, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n length = array.length,\n isCommon = true,\n result = [],\n seen = result;\n\n if (comparator) {\n isCommon = false;\n includes = arrayIncludesWith;\n }\n else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : createSet(array);\n if (set) {\n return setToArray(set);\n }\n isCommon = false;\n includes = cacheHas;\n seen = new SetCache;\n }\n else {\n seen = iteratee ? [] : result;\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n }\n else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\nmodule.exports = baseUniq;\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\n","import invariant from \"invariant\";\n\n////////////////////////////////////////////////////////////////////////////////\n// startsWith(string, search) - Check if `string` starts with `search`\nvar startsWith = function startsWith(string, search) {\n return string.substr(0, search.length) === search;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// pick(routes, uri)\n//\n// Ranks and picks the best route to match. Each segment gets the highest\n// amount of points, then the type of segment gets an additional amount of\n// points where\n//\n// static > dynamic > splat > root\n//\n// This way we don't have to worry about the order of our routes, let the\n// computers do it.\n//\n// A route looks like this\n//\n// { path, default, value }\n//\n// And a returned match looks like:\n//\n// { route, params, uri }\n//\n// I know, I should use TypeScript not comments for these types.\nvar pick = function pick(routes, uri) {\n var match = void 0;\n var default_ = void 0;\n\n var _uri$split = uri.split(\"?\"),\n uriPathname = _uri$split[0];\n\n var uriSegments = segmentize(uriPathname);\n var isRootUri = uriSegments[0] === \"\";\n var ranked = rankRoutes(routes);\n\n for (var i = 0, l = ranked.length; i < l; i++) {\n var missed = false;\n var route = ranked[i].route;\n\n if (route.default) {\n default_ = {\n route: route,\n params: {},\n uri: uri\n };\n continue;\n }\n\n var routeSegments = segmentize(route.path);\n var params = {};\n var max = Math.max(uriSegments.length, routeSegments.length);\n var index = 0;\n\n for (; index < max; index++) {\n var routeSegment = routeSegments[index];\n var uriSegment = uriSegments[index];\n\n if (isSplat(routeSegment)) {\n // Hit a splat, just grab the rest, and return a match\n // uri: /files/documents/work\n // route: /files/*\n var param = routeSegment.slice(1) || \"*\";\n params[param] = uriSegments.slice(index).map(decodeURIComponent).join(\"/\");\n break;\n }\n\n if (uriSegment === undefined) {\n // URI is shorter than the route, no match\n // uri: /users\n // route: /users/:userId\n missed = true;\n break;\n }\n\n var dynamicMatch = paramRe.exec(routeSegment);\n\n if (dynamicMatch && !isRootUri) {\n var matchIsNotReserved = reservedNames.indexOf(dynamicMatch[1]) === -1;\n !matchIsNotReserved ? process.env.NODE_ENV !== \"production\" ? invariant(false, \" dynamic segment \\\"\" + dynamicMatch[1] + \"\\\" is a reserved name. Please use a different name in path \\\"\" + route.path + \"\\\".\") : invariant(false) : void 0;\n var value = decodeURIComponent(uriSegment);\n params[dynamicMatch[1]] = value;\n } else if (routeSegment !== uriSegment) {\n // Current segments don't match, not dynamic, not splat, so no match\n // uri: /users/123/settings\n // route: /users/:id/profile\n missed = true;\n break;\n }\n }\n\n if (!missed) {\n match = {\n route: route,\n params: params,\n uri: \"/\" + uriSegments.slice(0, index).join(\"/\")\n };\n break;\n }\n }\n\n return match || default_ || null;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// match(path, uri) - Matches just one path to a uri, also lol\nvar match = function match(path, uri) {\n return pick([{ path: path }], uri);\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// resolve(to, basepath)\n//\n// Resolves URIs as though every path is a directory, no files. Relative URIs\n// in the browser can feel awkward because not only can you be \"in a directory\"\n// you can be \"at a file\", too. For example\n//\n// browserSpecResolve('foo', '/bar/') => /bar/foo\n// browserSpecResolve('foo', '/bar') => /foo\n//\n// But on the command line of a file system, it's not as complicated, you can't\n// `cd` from a file, only directories. This way, links have to know less about\n// their current path. To go deeper you can do this:\n//\n// \n// // instead of\n// \n//\n// Just like `cd`, if you want to go deeper from the command line, you do this:\n//\n// cd deeper\n// # not\n// cd $(pwd)/deeper\n//\n// By treating every path as a directory, linking to relative paths should\n// require less contextual information and (fingers crossed) be more intuitive.\nvar resolve = function resolve(to, base) {\n // /foo/bar, /baz/qux => /foo/bar\n if (startsWith(to, \"/\")) {\n return to;\n }\n\n var _to$split = to.split(\"?\"),\n toPathname = _to$split[0],\n toQuery = _to$split[1];\n\n var _base$split = base.split(\"?\"),\n basePathname = _base$split[0];\n\n var toSegments = segmentize(toPathname);\n var baseSegments = segmentize(basePathname);\n\n // ?a=b, /users?b=c => /users?a=b\n if (toSegments[0] === \"\") {\n return addQuery(basePathname, toQuery);\n }\n\n // profile, /users/789 => /users/789/profile\n if (!startsWith(toSegments[0], \".\")) {\n var pathname = baseSegments.concat(toSegments).join(\"/\");\n return addQuery((basePathname === \"/\" ? \"\" : \"/\") + pathname, toQuery);\n }\n\n // ./ /users/123 => /users/123\n // ../ /users/123 => /users\n // ../.. /users/123 => /\n // ../../one /a/b/c/d => /a/b/one\n // .././one /a/b/c/d => /a/b/c/one\n var allSegments = baseSegments.concat(toSegments);\n var segments = [];\n for (var i = 0, l = allSegments.length; i < l; i++) {\n var segment = allSegments[i];\n if (segment === \"..\") segments.pop();else if (segment !== \".\") segments.push(segment);\n }\n\n return addQuery(\"/\" + segments.join(\"/\"), toQuery);\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// insertParams(path, params)\n\nvar insertParams = function insertParams(path, params) {\n var _path$split = path.split(\"?\"),\n pathBase = _path$split[0],\n _path$split$ = _path$split[1],\n query = _path$split$ === undefined ? \"\" : _path$split$;\n\n var segments = segmentize(pathBase);\n var constructedPath = \"/\" + segments.map(function (segment) {\n var match = paramRe.exec(segment);\n return match ? params[match[1]] : segment;\n }).join(\"/\");\n var _params$location = params.location;\n _params$location = _params$location === undefined ? {} : _params$location;\n var _params$location$sear = _params$location.search,\n search = _params$location$sear === undefined ? \"\" : _params$location$sear;\n\n var searchSplit = search.split(\"?\")[1] || \"\";\n constructedPath = addQuery(constructedPath, query, searchSplit);\n return constructedPath;\n};\n\nvar validateRedirect = function validateRedirect(from, to) {\n var filter = function filter(segment) {\n return isDynamic(segment);\n };\n var fromString = segmentize(from).filter(filter).sort().join(\"/\");\n var toString = segmentize(to).filter(filter).sort().join(\"/\");\n return fromString === toString;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Junk\nvar paramRe = /^:(.+)/;\n\nvar SEGMENT_POINTS = 4;\nvar STATIC_POINTS = 3;\nvar DYNAMIC_POINTS = 2;\nvar SPLAT_PENALTY = 1;\nvar ROOT_POINTS = 1;\n\nvar isRootSegment = function isRootSegment(segment) {\n return segment === \"\";\n};\nvar isDynamic = function isDynamic(segment) {\n return paramRe.test(segment);\n};\nvar isSplat = function isSplat(segment) {\n return segment && segment[0] === \"*\";\n};\n\nvar rankRoute = function rankRoute(route, index) {\n var score = route.default ? 0 : segmentize(route.path).reduce(function (score, segment) {\n score += SEGMENT_POINTS;\n if (isRootSegment(segment)) score += ROOT_POINTS;else if (isDynamic(segment)) score += DYNAMIC_POINTS;else if (isSplat(segment)) score -= SEGMENT_POINTS + SPLAT_PENALTY;else score += STATIC_POINTS;\n return score;\n }, 0);\n return { route: route, score: score, index: index };\n};\n\nvar rankRoutes = function rankRoutes(routes) {\n return routes.map(rankRoute).sort(function (a, b) {\n return a.score < b.score ? 1 : a.score > b.score ? -1 : a.index - b.index;\n });\n};\n\nvar segmentize = function segmentize(uri) {\n return uri\n // strip starting/ending slashes\n .replace(/(^\\/+|\\/+$)/g, \"\").split(\"/\");\n};\n\nvar addQuery = function addQuery(pathname) {\n for (var _len = arguments.length, query = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n query[_key - 1] = arguments[_key];\n }\n\n query = query.filter(function (q) {\n return q && q.length > 0;\n });\n return pathname + (query && query.length > 0 ? \"?\" + query.join(\"&\") : \"\");\n};\n\nvar reservedNames = [\"uri\", \"path\"];\n\n/**\n * Shallow compares two objects.\n * @param {Object} obj1 The first object to compare.\n * @param {Object} obj2 The second object to compare.\n */\nvar shallowCompare = function shallowCompare(obj1, obj2) {\n var obj1Keys = Object.keys(obj1);\n return obj1Keys.length === Object.keys(obj2).length && obj1Keys.every(function (key) {\n return obj2.hasOwnProperty(key) && obj1[key] === obj2[key];\n });\n};\n\n////////////////////////////////////////////////////////////////////////////////\nexport { startsWith, pick, match, resolve, insertParams, validateRedirect, shallowCompare };","const set = require('regenerate')(0xDBD, 0xDCA, 0xDD6);\nset.addRange(0xD81, 0xD83).addRange(0xD85, 0xD96).addRange(0xD9A, 0xDB1).addRange(0xDB3, 0xDBB).addRange(0xDC0, 0xDC6).addRange(0xDCF, 0xDD4).addRange(0xDD8, 0xDDF).addRange(0xDE6, 0xDEF).addRange(0xDF2, 0xDF4).addRange(0x111E1, 0x111F4);\nmodule.exports = set;","const set = require('regenerate')(0x29, 0x5D, 0x7D, 0xF3B, 0xF3D, 0x169C, 0x2046, 0x207E, 0x208E, 0x2309, 0x230B, 0x232A, 0x2769, 0x276B, 0x276D, 0x276F, 0x2771, 0x2773, 0x2775, 0x27C6, 0x27E7, 0x27E9, 0x27EB, 0x27ED, 0x27EF, 0x2984, 0x2986, 0x2988, 0x298A, 0x298C, 0x298E, 0x2990, 0x2992, 0x2994, 0x2996, 0x2998, 0x29D9, 0x29DB, 0x29FD, 0x2E23, 0x2E25, 0x2E27, 0x2E29, 0x2E56, 0x2E58, 0x2E5A, 0x2E5C, 0x3009, 0x300B, 0x300D, 0x300F, 0x3011, 0x3015, 0x3017, 0x3019, 0x301B, 0xFD3E, 0xFE18, 0xFE36, 0xFE38, 0xFE3A, 0xFE3C, 0xFE3E, 0xFE40, 0xFE42, 0xFE44, 0xFE48, 0xFE5A, 0xFE5C, 0xFE5E, 0xFF09, 0xFF3D, 0xFF5D, 0xFF60, 0xFF63);\nset.addRange(0x301E, 0x301F);\nmodule.exports = set;","var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n","module.exports = [{\n plugin: require('../node_modules/gatsby-plugin-catch-links/gatsby-browser.js'),\n options: {\"plugins\":[]},\n },{\n plugin: require('../node_modules/gatsby-plugin-mdx/gatsby-browser.js'),\n options: {\"plugins\":[],\"extensions\":[\".md\",\".mdx\"],\"remarkPlugins\":[[null,{\"type\":\"yaml\",\"marker\":\"-\"}],null],\"rehypePlugins\":[null,null],\"gatsbyRemarkPlugins\":[{\"resolve\":\"gatsby-remark-images\",\"options\":{\"sizeByPixelDensity\":true,\"withWebp\":true}},{\"resolve\":\"gatsby-remark-vscode\",\"options\":{\"logLevel\":\"debug\",\"colorTheme\":\"Material Theme Darker\",\"injectStyles\":false,\"extensionDataDirectory\":\"/home/runner/work/tanka/tanka/docs/.vscext\",\"extensions\":[{\"identifier\":\"heptio.jsonnet\",\"version\":\"0.1.0\"},{\"identifier\":\"Equinusocio.vsc-material-theme\",\"version\":\"30.0.0\"}]}}],\"defaultLayouts\":{\"default\":\"/home/runner/work/tanka/tanka/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\"},\"lessBabel\":false,\"mediaTypes\":[\"text/markdown\",\"text/x-markdown\"],\"root\":\"/home/runner/work/tanka/tanka/docs\"},\n },{\n plugin: require('../node_modules/gatsby-plugin-react-helmet-async/gatsby-browser.js'),\n options: {\"plugins\":[]},\n },{\n plugin: require('../node_modules/gatsby-theme-docz/gatsby-browser.js'),\n options: {\"plugins\":[],\"gatsbyRemarkPlugins\":[{\"resolve\":\"gatsby-remark-images\",\"options\":{\"sizeByPixelDensity\":true,\"withWebp\":true}},{\"resolve\":\"gatsby-remark-vscode\",\"options\":{\"logLevel\":\"debug\",\"colorTheme\":\"Material Theme Darker\",\"injectStyles\":false,\"extensionDataDirectory\":\"/home/runner/work/tanka/tanka/docs/.vscext\",\"extensions\":[{\"identifier\":\"heptio.jsonnet\",\"version\":\"0.1.0\"},{\"identifier\":\"Equinusocio.vsc-material-theme\",\"version\":\"30.0.0\"}]}}]},\n },{\n plugin: require('../node_modules/gatsby-plugin-manifest/gatsby-browser.js'),\n options: {\"plugins\":[],\"name\":\"Grafana Tanka\",\"short_name\":\"Tanka\",\"start_url\":\"/\",\"display\":\"standalone\",\"icon\":\"img/logo_black.svg\",\"background_color\":\"#ffffff\",\"theme_color\":\"#000000\",\"legacy\":true,\"theme_color_in_head\":true,\"cache_busting_mode\":\"query\",\"crossOrigin\":\"anonymous\",\"include_favicon\":true,\"cacheDigest\":\"815afb474b603167d9aafa836ab02617\"},\n },{\n plugin: require('../node_modules/gatsby-plugin-offline/gatsby-browser.js'),\n options: {\"plugins\":[],\"precachePages\":[\"/\",\"/install\",\"/tutorial/overview\"]},\n }]\n","const set = require('regenerate')();\nset.addRange(0x11C70, 0x11C8F).addRange(0x11C92, 0x11CA7).addRange(0x11CA9, 0x11CB6);\nmodule.exports = set;","var baseRest = require('./_baseRest'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nmodule.exports = createAssigner;\n","const set = require('regenerate')();\nset.addRange(0x103A0, 0x103C3).addRange(0x103C8, 0x103D5);\nmodule.exports = set;","const set = require('regenerate')(0x1CDA, 0x1CF2);\nset.addRange(0x951, 0x952).addRange(0x964, 0x965).addRange(0xB01, 0xB03).addRange(0xB05, 0xB0C).addRange(0xB0F, 0xB10).addRange(0xB13, 0xB28).addRange(0xB2A, 0xB30).addRange(0xB32, 0xB33).addRange(0xB35, 0xB39).addRange(0xB3C, 0xB44).addRange(0xB47, 0xB48).addRange(0xB4B, 0xB4D).addRange(0xB55, 0xB57).addRange(0xB5C, 0xB5D).addRange(0xB5F, 0xB63).addRange(0xB66, 0xB77);\nmodule.exports = set;","const set = require('regenerate')(0x2D7F);\nset.addRange(0x2D30, 0x2D67).addRange(0x2D6F, 0x2D70);\nmodule.exports = set;","const set = require('regenerate')(0x11288);\nset.addRange(0x11280, 0x11286).addRange(0x1128A, 0x1128D).addRange(0x1128F, 0x1129D).addRange(0x1129F, 0x112A9);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x14400, 0x14646);\nmodule.exports = set;","/*!\n * domready (c) Dustin Diaz 2014 - License MIT\n * ie10 fix - Mikael Kristiansson 2019\n */\n!(function(name, definition) {\n if (typeof module != \"undefined\") module.exports = definition();\n else if (typeof define == \"function\" && typeof define.amd == \"object\")\n define(definition);\n else this[name] = definition();\n})(\"domready\", function() {\n var ie10 = false;\n if (navigator.appVersion.indexOf(\"MSIE 10\") !== -1) {\n ie10 = true;\n }\n\n var fns = [],\n listener,\n doc = typeof document === \"object\" && document,\n hack = ie10\n ? doc.documentElement.doScroll(\"left\")\n : doc.documentElement.doScroll,\n domContentLoaded = \"DOMContentLoaded\",\n loaded =\n doc && (hack ? /^loaded|^c/ : /^loaded|^i|^c/).test(doc.readyState);\n\n if (!loaded && doc)\n doc.addEventListener(\n domContentLoaded,\n (listener = function() {\n doc.removeEventListener(domContentLoaded, listener);\n loaded = 1;\n while ((listener = fns.shift())) listener();\n })\n );\n\n return function(fn) {\n loaded ? setTimeout(fn, 0) : fns.push(fn);\n };\n});\n","/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * This function is like `composeArgs` except that the arguments composition\n * is tailored for `_.partialRight`.\n *\n * @private\n * @param {Array} args The provided arguments.\n * @param {Array} partials The arguments to append to those provided.\n * @param {Array} holders The `partials` placeholder indexes.\n * @params {boolean} [isCurried] Specify composing for a curried function.\n * @returns {Array} Returns the new array of composed arguments.\n */\nfunction composeArgsRight(args, partials, holders, isCurried) {\n var argsIndex = -1,\n argsLength = args.length,\n holdersIndex = -1,\n holdersLength = holders.length,\n rightIndex = -1,\n rightLength = partials.length,\n rangeLength = nativeMax(argsLength - holdersLength, 0),\n result = Array(rangeLength + rightLength),\n isUncurried = !isCurried;\n\n while (++argsIndex < rangeLength) {\n result[argsIndex] = args[argsIndex];\n }\n var offset = argsIndex;\n while (++rightIndex < rightLength) {\n result[offset + rightIndex] = partials[rightIndex];\n }\n while (++holdersIndex < holdersLength) {\n if (isUncurried || argsIndex < argsLength) {\n result[offset + holders[holdersIndex]] = args[argsIndex++];\n }\n }\n return result;\n}\n\nmodule.exports = composeArgsRight;\n","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","const set = require('regenerate')();\nset.addRange(0x11AC0, 0x11AF8);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x964, 0x965).addRange(0xA830, 0xA839).addRange(0x11680, 0x116B9).addRange(0x116C0, 0x116C9);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0xF00, 0xF47).addRange(0xF49, 0xF6C).addRange(0xF71, 0xF97).addRange(0xF99, 0xFBC).addRange(0xFBE, 0xFCC).addRange(0xFCE, 0xFD4).addRange(0xFD9, 0xFDA);\nmodule.exports = set;","const set = require('regenerate')(0x10808, 0x1083C, 0x1083F);\nset.addRange(0x10100, 0x10102).addRange(0x10107, 0x10133).addRange(0x10137, 0x1013F).addRange(0x10800, 0x10805).addRange(0x1080A, 0x10835).addRange(0x10837, 0x10838);\nmodule.exports = set;","const set = require('regenerate')(0x3037, 0x1B000);\nset.addRange(0x3001, 0x3003).addRange(0x3008, 0x3011).addRange(0x3013, 0x301F).addRange(0x3030, 0x3035).addRange(0x303C, 0x303D).addRange(0x3099, 0x309C).addRange(0x30A0, 0x30FF).addRange(0x31F0, 0x31FF).addRange(0x32D0, 0x32FE).addRange(0x3300, 0x3357).addRange(0xFE45, 0xFE46).addRange(0xFF61, 0xFF9F).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE).addRange(0x1B120, 0x1B122).addRange(0x1B164, 0x1B167);\nmodule.exports = set;","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n","var arrayFilter = require('./_arrayFilter'),\n stubArray = require('./stubArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nmodule.exports = getSymbols;\n","import * as React from 'react'\n /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsxRuntime classic */\n/* @jsx mdx */\nimport DefaultLayout from \"/home/runner/work/tanka/tanka/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nexport const _frontmatter = {};\nconst layoutProps = {\n _frontmatter\n};\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n components,\n ...props\n}) {\n return \n\n\n

    {`On ArchLinux, install using the `}{`jsonnet-bundler-bin`}{` AUR package:`}

    \n
    {`$ yay jsonnet-bundler-bin`}
    \n\n \n
    ;\n}\n;\nMDXContent.isMDXComponent = true;\n ","var createCompounder = require('./_createCompounder');\n\n/**\n * Converts `string` to\n * [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the kebab cased string.\n * @example\n *\n * _.kebabCase('Foo Bar');\n * // => 'foo-bar'\n *\n * _.kebabCase('fooBar');\n * // => 'foo-bar'\n *\n * _.kebabCase('__FOO_BAR__');\n * // => 'foo-bar'\n */\nvar kebabCase = createCompounder(function(result, word, index) {\n return result + (index ? '-' : '') + word.toLowerCase();\n});\n\nmodule.exports = kebabCase;\n","var LazyWrapper = require('./_LazyWrapper'),\n getData = require('./_getData'),\n getFuncName = require('./_getFuncName'),\n lodash = require('./wrapperLodash');\n\n/**\n * Checks if `func` has a lazy counterpart.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` has a lazy counterpart,\n * else `false`.\n */\nfunction isLaziable(func) {\n var funcName = getFuncName(func),\n other = lodash[funcName];\n\n if (typeof other != 'function' || !(funcName in LazyWrapper.prototype)) {\n return false;\n }\n if (func === other) {\n return true;\n }\n var data = getData(other);\n return !!data && func === data[0];\n}\n\nmodule.exports = isLaziable;\n","const set = require('regenerate')();\nset.addRange(0x11D60, 0x11D65).addRange(0x11D67, 0x11D68).addRange(0x11D6A, 0x11D8E).addRange(0x11D90, 0x11D91).addRange(0x11D93, 0x11D98).addRange(0x11DA0, 0x11DA9);\nmodule.exports = set;","var LodashWrapper = require('./_LodashWrapper'),\n flatRest = require('./_flatRest'),\n getData = require('./_getData'),\n getFuncName = require('./_getFuncName'),\n isArray = require('./isArray'),\n isLaziable = require('./_isLaziable');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_CURRY_FLAG = 8,\n WRAP_PARTIAL_FLAG = 32,\n WRAP_ARY_FLAG = 128,\n WRAP_REARG_FLAG = 256;\n\n/**\n * Creates a `_.flow` or `_.flowRight` function.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new flow function.\n */\nfunction createFlow(fromRight) {\n return flatRest(function(funcs) {\n var length = funcs.length,\n index = length,\n prereq = LodashWrapper.prototype.thru;\n\n if (fromRight) {\n funcs.reverse();\n }\n while (index--) {\n var func = funcs[index];\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (prereq && !wrapper && getFuncName(func) == 'wrapper') {\n var wrapper = new LodashWrapper([], true);\n }\n }\n index = wrapper ? index : length;\n while (++index < length) {\n func = funcs[index];\n\n var funcName = getFuncName(func),\n data = funcName == 'wrapper' ? getData(func) : undefined;\n\n if (data && isLaziable(data[0]) &&\n data[1] == (WRAP_ARY_FLAG | WRAP_CURRY_FLAG | WRAP_PARTIAL_FLAG | WRAP_REARG_FLAG) &&\n !data[4].length && data[9] == 1\n ) {\n wrapper = wrapper[getFuncName(data[0])].apply(wrapper, data[3]);\n } else {\n wrapper = (func.length == 1 && isLaziable(func))\n ? wrapper[funcName]()\n : wrapper.thru(func);\n }\n }\n return function() {\n var args = arguments,\n value = args[0];\n\n if (wrapper && args.length == 1 && isArray(value)) {\n return wrapper.plant(value).value();\n }\n var index = 0,\n result = length ? funcs[index].apply(this, args) : value;\n\n while (++index < length) {\n result = funcs[index].call(this, result);\n }\n return result;\n };\n });\n}\n\nmodule.exports = createFlow;\n","module.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';\n","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n","import { apiRunner } from \"./api-runner-browser\"\n\nif (\n window.location.protocol !== `https:` &&\n window.location.hostname !== `localhost`\n) {\n console.error(\n `Service workers can only be used over HTTPS, or on localhost for development`\n )\n} else if (`serviceWorker` in navigator) {\n navigator.serviceWorker\n .register(`${__BASE_PATH__}/sw.js`)\n .then(function (reg) {\n reg.addEventListener(`updatefound`, () => {\n apiRunner(`onServiceWorkerUpdateFound`, { serviceWorker: reg })\n // The updatefound event implies that reg.installing is set; see\n // https://w3c.github.io/ServiceWorker/#service-worker-registration-updatefound-event\n const installingWorker = reg.installing\n console.log(`installingWorker`, installingWorker)\n installingWorker.addEventListener(`statechange`, () => {\n switch (installingWorker.state) {\n case `installed`:\n if (navigator.serviceWorker.controller) {\n // At this point, the old content will have been purged and the fresh content will\n // have been added to the cache.\n\n // We set a flag so Gatsby Link knows to refresh the page on next navigation attempt\n window.___swUpdated = true\n // We call the onServiceWorkerUpdateReady API so users can show update prompts.\n apiRunner(`onServiceWorkerUpdateReady`, { serviceWorker: reg })\n\n // If resources failed for the current page, reload.\n if (window.___failedResources) {\n console.log(`resources failed, SW updated - reloading`)\n window.location.reload()\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a \"Content is cached for offline use.\" message.\n console.log(`Content is now available offline!`)\n\n // Post to service worker that install is complete.\n // Delay to allow time for the event listener to be added --\n // otherwise fetch is called too soon and resources aren't cached.\n apiRunner(`onServiceWorkerInstalled`, { serviceWorker: reg })\n }\n break\n\n case `redundant`:\n console.error(`The installing service worker became redundant.`)\n apiRunner(`onServiceWorkerRedundant`, { serviceWorker: reg })\n break\n\n case `activated`:\n apiRunner(`onServiceWorkerActive`, { serviceWorker: reg })\n break\n }\n })\n })\n })\n .catch(function (e) {\n console.error(`Error during service worker registration:`, e)\n })\n}\n","const set = require('regenerate')();\nset.addRange(0x1C50, 0x1C7F);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x11180, 0x111DF);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x110D0, 0x110E8).addRange(0x110F0, 0x110F9);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0xA840, 0xA877);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x10F30, 0x10F59);\nmodule.exports = set;","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","// prefer default export if available\nconst preferDefault = m => (m && m.default) || m\n\nexports.components = {\n \"component---cache-caches-gatsby-plugin-offline-app-shell-js\": () => import(\"./../../caches/gatsby-plugin-offline/app-shell.js\" /* webpackChunkName: \"component---cache-caches-gatsby-plugin-offline-app-shell-js\" */),\n \"component---docs-completion-md\": () => import(\"./../../../docs/completion.md\" /* webpackChunkName: \"component---docs-completion-md\" */),\n \"component---docs-config-md\": () => import(\"./../../../docs/config.md\" /* webpackChunkName: \"component---docs-config-md\" */),\n \"component---docs-diff-strategy-md\": () => import(\"./../../../docs/diff-strategy.md\" /* webpackChunkName: \"component---docs-diff-strategy-md\" */),\n \"component---docs-directory-structure-md\": () => import(\"./../../../docs/directory-structure.md\" /* webpackChunkName: \"component---docs-directory-structure-md\" */),\n \"component---docs-env-vars-md\": () => import(\"./../../../docs/env-vars.md\" /* webpackChunkName: \"component---docs-env-vars-md\" */),\n \"component---docs-exporting-md\": () => import(\"./../../../docs/exporting.md\" /* webpackChunkName: \"component---docs-exporting-md\" */),\n \"component---docs-faq-md\": () => import(\"./../../../docs/faq.md\" /* webpackChunkName: \"component---docs-faq-md\" */),\n \"component---docs-formatting-md\": () => import(\"./../../../docs/formatting.md\" /* webpackChunkName: \"component---docs-formatting-md\" */),\n \"component---docs-garbage-collection-md\": () => import(\"./../../../docs/garbage-collection.md\" /* webpackChunkName: \"component---docs-garbage-collection-md\" */),\n \"component---docs-helm-mdx\": () => import(\"./../../../docs/helm.mdx\" /* webpackChunkName: \"component---docs-helm-mdx\" */),\n \"component---docs-inline-environments-mdx\": () => import(\"./../../../docs/inline-environments.mdx\" /* webpackChunkName: \"component---docs-inline-environments-mdx\" */),\n \"component---docs-installation-mdx\": () => import(\"./../../../docs/installation.mdx\" /* webpackChunkName: \"component---docs-installation-mdx\" */),\n \"component---docs-introduction-mdx\": () => import(\"./../../../docs/introduction.mdx\" /* webpackChunkName: \"component---docs-introduction-mdx\" */),\n \"component---docs-jsonnet-injecting-values-md\": () => import(\"./../../../docs/jsonnet/injecting-values.md\" /* webpackChunkName: \"component---docs-jsonnet-injecting-values-md\" */),\n \"component---docs-jsonnet-main-md\": () => import(\"./../../../docs/jsonnet/main.md\" /* webpackChunkName: \"component---docs-jsonnet-main-md\" */),\n \"component---docs-jsonnet-native-functions-md\": () => import(\"./../../../docs/jsonnet/native-functions.md\" /* webpackChunkName: \"component---docs-jsonnet-native-functions-md\" */),\n \"component---docs-jsonnet-overview-md\": () => import(\"./../../../docs/jsonnet/overview.md\" /* webpackChunkName: \"component---docs-jsonnet-overview-md\" */),\n \"component---docs-known-issues-md\": () => import(\"./../../../docs/known-issues.md\" /* webpackChunkName: \"component---docs-known-issues-md\" */),\n \"component---docs-kustomize-mdx\": () => import(\"./../../../docs/kustomize.mdx\" /* webpackChunkName: \"component---docs-kustomize-mdx\" */),\n \"component---docs-libraries-import-paths-md\": () => import(\"./../../../docs/libraries/import-paths.md\" /* webpackChunkName: \"component---docs-libraries-import-paths-md\" */),\n \"component---docs-libraries-install-publish-md\": () => import(\"./../../../docs/libraries/install-publish.md\" /* webpackChunkName: \"component---docs-libraries-install-publish-md\" */),\n \"component---docs-libraries-overriding-md\": () => import(\"./../../../docs/libraries/overriding.md\" /* webpackChunkName: \"component---docs-libraries-overriding-md\" */),\n \"component---docs-namespaces-md\": () => import(\"./../../../docs/namespaces.md\" /* webpackChunkName: \"component---docs-namespaces-md\" */),\n \"component---docs-server-side-apply-md\": () => import(\"./../../../docs/server-side-apply.md\" /* webpackChunkName: \"component---docs-server-side-apply-md\" */),\n \"component---docs-targets-md\": () => import(\"./../../../docs/targets.md\" /* webpackChunkName: \"component---docs-targets-md\" */),\n \"component---docs-tutorial-abstraction-mdx\": () => import(\"./../../../docs/tutorial/abstraction.mdx\" /* webpackChunkName: \"component---docs-tutorial-abstraction-mdx\" */),\n \"component---docs-tutorial-environments-mdx\": () => import(\"./../../../docs/tutorial/environments.mdx\" /* webpackChunkName: \"component---docs-tutorial-environments-mdx\" */),\n \"component---docs-tutorial-jsonnet-mdx\": () => import(\"./../../../docs/tutorial/jsonnet.mdx\" /* webpackChunkName: \"component---docs-tutorial-jsonnet-mdx\" */),\n \"component---docs-tutorial-k-lib-mdx\": () => import(\"./../../../docs/tutorial/k-lib.mdx\" /* webpackChunkName: \"component---docs-tutorial-k-lib-mdx\" */),\n \"component---docs-tutorial-overview-mdx\": () => import(\"./../../../docs/tutorial/overview.mdx\" /* webpackChunkName: \"component---docs-tutorial-overview-mdx\" */),\n \"component---docs-tutorial-parameterizing-mdx\": () => import(\"./../../../docs/tutorial/parameterizing.mdx\" /* webpackChunkName: \"component---docs-tutorial-parameterizing-mdx\" */),\n \"component---docs-tutorial-refresher-mdx\": () => import(\"./../../../docs/tutorial/refresher.mdx\" /* webpackChunkName: \"component---docs-tutorial-refresher-mdx\" */),\n \"component---src-components-home-snippet-mdx\": () => import(\"./../../../src/components/home/snippet.mdx\" /* webpackChunkName: \"component---src-components-home-snippet-mdx\" */),\n \"component---src-components-install-jb-arch-mdx\": () => import(\"./../../../src/components/install/jb/arch.mdx\" /* webpackChunkName: \"component---src-components-install-jb-arch-mdx\" */),\n \"component---src-components-install-jb-binary-mdx\": () => import(\"./../../../src/components/install/jb/binary.mdx\" /* webpackChunkName: \"component---src-components-install-jb-binary-mdx\" */),\n \"component---src-components-install-jb-go-mdx\": () => import(\"./../../../src/components/install/jb/go.mdx\" /* webpackChunkName: \"component---src-components-install-jb-go-mdx\" */),\n \"component---src-components-install-jb-osx-mdx\": () => import(\"./../../../src/components/install/jb/osx.mdx\" /* webpackChunkName: \"component---src-components-install-jb-osx-mdx\" */),\n \"component---src-components-install-tk-arch-mdx\": () => import(\"./../../../src/components/install/tk/arch.mdx\" /* webpackChunkName: \"component---src-components-install-tk-arch-mdx\" */),\n \"component---src-components-install-tk-binary-mdx\": () => import(\"./../../../src/components/install/tk/binary.mdx\" /* webpackChunkName: \"component---src-components-install-tk-binary-mdx\" */),\n \"component---src-components-install-tk-go-mdx\": () => import(\"./../../../src/components/install/tk/go.mdx\" /* webpackChunkName: \"component---src-components-install-tk-go-mdx\" */),\n \"component---src-components-install-tk-osx-mdx\": () => import(\"./../../../src/components/install/tk/osx.mdx\" /* webpackChunkName: \"component---src-components-install-tk-osx-mdx\" */)\n}\n\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n","var isCallable = require('../internals/is-callable');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (typeof argument == 'object' || isCallable(argument)) return argument;\n throw $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","var isStrictComparable = require('./_isStrictComparable'),\n keys = require('./keys');\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\nmodule.exports = getMatchData;\n","var Stack = require('./_Stack'),\n arrayEach = require('./_arrayEach'),\n assignValue = require('./_assignValue'),\n baseAssign = require('./_baseAssign'),\n baseAssignIn = require('./_baseAssignIn'),\n cloneBuffer = require('./_cloneBuffer'),\n copyArray = require('./_copyArray'),\n copySymbols = require('./_copySymbols'),\n copySymbolsIn = require('./_copySymbolsIn'),\n getAllKeys = require('./_getAllKeys'),\n getAllKeysIn = require('./_getAllKeysIn'),\n getTag = require('./_getTag'),\n initCloneArray = require('./_initCloneArray'),\n initCloneByTag = require('./_initCloneByTag'),\n initCloneObject = require('./_initCloneObject'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isMap = require('./isMap'),\n isObject = require('./isObject'),\n isSet = require('./isSet'),\n keys = require('./keys'),\n keysIn = require('./keysIn');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Deep clone\n * 2 - Flatten inherited properties\n * 4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, bitmask, customizer, key, object, stack) {\n var result,\n isDeep = bitmask & CLONE_DEEP_FLAG,\n isFlat = bitmask & CLONE_FLAT_FLAG,\n isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = (isFlat || isFunc) ? {} : initCloneObject(value);\n if (!isDeep) {\n return isFlat\n ? copySymbolsIn(value, baseAssignIn(result, value))\n : copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (isSet(value)) {\n value.forEach(function(subValue) {\n result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n });\n } else if (isMap(value)) {\n value.forEach(function(subValue, key) {\n result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n }\n\n var keysFunc = isFull\n ? (isFlat ? getAllKeysIn : getAllKeys)\n : (isFlat ? keysIn : keys);\n\n var props = isArr ? undefined : keysFunc(value);\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n return result;\n}\n\nmodule.exports = baseClone;\n","const set = require('regenerate')(0x5E, 0x60, 0xA8, 0xAF, 0xB4, 0xB8, 0x2ED, 0x375, 0x888, 0x1FBD, 0xAB5B, 0xFF3E, 0xFF40, 0xFFE3);\nset.addRange(0x2C2, 0x2C5).addRange(0x2D2, 0x2DF).addRange(0x2E5, 0x2EB).addRange(0x2EF, 0x2FF).addRange(0x384, 0x385).addRange(0x1FBF, 0x1FC1).addRange(0x1FCD, 0x1FCF).addRange(0x1FDD, 0x1FDF).addRange(0x1FED, 0x1FEF).addRange(0x1FFD, 0x1FFE).addRange(0x309B, 0x309C).addRange(0xA700, 0xA716).addRange(0xA720, 0xA721).addRange(0xA789, 0xA78A).addRange(0xAB6A, 0xAB6B).addRange(0xFBB2, 0xFBC2).addRange(0x1F3FB, 0x1F3FF);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0xE01, 0xE3A).addRange(0xE40, 0xE5B);\nmodule.exports = set;","const set = require('regenerate')(0x2D, 0x58A, 0x5BE, 0x1400, 0x1806, 0x2E17, 0x2E1A, 0x2E40, 0x2E5D, 0x301C, 0x3030, 0x30A0, 0xFE58, 0xFE63, 0xFF0D, 0x10EAD);\nset.addRange(0x2010, 0x2015).addRange(0x2E3A, 0x2E3B).addRange(0xFE31, 0xFE32);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x10400, 0x1044F);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x1400, 0x167F).addRange(0x18B0, 0x18F5).addRange(0x11AB0, 0x11ABF);\nmodule.exports = set;","const set = require('regenerate')(0x1CE9, 0x1CF2, 0x1CFA);\nset.addRange(0x964, 0x965).addRange(0xCE6, 0xCEF).addRange(0xA830, 0xA835).addRange(0x119A0, 0x119A7).addRange(0x119AA, 0x119D7).addRange(0x119DA, 0x119E4);\nmodule.exports = set;","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n","const set = require('regenerate')(0xAD, 0x61C, 0x6DD, 0x70F, 0x8E2, 0x180E, 0xFEFF, 0x110BD, 0x110CD, 0xE0001);\nset.addRange(0x600, 0x605).addRange(0x890, 0x891).addRange(0x200B, 0x200F).addRange(0x202A, 0x202E).addRange(0x2060, 0x2064).addRange(0x2066, 0x206F).addRange(0xFFF9, 0xFFFB).addRange(0x13430, 0x13438).addRange(0x1BCA0, 0x1BCA3).addRange(0x1D173, 0x1D17A).addRange(0xE0020, 0xE007F);\nmodule.exports = set;","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","const set = require('regenerate')();\nset.addRange(0x1720, 0x1734);\nmodule.exports = set;","'use strict';\n\nvar isMergeableObject = function isMergeableObject(value) {\n return isNonNullObject(value) && !isSpecial(value);\n};\nfunction isNonNullObject(value) {\n return !!value && typeof value === 'object';\n}\nfunction isSpecial(value) {\n var stringValue = Object.prototype.toString.call(value);\n return stringValue === '[object RegExp]' || stringValue === '[object Date]' || isReactElement(value);\n}\n\n// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25\nvar canUseSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;\nfunction isReactElement(value) {\n return value.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction emptyTarget(val) {\n return Array.isArray(val) ? [] : {};\n}\nfunction cloneUnlessOtherwiseSpecified(value, options) {\n return options.clone !== false && options.isMergeableObject(value) ? deepmerge(emptyTarget(value), value, options) : value;\n}\nfunction defaultArrayMerge(target, source, options) {\n return target.concat(source).map(function (element) {\n return cloneUnlessOtherwiseSpecified(element, options);\n });\n}\nfunction getMergeFunction(key, options) {\n if (!options.customMerge) {\n return deepmerge;\n }\n var customMerge = options.customMerge(key);\n return typeof customMerge === 'function' ? customMerge : deepmerge;\n}\nfunction getEnumerableOwnPropertySymbols(target) {\n return Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols(target).filter(function (symbol) {\n return Object.propertyIsEnumerable.call(target, symbol);\n }) : [];\n}\nfunction getKeys(target) {\n return Object.keys(target).concat(getEnumerableOwnPropertySymbols(target));\n}\nfunction propertyIsOnObject(object, property) {\n try {\n return property in object;\n } catch (_) {\n return false;\n }\n}\n\n// Protects from prototype poisoning and unexpected merging up the prototype chain.\nfunction propertyIsUnsafe(target, key) {\n return propertyIsOnObject(target, key) // Properties are safe to merge if they don't exist in the target yet,\n && !(Object.hasOwnProperty.call(target, key) // unsafe if they exist up the prototype chain,\n && Object.propertyIsEnumerable.call(target, key)); // and also unsafe if they're nonenumerable.\n}\n\nfunction mergeObject(target, source, options) {\n var destination = {};\n if (options.isMergeableObject(target)) {\n getKeys(target).forEach(function (key) {\n destination[key] = cloneUnlessOtherwiseSpecified(target[key], options);\n });\n }\n getKeys(source).forEach(function (key) {\n if (propertyIsUnsafe(target, key)) {\n return;\n }\n if (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) {\n destination[key] = getMergeFunction(key, options)(target[key], source[key], options);\n } else {\n destination[key] = cloneUnlessOtherwiseSpecified(source[key], options);\n }\n });\n return destination;\n}\nfunction deepmerge(target, source, options) {\n options = options || {};\n options.arrayMerge = options.arrayMerge || defaultArrayMerge;\n options.isMergeableObject = options.isMergeableObject || isMergeableObject;\n // cloneUnlessOtherwiseSpecified is added to `options` so that custom arrayMerge()\n // implementations can use it. The caller may not replace it.\n options.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;\n var sourceIsArray = Array.isArray(source);\n var targetIsArray = Array.isArray(target);\n var sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;\n if (!sourceAndTargetTypesMatch) {\n return cloneUnlessOtherwiseSpecified(source, options);\n } else if (sourceIsArray) {\n return options.arrayMerge(target, source, options);\n } else {\n return mergeObject(target, source, options);\n }\n}\ndeepmerge.all = function deepmergeAll(array, options) {\n if (!Array.isArray(array)) {\n throw new Error('first argument should be an array');\n }\n return array.reduce(function (prev, next) {\n return deepmerge(prev, next, options);\n }, {});\n};\nvar deepmerge_1 = deepmerge;\nmodule.exports = deepmerge_1;","'use strict';\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toOffset = require('../internals/to-offset');\nvar toIndexedObject = require('../internals/to-object');\nvar fails = require('../internals/fails');\n\nvar RangeError = global.RangeError;\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar $set = Int8ArrayPrototype && Int8ArrayPrototype.set;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS = !fails(function () {\n // eslint-disable-next-line es/no-typed-arrays -- required for testing\n var array = new Uint8ClampedArray(2);\n call($set, array, { length: 1, 0: 3 }, 1);\n return array[1] !== 3;\n});\n\n// https://bugs.chromium.org/p/v8/issues/detail?id=11294 and other\nvar TO_OBJECT_BUG = WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS && ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS && fails(function () {\n var array = new Int8Array(2);\n array.set(1);\n array.set('2', 1);\n return array[0] !== 0 || array[1] !== 2;\n});\n\n// `%TypedArray%.prototype.set` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.set\nexportTypedArrayMethod('set', function set(arrayLike /* , offset */) {\n aTypedArray(this);\n var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1);\n var src = toIndexedObject(arrayLike);\n if (WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS) return call($set, this, src, offset);\n var length = this.length;\n var len = lengthOfArrayLike(src);\n var index = 0;\n if (len + offset > length) throw RangeError('Wrong length');\n while (index < len) this[offset + index] = src[index++];\n}, !WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS || TO_OBJECT_BUG);\n","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nmodule.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var map = {\n\t\"./Binary_Property/ASCII.js\": \"TTPM\",\n\t\"./Binary_Property/ASCII_Hex_Digit.js\": \"rKZ+\",\n\t\"./Binary_Property/Alphabetic.js\": \"PYyx\",\n\t\"./Binary_Property/Any.js\": \"hfac\",\n\t\"./Binary_Property/Assigned.js\": \"2TvA\",\n\t\"./Binary_Property/Bidi_Control.js\": \"BIHX\",\n\t\"./Binary_Property/Bidi_Mirrored.js\": \"Y6X3\",\n\t\"./Binary_Property/Case_Ignorable.js\": \"YL52\",\n\t\"./Binary_Property/Cased.js\": \"hHg9\",\n\t\"./Binary_Property/Changes_When_Casefolded.js\": \"xB3T\",\n\t\"./Binary_Property/Changes_When_Casemapped.js\": \"1N+G\",\n\t\"./Binary_Property/Changes_When_Lowercased.js\": \"v51b\",\n\t\"./Binary_Property/Changes_When_NFKC_Casefolded.js\": \"ayZG\",\n\t\"./Binary_Property/Changes_When_Titlecased.js\": \"IMPD\",\n\t\"./Binary_Property/Changes_When_Uppercased.js\": \"R1Ew\",\n\t\"./Binary_Property/Dash.js\": \"+3kn\",\n\t\"./Binary_Property/Default_Ignorable_Code_Point.js\": \"4/F7\",\n\t\"./Binary_Property/Deprecated.js\": \"wZUC\",\n\t\"./Binary_Property/Diacritic.js\": \"s0pm\",\n\t\"./Binary_Property/Emoji.js\": \"12hi\",\n\t\"./Binary_Property/Emoji_Component.js\": \"mzUC\",\n\t\"./Binary_Property/Emoji_Modifier.js\": \"0nmF\",\n\t\"./Binary_Property/Emoji_Modifier_Base.js\": \"+hQC\",\n\t\"./Binary_Property/Emoji_Presentation.js\": \"ep7J\",\n\t\"./Binary_Property/Extended_Pictographic.js\": \"gx40\",\n\t\"./Binary_Property/Extender.js\": \"jq6q\",\n\t\"./Binary_Property/Grapheme_Base.js\": \"ojcp\",\n\t\"./Binary_Property/Grapheme_Extend.js\": \"V3uO\",\n\t\"./Binary_Property/Hex_Digit.js\": \"4YcT\",\n\t\"./Binary_Property/IDS_Binary_Operator.js\": \"KgQe\",\n\t\"./Binary_Property/IDS_Trinary_Operator.js\": \"rZx1\",\n\t\"./Binary_Property/ID_Continue.js\": \"Z3Cz\",\n\t\"./Binary_Property/ID_Start.js\": \"/VW1\",\n\t\"./Binary_Property/Ideographic.js\": \"VdHZ\",\n\t\"./Binary_Property/Join_Control.js\": \"6XJR\",\n\t\"./Binary_Property/Logical_Order_Exception.js\": \"18Iv\",\n\t\"./Binary_Property/Lowercase.js\": \"RlPj\",\n\t\"./Binary_Property/Math.js\": \"ZtX9\",\n\t\"./Binary_Property/Noncharacter_Code_Point.js\": \"IZLa\",\n\t\"./Binary_Property/Pattern_Syntax.js\": \"YNcp\",\n\t\"./Binary_Property/Pattern_White_Space.js\": \"pLr0\",\n\t\"./Binary_Property/Quotation_Mark.js\": \"bVt1\",\n\t\"./Binary_Property/Radical.js\": \"V6iA\",\n\t\"./Binary_Property/Regional_Indicator.js\": \"gXbN\",\n\t\"./Binary_Property/Sentence_Terminal.js\": \"yNbx\",\n\t\"./Binary_Property/Soft_Dotted.js\": \"TP4o\",\n\t\"./Binary_Property/Terminal_Punctuation.js\": \"SPrB\",\n\t\"./Binary_Property/Unified_Ideograph.js\": \"lqdz\",\n\t\"./Binary_Property/Uppercase.js\": \"wJ4O\",\n\t\"./Binary_Property/Variation_Selector.js\": \"zYVL\",\n\t\"./Binary_Property/White_Space.js\": \"mCz8\",\n\t\"./Binary_Property/XID_Continue.js\": \"7jO/\",\n\t\"./Binary_Property/XID_Start.js\": \"CkxS\",\n\t\"./General_Category/Cased_Letter.js\": \"JTjc\",\n\t\"./General_Category/Close_Punctuation.js\": \"LZZ3\",\n\t\"./General_Category/Connector_Punctuation.js\": \"J7in\",\n\t\"./General_Category/Control.js\": \"ZKzb\",\n\t\"./General_Category/Currency_Symbol.js\": \"S/gH\",\n\t\"./General_Category/Dash_Punctuation.js\": \"OQyL\",\n\t\"./General_Category/Decimal_Number.js\": \"yyEx\",\n\t\"./General_Category/Enclosing_Mark.js\": \"aBVj\",\n\t\"./General_Category/Final_Punctuation.js\": \"K9hv\",\n\t\"./General_Category/Format.js\": \"Ohg8\",\n\t\"./General_Category/Initial_Punctuation.js\": \"DusV\",\n\t\"./General_Category/Letter.js\": \"PVUd\",\n\t\"./General_Category/Letter_Number.js\": \"/soj\",\n\t\"./General_Category/Line_Separator.js\": \"oOya\",\n\t\"./General_Category/Lowercase_Letter.js\": \"PeYj\",\n\t\"./General_Category/Mark.js\": \"yxwC\",\n\t\"./General_Category/Math_Symbol.js\": \"owBG\",\n\t\"./General_Category/Modifier_Letter.js\": \"6oKa\",\n\t\"./General_Category/Modifier_Symbol.js\": \"OMsT\",\n\t\"./General_Category/Nonspacing_Mark.js\": \"ezlQ\",\n\t\"./General_Category/Number.js\": \"0vCW\",\n\t\"./General_Category/Open_Punctuation.js\": \"JpfW\",\n\t\"./General_Category/Other.js\": \"BG0k\",\n\t\"./General_Category/Other_Letter.js\": \"v+A9\",\n\t\"./General_Category/Other_Number.js\": \"l/XR\",\n\t\"./General_Category/Other_Punctuation.js\": \"oeGF\",\n\t\"./General_Category/Other_Symbol.js\": \"5xM+\",\n\t\"./General_Category/Paragraph_Separator.js\": \"TveE\",\n\t\"./General_Category/Private_Use.js\": \"GS9R\",\n\t\"./General_Category/Punctuation.js\": \"CmM2\",\n\t\"./General_Category/Separator.js\": \"HpTs\",\n\t\"./General_Category/Space_Separator.js\": \"Buer\",\n\t\"./General_Category/Spacing_Mark.js\": \"9wuW\",\n\t\"./General_Category/Surrogate.js\": \"vudz\",\n\t\"./General_Category/Symbol.js\": \"/dLw\",\n\t\"./General_Category/Titlecase_Letter.js\": \"3O+O\",\n\t\"./General_Category/Unassigned.js\": \"QXET\",\n\t\"./General_Category/Uppercase_Letter.js\": \"rqE6\",\n\t\"./Script/Adlam.js\": \"Wry+\",\n\t\"./Script/Ahom.js\": \"GsYE\",\n\t\"./Script/Anatolian_Hieroglyphs.js\": \"dOYW\",\n\t\"./Script/Arabic.js\": \"FvNL\",\n\t\"./Script/Armenian.js\": \"/yAK\",\n\t\"./Script/Avestan.js\": \"GcGr\",\n\t\"./Script/Balinese.js\": \"LAM2\",\n\t\"./Script/Bamum.js\": \"7V9v\",\n\t\"./Script/Bassa_Vah.js\": \"kBqS\",\n\t\"./Script/Batak.js\": \"Jx5A\",\n\t\"./Script/Bengali.js\": \"fjIA\",\n\t\"./Script/Bhaiksuki.js\": \"2vIc\",\n\t\"./Script/Bopomofo.js\": \"HLRT\",\n\t\"./Script/Brahmi.js\": \"bntx\",\n\t\"./Script/Braille.js\": \"6O1M\",\n\t\"./Script/Buginese.js\": \"JFG7\",\n\t\"./Script/Buhid.js\": \"wnaP\",\n\t\"./Script/Canadian_Aboriginal.js\": \"OZnc\",\n\t\"./Script/Carian.js\": \"V8Tt\",\n\t\"./Script/Caucasian_Albanian.js\": \"WR1s\",\n\t\"./Script/Chakma.js\": \"vvaZ\",\n\t\"./Script/Cham.js\": \"BrKN\",\n\t\"./Script/Cherokee.js\": \"1CAE\",\n\t\"./Script/Chorasmian.js\": \"Sgk+\",\n\t\"./Script/Common.js\": \"A5PK\",\n\t\"./Script/Coptic.js\": \"HGcO\",\n\t\"./Script/Cuneiform.js\": \"8PCV\",\n\t\"./Script/Cypriot.js\": \"PVma\",\n\t\"./Script/Cypro_Minoan.js\": \"Z/4g\",\n\t\"./Script/Cyrillic.js\": \"6axZ\",\n\t\"./Script/Deseret.js\": \"OTnk\",\n\t\"./Script/Devanagari.js\": \"hSpq\",\n\t\"./Script/Dives_Akuru.js\": \"Hv6T\",\n\t\"./Script/Dogra.js\": \"D+nV\",\n\t\"./Script/Duployan.js\": \"juuj\",\n\t\"./Script/Egyptian_Hieroglyphs.js\": \"6wcF\",\n\t\"./Script/Elbasan.js\": \"xKmi\",\n\t\"./Script/Elymaic.js\": \"KDQ6\",\n\t\"./Script/Ethiopic.js\": \"ec/7\",\n\t\"./Script/Georgian.js\": \"h4fK\",\n\t\"./Script/Glagolitic.js\": \"hTB4\",\n\t\"./Script/Gothic.js\": \"lazI\",\n\t\"./Script/Grantha.js\": \"gwxh\",\n\t\"./Script/Greek.js\": \"9ulf\",\n\t\"./Script/Gujarati.js\": \"wQeB\",\n\t\"./Script/Gunjala_Gondi.js\": \"N7XW\",\n\t\"./Script/Gurmukhi.js\": \"TQJj\",\n\t\"./Script/Han.js\": \"9H9O\",\n\t\"./Script/Hangul.js\": \"jLBR\",\n\t\"./Script/Hanifi_Rohingya.js\": \"/I8K\",\n\t\"./Script/Hanunoo.js\": \"P0BJ\",\n\t\"./Script/Hatran.js\": \"duBa\",\n\t\"./Script/Hebrew.js\": \"uT2Q\",\n\t\"./Script/Hiragana.js\": \"edsp\",\n\t\"./Script/Imperial_Aramaic.js\": \"61NE\",\n\t\"./Script/Inherited.js\": \"Umia\",\n\t\"./Script/Inscriptional_Pahlavi.js\": \"nwfO\",\n\t\"./Script/Inscriptional_Parthian.js\": \"vAm1\",\n\t\"./Script/Javanese.js\": \"477v\",\n\t\"./Script/Kaithi.js\": \"4172\",\n\t\"./Script/Kannada.js\": \"hUzA\",\n\t\"./Script/Katakana.js\": \"V+/M\",\n\t\"./Script/Kayah_Li.js\": \"a0Op\",\n\t\"./Script/Kharoshthi.js\": \"IxPn\",\n\t\"./Script/Khitan_Small_Script.js\": \"dP5d\",\n\t\"./Script/Khmer.js\": \"QX2T\",\n\t\"./Script/Khojki.js\": \"Eo24\",\n\t\"./Script/Khudawadi.js\": \"+QyN\",\n\t\"./Script/Lao.js\": \"7oRX\",\n\t\"./Script/Latin.js\": \"dN2w\",\n\t\"./Script/Lepcha.js\": \"5bsx\",\n\t\"./Script/Limbu.js\": \"u9lQ\",\n\t\"./Script/Linear_A.js\": \"5scg\",\n\t\"./Script/Linear_B.js\": \"WPcv\",\n\t\"./Script/Lisu.js\": \"aE84\",\n\t\"./Script/Lycian.js\": \"/qLS\",\n\t\"./Script/Lydian.js\": \"lyes\",\n\t\"./Script/Mahajani.js\": \"uwDI\",\n\t\"./Script/Makasar.js\": \"jdFt\",\n\t\"./Script/Malayalam.js\": \"HYoX\",\n\t\"./Script/Mandaic.js\": \"bcGR\",\n\t\"./Script/Manichaean.js\": \"/pZ2\",\n\t\"./Script/Marchen.js\": \"LqhL\",\n\t\"./Script/Masaram_Gondi.js\": \"p1v9\",\n\t\"./Script/Medefaidrin.js\": \"z0Ef\",\n\t\"./Script/Meetei_Mayek.js\": \"IrW+\",\n\t\"./Script/Mende_Kikakui.js\": \"xEZB\",\n\t\"./Script/Meroitic_Cursive.js\": \"Hu3I\",\n\t\"./Script/Meroitic_Hieroglyphs.js\": \"wgmE\",\n\t\"./Script/Miao.js\": \"kd9n\",\n\t\"./Script/Modi.js\": \"cU+8\",\n\t\"./Script/Mongolian.js\": \"tUQf\",\n\t\"./Script/Mro.js\": \"5eRf\",\n\t\"./Script/Multani.js\": \"MG+M\",\n\t\"./Script/Myanmar.js\": \"kiIX\",\n\t\"./Script/Nabataean.js\": \"Uyem\",\n\t\"./Script/Nandinagari.js\": \"9Z7h\",\n\t\"./Script/New_Tai_Lue.js\": \"owni\",\n\t\"./Script/Newa.js\": \"v4Ei\",\n\t\"./Script/Nko.js\": \"whKM\",\n\t\"./Script/Nushu.js\": \"S/lv\",\n\t\"./Script/Nyiakeng_Puachue_Hmong.js\": \"Dpr8\",\n\t\"./Script/Ogham.js\": \"fdhu\",\n\t\"./Script/Ol_Chiki.js\": \"F8j9\",\n\t\"./Script/Old_Hungarian.js\": \"CD0r\",\n\t\"./Script/Old_Italic.js\": \"xaC0\",\n\t\"./Script/Old_North_Arabian.js\": \"twGC\",\n\t\"./Script/Old_Permic.js\": \"2+yD\",\n\t\"./Script/Old_Persian.js\": \"M9F6\",\n\t\"./Script/Old_Sogdian.js\": \"jWEa\",\n\t\"./Script/Old_South_Arabian.js\": \"F0lk\",\n\t\"./Script/Old_Turkic.js\": \"xqwB\",\n\t\"./Script/Old_Uyghur.js\": \"oSFm\",\n\t\"./Script/Oriya.js\": \"uEWo\",\n\t\"./Script/Osage.js\": \"1n5g\",\n\t\"./Script/Osmanya.js\": \"SZfN\",\n\t\"./Script/Pahawh_Hmong.js\": \"RMPE\",\n\t\"./Script/Palmyrene.js\": \"UVpH\",\n\t\"./Script/Pau_Cin_Hau.js\": \"MNEN\",\n\t\"./Script/Phags_Pa.js\": \"NhNr\",\n\t\"./Script/Phoenician.js\": \"34Qh\",\n\t\"./Script/Psalter_Pahlavi.js\": \"SzA2\",\n\t\"./Script/Rejang.js\": \"dC9X\",\n\t\"./Script/Runic.js\": \"t4pw\",\n\t\"./Script/Samaritan.js\": \"pPeY\",\n\t\"./Script/Saurashtra.js\": \"m7G6\",\n\t\"./Script/Sharada.js\": \"NcVZ\",\n\t\"./Script/Shavian.js\": \"RI8b\",\n\t\"./Script/Siddham.js\": \"ASKt\",\n\t\"./Script/SignWriting.js\": \"2JK7\",\n\t\"./Script/Sinhala.js\": \"LZTu\",\n\t\"./Script/Sogdian.js\": \"NpMe\",\n\t\"./Script/Sora_Sompeng.js\": \"Ng/I\",\n\t\"./Script/Soyombo.js\": \"6JnI\",\n\t\"./Script/Sundanese.js\": \"pyWQ\",\n\t\"./Script/Syloti_Nagri.js\": \"LBZI\",\n\t\"./Script/Syriac.js\": \"hy24\",\n\t\"./Script/Tagalog.js\": \"9H8i\",\n\t\"./Script/Tagbanwa.js\": \"sI65\",\n\t\"./Script/Tai_Le.js\": \"nFf/\",\n\t\"./Script/Tai_Tham.js\": \"isMi\",\n\t\"./Script/Tai_Viet.js\": \"IpiY\",\n\t\"./Script/Takri.js\": \"Rqf3\",\n\t\"./Script/Tamil.js\": \"mdlW\",\n\t\"./Script/Tangsa.js\": \"vaj4\",\n\t\"./Script/Tangut.js\": \"n4XR\",\n\t\"./Script/Telugu.js\": \"xlHm\",\n\t\"./Script/Thaana.js\": \"DGa8\",\n\t\"./Script/Thai.js\": \"OQG6\",\n\t\"./Script/Tibetan.js\": \"MYbx\",\n\t\"./Script/Tifinagh.js\": \"ZAyF\",\n\t\"./Script/Tirhuta.js\": \"ojjd\",\n\t\"./Script/Toto.js\": \"Q7Nf\",\n\t\"./Script/Ugaritic.js\": \"kcLn\",\n\t\"./Script/Vai.js\": \"5EYo\",\n\t\"./Script/Vithkuqi.js\": \"72aI\",\n\t\"./Script/Wancho.js\": \"IAU5\",\n\t\"./Script/Warang_Citi.js\": \"JUhp\",\n\t\"./Script/Yezidi.js\": \"16uS\",\n\t\"./Script/Yi.js\": \"t4zZ\",\n\t\"./Script/Zanabazar_Square.js\": \"0Z/U\",\n\t\"./Script_Extensions/Adlam.js\": \"mdLn\",\n\t\"./Script_Extensions/Ahom.js\": \"n75q\",\n\t\"./Script_Extensions/Anatolian_Hieroglyphs.js\": \"MHIA\",\n\t\"./Script_Extensions/Arabic.js\": \"1ygP\",\n\t\"./Script_Extensions/Armenian.js\": \"v1yY\",\n\t\"./Script_Extensions/Avestan.js\": \"YulU\",\n\t\"./Script_Extensions/Balinese.js\": \"S+sJ\",\n\t\"./Script_Extensions/Bamum.js\": \"6Ik7\",\n\t\"./Script_Extensions/Bassa_Vah.js\": \"KRcP\",\n\t\"./Script_Extensions/Batak.js\": \"zSGR\",\n\t\"./Script_Extensions/Bengali.js\": \"AyyQ\",\n\t\"./Script_Extensions/Bhaiksuki.js\": \"1ont\",\n\t\"./Script_Extensions/Bopomofo.js\": \"JQ99\",\n\t\"./Script_Extensions/Brahmi.js\": \"jaDh\",\n\t\"./Script_Extensions/Braille.js\": \"lnBL\",\n\t\"./Script_Extensions/Buginese.js\": \"rGMh\",\n\t\"./Script_Extensions/Buhid.js\": \"wcex\",\n\t\"./Script_Extensions/Canadian_Aboriginal.js\": \"uSeW\",\n\t\"./Script_Extensions/Carian.js\": \"zMEA\",\n\t\"./Script_Extensions/Caucasian_Albanian.js\": \"FJfz\",\n\t\"./Script_Extensions/Chakma.js\": \"9LXj\",\n\t\"./Script_Extensions/Cham.js\": \"sceD\",\n\t\"./Script_Extensions/Cherokee.js\": \"5TAg\",\n\t\"./Script_Extensions/Chorasmian.js\": \"jzOb\",\n\t\"./Script_Extensions/Common.js\": \"2rse\",\n\t\"./Script_Extensions/Coptic.js\": \"o3Hh\",\n\t\"./Script_Extensions/Cuneiform.js\": \"Piar\",\n\t\"./Script_Extensions/Cypriot.js\": \"Md75\",\n\t\"./Script_Extensions/Cypro_Minoan.js\": \"6DvP\",\n\t\"./Script_Extensions/Cyrillic.js\": \"CfQf\",\n\t\"./Script_Extensions/Deseret.js\": \"BSjU\",\n\t\"./Script_Extensions/Devanagari.js\": \"uEkq\",\n\t\"./Script_Extensions/Dives_Akuru.js\": \"qtun\",\n\t\"./Script_Extensions/Dogra.js\": \"6hTu\",\n\t\"./Script_Extensions/Duployan.js\": \"rTvz\",\n\t\"./Script_Extensions/Egyptian_Hieroglyphs.js\": \"zIrX\",\n\t\"./Script_Extensions/Elbasan.js\": \"iJwc\",\n\t\"./Script_Extensions/Elymaic.js\": \"SAe1\",\n\t\"./Script_Extensions/Ethiopic.js\": \"oT1F\",\n\t\"./Script_Extensions/Georgian.js\": \"p6v3\",\n\t\"./Script_Extensions/Glagolitic.js\": \"eSoS\",\n\t\"./Script_Extensions/Gothic.js\": \"0h7X\",\n\t\"./Script_Extensions/Grantha.js\": \"a8VH\",\n\t\"./Script_Extensions/Greek.js\": \"T9DP\",\n\t\"./Script_Extensions/Gujarati.js\": \"olBg\",\n\t\"./Script_Extensions/Gunjala_Gondi.js\": \"/Hxr\",\n\t\"./Script_Extensions/Gurmukhi.js\": \"9jCe\",\n\t\"./Script_Extensions/Han.js\": \"VqP8\",\n\t\"./Script_Extensions/Hangul.js\": \"RHGG\",\n\t\"./Script_Extensions/Hanifi_Rohingya.js\": \"dbxg\",\n\t\"./Script_Extensions/Hanunoo.js\": \"8Gun\",\n\t\"./Script_Extensions/Hatran.js\": \"6Ls2\",\n\t\"./Script_Extensions/Hebrew.js\": \"6gQq\",\n\t\"./Script_Extensions/Hiragana.js\": \"i6W2\",\n\t\"./Script_Extensions/Imperial_Aramaic.js\": \"8goA\",\n\t\"./Script_Extensions/Inherited.js\": \"TgRP\",\n\t\"./Script_Extensions/Inscriptional_Pahlavi.js\": \"m1ma\",\n\t\"./Script_Extensions/Inscriptional_Parthian.js\": \"lERh\",\n\t\"./Script_Extensions/Javanese.js\": \"xn3E\",\n\t\"./Script_Extensions/Kaithi.js\": \"K1Le\",\n\t\"./Script_Extensions/Kannada.js\": \"sR9r\",\n\t\"./Script_Extensions/Katakana.js\": \"MpeM\",\n\t\"./Script_Extensions/Kayah_Li.js\": \"EkIy\",\n\t\"./Script_Extensions/Kharoshthi.js\": \"73FR\",\n\t\"./Script_Extensions/Khitan_Small_Script.js\": \"suAS\",\n\t\"./Script_Extensions/Khmer.js\": \"jRTF\",\n\t\"./Script_Extensions/Khojki.js\": \"6zB/\",\n\t\"./Script_Extensions/Khudawadi.js\": \"GI2u\",\n\t\"./Script_Extensions/Lao.js\": \"PQ0K\",\n\t\"./Script_Extensions/Latin.js\": \"2BBF\",\n\t\"./Script_Extensions/Lepcha.js\": \"tF1p\",\n\t\"./Script_Extensions/Limbu.js\": \"zyj0\",\n\t\"./Script_Extensions/Linear_A.js\": \"lFV7\",\n\t\"./Script_Extensions/Linear_B.js\": \"jawv\",\n\t\"./Script_Extensions/Lisu.js\": \"qzaw\",\n\t\"./Script_Extensions/Lycian.js\": \"wqYY\",\n\t\"./Script_Extensions/Lydian.js\": \"n+Zh\",\n\t\"./Script_Extensions/Mahajani.js\": \"z8DC\",\n\t\"./Script_Extensions/Makasar.js\": \"RNCu\",\n\t\"./Script_Extensions/Malayalam.js\": \"wtBk\",\n\t\"./Script_Extensions/Mandaic.js\": \"untw\",\n\t\"./Script_Extensions/Manichaean.js\": \"n1Oh\",\n\t\"./Script_Extensions/Marchen.js\": \"8fW5\",\n\t\"./Script_Extensions/Masaram_Gondi.js\": \"JBN+\",\n\t\"./Script_Extensions/Medefaidrin.js\": \"02tC\",\n\t\"./Script_Extensions/Meetei_Mayek.js\": \"PoXS\",\n\t\"./Script_Extensions/Mende_Kikakui.js\": \"7jK8\",\n\t\"./Script_Extensions/Meroitic_Cursive.js\": \"U8oa\",\n\t\"./Script_Extensions/Meroitic_Hieroglyphs.js\": \"WAkd\",\n\t\"./Script_Extensions/Miao.js\": \"G1tY\",\n\t\"./Script_Extensions/Modi.js\": \"HwGp\",\n\t\"./Script_Extensions/Mongolian.js\": \"WGqn\",\n\t\"./Script_Extensions/Mro.js\": \"UQmg\",\n\t\"./Script_Extensions/Multani.js\": \"WfgX\",\n\t\"./Script_Extensions/Myanmar.js\": \"bqHw\",\n\t\"./Script_Extensions/Nabataean.js\": \"pjPY\",\n\t\"./Script_Extensions/Nandinagari.js\": \"ObV2\",\n\t\"./Script_Extensions/New_Tai_Lue.js\": \"ZsYH\",\n\t\"./Script_Extensions/Newa.js\": \"5tk3\",\n\t\"./Script_Extensions/Nko.js\": \"/kDM\",\n\t\"./Script_Extensions/Nushu.js\": \"JSPL\",\n\t\"./Script_Extensions/Nyiakeng_Puachue_Hmong.js\": \"xsuf\",\n\t\"./Script_Extensions/Ogham.js\": \"2PVI\",\n\t\"./Script_Extensions/Ol_Chiki.js\": \"NTOk\",\n\t\"./Script_Extensions/Old_Hungarian.js\": \"IK5f\",\n\t\"./Script_Extensions/Old_Italic.js\": \"VHj/\",\n\t\"./Script_Extensions/Old_North_Arabian.js\": \"XcdB\",\n\t\"./Script_Extensions/Old_Permic.js\": \"kp9+\",\n\t\"./Script_Extensions/Old_Persian.js\": \"kAvF\",\n\t\"./Script_Extensions/Old_Sogdian.js\": \"oml3\",\n\t\"./Script_Extensions/Old_South_Arabian.js\": \"F3Lr\",\n\t\"./Script_Extensions/Old_Turkic.js\": \"ZaWa\",\n\t\"./Script_Extensions/Old_Uyghur.js\": \"9rk1\",\n\t\"./Script_Extensions/Oriya.js\": \"MA0n\",\n\t\"./Script_Extensions/Osage.js\": \"i1w3\",\n\t\"./Script_Extensions/Osmanya.js\": \"EVgB\",\n\t\"./Script_Extensions/Pahawh_Hmong.js\": \"EJMw\",\n\t\"./Script_Extensions/Palmyrene.js\": \"kCFO\",\n\t\"./Script_Extensions/Pau_Cin_Hau.js\": \"96ys\",\n\t\"./Script_Extensions/Phags_Pa.js\": \"jca9\",\n\t\"./Script_Extensions/Phoenician.js\": \"sMr2\",\n\t\"./Script_Extensions/Psalter_Pahlavi.js\": \"yP4Y\",\n\t\"./Script_Extensions/Rejang.js\": \"AkQd\",\n\t\"./Script_Extensions/Runic.js\": \"Dm2Y\",\n\t\"./Script_Extensions/Samaritan.js\": \"zWlK\",\n\t\"./Script_Extensions/Saurashtra.js\": \"wOBA\",\n\t\"./Script_Extensions/Sharada.js\": \"idKo\",\n\t\"./Script_Extensions/Shavian.js\": \"Wp8k\",\n\t\"./Script_Extensions/Siddham.js\": \"0OBK\",\n\t\"./Script_Extensions/SignWriting.js\": \"mJRM\",\n\t\"./Script_Extensions/Sinhala.js\": \"7xP4\",\n\t\"./Script_Extensions/Sogdian.js\": \"9VM+\",\n\t\"./Script_Extensions/Sora_Sompeng.js\": \"jM+1\",\n\t\"./Script_Extensions/Soyombo.js\": \"ZSfS\",\n\t\"./Script_Extensions/Sundanese.js\": \"xs8s\",\n\t\"./Script_Extensions/Syloti_Nagri.js\": \"X29h\",\n\t\"./Script_Extensions/Syriac.js\": \"HUGt\",\n\t\"./Script_Extensions/Tagalog.js\": \"9/o/\",\n\t\"./Script_Extensions/Tagbanwa.js\": \"Cw5x\",\n\t\"./Script_Extensions/Tai_Le.js\": \"64uU\",\n\t\"./Script_Extensions/Tai_Tham.js\": \"7GeA\",\n\t\"./Script_Extensions/Tai_Viet.js\": \"wA4O\",\n\t\"./Script_Extensions/Takri.js\": \"MSEK\",\n\t\"./Script_Extensions/Tamil.js\": \"+XeO\",\n\t\"./Script_Extensions/Tangsa.js\": \"VArt\",\n\t\"./Script_Extensions/Tangut.js\": \"X2h1\",\n\t\"./Script_Extensions/Telugu.js\": \"a37I\",\n\t\"./Script_Extensions/Thaana.js\": \"YXr4\",\n\t\"./Script_Extensions/Thai.js\": \"9mTJ\",\n\t\"./Script_Extensions/Tibetan.js\": \"hQqI\",\n\t\"./Script_Extensions/Tifinagh.js\": \"MBkK\",\n\t\"./Script_Extensions/Tirhuta.js\": \"wmPc\",\n\t\"./Script_Extensions/Toto.js\": \"n7sV\",\n\t\"./Script_Extensions/Ugaritic.js\": \"tgrt\",\n\t\"./Script_Extensions/Vai.js\": \"cyPN\",\n\t\"./Script_Extensions/Vithkuqi.js\": \"lBvs\",\n\t\"./Script_Extensions/Wancho.js\": \"ELeP\",\n\t\"./Script_Extensions/Warang_Citi.js\": \"JEgC\",\n\t\"./Script_Extensions/Yezidi.js\": \"8nCx\",\n\t\"./Script_Extensions/Yi.js\": \"CnAY\",\n\t\"./Script_Extensions/Zanabazar_Square.js\": \"Xx7p\",\n\t\"./index.js\": \"aAIp\",\n\t\"./unicode-version.js\": \"9NKt\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"PML8\";","const set = require('regenerate')(0xE84, 0xEA5, 0xEC6);\nset.addRange(0xE81, 0xE82).addRange(0xE86, 0xE8A).addRange(0xE8C, 0xEA3).addRange(0xEA7, 0xEBD).addRange(0xEC0, 0xEC4).addRange(0xEC8, 0xECD).addRange(0xED0, 0xED9).addRange(0xEDC, 0xEDF);\nmodule.exports = set;","import * as React from 'react'\n /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsxRuntime classic */\n/* @jsx mdx */\nimport DefaultLayout from \"/home/runner/work/tanka/tanka/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nexport const _frontmatter = {};\nconst layoutProps = {\n _frontmatter\n};\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n components,\n ...props\n}) {\n return \n\n\n
    {`local`}{` k `}{`=`}{` `}{`import`}{` `}{`\"k.libsonnet\"`}{`;`}{`\n`}{`\n`}{`{`}{`\n`}{`    `}{`grafana:`}{` k.apps.v1.deployment.`}{`new`}{`(`}{`\n`}{`        name=`}{`\"grafana\"`}{`,`}{`\n`}{`        replicas=`}{`1`}{`,`}{`\n`}{`        containers=[k.core.v1.container.`}{`new`}{`(`}{`\n`}{`            name=`}{`\"grafana\"`}{`,`}{`\n`}{`            image=`}{`\"grafana/grafana\"`}{`,`}{`\n`}{`        )]`}{`\n`}{`    )`}{`\n`}{`}`}
    \n\n \n
    ;\n}\n;\nMDXContent.isMDXComponent = true;\n ","const set = require('regenerate')(0xAA, 0xB5, 0xBA, 0x2EC, 0x2EE, 0x37F, 0x386, 0x38C, 0x559, 0x6D5, 0x6FF, 0x710, 0x7B1, 0x7FA, 0x81A, 0x824, 0x828, 0x93D, 0x950, 0x9B2, 0x9BD, 0x9CE, 0x9FC, 0xA5E, 0xABD, 0xAD0, 0xAF9, 0xB3D, 0xB71, 0xB83, 0xB9C, 0xBD0, 0xC3D, 0xC5D, 0xC80, 0xCBD, 0xD3D, 0xD4E, 0xDBD, 0xE84, 0xEA5, 0xEBD, 0xEC6, 0xF00, 0x103F, 0x1061, 0x108E, 0x10C7, 0x10CD, 0x1258, 0x12C0, 0x17D7, 0x17DC, 0x18AA, 0x1AA7, 0x1CFA, 0x1F59, 0x1F5B, 0x1F5D, 0x1FBE, 0x2071, 0x207F, 0x2102, 0x2107, 0x2115, 0x2124, 0x2126, 0x2128, 0x214E, 0x2D27, 0x2D2D, 0x2D6F, 0x2E2F, 0xA7D3, 0xA8FB, 0xA9CF, 0xAA7A, 0xAAB1, 0xAAC0, 0xAAC2, 0xFB1D, 0xFB3E, 0x10808, 0x1083C, 0x10A00, 0x10F27, 0x11075, 0x11144, 0x11147, 0x11176, 0x111DA, 0x111DC, 0x11288, 0x1133D, 0x11350, 0x114C7, 0x11644, 0x116B8, 0x11909, 0x1193F, 0x11941, 0x119E1, 0x119E3, 0x11A00, 0x11A3A, 0x11A50, 0x11A9D, 0x11C40, 0x11D46, 0x11D98, 0x11FB0, 0x16F50, 0x16FE3, 0x1D4A2, 0x1D4BB, 0x1D546, 0x1E14E, 0x1E94B, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E);\nset.addRange(0x41, 0x5A).addRange(0x61, 0x7A).addRange(0xC0, 0xD6).addRange(0xD8, 0xF6).addRange(0xF8, 0x2C1).addRange(0x2C6, 0x2D1).addRange(0x2E0, 0x2E4).addRange(0x370, 0x374).addRange(0x376, 0x377).addRange(0x37A, 0x37D).addRange(0x388, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x3F5).addRange(0x3F7, 0x481).addRange(0x48A, 0x52F).addRange(0x531, 0x556).addRange(0x560, 0x588).addRange(0x5D0, 0x5EA).addRange(0x5EF, 0x5F2).addRange(0x620, 0x64A).addRange(0x66E, 0x66F).addRange(0x671, 0x6D3).addRange(0x6E5, 0x6E6).addRange(0x6EE, 0x6EF).addRange(0x6FA, 0x6FC).addRange(0x712, 0x72F).addRange(0x74D, 0x7A5).addRange(0x7CA, 0x7EA).addRange(0x7F4, 0x7F5).addRange(0x800, 0x815).addRange(0x840, 0x858).addRange(0x860, 0x86A).addRange(0x870, 0x887).addRange(0x889, 0x88E).addRange(0x8A0, 0x8C9).addRange(0x904, 0x939).addRange(0x958, 0x961).addRange(0x971, 0x980).addRange(0x985, 0x98C).addRange(0x98F, 0x990).addRange(0x993, 0x9A8).addRange(0x9AA, 0x9B0).addRange(0x9B6, 0x9B9).addRange(0x9DC, 0x9DD).addRange(0x9DF, 0x9E1).addRange(0x9F0, 0x9F1).addRange(0xA05, 0xA0A).addRange(0xA0F, 0xA10).addRange(0xA13, 0xA28).addRange(0xA2A, 0xA30).addRange(0xA32, 0xA33);\nset.addRange(0xA35, 0xA36).addRange(0xA38, 0xA39).addRange(0xA59, 0xA5C).addRange(0xA72, 0xA74).addRange(0xA85, 0xA8D).addRange(0xA8F, 0xA91).addRange(0xA93, 0xAA8).addRange(0xAAA, 0xAB0).addRange(0xAB2, 0xAB3).addRange(0xAB5, 0xAB9).addRange(0xAE0, 0xAE1).addRange(0xB05, 0xB0C).addRange(0xB0F, 0xB10).addRange(0xB13, 0xB28).addRange(0xB2A, 0xB30).addRange(0xB32, 0xB33).addRange(0xB35, 0xB39).addRange(0xB5C, 0xB5D).addRange(0xB5F, 0xB61).addRange(0xB85, 0xB8A).addRange(0xB8E, 0xB90).addRange(0xB92, 0xB95).addRange(0xB99, 0xB9A).addRange(0xB9E, 0xB9F).addRange(0xBA3, 0xBA4).addRange(0xBA8, 0xBAA).addRange(0xBAE, 0xBB9).addRange(0xC05, 0xC0C).addRange(0xC0E, 0xC10).addRange(0xC12, 0xC28).addRange(0xC2A, 0xC39).addRange(0xC58, 0xC5A).addRange(0xC60, 0xC61).addRange(0xC85, 0xC8C).addRange(0xC8E, 0xC90).addRange(0xC92, 0xCA8).addRange(0xCAA, 0xCB3).addRange(0xCB5, 0xCB9).addRange(0xCDD, 0xCDE).addRange(0xCE0, 0xCE1).addRange(0xCF1, 0xCF2).addRange(0xD04, 0xD0C).addRange(0xD0E, 0xD10).addRange(0xD12, 0xD3A).addRange(0xD54, 0xD56).addRange(0xD5F, 0xD61).addRange(0xD7A, 0xD7F).addRange(0xD85, 0xD96).addRange(0xD9A, 0xDB1).addRange(0xDB3, 0xDBB).addRange(0xDC0, 0xDC6);\nset.addRange(0xE01, 0xE30).addRange(0xE32, 0xE33).addRange(0xE40, 0xE46).addRange(0xE81, 0xE82).addRange(0xE86, 0xE8A).addRange(0xE8C, 0xEA3).addRange(0xEA7, 0xEB0).addRange(0xEB2, 0xEB3).addRange(0xEC0, 0xEC4).addRange(0xEDC, 0xEDF).addRange(0xF40, 0xF47).addRange(0xF49, 0xF6C).addRange(0xF88, 0xF8C).addRange(0x1000, 0x102A).addRange(0x1050, 0x1055).addRange(0x105A, 0x105D).addRange(0x1065, 0x1066).addRange(0x106E, 0x1070).addRange(0x1075, 0x1081).addRange(0x10A0, 0x10C5).addRange(0x10D0, 0x10FA).addRange(0x10FC, 0x1248).addRange(0x124A, 0x124D).addRange(0x1250, 0x1256).addRange(0x125A, 0x125D).addRange(0x1260, 0x1288).addRange(0x128A, 0x128D).addRange(0x1290, 0x12B0).addRange(0x12B2, 0x12B5).addRange(0x12B8, 0x12BE).addRange(0x12C2, 0x12C5).addRange(0x12C8, 0x12D6).addRange(0x12D8, 0x1310).addRange(0x1312, 0x1315).addRange(0x1318, 0x135A).addRange(0x1380, 0x138F).addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0x1401, 0x166C).addRange(0x166F, 0x167F).addRange(0x1681, 0x169A).addRange(0x16A0, 0x16EA).addRange(0x16F1, 0x16F8).addRange(0x1700, 0x1711).addRange(0x171F, 0x1731).addRange(0x1740, 0x1751).addRange(0x1760, 0x176C).addRange(0x176E, 0x1770).addRange(0x1780, 0x17B3).addRange(0x1820, 0x1878).addRange(0x1880, 0x1884);\nset.addRange(0x1887, 0x18A8).addRange(0x18B0, 0x18F5).addRange(0x1900, 0x191E).addRange(0x1950, 0x196D).addRange(0x1970, 0x1974).addRange(0x1980, 0x19AB).addRange(0x19B0, 0x19C9).addRange(0x1A00, 0x1A16).addRange(0x1A20, 0x1A54).addRange(0x1B05, 0x1B33).addRange(0x1B45, 0x1B4C).addRange(0x1B83, 0x1BA0).addRange(0x1BAE, 0x1BAF).addRange(0x1BBA, 0x1BE5).addRange(0x1C00, 0x1C23).addRange(0x1C4D, 0x1C4F).addRange(0x1C5A, 0x1C7D).addRange(0x1C80, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1CE9, 0x1CEC).addRange(0x1CEE, 0x1CF3).addRange(0x1CF5, 0x1CF6).addRange(0x1D00, 0x1DBF).addRange(0x1E00, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D).addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FBC).addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FCC).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FE0, 0x1FEC).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFC).addRange(0x2090, 0x209C).addRange(0x210A, 0x2113).addRange(0x2119, 0x211D).addRange(0x212A, 0x212D).addRange(0x212F, 0x2139).addRange(0x213C, 0x213F).addRange(0x2145, 0x2149).addRange(0x2183, 0x2184).addRange(0x2C00, 0x2CE4).addRange(0x2CEB, 0x2CEE).addRange(0x2CF2, 0x2CF3).addRange(0x2D00, 0x2D25);\nset.addRange(0x2D30, 0x2D67).addRange(0x2D80, 0x2D96).addRange(0x2DA0, 0x2DA6).addRange(0x2DA8, 0x2DAE).addRange(0x2DB0, 0x2DB6).addRange(0x2DB8, 0x2DBE).addRange(0x2DC0, 0x2DC6).addRange(0x2DC8, 0x2DCE).addRange(0x2DD0, 0x2DD6).addRange(0x2DD8, 0x2DDE).addRange(0x3005, 0x3006).addRange(0x3031, 0x3035).addRange(0x303B, 0x303C).addRange(0x3041, 0x3096).addRange(0x309D, 0x309F).addRange(0x30A1, 0x30FA).addRange(0x30FC, 0x30FF).addRange(0x3105, 0x312F).addRange(0x3131, 0x318E).addRange(0x31A0, 0x31BF).addRange(0x31F0, 0x31FF).addRange(0x3400, 0x4DBF).addRange(0x4E00, 0xA48C).addRange(0xA4D0, 0xA4FD).addRange(0xA500, 0xA60C).addRange(0xA610, 0xA61F).addRange(0xA62A, 0xA62B).addRange(0xA640, 0xA66E).addRange(0xA67F, 0xA69D).addRange(0xA6A0, 0xA6E5).addRange(0xA717, 0xA71F).addRange(0xA722, 0xA788).addRange(0xA78B, 0xA7CA).addRange(0xA7D0, 0xA7D1).addRange(0xA7D5, 0xA7D9).addRange(0xA7F2, 0xA801).addRange(0xA803, 0xA805).addRange(0xA807, 0xA80A).addRange(0xA80C, 0xA822).addRange(0xA840, 0xA873).addRange(0xA882, 0xA8B3).addRange(0xA8F2, 0xA8F7).addRange(0xA8FD, 0xA8FE).addRange(0xA90A, 0xA925).addRange(0xA930, 0xA946).addRange(0xA960, 0xA97C).addRange(0xA984, 0xA9B2).addRange(0xA9E0, 0xA9E4).addRange(0xA9E6, 0xA9EF).addRange(0xA9FA, 0xA9FE).addRange(0xAA00, 0xAA28);\nset.addRange(0xAA40, 0xAA42).addRange(0xAA44, 0xAA4B).addRange(0xAA60, 0xAA76).addRange(0xAA7E, 0xAAAF).addRange(0xAAB5, 0xAAB6).addRange(0xAAB9, 0xAABD).addRange(0xAADB, 0xAADD).addRange(0xAAE0, 0xAAEA).addRange(0xAAF2, 0xAAF4).addRange(0xAB01, 0xAB06).addRange(0xAB09, 0xAB0E).addRange(0xAB11, 0xAB16).addRange(0xAB20, 0xAB26).addRange(0xAB28, 0xAB2E).addRange(0xAB30, 0xAB5A).addRange(0xAB5C, 0xAB69).addRange(0xAB70, 0xABE2).addRange(0xAC00, 0xD7A3).addRange(0xD7B0, 0xD7C6).addRange(0xD7CB, 0xD7FB).addRange(0xF900, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFB1F, 0xFB28).addRange(0xFB2A, 0xFB36).addRange(0xFB38, 0xFB3C).addRange(0xFB40, 0xFB41).addRange(0xFB43, 0xFB44).addRange(0xFB46, 0xFBB1).addRange(0xFBD3, 0xFD3D).addRange(0xFD50, 0xFD8F).addRange(0xFD92, 0xFDC7).addRange(0xFDF0, 0xFDFB).addRange(0xFE70, 0xFE74).addRange(0xFE76, 0xFEFC).addRange(0xFF21, 0xFF3A).addRange(0xFF41, 0xFF5A).addRange(0xFF66, 0xFFBE).addRange(0xFFC2, 0xFFC7).addRange(0xFFCA, 0xFFCF).addRange(0xFFD2, 0xFFD7).addRange(0xFFDA, 0xFFDC).addRange(0x10000, 0x1000B).addRange(0x1000D, 0x10026).addRange(0x10028, 0x1003A).addRange(0x1003C, 0x1003D).addRange(0x1003F, 0x1004D).addRange(0x10050, 0x1005D).addRange(0x10080, 0x100FA).addRange(0x10280, 0x1029C);\nset.addRange(0x102A0, 0x102D0).addRange(0x10300, 0x1031F).addRange(0x1032D, 0x10340).addRange(0x10342, 0x10349).addRange(0x10350, 0x10375).addRange(0x10380, 0x1039D).addRange(0x103A0, 0x103C3).addRange(0x103C8, 0x103CF).addRange(0x10400, 0x1049D).addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB).addRange(0x10500, 0x10527).addRange(0x10530, 0x10563).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10600, 0x10736).addRange(0x10740, 0x10755).addRange(0x10760, 0x10767).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10800, 0x10805).addRange(0x1080A, 0x10835).addRange(0x10837, 0x10838).addRange(0x1083F, 0x10855).addRange(0x10860, 0x10876).addRange(0x10880, 0x1089E).addRange(0x108E0, 0x108F2).addRange(0x108F4, 0x108F5).addRange(0x10900, 0x10915).addRange(0x10920, 0x10939).addRange(0x10980, 0x109B7).addRange(0x109BE, 0x109BF).addRange(0x10A10, 0x10A13).addRange(0x10A15, 0x10A17).addRange(0x10A19, 0x10A35).addRange(0x10A60, 0x10A7C).addRange(0x10A80, 0x10A9C).addRange(0x10AC0, 0x10AC7).addRange(0x10AC9, 0x10AE4).addRange(0x10B00, 0x10B35).addRange(0x10B40, 0x10B55).addRange(0x10B60, 0x10B72).addRange(0x10B80, 0x10B91).addRange(0x10C00, 0x10C48);\nset.addRange(0x10C80, 0x10CB2).addRange(0x10CC0, 0x10CF2).addRange(0x10D00, 0x10D23).addRange(0x10E80, 0x10EA9).addRange(0x10EB0, 0x10EB1).addRange(0x10F00, 0x10F1C).addRange(0x10F30, 0x10F45).addRange(0x10F70, 0x10F81).addRange(0x10FB0, 0x10FC4).addRange(0x10FE0, 0x10FF6).addRange(0x11003, 0x11037).addRange(0x11071, 0x11072).addRange(0x11083, 0x110AF).addRange(0x110D0, 0x110E8).addRange(0x11103, 0x11126).addRange(0x11150, 0x11172).addRange(0x11183, 0x111B2).addRange(0x111C1, 0x111C4).addRange(0x11200, 0x11211).addRange(0x11213, 0x1122B).addRange(0x11280, 0x11286).addRange(0x1128A, 0x1128D).addRange(0x1128F, 0x1129D).addRange(0x1129F, 0x112A8).addRange(0x112B0, 0x112DE).addRange(0x11305, 0x1130C).addRange(0x1130F, 0x11310).addRange(0x11313, 0x11328).addRange(0x1132A, 0x11330).addRange(0x11332, 0x11333).addRange(0x11335, 0x11339).addRange(0x1135D, 0x11361).addRange(0x11400, 0x11434).addRange(0x11447, 0x1144A).addRange(0x1145F, 0x11461).addRange(0x11480, 0x114AF).addRange(0x114C4, 0x114C5).addRange(0x11580, 0x115AE).addRange(0x115D8, 0x115DB).addRange(0x11600, 0x1162F).addRange(0x11680, 0x116AA).addRange(0x11700, 0x1171A).addRange(0x11740, 0x11746).addRange(0x11800, 0x1182B).addRange(0x118A0, 0x118DF).addRange(0x118FF, 0x11906).addRange(0x1190C, 0x11913).addRange(0x11915, 0x11916).addRange(0x11918, 0x1192F).addRange(0x119A0, 0x119A7).addRange(0x119AA, 0x119D0);\nset.addRange(0x11A0B, 0x11A32).addRange(0x11A5C, 0x11A89).addRange(0x11AB0, 0x11AF8).addRange(0x11C00, 0x11C08).addRange(0x11C0A, 0x11C2E).addRange(0x11C72, 0x11C8F).addRange(0x11D00, 0x11D06).addRange(0x11D08, 0x11D09).addRange(0x11D0B, 0x11D30).addRange(0x11D60, 0x11D65).addRange(0x11D67, 0x11D68).addRange(0x11D6A, 0x11D89).addRange(0x11EE0, 0x11EF2).addRange(0x12000, 0x12399).addRange(0x12480, 0x12543).addRange(0x12F90, 0x12FF0).addRange(0x13000, 0x1342E).addRange(0x14400, 0x14646).addRange(0x16800, 0x16A38).addRange(0x16A40, 0x16A5E).addRange(0x16A70, 0x16ABE).addRange(0x16AD0, 0x16AED).addRange(0x16B00, 0x16B2F).addRange(0x16B40, 0x16B43).addRange(0x16B63, 0x16B77).addRange(0x16B7D, 0x16B8F).addRange(0x16E40, 0x16E7F).addRange(0x16F00, 0x16F4A).addRange(0x16F93, 0x16F9F).addRange(0x16FE0, 0x16FE1).addRange(0x17000, 0x187F7).addRange(0x18800, 0x18CD5).addRange(0x18D00, 0x18D08).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE).addRange(0x1B000, 0x1B122).addRange(0x1B150, 0x1B152).addRange(0x1B164, 0x1B167).addRange(0x1B170, 0x1B2FB).addRange(0x1BC00, 0x1BC6A).addRange(0x1BC70, 0x1BC7C).addRange(0x1BC80, 0x1BC88).addRange(0x1BC90, 0x1BC99).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3);\nset.addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D6C0).addRange(0x1D6C2, 0x1D6DA).addRange(0x1D6DC, 0x1D6FA).addRange(0x1D6FC, 0x1D714).addRange(0x1D716, 0x1D734).addRange(0x1D736, 0x1D74E).addRange(0x1D750, 0x1D76E).addRange(0x1D770, 0x1D788).addRange(0x1D78A, 0x1D7A8).addRange(0x1D7AA, 0x1D7C2).addRange(0x1D7C4, 0x1D7CB).addRange(0x1DF00, 0x1DF1E).addRange(0x1E100, 0x1E12C).addRange(0x1E137, 0x1E13D).addRange(0x1E290, 0x1E2AD).addRange(0x1E2C0, 0x1E2EB).addRange(0x1E7E0, 0x1E7E6).addRange(0x1E7E8, 0x1E7EB).addRange(0x1E7ED, 0x1E7EE).addRange(0x1E7F0, 0x1E7FE).addRange(0x1E800, 0x1E8C4).addRange(0x1E900, 0x1E943).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F).addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72).addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89).addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x20000, 0x2A6DF).addRange(0x2A700, 0x2B738).addRange(0x2B740, 0x2B81D);\nset.addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x2F800, 0x2FA1D).addRange(0x30000, 0x3134A);\nmodule.exports = set;","const set = require('regenerate')(0x10808, 0x1083C, 0x1083F);\nset.addRange(0x10800, 0x10805).addRange(0x1080A, 0x10835).addRange(0x10837, 0x10838);\nmodule.exports = set;","const set = require('regenerate')(0xAA, 0xB5, 0xBA, 0x2EC, 0x2EE, 0x345, 0x37F, 0x386, 0x38C, 0x559, 0x5BF, 0x5C7, 0x6FF, 0x7FA, 0x9B2, 0x9CE, 0x9D7, 0x9FC, 0xA51, 0xA5E, 0xAD0, 0xB71, 0xB9C, 0xBD0, 0xBD7, 0xC5D, 0xD4E, 0xDBD, 0xDD6, 0xE4D, 0xE84, 0xEA5, 0xEC6, 0xECD, 0xF00, 0x1038, 0x10C7, 0x10CD, 0x1258, 0x12C0, 0x17D7, 0x17DC, 0x1AA7, 0x1CFA, 0x1F59, 0x1F5B, 0x1F5D, 0x1FBE, 0x2071, 0x207F, 0x2102, 0x2107, 0x2115, 0x2124, 0x2126, 0x2128, 0x214E, 0x2D27, 0x2D2D, 0x2D6F, 0x2E2F, 0xA7D3, 0xA8C5, 0xA8FB, 0xA9CF, 0xAAC0, 0xAAC2, 0xFB3E, 0x10808, 0x1083C, 0x10F27, 0x110C2, 0x11176, 0x111DA, 0x111DC, 0x11237, 0x1123E, 0x11288, 0x11350, 0x11357, 0x114C7, 0x11640, 0x11644, 0x116B8, 0x11909, 0x119E1, 0x11A9D, 0x11C40, 0x11D3A, 0x11D43, 0x11D98, 0x11FB0, 0x16FE3, 0x1BC9E, 0x1D4A2, 0x1D4BB, 0x1D546, 0x1E14E, 0x1E947, 0x1E94B, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E);\nset.addRange(0x41, 0x5A).addRange(0x61, 0x7A).addRange(0xC0, 0xD6).addRange(0xD8, 0xF6).addRange(0xF8, 0x2C1).addRange(0x2C6, 0x2D1).addRange(0x2E0, 0x2E4).addRange(0x370, 0x374).addRange(0x376, 0x377).addRange(0x37A, 0x37D).addRange(0x388, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x3F5).addRange(0x3F7, 0x481).addRange(0x48A, 0x52F).addRange(0x531, 0x556).addRange(0x560, 0x588).addRange(0x5B0, 0x5BD).addRange(0x5C1, 0x5C2).addRange(0x5C4, 0x5C5).addRange(0x5D0, 0x5EA).addRange(0x5EF, 0x5F2).addRange(0x610, 0x61A).addRange(0x620, 0x657).addRange(0x659, 0x65F).addRange(0x66E, 0x6D3).addRange(0x6D5, 0x6DC).addRange(0x6E1, 0x6E8).addRange(0x6ED, 0x6EF).addRange(0x6FA, 0x6FC).addRange(0x710, 0x73F).addRange(0x74D, 0x7B1).addRange(0x7CA, 0x7EA).addRange(0x7F4, 0x7F5).addRange(0x800, 0x817).addRange(0x81A, 0x82C).addRange(0x840, 0x858).addRange(0x860, 0x86A).addRange(0x870, 0x887).addRange(0x889, 0x88E).addRange(0x8A0, 0x8C9).addRange(0x8D4, 0x8DF).addRange(0x8E3, 0x8E9).addRange(0x8F0, 0x93B).addRange(0x93D, 0x94C).addRange(0x94E, 0x950).addRange(0x955, 0x963).addRange(0x971, 0x983).addRange(0x985, 0x98C).addRange(0x98F, 0x990).addRange(0x993, 0x9A8);\nset.addRange(0x9AA, 0x9B0).addRange(0x9B6, 0x9B9).addRange(0x9BD, 0x9C4).addRange(0x9C7, 0x9C8).addRange(0x9CB, 0x9CC).addRange(0x9DC, 0x9DD).addRange(0x9DF, 0x9E3).addRange(0x9F0, 0x9F1).addRange(0xA01, 0xA03).addRange(0xA05, 0xA0A).addRange(0xA0F, 0xA10).addRange(0xA13, 0xA28).addRange(0xA2A, 0xA30).addRange(0xA32, 0xA33).addRange(0xA35, 0xA36).addRange(0xA38, 0xA39).addRange(0xA3E, 0xA42).addRange(0xA47, 0xA48).addRange(0xA4B, 0xA4C).addRange(0xA59, 0xA5C).addRange(0xA70, 0xA75).addRange(0xA81, 0xA83).addRange(0xA85, 0xA8D).addRange(0xA8F, 0xA91).addRange(0xA93, 0xAA8).addRange(0xAAA, 0xAB0).addRange(0xAB2, 0xAB3).addRange(0xAB5, 0xAB9).addRange(0xABD, 0xAC5).addRange(0xAC7, 0xAC9).addRange(0xACB, 0xACC).addRange(0xAE0, 0xAE3).addRange(0xAF9, 0xAFC).addRange(0xB01, 0xB03).addRange(0xB05, 0xB0C).addRange(0xB0F, 0xB10).addRange(0xB13, 0xB28).addRange(0xB2A, 0xB30).addRange(0xB32, 0xB33).addRange(0xB35, 0xB39).addRange(0xB3D, 0xB44).addRange(0xB47, 0xB48).addRange(0xB4B, 0xB4C).addRange(0xB56, 0xB57).addRange(0xB5C, 0xB5D).addRange(0xB5F, 0xB63).addRange(0xB82, 0xB83).addRange(0xB85, 0xB8A).addRange(0xB8E, 0xB90).addRange(0xB92, 0xB95).addRange(0xB99, 0xB9A);\nset.addRange(0xB9E, 0xB9F).addRange(0xBA3, 0xBA4).addRange(0xBA8, 0xBAA).addRange(0xBAE, 0xBB9).addRange(0xBBE, 0xBC2).addRange(0xBC6, 0xBC8).addRange(0xBCA, 0xBCC).addRange(0xC00, 0xC03).addRange(0xC05, 0xC0C).addRange(0xC0E, 0xC10).addRange(0xC12, 0xC28).addRange(0xC2A, 0xC39).addRange(0xC3D, 0xC44).addRange(0xC46, 0xC48).addRange(0xC4A, 0xC4C).addRange(0xC55, 0xC56).addRange(0xC58, 0xC5A).addRange(0xC60, 0xC63).addRange(0xC80, 0xC83).addRange(0xC85, 0xC8C).addRange(0xC8E, 0xC90).addRange(0xC92, 0xCA8).addRange(0xCAA, 0xCB3).addRange(0xCB5, 0xCB9).addRange(0xCBD, 0xCC4).addRange(0xCC6, 0xCC8).addRange(0xCCA, 0xCCC).addRange(0xCD5, 0xCD6).addRange(0xCDD, 0xCDE).addRange(0xCE0, 0xCE3).addRange(0xCF1, 0xCF2).addRange(0xD00, 0xD0C).addRange(0xD0E, 0xD10).addRange(0xD12, 0xD3A).addRange(0xD3D, 0xD44).addRange(0xD46, 0xD48).addRange(0xD4A, 0xD4C).addRange(0xD54, 0xD57).addRange(0xD5F, 0xD63).addRange(0xD7A, 0xD7F).addRange(0xD81, 0xD83).addRange(0xD85, 0xD96).addRange(0xD9A, 0xDB1).addRange(0xDB3, 0xDBB).addRange(0xDC0, 0xDC6).addRange(0xDCF, 0xDD4).addRange(0xDD8, 0xDDF).addRange(0xDF2, 0xDF3).addRange(0xE01, 0xE3A).addRange(0xE40, 0xE46).addRange(0xE81, 0xE82);\nset.addRange(0xE86, 0xE8A).addRange(0xE8C, 0xEA3).addRange(0xEA7, 0xEB9).addRange(0xEBB, 0xEBD).addRange(0xEC0, 0xEC4).addRange(0xEDC, 0xEDF).addRange(0xF40, 0xF47).addRange(0xF49, 0xF6C).addRange(0xF71, 0xF81).addRange(0xF88, 0xF97).addRange(0xF99, 0xFBC).addRange(0x1000, 0x1036).addRange(0x103B, 0x103F).addRange(0x1050, 0x108F).addRange(0x109A, 0x109D).addRange(0x10A0, 0x10C5).addRange(0x10D0, 0x10FA).addRange(0x10FC, 0x1248).addRange(0x124A, 0x124D).addRange(0x1250, 0x1256).addRange(0x125A, 0x125D).addRange(0x1260, 0x1288).addRange(0x128A, 0x128D).addRange(0x1290, 0x12B0).addRange(0x12B2, 0x12B5).addRange(0x12B8, 0x12BE).addRange(0x12C2, 0x12C5).addRange(0x12C8, 0x12D6).addRange(0x12D8, 0x1310).addRange(0x1312, 0x1315).addRange(0x1318, 0x135A).addRange(0x1380, 0x138F).addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0x1401, 0x166C).addRange(0x166F, 0x167F).addRange(0x1681, 0x169A).addRange(0x16A0, 0x16EA).addRange(0x16EE, 0x16F8).addRange(0x1700, 0x1713).addRange(0x171F, 0x1733).addRange(0x1740, 0x1753).addRange(0x1760, 0x176C).addRange(0x176E, 0x1770).addRange(0x1772, 0x1773).addRange(0x1780, 0x17B3).addRange(0x17B6, 0x17C8).addRange(0x1820, 0x1878).addRange(0x1880, 0x18AA).addRange(0x18B0, 0x18F5).addRange(0x1900, 0x191E);\nset.addRange(0x1920, 0x192B).addRange(0x1930, 0x1938).addRange(0x1950, 0x196D).addRange(0x1970, 0x1974).addRange(0x1980, 0x19AB).addRange(0x19B0, 0x19C9).addRange(0x1A00, 0x1A1B).addRange(0x1A20, 0x1A5E).addRange(0x1A61, 0x1A74).addRange(0x1ABF, 0x1AC0).addRange(0x1ACC, 0x1ACE).addRange(0x1B00, 0x1B33).addRange(0x1B35, 0x1B43).addRange(0x1B45, 0x1B4C).addRange(0x1B80, 0x1BA9).addRange(0x1BAC, 0x1BAF).addRange(0x1BBA, 0x1BE5).addRange(0x1BE7, 0x1BF1).addRange(0x1C00, 0x1C36).addRange(0x1C4D, 0x1C4F).addRange(0x1C5A, 0x1C7D).addRange(0x1C80, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1CE9, 0x1CEC).addRange(0x1CEE, 0x1CF3).addRange(0x1CF5, 0x1CF6).addRange(0x1D00, 0x1DBF).addRange(0x1DE7, 0x1DF4).addRange(0x1E00, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D).addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FBC).addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FCC).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FE0, 0x1FEC).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFC).addRange(0x2090, 0x209C).addRange(0x210A, 0x2113).addRange(0x2119, 0x211D).addRange(0x212A, 0x212D).addRange(0x212F, 0x2139).addRange(0x213C, 0x213F).addRange(0x2145, 0x2149);\nset.addRange(0x2160, 0x2188).addRange(0x24B6, 0x24E9).addRange(0x2C00, 0x2CE4).addRange(0x2CEB, 0x2CEE).addRange(0x2CF2, 0x2CF3).addRange(0x2D00, 0x2D25).addRange(0x2D30, 0x2D67).addRange(0x2D80, 0x2D96).addRange(0x2DA0, 0x2DA6).addRange(0x2DA8, 0x2DAE).addRange(0x2DB0, 0x2DB6).addRange(0x2DB8, 0x2DBE).addRange(0x2DC0, 0x2DC6).addRange(0x2DC8, 0x2DCE).addRange(0x2DD0, 0x2DD6).addRange(0x2DD8, 0x2DDE).addRange(0x2DE0, 0x2DFF).addRange(0x3005, 0x3007).addRange(0x3021, 0x3029).addRange(0x3031, 0x3035).addRange(0x3038, 0x303C).addRange(0x3041, 0x3096).addRange(0x309D, 0x309F).addRange(0x30A1, 0x30FA).addRange(0x30FC, 0x30FF).addRange(0x3105, 0x312F).addRange(0x3131, 0x318E).addRange(0x31A0, 0x31BF).addRange(0x31F0, 0x31FF).addRange(0x3400, 0x4DBF).addRange(0x4E00, 0xA48C).addRange(0xA4D0, 0xA4FD).addRange(0xA500, 0xA60C).addRange(0xA610, 0xA61F).addRange(0xA62A, 0xA62B).addRange(0xA640, 0xA66E).addRange(0xA674, 0xA67B).addRange(0xA67F, 0xA6EF).addRange(0xA717, 0xA71F).addRange(0xA722, 0xA788).addRange(0xA78B, 0xA7CA).addRange(0xA7D0, 0xA7D1).addRange(0xA7D5, 0xA7D9).addRange(0xA7F2, 0xA805).addRange(0xA807, 0xA827).addRange(0xA840, 0xA873).addRange(0xA880, 0xA8C3).addRange(0xA8F2, 0xA8F7).addRange(0xA8FD, 0xA8FF).addRange(0xA90A, 0xA92A).addRange(0xA930, 0xA952);\nset.addRange(0xA960, 0xA97C).addRange(0xA980, 0xA9B2).addRange(0xA9B4, 0xA9BF).addRange(0xA9E0, 0xA9EF).addRange(0xA9FA, 0xA9FE).addRange(0xAA00, 0xAA36).addRange(0xAA40, 0xAA4D).addRange(0xAA60, 0xAA76).addRange(0xAA7A, 0xAABE).addRange(0xAADB, 0xAADD).addRange(0xAAE0, 0xAAEF).addRange(0xAAF2, 0xAAF5).addRange(0xAB01, 0xAB06).addRange(0xAB09, 0xAB0E).addRange(0xAB11, 0xAB16).addRange(0xAB20, 0xAB26).addRange(0xAB28, 0xAB2E).addRange(0xAB30, 0xAB5A).addRange(0xAB5C, 0xAB69).addRange(0xAB70, 0xABEA).addRange(0xAC00, 0xD7A3).addRange(0xD7B0, 0xD7C6).addRange(0xD7CB, 0xD7FB).addRange(0xF900, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFB1D, 0xFB28).addRange(0xFB2A, 0xFB36).addRange(0xFB38, 0xFB3C).addRange(0xFB40, 0xFB41).addRange(0xFB43, 0xFB44).addRange(0xFB46, 0xFBB1).addRange(0xFBD3, 0xFD3D).addRange(0xFD50, 0xFD8F).addRange(0xFD92, 0xFDC7).addRange(0xFDF0, 0xFDFB).addRange(0xFE70, 0xFE74).addRange(0xFE76, 0xFEFC).addRange(0xFF21, 0xFF3A).addRange(0xFF41, 0xFF5A).addRange(0xFF66, 0xFFBE).addRange(0xFFC2, 0xFFC7).addRange(0xFFCA, 0xFFCF).addRange(0xFFD2, 0xFFD7).addRange(0xFFDA, 0xFFDC).addRange(0x10000, 0x1000B).addRange(0x1000D, 0x10026).addRange(0x10028, 0x1003A).addRange(0x1003C, 0x1003D).addRange(0x1003F, 0x1004D);\nset.addRange(0x10050, 0x1005D).addRange(0x10080, 0x100FA).addRange(0x10140, 0x10174).addRange(0x10280, 0x1029C).addRange(0x102A0, 0x102D0).addRange(0x10300, 0x1031F).addRange(0x1032D, 0x1034A).addRange(0x10350, 0x1037A).addRange(0x10380, 0x1039D).addRange(0x103A0, 0x103C3).addRange(0x103C8, 0x103CF).addRange(0x103D1, 0x103D5).addRange(0x10400, 0x1049D).addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB).addRange(0x10500, 0x10527).addRange(0x10530, 0x10563).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10600, 0x10736).addRange(0x10740, 0x10755).addRange(0x10760, 0x10767).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10800, 0x10805).addRange(0x1080A, 0x10835).addRange(0x10837, 0x10838).addRange(0x1083F, 0x10855).addRange(0x10860, 0x10876).addRange(0x10880, 0x1089E).addRange(0x108E0, 0x108F2).addRange(0x108F4, 0x108F5).addRange(0x10900, 0x10915).addRange(0x10920, 0x10939).addRange(0x10980, 0x109B7).addRange(0x109BE, 0x109BF).addRange(0x10A00, 0x10A03).addRange(0x10A05, 0x10A06).addRange(0x10A0C, 0x10A13).addRange(0x10A15, 0x10A17).addRange(0x10A19, 0x10A35).addRange(0x10A60, 0x10A7C).addRange(0x10A80, 0x10A9C).addRange(0x10AC0, 0x10AC7);\nset.addRange(0x10AC9, 0x10AE4).addRange(0x10B00, 0x10B35).addRange(0x10B40, 0x10B55).addRange(0x10B60, 0x10B72).addRange(0x10B80, 0x10B91).addRange(0x10C00, 0x10C48).addRange(0x10C80, 0x10CB2).addRange(0x10CC0, 0x10CF2).addRange(0x10D00, 0x10D27).addRange(0x10E80, 0x10EA9).addRange(0x10EAB, 0x10EAC).addRange(0x10EB0, 0x10EB1).addRange(0x10F00, 0x10F1C).addRange(0x10F30, 0x10F45).addRange(0x10F70, 0x10F81).addRange(0x10FB0, 0x10FC4).addRange(0x10FE0, 0x10FF6).addRange(0x11000, 0x11045).addRange(0x11071, 0x11075).addRange(0x11082, 0x110B8).addRange(0x110D0, 0x110E8).addRange(0x11100, 0x11132).addRange(0x11144, 0x11147).addRange(0x11150, 0x11172).addRange(0x11180, 0x111BF).addRange(0x111C1, 0x111C4).addRange(0x111CE, 0x111CF).addRange(0x11200, 0x11211).addRange(0x11213, 0x11234).addRange(0x11280, 0x11286).addRange(0x1128A, 0x1128D).addRange(0x1128F, 0x1129D).addRange(0x1129F, 0x112A8).addRange(0x112B0, 0x112E8).addRange(0x11300, 0x11303).addRange(0x11305, 0x1130C).addRange(0x1130F, 0x11310).addRange(0x11313, 0x11328).addRange(0x1132A, 0x11330).addRange(0x11332, 0x11333).addRange(0x11335, 0x11339).addRange(0x1133D, 0x11344).addRange(0x11347, 0x11348).addRange(0x1134B, 0x1134C).addRange(0x1135D, 0x11363).addRange(0x11400, 0x11441).addRange(0x11443, 0x11445).addRange(0x11447, 0x1144A).addRange(0x1145F, 0x11461).addRange(0x11480, 0x114C1).addRange(0x114C4, 0x114C5);\nset.addRange(0x11580, 0x115B5).addRange(0x115B8, 0x115BE).addRange(0x115D8, 0x115DD).addRange(0x11600, 0x1163E).addRange(0x11680, 0x116B5).addRange(0x11700, 0x1171A).addRange(0x1171D, 0x1172A).addRange(0x11740, 0x11746).addRange(0x11800, 0x11838).addRange(0x118A0, 0x118DF).addRange(0x118FF, 0x11906).addRange(0x1190C, 0x11913).addRange(0x11915, 0x11916).addRange(0x11918, 0x11935).addRange(0x11937, 0x11938).addRange(0x1193B, 0x1193C).addRange(0x1193F, 0x11942).addRange(0x119A0, 0x119A7).addRange(0x119AA, 0x119D7).addRange(0x119DA, 0x119DF).addRange(0x119E3, 0x119E4).addRange(0x11A00, 0x11A32).addRange(0x11A35, 0x11A3E).addRange(0x11A50, 0x11A97).addRange(0x11AB0, 0x11AF8).addRange(0x11C00, 0x11C08).addRange(0x11C0A, 0x11C36).addRange(0x11C38, 0x11C3E).addRange(0x11C72, 0x11C8F).addRange(0x11C92, 0x11CA7).addRange(0x11CA9, 0x11CB6).addRange(0x11D00, 0x11D06).addRange(0x11D08, 0x11D09).addRange(0x11D0B, 0x11D36).addRange(0x11D3C, 0x11D3D).addRange(0x11D3F, 0x11D41).addRange(0x11D46, 0x11D47).addRange(0x11D60, 0x11D65).addRange(0x11D67, 0x11D68).addRange(0x11D6A, 0x11D8E).addRange(0x11D90, 0x11D91).addRange(0x11D93, 0x11D96).addRange(0x11EE0, 0x11EF6).addRange(0x12000, 0x12399).addRange(0x12400, 0x1246E).addRange(0x12480, 0x12543).addRange(0x12F90, 0x12FF0).addRange(0x13000, 0x1342E).addRange(0x14400, 0x14646).addRange(0x16800, 0x16A38).addRange(0x16A40, 0x16A5E);\nset.addRange(0x16A70, 0x16ABE).addRange(0x16AD0, 0x16AED).addRange(0x16B00, 0x16B2F).addRange(0x16B40, 0x16B43).addRange(0x16B63, 0x16B77).addRange(0x16B7D, 0x16B8F).addRange(0x16E40, 0x16E7F).addRange(0x16F00, 0x16F4A).addRange(0x16F4F, 0x16F87).addRange(0x16F8F, 0x16F9F).addRange(0x16FE0, 0x16FE1).addRange(0x16FF0, 0x16FF1).addRange(0x17000, 0x187F7).addRange(0x18800, 0x18CD5).addRange(0x18D00, 0x18D08).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE).addRange(0x1B000, 0x1B122).addRange(0x1B150, 0x1B152).addRange(0x1B164, 0x1B167).addRange(0x1B170, 0x1B2FB).addRange(0x1BC00, 0x1BC6A).addRange(0x1BC70, 0x1BC7C).addRange(0x1BC80, 0x1BC88).addRange(0x1BC90, 0x1BC99).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D6C0).addRange(0x1D6C2, 0x1D6DA).addRange(0x1D6DC, 0x1D6FA).addRange(0x1D6FC, 0x1D714).addRange(0x1D716, 0x1D734).addRange(0x1D736, 0x1D74E).addRange(0x1D750, 0x1D76E).addRange(0x1D770, 0x1D788).addRange(0x1D78A, 0x1D7A8);\nset.addRange(0x1D7AA, 0x1D7C2).addRange(0x1D7C4, 0x1D7CB).addRange(0x1DF00, 0x1DF1E).addRange(0x1E000, 0x1E006).addRange(0x1E008, 0x1E018).addRange(0x1E01B, 0x1E021).addRange(0x1E023, 0x1E024).addRange(0x1E026, 0x1E02A).addRange(0x1E100, 0x1E12C).addRange(0x1E137, 0x1E13D).addRange(0x1E290, 0x1E2AD).addRange(0x1E2C0, 0x1E2EB).addRange(0x1E7E0, 0x1E7E6).addRange(0x1E7E8, 0x1E7EB).addRange(0x1E7ED, 0x1E7EE).addRange(0x1E7F0, 0x1E7FE).addRange(0x1E800, 0x1E8C4).addRange(0x1E900, 0x1E943).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F).addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72).addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89).addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x1F130, 0x1F149).addRange(0x1F150, 0x1F169).addRange(0x1F170, 0x1F189).addRange(0x20000, 0x2A6DF).addRange(0x2A700, 0x2B738).addRange(0x2B740, 0x2B81D).addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x2F800, 0x2FA1D).addRange(0x30000, 0x3134A);\nmodule.exports = set;","const set = require('regenerate')(0xB5, 0x101, 0x103, 0x105, 0x107, 0x109, 0x10B, 0x10D, 0x10F, 0x111, 0x113, 0x115, 0x117, 0x119, 0x11B, 0x11D, 0x11F, 0x121, 0x123, 0x125, 0x127, 0x129, 0x12B, 0x12D, 0x12F, 0x131, 0x133, 0x135, 0x13A, 0x13C, 0x13E, 0x140, 0x142, 0x144, 0x146, 0x14B, 0x14D, 0x14F, 0x151, 0x153, 0x155, 0x157, 0x159, 0x15B, 0x15D, 0x15F, 0x161, 0x163, 0x165, 0x167, 0x169, 0x16B, 0x16D, 0x16F, 0x171, 0x173, 0x175, 0x177, 0x17A, 0x17C, 0x183, 0x185, 0x188, 0x192, 0x195, 0x19E, 0x1A1, 0x1A3, 0x1A5, 0x1A8, 0x1AD, 0x1B0, 0x1B4, 0x1B6, 0x1C6, 0x1C9, 0x1CC, 0x1CE, 0x1D0, 0x1D2, 0x1D4, 0x1D6, 0x1D8, 0x1DA, 0x1DF, 0x1E1, 0x1E3, 0x1E5, 0x1E7, 0x1E9, 0x1EB, 0x1ED, 0x1F3, 0x1F5, 0x1F9, 0x1FB, 0x1FD, 0x1FF, 0x201, 0x203, 0x205, 0x207, 0x209, 0x20B, 0x20D, 0x20F, 0x211, 0x213, 0x215, 0x217, 0x219, 0x21B, 0x21D, 0x21F, 0x221, 0x223, 0x225, 0x227, 0x229, 0x22B, 0x22D, 0x22F, 0x231, 0x23C, 0x242, 0x247, 0x249, 0x24B, 0x24D, 0x371, 0x373, 0x377, 0x390, 0x3D9, 0x3DB, 0x3DD, 0x3DF, 0x3E1, 0x3E3, 0x3E5, 0x3E7, 0x3E9, 0x3EB, 0x3ED, 0x3F5, 0x3F8, 0x461, 0x463, 0x465, 0x467, 0x469, 0x46B, 0x46D, 0x46F, 0x471, 0x473, 0x475, 0x477, 0x479, 0x47B, 0x47D, 0x47F, 0x481, 0x48B, 0x48D, 0x48F, 0x491, 0x493, 0x495, 0x497, 0x499, 0x49B, 0x49D, 0x49F, 0x4A1, 0x4A3, 0x4A5, 0x4A7, 0x4A9, 0x4AB, 0x4AD, 0x4AF, 0x4B1, 0x4B3, 0x4B5, 0x4B7, 0x4B9, 0x4BB, 0x4BD, 0x4BF, 0x4C2, 0x4C4, 0x4C6, 0x4C8, 0x4CA, 0x4CC, 0x4D1, 0x4D3, 0x4D5, 0x4D7, 0x4D9, 0x4DB, 0x4DD, 0x4DF, 0x4E1, 0x4E3, 0x4E5, 0x4E7, 0x4E9, 0x4EB, 0x4ED, 0x4EF, 0x4F1, 0x4F3, 0x4F5, 0x4F7, 0x4F9, 0x4FB, 0x4FD, 0x4FF, 0x501, 0x503, 0x505, 0x507, 0x509, 0x50B, 0x50D, 0x50F, 0x511, 0x513, 0x515, 0x517, 0x519, 0x51B, 0x51D, 0x51F, 0x521, 0x523, 0x525, 0x527, 0x529, 0x52B, 0x52D, 0x52F, 0x1E01, 0x1E03, 0x1E05, 0x1E07, 0x1E09, 0x1E0B, 0x1E0D, 0x1E0F, 0x1E11, 0x1E13, 0x1E15, 0x1E17, 0x1E19, 0x1E1B, 0x1E1D, 0x1E1F, 0x1E21, 0x1E23, 0x1E25, 0x1E27, 0x1E29, 0x1E2B, 0x1E2D, 0x1E2F, 0x1E31, 0x1E33, 0x1E35, 0x1E37, 0x1E39, 0x1E3B, 0x1E3D, 0x1E3F, 0x1E41, 0x1E43, 0x1E45, 0x1E47, 0x1E49, 0x1E4B, 0x1E4D, 0x1E4F, 0x1E51, 0x1E53, 0x1E55, 0x1E57, 0x1E59, 0x1E5B, 0x1E5D, 0x1E5F, 0x1E61, 0x1E63, 0x1E65, 0x1E67, 0x1E69, 0x1E6B, 0x1E6D, 0x1E6F, 0x1E71, 0x1E73, 0x1E75, 0x1E77, 0x1E79, 0x1E7B, 0x1E7D, 0x1E7F, 0x1E81, 0x1E83, 0x1E85, 0x1E87, 0x1E89, 0x1E8B, 0x1E8D, 0x1E8F, 0x1E91, 0x1E93, 0x1E9F, 0x1EA1, 0x1EA3, 0x1EA5, 0x1EA7, 0x1EA9, 0x1EAB, 0x1EAD, 0x1EAF, 0x1EB1, 0x1EB3, 0x1EB5, 0x1EB7, 0x1EB9, 0x1EBB, 0x1EBD, 0x1EBF, 0x1EC1, 0x1EC3, 0x1EC5, 0x1EC7, 0x1EC9, 0x1ECB, 0x1ECD, 0x1ECF, 0x1ED1, 0x1ED3, 0x1ED5, 0x1ED7, 0x1ED9, 0x1EDB, 0x1EDD, 0x1EDF, 0x1EE1, 0x1EE3, 0x1EE5, 0x1EE7, 0x1EE9, 0x1EEB, 0x1EED, 0x1EEF, 0x1EF1, 0x1EF3, 0x1EF5, 0x1EF7, 0x1EF9, 0x1EFB, 0x1EFD, 0x1FBE, 0x210A, 0x2113, 0x212F, 0x2134, 0x2139, 0x214E, 0x2184, 0x2C61, 0x2C68, 0x2C6A, 0x2C6C, 0x2C71, 0x2C81, 0x2C83, 0x2C85, 0x2C87, 0x2C89, 0x2C8B, 0x2C8D, 0x2C8F, 0x2C91, 0x2C93, 0x2C95, 0x2C97, 0x2C99, 0x2C9B, 0x2C9D, 0x2C9F, 0x2CA1, 0x2CA3, 0x2CA5, 0x2CA7, 0x2CA9, 0x2CAB, 0x2CAD, 0x2CAF, 0x2CB1, 0x2CB3, 0x2CB5, 0x2CB7, 0x2CB9, 0x2CBB, 0x2CBD, 0x2CBF, 0x2CC1, 0x2CC3, 0x2CC5, 0x2CC7, 0x2CC9, 0x2CCB, 0x2CCD, 0x2CCF, 0x2CD1, 0x2CD3, 0x2CD5, 0x2CD7, 0x2CD9, 0x2CDB, 0x2CDD, 0x2CDF, 0x2CE1, 0x2CEC, 0x2CEE, 0x2CF3, 0x2D27, 0x2D2D, 0xA641, 0xA643, 0xA645, 0xA647, 0xA649, 0xA64B, 0xA64D, 0xA64F, 0xA651, 0xA653, 0xA655, 0xA657, 0xA659, 0xA65B, 0xA65D, 0xA65F, 0xA661, 0xA663, 0xA665, 0xA667, 0xA669, 0xA66B, 0xA66D, 0xA681, 0xA683, 0xA685, 0xA687, 0xA689, 0xA68B, 0xA68D, 0xA68F, 0xA691, 0xA693, 0xA695, 0xA697, 0xA699, 0xA69B, 0xA723, 0xA725, 0xA727, 0xA729, 0xA72B, 0xA72D, 0xA733, 0xA735, 0xA737, 0xA739, 0xA73B, 0xA73D, 0xA73F, 0xA741, 0xA743, 0xA745, 0xA747, 0xA749, 0xA74B, 0xA74D, 0xA74F, 0xA751, 0xA753, 0xA755, 0xA757, 0xA759, 0xA75B, 0xA75D, 0xA75F, 0xA761, 0xA763, 0xA765, 0xA767, 0xA769, 0xA76B, 0xA76D, 0xA76F, 0xA77A, 0xA77C, 0xA77F, 0xA781, 0xA783, 0xA785, 0xA787, 0xA78C, 0xA78E, 0xA791, 0xA797, 0xA799, 0xA79B, 0xA79D, 0xA79F, 0xA7A1, 0xA7A3, 0xA7A5, 0xA7A7, 0xA7A9, 0xA7AF, 0xA7B5, 0xA7B7, 0xA7B9, 0xA7BB, 0xA7BD, 0xA7BF, 0xA7C1, 0xA7C3, 0xA7C8, 0xA7CA, 0xA7D1, 0xA7D3, 0xA7D5, 0xA7D7, 0xA7D9, 0xA7F6, 0xA7FA, 0x1D4BB, 0x1D7CB);\nset.addRange(0x61, 0x7A).addRange(0xDF, 0xF6).addRange(0xF8, 0xFF).addRange(0x137, 0x138).addRange(0x148, 0x149).addRange(0x17E, 0x180).addRange(0x18C, 0x18D).addRange(0x199, 0x19B).addRange(0x1AA, 0x1AB).addRange(0x1B9, 0x1BA).addRange(0x1BD, 0x1BF).addRange(0x1DC, 0x1DD).addRange(0x1EF, 0x1F0).addRange(0x233, 0x239).addRange(0x23F, 0x240).addRange(0x24F, 0x293).addRange(0x295, 0x2AF).addRange(0x37B, 0x37D).addRange(0x3AC, 0x3CE).addRange(0x3D0, 0x3D1).addRange(0x3D5, 0x3D7).addRange(0x3EF, 0x3F3).addRange(0x3FB, 0x3FC).addRange(0x430, 0x45F).addRange(0x4CE, 0x4CF).addRange(0x560, 0x588).addRange(0x10D0, 0x10FA).addRange(0x10FD, 0x10FF).addRange(0x13F8, 0x13FD).addRange(0x1C80, 0x1C88).addRange(0x1D00, 0x1D2B).addRange(0x1D6B, 0x1D77).addRange(0x1D79, 0x1D9A).addRange(0x1E95, 0x1E9D).addRange(0x1EFF, 0x1F07).addRange(0x1F10, 0x1F15).addRange(0x1F20, 0x1F27).addRange(0x1F30, 0x1F37).addRange(0x1F40, 0x1F45).addRange(0x1F50, 0x1F57).addRange(0x1F60, 0x1F67).addRange(0x1F70, 0x1F7D).addRange(0x1F80, 0x1F87).addRange(0x1F90, 0x1F97).addRange(0x1FA0, 0x1FA7).addRange(0x1FB0, 0x1FB4).addRange(0x1FB6, 0x1FB7).addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FC7).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FD7);\nset.addRange(0x1FE0, 0x1FE7).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FF7).addRange(0x210E, 0x210F).addRange(0x213C, 0x213D).addRange(0x2146, 0x2149).addRange(0x2C30, 0x2C5F).addRange(0x2C65, 0x2C66).addRange(0x2C73, 0x2C74).addRange(0x2C76, 0x2C7B).addRange(0x2CE3, 0x2CE4).addRange(0x2D00, 0x2D25).addRange(0xA72F, 0xA731).addRange(0xA771, 0xA778).addRange(0xA793, 0xA795).addRange(0xAB30, 0xAB5A).addRange(0xAB60, 0xAB68).addRange(0xAB70, 0xABBF).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFF41, 0xFF5A).addRange(0x10428, 0x1044F).addRange(0x104D8, 0x104FB).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10CC0, 0x10CF2).addRange(0x118C0, 0x118DF).addRange(0x16E60, 0x16E7F).addRange(0x1D41A, 0x1D433).addRange(0x1D44E, 0x1D454).addRange(0x1D456, 0x1D467).addRange(0x1D482, 0x1D49B).addRange(0x1D4B6, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D4CF).addRange(0x1D4EA, 0x1D503).addRange(0x1D51E, 0x1D537).addRange(0x1D552, 0x1D56B).addRange(0x1D586, 0x1D59F).addRange(0x1D5BA, 0x1D5D3).addRange(0x1D5EE, 0x1D607).addRange(0x1D622, 0x1D63B).addRange(0x1D656, 0x1D66F).addRange(0x1D68A, 0x1D6A5).addRange(0x1D6C2, 0x1D6DA).addRange(0x1D6DC, 0x1D6E1).addRange(0x1D6FC, 0x1D714).addRange(0x1D716, 0x1D71B).addRange(0x1D736, 0x1D74E);\nset.addRange(0x1D750, 0x1D755).addRange(0x1D770, 0x1D788).addRange(0x1D78A, 0x1D78F).addRange(0x1D7AA, 0x1D7C2).addRange(0x1D7C4, 0x1D7C9).addRange(0x1DF00, 0x1DF09).addRange(0x1DF0B, 0x1DF1E).addRange(0x1E922, 0x1E943);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x12000, 0x12399).addRange(0x12400, 0x1246E).addRange(0x12470, 0x12474).addRange(0x12480, 0x12543);\nmodule.exports = set;","import TutorialButtons from \"../../../../docs/tutorial/TutorialButtons\";\nimport * as React from 'react';\nexport default {\n TutorialButtons,\n React\n};","const set = require('regenerate')();\nset.addRange(0xAAE0, 0xAAF6).addRange(0xABC0, 0xABED).addRange(0xABF0, 0xABF9);\nmodule.exports = set;","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike'),\n isPlainObject = require('./isPlainObject');\n\n/** `Object#toString` result references. */\nvar domExcTag = '[object DOMException]',\n errorTag = '[object Error]';\n\n/**\n * Checks if `value` is an `Error`, `EvalError`, `RangeError`, `ReferenceError`,\n * `SyntaxError`, `TypeError`, or `URIError` object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an error object, else `false`.\n * @example\n *\n * _.isError(new Error);\n * // => true\n *\n * _.isError(Error);\n * // => false\n */\nfunction isError(value) {\n if (!isObjectLike(value)) {\n return false;\n }\n var tag = baseGetTag(value);\n return tag == errorTag || tag == domExcTag ||\n (typeof value.message == 'string' && typeof value.name == 'string' && !isPlainObject(value));\n}\n\nmodule.exports = isError;\n","var arrayMap = require('./_arrayMap'),\n baseClone = require('./_baseClone'),\n baseUnset = require('./_baseUnset'),\n castPath = require('./_castPath'),\n copyObject = require('./_copyObject'),\n customOmitClone = require('./_customOmitClone'),\n flatRest = require('./_flatRest'),\n getAllKeysIn = require('./_getAllKeysIn');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * The opposite of `_.pick`; this method creates an object composed of the\n * own and inherited enumerable property paths of `object` that are not omitted.\n *\n * **Note:** This method is considerably slower than `_.pick`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [paths] The property paths to omit.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.omit(object, ['a', 'c']);\n * // => { 'b': '2' }\n */\nvar omit = flatRest(function(object, paths) {\n var result = {};\n if (object == null) {\n return result;\n }\n var isDeep = false;\n paths = arrayMap(paths, function(path) {\n path = castPath(path, object);\n isDeep || (isDeep = path.length > 1);\n return path;\n });\n copyObject(object, getAllKeysIn(object), result);\n if (isDeep) {\n result = baseClone(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, customOmitClone);\n }\n var length = paths.length;\n while (length--) {\n baseUnset(result, paths[length]);\n }\n return result;\n});\n\nmodule.exports = omit;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = copyArray;\n","const set = require('regenerate')();\nset.addRange(0x1E290, 0x1E2AE);\nmodule.exports = set;","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","const set = require('regenerate')();\nset.addRange(0x1780, 0x17DD).addRange(0x17E0, 0x17E9).addRange(0x17F0, 0x17F9).addRange(0x19E0, 0x19FF);\nmodule.exports = set;","const set = require('regenerate')(0x38B, 0x38D, 0x3A2, 0x530, 0x590, 0x70E, 0x83F, 0x85F, 0x88F, 0x984, 0x9A9, 0x9B1, 0x9DE, 0xA04, 0xA29, 0xA31, 0xA34, 0xA37, 0xA3D, 0xA5D, 0xA84, 0xA8E, 0xA92, 0xAA9, 0xAB1, 0xAB4, 0xAC6, 0xACA, 0xB00, 0xB04, 0xB29, 0xB31, 0xB34, 0xB5E, 0xB84, 0xB91, 0xB9B, 0xB9D, 0xBC9, 0xC0D, 0xC11, 0xC29, 0xC45, 0xC49, 0xC57, 0xC8D, 0xC91, 0xCA9, 0xCB4, 0xCC5, 0xCC9, 0xCDF, 0xCF0, 0xD0D, 0xD11, 0xD45, 0xD49, 0xD80, 0xD84, 0xDB2, 0xDBC, 0xDD5, 0xDD7, 0xE83, 0xE85, 0xE8B, 0xEA4, 0xEA6, 0xEC5, 0xEC7, 0xF48, 0xF98, 0xFBD, 0xFCD, 0x10C6, 0x1249, 0x1257, 0x1259, 0x1289, 0x12B1, 0x12BF, 0x12C1, 0x12D7, 0x1311, 0x176D, 0x1771, 0x191F, 0x1A5F, 0x1B7F, 0x1F58, 0x1F5A, 0x1F5C, 0x1F5E, 0x1FB5, 0x1FC5, 0x1FDC, 0x1FF5, 0x1FFF, 0x2065, 0x208F, 0x2B96, 0x2D26, 0x2DA7, 0x2DAF, 0x2DB7, 0x2DBF, 0x2DC7, 0x2DCF, 0x2DD7, 0x2DDF, 0x2E9A, 0x3040, 0x3130, 0x318F, 0x321F, 0xA7D2, 0xA7D4, 0xA9CE, 0xA9FF, 0xAB27, 0xAB2F, 0xFB37, 0xFB3D, 0xFB3F, 0xFB42, 0xFB45, 0xFE53, 0xFE67, 0xFE75, 0xFF00, 0xFFE7, 0x1000C, 0x10027, 0x1003B, 0x1003E, 0x1018F, 0x1039E, 0x1057B, 0x1058B, 0x10593, 0x10596, 0x105A2, 0x105B2, 0x105BA, 0x10786, 0x107B1, 0x10809, 0x10836, 0x10856, 0x108F3, 0x10A04, 0x10A14, 0x10A18, 0x10E7F, 0x10EAA, 0x11135, 0x111E0, 0x11212, 0x11287, 0x11289, 0x1128E, 0x1129E, 0x11304, 0x11329, 0x11331, 0x11334, 0x1133A, 0x1145C, 0x11914, 0x11917, 0x11936, 0x11C09, 0x11C37, 0x11CA8, 0x11D07, 0x11D0A, 0x11D3B, 0x11D3E, 0x11D66, 0x11D69, 0x11D8F, 0x11D92, 0x1246F, 0x1342F, 0x16A5F, 0x16ABF, 0x16B5A, 0x16B62, 0x1AFF4, 0x1AFFC, 0x1AFFF, 0x1D455, 0x1D49D, 0x1D4AD, 0x1D4BA, 0x1D4BC, 0x1D4C4, 0x1D506, 0x1D515, 0x1D51D, 0x1D53A, 0x1D53F, 0x1D545, 0x1D551, 0x1DAA0, 0x1E007, 0x1E022, 0x1E025, 0x1E7E7, 0x1E7EC, 0x1E7EF, 0x1E7FF, 0x1EE04, 0x1EE20, 0x1EE23, 0x1EE28, 0x1EE33, 0x1EE38, 0x1EE3A, 0x1EE48, 0x1EE4A, 0x1EE4C, 0x1EE50, 0x1EE53, 0x1EE58, 0x1EE5A, 0x1EE5C, 0x1EE5E, 0x1EE60, 0x1EE63, 0x1EE6B, 0x1EE73, 0x1EE78, 0x1EE7D, 0x1EE7F, 0x1EE8A, 0x1EEA4, 0x1EEAA, 0x1F0C0, 0x1F0D0, 0x1FB93);\nset.addRange(0x378, 0x379).addRange(0x380, 0x383).addRange(0x557, 0x558).addRange(0x58B, 0x58C).addRange(0x5C8, 0x5CF).addRange(0x5EB, 0x5EE).addRange(0x5F5, 0x5FF).addRange(0x74B, 0x74C).addRange(0x7B2, 0x7BF).addRange(0x7FB, 0x7FC).addRange(0x82E, 0x82F).addRange(0x85C, 0x85D).addRange(0x86B, 0x86F).addRange(0x892, 0x897).addRange(0x98D, 0x98E).addRange(0x991, 0x992).addRange(0x9B3, 0x9B5).addRange(0x9BA, 0x9BB).addRange(0x9C5, 0x9C6).addRange(0x9C9, 0x9CA).addRange(0x9CF, 0x9D6).addRange(0x9D8, 0x9DB).addRange(0x9E4, 0x9E5).addRange(0x9FF, 0xA00).addRange(0xA0B, 0xA0E).addRange(0xA11, 0xA12).addRange(0xA3A, 0xA3B).addRange(0xA43, 0xA46).addRange(0xA49, 0xA4A).addRange(0xA4E, 0xA50).addRange(0xA52, 0xA58).addRange(0xA5F, 0xA65).addRange(0xA77, 0xA80).addRange(0xABA, 0xABB).addRange(0xACE, 0xACF).addRange(0xAD1, 0xADF).addRange(0xAE4, 0xAE5).addRange(0xAF2, 0xAF8).addRange(0xB0D, 0xB0E).addRange(0xB11, 0xB12).addRange(0xB3A, 0xB3B).addRange(0xB45, 0xB46).addRange(0xB49, 0xB4A).addRange(0xB4E, 0xB54).addRange(0xB58, 0xB5B).addRange(0xB64, 0xB65).addRange(0xB78, 0xB81).addRange(0xB8B, 0xB8D).addRange(0xB96, 0xB98).addRange(0xBA0, 0xBA2).addRange(0xBA5, 0xBA7);\nset.addRange(0xBAB, 0xBAD).addRange(0xBBA, 0xBBD).addRange(0xBC3, 0xBC5).addRange(0xBCE, 0xBCF).addRange(0xBD1, 0xBD6).addRange(0xBD8, 0xBE5).addRange(0xBFB, 0xBFF).addRange(0xC3A, 0xC3B).addRange(0xC4E, 0xC54).addRange(0xC5B, 0xC5C).addRange(0xC5E, 0xC5F).addRange(0xC64, 0xC65).addRange(0xC70, 0xC76).addRange(0xCBA, 0xCBB).addRange(0xCCE, 0xCD4).addRange(0xCD7, 0xCDC).addRange(0xCE4, 0xCE5).addRange(0xCF3, 0xCFF).addRange(0xD50, 0xD53).addRange(0xD64, 0xD65).addRange(0xD97, 0xD99).addRange(0xDBE, 0xDBF).addRange(0xDC7, 0xDC9).addRange(0xDCB, 0xDCE).addRange(0xDE0, 0xDE5).addRange(0xDF0, 0xDF1).addRange(0xDF5, 0xE00).addRange(0xE3B, 0xE3E).addRange(0xE5C, 0xE80).addRange(0xEBE, 0xEBF).addRange(0xECE, 0xECF).addRange(0xEDA, 0xEDB).addRange(0xEE0, 0xEFF).addRange(0xF6D, 0xF70).addRange(0xFDB, 0xFFF).addRange(0x10C8, 0x10CC).addRange(0x10CE, 0x10CF).addRange(0x124E, 0x124F).addRange(0x125E, 0x125F).addRange(0x128E, 0x128F).addRange(0x12B6, 0x12B7).addRange(0x12C6, 0x12C7).addRange(0x1316, 0x1317).addRange(0x135B, 0x135C).addRange(0x137D, 0x137F).addRange(0x139A, 0x139F).addRange(0x13F6, 0x13F7).addRange(0x13FE, 0x13FF).addRange(0x169D, 0x169F).addRange(0x16F9, 0x16FF).addRange(0x1716, 0x171E);\nset.addRange(0x1737, 0x173F).addRange(0x1754, 0x175F).addRange(0x1774, 0x177F).addRange(0x17DE, 0x17DF).addRange(0x17EA, 0x17EF).addRange(0x17FA, 0x17FF).addRange(0x181A, 0x181F).addRange(0x1879, 0x187F).addRange(0x18AB, 0x18AF).addRange(0x18F6, 0x18FF).addRange(0x192C, 0x192F).addRange(0x193C, 0x193F).addRange(0x1941, 0x1943).addRange(0x196E, 0x196F).addRange(0x1975, 0x197F).addRange(0x19AC, 0x19AF).addRange(0x19CA, 0x19CF).addRange(0x19DB, 0x19DD).addRange(0x1A1C, 0x1A1D).addRange(0x1A7D, 0x1A7E).addRange(0x1A8A, 0x1A8F).addRange(0x1A9A, 0x1A9F).addRange(0x1AAE, 0x1AAF).addRange(0x1ACF, 0x1AFF).addRange(0x1B4D, 0x1B4F).addRange(0x1BF4, 0x1BFB).addRange(0x1C38, 0x1C3A).addRange(0x1C4A, 0x1C4C).addRange(0x1C89, 0x1C8F).addRange(0x1CBB, 0x1CBC).addRange(0x1CC8, 0x1CCF).addRange(0x1CFB, 0x1CFF).addRange(0x1F16, 0x1F17).addRange(0x1F1E, 0x1F1F).addRange(0x1F46, 0x1F47).addRange(0x1F4E, 0x1F4F).addRange(0x1F7E, 0x1F7F).addRange(0x1FD4, 0x1FD5).addRange(0x1FF0, 0x1FF1).addRange(0x2072, 0x2073).addRange(0x209D, 0x209F).addRange(0x20C1, 0x20CF).addRange(0x20F1, 0x20FF).addRange(0x218C, 0x218F).addRange(0x2427, 0x243F).addRange(0x244B, 0x245F).addRange(0x2B74, 0x2B75).addRange(0x2CF4, 0x2CF8).addRange(0x2D28, 0x2D2C).addRange(0x2D2E, 0x2D2F).addRange(0x2D68, 0x2D6E);\nset.addRange(0x2D71, 0x2D7E).addRange(0x2D97, 0x2D9F).addRange(0x2E5E, 0x2E7F).addRange(0x2EF4, 0x2EFF).addRange(0x2FD6, 0x2FEF).addRange(0x2FFC, 0x2FFF).addRange(0x3097, 0x3098).addRange(0x3100, 0x3104).addRange(0x31E4, 0x31EF).addRange(0xA48D, 0xA48F).addRange(0xA4C7, 0xA4CF).addRange(0xA62C, 0xA63F).addRange(0xA6F8, 0xA6FF).addRange(0xA7CB, 0xA7CF).addRange(0xA7DA, 0xA7F1).addRange(0xA82D, 0xA82F).addRange(0xA83A, 0xA83F).addRange(0xA878, 0xA87F).addRange(0xA8C6, 0xA8CD).addRange(0xA8DA, 0xA8DF).addRange(0xA954, 0xA95E).addRange(0xA97D, 0xA97F).addRange(0xA9DA, 0xA9DD).addRange(0xAA37, 0xAA3F).addRange(0xAA4E, 0xAA4F).addRange(0xAA5A, 0xAA5B).addRange(0xAAC3, 0xAADA).addRange(0xAAF7, 0xAB00).addRange(0xAB07, 0xAB08).addRange(0xAB0F, 0xAB10).addRange(0xAB17, 0xAB1F).addRange(0xAB6C, 0xAB6F).addRange(0xABEE, 0xABEF).addRange(0xABFA, 0xABFF).addRange(0xD7A4, 0xD7AF).addRange(0xD7C7, 0xD7CA).addRange(0xD7FC, 0xD7FF).addRange(0xFA6E, 0xFA6F).addRange(0xFADA, 0xFAFF).addRange(0xFB07, 0xFB12).addRange(0xFB18, 0xFB1C).addRange(0xFBC3, 0xFBD2).addRange(0xFD90, 0xFD91).addRange(0xFDC8, 0xFDCE).addRange(0xFDD0, 0xFDEF).addRange(0xFE1A, 0xFE1F).addRange(0xFE6C, 0xFE6F).addRange(0xFEFD, 0xFEFE).addRange(0xFFBF, 0xFFC1).addRange(0xFFC8, 0xFFC9).addRange(0xFFD0, 0xFFD1);\nset.addRange(0xFFD8, 0xFFD9).addRange(0xFFDD, 0xFFDF).addRange(0xFFEF, 0xFFF8).addRange(0xFFFE, 0xFFFF).addRange(0x1004E, 0x1004F).addRange(0x1005E, 0x1007F).addRange(0x100FB, 0x100FF).addRange(0x10103, 0x10106).addRange(0x10134, 0x10136).addRange(0x1019D, 0x1019F).addRange(0x101A1, 0x101CF).addRange(0x101FE, 0x1027F).addRange(0x1029D, 0x1029F).addRange(0x102D1, 0x102DF).addRange(0x102FC, 0x102FF).addRange(0x10324, 0x1032C).addRange(0x1034B, 0x1034F).addRange(0x1037B, 0x1037F).addRange(0x103C4, 0x103C7).addRange(0x103D6, 0x103FF).addRange(0x1049E, 0x1049F).addRange(0x104AA, 0x104AF).addRange(0x104D4, 0x104D7).addRange(0x104FC, 0x104FF).addRange(0x10528, 0x1052F).addRange(0x10564, 0x1056E).addRange(0x105BD, 0x105FF).addRange(0x10737, 0x1073F).addRange(0x10756, 0x1075F).addRange(0x10768, 0x1077F).addRange(0x107BB, 0x107FF).addRange(0x10806, 0x10807).addRange(0x10839, 0x1083B).addRange(0x1083D, 0x1083E).addRange(0x1089F, 0x108A6).addRange(0x108B0, 0x108DF).addRange(0x108F6, 0x108FA).addRange(0x1091C, 0x1091E).addRange(0x1093A, 0x1093E).addRange(0x10940, 0x1097F).addRange(0x109B8, 0x109BB).addRange(0x109D0, 0x109D1).addRange(0x10A07, 0x10A0B).addRange(0x10A36, 0x10A37).addRange(0x10A3B, 0x10A3E).addRange(0x10A49, 0x10A4F).addRange(0x10A59, 0x10A5F).addRange(0x10AA0, 0x10ABF).addRange(0x10AE7, 0x10AEA).addRange(0x10AF7, 0x10AFF).addRange(0x10B36, 0x10B38);\nset.addRange(0x10B56, 0x10B57).addRange(0x10B73, 0x10B77).addRange(0x10B92, 0x10B98).addRange(0x10B9D, 0x10BA8).addRange(0x10BB0, 0x10BFF).addRange(0x10C49, 0x10C7F).addRange(0x10CB3, 0x10CBF).addRange(0x10CF3, 0x10CF9).addRange(0x10D28, 0x10D2F).addRange(0x10D3A, 0x10E5F).addRange(0x10EAE, 0x10EAF).addRange(0x10EB2, 0x10EFF).addRange(0x10F28, 0x10F2F).addRange(0x10F5A, 0x10F6F).addRange(0x10F8A, 0x10FAF).addRange(0x10FCC, 0x10FDF).addRange(0x10FF7, 0x10FFF).addRange(0x1104E, 0x11051).addRange(0x11076, 0x1107E).addRange(0x110C3, 0x110CC).addRange(0x110CE, 0x110CF).addRange(0x110E9, 0x110EF).addRange(0x110FA, 0x110FF).addRange(0x11148, 0x1114F).addRange(0x11177, 0x1117F).addRange(0x111F5, 0x111FF).addRange(0x1123F, 0x1127F).addRange(0x112AA, 0x112AF).addRange(0x112EB, 0x112EF).addRange(0x112FA, 0x112FF).addRange(0x1130D, 0x1130E).addRange(0x11311, 0x11312).addRange(0x11345, 0x11346).addRange(0x11349, 0x1134A).addRange(0x1134E, 0x1134F).addRange(0x11351, 0x11356).addRange(0x11358, 0x1135C).addRange(0x11364, 0x11365).addRange(0x1136D, 0x1136F).addRange(0x11375, 0x113FF).addRange(0x11462, 0x1147F).addRange(0x114C8, 0x114CF).addRange(0x114DA, 0x1157F).addRange(0x115B6, 0x115B7).addRange(0x115DE, 0x115FF).addRange(0x11645, 0x1164F).addRange(0x1165A, 0x1165F).addRange(0x1166D, 0x1167F).addRange(0x116BA, 0x116BF).addRange(0x116CA, 0x116FF).addRange(0x1171B, 0x1171C);\nset.addRange(0x1172C, 0x1172F).addRange(0x11747, 0x117FF).addRange(0x1183C, 0x1189F).addRange(0x118F3, 0x118FE).addRange(0x11907, 0x11908).addRange(0x1190A, 0x1190B).addRange(0x11939, 0x1193A).addRange(0x11947, 0x1194F).addRange(0x1195A, 0x1199F).addRange(0x119A8, 0x119A9).addRange(0x119D8, 0x119D9).addRange(0x119E5, 0x119FF).addRange(0x11A48, 0x11A4F).addRange(0x11AA3, 0x11AAF).addRange(0x11AF9, 0x11BFF).addRange(0x11C46, 0x11C4F).addRange(0x11C6D, 0x11C6F).addRange(0x11C90, 0x11C91).addRange(0x11CB7, 0x11CFF).addRange(0x11D37, 0x11D39).addRange(0x11D48, 0x11D4F).addRange(0x11D5A, 0x11D5F).addRange(0x11D99, 0x11D9F).addRange(0x11DAA, 0x11EDF).addRange(0x11EF9, 0x11FAF).addRange(0x11FB1, 0x11FBF).addRange(0x11FF2, 0x11FFE).addRange(0x1239A, 0x123FF).addRange(0x12475, 0x1247F).addRange(0x12544, 0x12F8F).addRange(0x12FF3, 0x12FFF).addRange(0x13439, 0x143FF).addRange(0x14647, 0x167FF).addRange(0x16A39, 0x16A3F).addRange(0x16A6A, 0x16A6D).addRange(0x16ACA, 0x16ACF).addRange(0x16AEE, 0x16AEF).addRange(0x16AF6, 0x16AFF).addRange(0x16B46, 0x16B4F).addRange(0x16B78, 0x16B7C).addRange(0x16B90, 0x16E3F).addRange(0x16E9B, 0x16EFF).addRange(0x16F4B, 0x16F4E).addRange(0x16F88, 0x16F8E).addRange(0x16FA0, 0x16FDF).addRange(0x16FE5, 0x16FEF).addRange(0x16FF2, 0x16FFF).addRange(0x187F8, 0x187FF).addRange(0x18CD6, 0x18CFF).addRange(0x18D09, 0x1AFEF).addRange(0x1B123, 0x1B14F);\nset.addRange(0x1B153, 0x1B163).addRange(0x1B168, 0x1B16F).addRange(0x1B2FC, 0x1BBFF).addRange(0x1BC6B, 0x1BC6F).addRange(0x1BC7D, 0x1BC7F).addRange(0x1BC89, 0x1BC8F).addRange(0x1BC9A, 0x1BC9B).addRange(0x1BCA4, 0x1CEFF).addRange(0x1CF2E, 0x1CF2F).addRange(0x1CF47, 0x1CF4F).addRange(0x1CFC4, 0x1CFFF).addRange(0x1D0F6, 0x1D0FF).addRange(0x1D127, 0x1D128).addRange(0x1D1EB, 0x1D1FF).addRange(0x1D246, 0x1D2DF).addRange(0x1D2F4, 0x1D2FF).addRange(0x1D357, 0x1D35F).addRange(0x1D379, 0x1D3FF).addRange(0x1D4A0, 0x1D4A1).addRange(0x1D4A3, 0x1D4A4).addRange(0x1D4A7, 0x1D4A8).addRange(0x1D50B, 0x1D50C).addRange(0x1D547, 0x1D549).addRange(0x1D6A6, 0x1D6A7).addRange(0x1D7CC, 0x1D7CD).addRange(0x1DA8C, 0x1DA9A).addRange(0x1DAB0, 0x1DEFF).addRange(0x1DF1F, 0x1DFFF).addRange(0x1E019, 0x1E01A).addRange(0x1E02B, 0x1E0FF).addRange(0x1E12D, 0x1E12F).addRange(0x1E13E, 0x1E13F).addRange(0x1E14A, 0x1E14D).addRange(0x1E150, 0x1E28F).addRange(0x1E2AF, 0x1E2BF).addRange(0x1E2FA, 0x1E2FE).addRange(0x1E300, 0x1E7DF).addRange(0x1E8C5, 0x1E8C6).addRange(0x1E8D7, 0x1E8FF).addRange(0x1E94C, 0x1E94F).addRange(0x1E95A, 0x1E95D).addRange(0x1E960, 0x1EC70).addRange(0x1ECB5, 0x1ED00).addRange(0x1ED3E, 0x1EDFF).addRange(0x1EE25, 0x1EE26).addRange(0x1EE3C, 0x1EE41).addRange(0x1EE43, 0x1EE46).addRange(0x1EE55, 0x1EE56).addRange(0x1EE65, 0x1EE66).addRange(0x1EE9C, 0x1EEA0).addRange(0x1EEBC, 0x1EEEF);\nset.addRange(0x1EEF2, 0x1EFFF).addRange(0x1F02C, 0x1F02F).addRange(0x1F094, 0x1F09F).addRange(0x1F0AF, 0x1F0B0).addRange(0x1F0F6, 0x1F0FF).addRange(0x1F1AE, 0x1F1E5).addRange(0x1F203, 0x1F20F).addRange(0x1F23C, 0x1F23F).addRange(0x1F249, 0x1F24F).addRange(0x1F252, 0x1F25F).addRange(0x1F266, 0x1F2FF).addRange(0x1F6D8, 0x1F6DC).addRange(0x1F6ED, 0x1F6EF).addRange(0x1F6FD, 0x1F6FF).addRange(0x1F774, 0x1F77F).addRange(0x1F7D9, 0x1F7DF).addRange(0x1F7EC, 0x1F7EF).addRange(0x1F7F1, 0x1F7FF).addRange(0x1F80C, 0x1F80F).addRange(0x1F848, 0x1F84F).addRange(0x1F85A, 0x1F85F).addRange(0x1F888, 0x1F88F).addRange(0x1F8AE, 0x1F8AF).addRange(0x1F8B2, 0x1F8FF).addRange(0x1FA54, 0x1FA5F).addRange(0x1FA6E, 0x1FA6F).addRange(0x1FA75, 0x1FA77).addRange(0x1FA7D, 0x1FA7F).addRange(0x1FA87, 0x1FA8F).addRange(0x1FAAD, 0x1FAAF).addRange(0x1FABB, 0x1FABF).addRange(0x1FAC6, 0x1FACF).addRange(0x1FADA, 0x1FADF).addRange(0x1FAE8, 0x1FAEF).addRange(0x1FAF7, 0x1FAFF).addRange(0x1FBCB, 0x1FBEF).addRange(0x1FBFA, 0x1FFFF).addRange(0x2A6E0, 0x2A6FF).addRange(0x2B739, 0x2B73F).addRange(0x2B81E, 0x2B81F).addRange(0x2CEA2, 0x2CEAF).addRange(0x2EBE1, 0x2F7FF).addRange(0x2FA1E, 0x2FFFF).addRange(0x3134B, 0xE0000).addRange(0xE0002, 0xE001F).addRange(0xE0080, 0xE00FF).addRange(0xE01F0, 0xEFFFF).addRange(0xFFFFE, 0xFFFFF).addRange(0x10FFFE, 0x10FFFF);\nmodule.exports = set;","var isObject = require('./isObject'),\n isPrototype = require('./_isPrototype'),\n nativeKeysIn = require('./_nativeKeysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeysIn;\n","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n","var baseMerge = require('./_baseMerge'),\n createAssigner = require('./_createAssigner');\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\n\nmodule.exports = merge;\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n","var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;\n","var baseFindIndex = require('./_baseFindIndex'),\n baseIsNaN = require('./_baseIsNaN'),\n strictIndexOf = require('./_strictIndexOf');\n\n/**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n return value === value\n ? strictIndexOf(array, value, fromIndex)\n : baseFindIndex(array, baseIsNaN, fromIndex);\n}\n\nmodule.exports = baseIndexOf;\n","const set = require('regenerate')(0xB5, 0x101, 0x103, 0x105, 0x107, 0x109, 0x10B, 0x10D, 0x10F, 0x111, 0x113, 0x115, 0x117, 0x119, 0x11B, 0x11D, 0x11F, 0x121, 0x123, 0x125, 0x127, 0x129, 0x12B, 0x12D, 0x12F, 0x131, 0x133, 0x135, 0x137, 0x13A, 0x13C, 0x13E, 0x140, 0x142, 0x144, 0x146, 0x14B, 0x14D, 0x14F, 0x151, 0x153, 0x155, 0x157, 0x159, 0x15B, 0x15D, 0x15F, 0x161, 0x163, 0x165, 0x167, 0x169, 0x16B, 0x16D, 0x16F, 0x171, 0x173, 0x175, 0x177, 0x17A, 0x17C, 0x183, 0x185, 0x188, 0x18C, 0x192, 0x195, 0x19E, 0x1A1, 0x1A3, 0x1A5, 0x1A8, 0x1AD, 0x1B0, 0x1B4, 0x1B6, 0x1B9, 0x1BD, 0x1BF, 0x1CE, 0x1D0, 0x1D2, 0x1D4, 0x1D6, 0x1D8, 0x1DA, 0x1DF, 0x1E1, 0x1E3, 0x1E5, 0x1E7, 0x1E9, 0x1EB, 0x1ED, 0x1F5, 0x1F9, 0x1FB, 0x1FD, 0x1FF, 0x201, 0x203, 0x205, 0x207, 0x209, 0x20B, 0x20D, 0x20F, 0x211, 0x213, 0x215, 0x217, 0x219, 0x21B, 0x21D, 0x21F, 0x223, 0x225, 0x227, 0x229, 0x22B, 0x22D, 0x22F, 0x231, 0x233, 0x23C, 0x242, 0x247, 0x249, 0x24B, 0x24D, 0x259, 0x263, 0x26F, 0x275, 0x27D, 0x280, 0x292, 0x345, 0x371, 0x373, 0x377, 0x390, 0x3D9, 0x3DB, 0x3DD, 0x3DF, 0x3E1, 0x3E3, 0x3E5, 0x3E7, 0x3E9, 0x3EB, 0x3ED, 0x3F5, 0x3F8, 0x3FB, 0x461, 0x463, 0x465, 0x467, 0x469, 0x46B, 0x46D, 0x46F, 0x471, 0x473, 0x475, 0x477, 0x479, 0x47B, 0x47D, 0x47F, 0x481, 0x48B, 0x48D, 0x48F, 0x491, 0x493, 0x495, 0x497, 0x499, 0x49B, 0x49D, 0x49F, 0x4A1, 0x4A3, 0x4A5, 0x4A7, 0x4A9, 0x4AB, 0x4AD, 0x4AF, 0x4B1, 0x4B3, 0x4B5, 0x4B7, 0x4B9, 0x4BB, 0x4BD, 0x4BF, 0x4C2, 0x4C4, 0x4C6, 0x4C8, 0x4CA, 0x4CC, 0x4D1, 0x4D3, 0x4D5, 0x4D7, 0x4D9, 0x4DB, 0x4DD, 0x4DF, 0x4E1, 0x4E3, 0x4E5, 0x4E7, 0x4E9, 0x4EB, 0x4ED, 0x4EF, 0x4F1, 0x4F3, 0x4F5, 0x4F7, 0x4F9, 0x4FB, 0x4FD, 0x4FF, 0x501, 0x503, 0x505, 0x507, 0x509, 0x50B, 0x50D, 0x50F, 0x511, 0x513, 0x515, 0x517, 0x519, 0x51B, 0x51D, 0x51F, 0x521, 0x523, 0x525, 0x527, 0x529, 0x52B, 0x52D, 0x52F, 0x1D79, 0x1D7D, 0x1D8E, 0x1E01, 0x1E03, 0x1E05, 0x1E07, 0x1E09, 0x1E0B, 0x1E0D, 0x1E0F, 0x1E11, 0x1E13, 0x1E15, 0x1E17, 0x1E19, 0x1E1B, 0x1E1D, 0x1E1F, 0x1E21, 0x1E23, 0x1E25, 0x1E27, 0x1E29, 0x1E2B, 0x1E2D, 0x1E2F, 0x1E31, 0x1E33, 0x1E35, 0x1E37, 0x1E39, 0x1E3B, 0x1E3D, 0x1E3F, 0x1E41, 0x1E43, 0x1E45, 0x1E47, 0x1E49, 0x1E4B, 0x1E4D, 0x1E4F, 0x1E51, 0x1E53, 0x1E55, 0x1E57, 0x1E59, 0x1E5B, 0x1E5D, 0x1E5F, 0x1E61, 0x1E63, 0x1E65, 0x1E67, 0x1E69, 0x1E6B, 0x1E6D, 0x1E6F, 0x1E71, 0x1E73, 0x1E75, 0x1E77, 0x1E79, 0x1E7B, 0x1E7D, 0x1E7F, 0x1E81, 0x1E83, 0x1E85, 0x1E87, 0x1E89, 0x1E8B, 0x1E8D, 0x1E8F, 0x1E91, 0x1E93, 0x1EA1, 0x1EA3, 0x1EA5, 0x1EA7, 0x1EA9, 0x1EAB, 0x1EAD, 0x1EAF, 0x1EB1, 0x1EB3, 0x1EB5, 0x1EB7, 0x1EB9, 0x1EBB, 0x1EBD, 0x1EBF, 0x1EC1, 0x1EC3, 0x1EC5, 0x1EC7, 0x1EC9, 0x1ECB, 0x1ECD, 0x1ECF, 0x1ED1, 0x1ED3, 0x1ED5, 0x1ED7, 0x1ED9, 0x1EDB, 0x1EDD, 0x1EDF, 0x1EE1, 0x1EE3, 0x1EE5, 0x1EE7, 0x1EE9, 0x1EEB, 0x1EED, 0x1EEF, 0x1EF1, 0x1EF3, 0x1EF5, 0x1EF7, 0x1EF9, 0x1EFB, 0x1EFD, 0x1FBC, 0x1FBE, 0x1FCC, 0x1FFC, 0x214E, 0x2184, 0x2C61, 0x2C68, 0x2C6A, 0x2C6C, 0x2C73, 0x2C76, 0x2C81, 0x2C83, 0x2C85, 0x2C87, 0x2C89, 0x2C8B, 0x2C8D, 0x2C8F, 0x2C91, 0x2C93, 0x2C95, 0x2C97, 0x2C99, 0x2C9B, 0x2C9D, 0x2C9F, 0x2CA1, 0x2CA3, 0x2CA5, 0x2CA7, 0x2CA9, 0x2CAB, 0x2CAD, 0x2CAF, 0x2CB1, 0x2CB3, 0x2CB5, 0x2CB7, 0x2CB9, 0x2CBB, 0x2CBD, 0x2CBF, 0x2CC1, 0x2CC3, 0x2CC5, 0x2CC7, 0x2CC9, 0x2CCB, 0x2CCD, 0x2CCF, 0x2CD1, 0x2CD3, 0x2CD5, 0x2CD7, 0x2CD9, 0x2CDB, 0x2CDD, 0x2CDF, 0x2CE1, 0x2CE3, 0x2CEC, 0x2CEE, 0x2CF3, 0x2D27, 0x2D2D, 0xA641, 0xA643, 0xA645, 0xA647, 0xA649, 0xA64B, 0xA64D, 0xA64F, 0xA651, 0xA653, 0xA655, 0xA657, 0xA659, 0xA65B, 0xA65D, 0xA65F, 0xA661, 0xA663, 0xA665, 0xA667, 0xA669, 0xA66B, 0xA66D, 0xA681, 0xA683, 0xA685, 0xA687, 0xA689, 0xA68B, 0xA68D, 0xA68F, 0xA691, 0xA693, 0xA695, 0xA697, 0xA699, 0xA69B, 0xA723, 0xA725, 0xA727, 0xA729, 0xA72B, 0xA72D, 0xA72F, 0xA733, 0xA735, 0xA737, 0xA739, 0xA73B, 0xA73D, 0xA73F, 0xA741, 0xA743, 0xA745, 0xA747, 0xA749, 0xA74B, 0xA74D, 0xA74F, 0xA751, 0xA753, 0xA755, 0xA757, 0xA759, 0xA75B, 0xA75D, 0xA75F, 0xA761, 0xA763, 0xA765, 0xA767, 0xA769, 0xA76B, 0xA76D, 0xA76F, 0xA77A, 0xA77C, 0xA77F, 0xA781, 0xA783, 0xA785, 0xA787, 0xA78C, 0xA791, 0xA797, 0xA799, 0xA79B, 0xA79D, 0xA79F, 0xA7A1, 0xA7A3, 0xA7A5, 0xA7A7, 0xA7A9, 0xA7B5, 0xA7B7, 0xA7B9, 0xA7BB, 0xA7BD, 0xA7BF, 0xA7C1, 0xA7C3, 0xA7C8, 0xA7CA, 0xA7D1, 0xA7D7, 0xA7D9, 0xA7F6, 0xAB53);\nset.addRange(0x61, 0x7A).addRange(0xDF, 0xF6).addRange(0xF8, 0xFF).addRange(0x148, 0x149).addRange(0x17E, 0x180).addRange(0x199, 0x19A).addRange(0x1C5, 0x1C6).addRange(0x1C8, 0x1C9).addRange(0x1CB, 0x1CC).addRange(0x1DC, 0x1DD).addRange(0x1EF, 0x1F0).addRange(0x1F2, 0x1F3).addRange(0x23F, 0x240).addRange(0x24F, 0x254).addRange(0x256, 0x257).addRange(0x25B, 0x25C).addRange(0x260, 0x261).addRange(0x265, 0x266).addRange(0x268, 0x26C).addRange(0x271, 0x272).addRange(0x282, 0x283).addRange(0x287, 0x28C).addRange(0x29D, 0x29E).addRange(0x37B, 0x37D).addRange(0x3AC, 0x3CE).addRange(0x3D0, 0x3D1).addRange(0x3D5, 0x3D7).addRange(0x3EF, 0x3F3).addRange(0x430, 0x45F).addRange(0x4CE, 0x4CF).addRange(0x561, 0x587).addRange(0x10D0, 0x10FA).addRange(0x10FD, 0x10FF).addRange(0x13F8, 0x13FD).addRange(0x1C80, 0x1C88).addRange(0x1E95, 0x1E9B).addRange(0x1EFF, 0x1F07).addRange(0x1F10, 0x1F15).addRange(0x1F20, 0x1F27).addRange(0x1F30, 0x1F37).addRange(0x1F40, 0x1F45).addRange(0x1F50, 0x1F57).addRange(0x1F60, 0x1F67).addRange(0x1F70, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FB7).addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FC7).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FD7).addRange(0x1FE0, 0x1FE7);\nset.addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FF7).addRange(0x2170, 0x217F).addRange(0x24D0, 0x24E9).addRange(0x2C30, 0x2C5F).addRange(0x2C65, 0x2C66).addRange(0x2D00, 0x2D25).addRange(0xA793, 0xA794).addRange(0xAB70, 0xABBF).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFF41, 0xFF5A).addRange(0x10428, 0x1044F).addRange(0x104D8, 0x104FB).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10CC0, 0x10CF2).addRange(0x118C0, 0x118DF).addRange(0x16E60, 0x16E7F).addRange(0x1E922, 0x1E943);\nmodule.exports = set;","/**\n * Gets the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the last element of `array`.\n * @example\n *\n * _.last([1, 2, 3]);\n * // => 3\n */\nfunction last(array) {\n var length = array == null ? 0 : array.length;\n return length ? array[length - 1] : undefined;\n}\n\nmodule.exports = last;\n","// Generated using `npm run build`. Do not edit.\n'use strict';\n\nconst regenerate = require('regenerate');\nexports.REGULAR = new Map([['d', regenerate().addRange(0x30, 0x39)], ['D', regenerate().addRange(0x0, 0x2F).addRange(0x3A, 0xFFFF)], ['s', regenerate(0x20, 0xA0, 0x1680, 0x202F, 0x205F, 0x3000, 0xFEFF).addRange(0x9, 0xD).addRange(0x2000, 0x200A).addRange(0x2028, 0x2029)], ['S', regenerate().addRange(0x0, 0x8).addRange(0xE, 0x1F).addRange(0x21, 0x9F).addRange(0xA1, 0x167F).addRange(0x1681, 0x1FFF).addRange(0x200B, 0x2027).addRange(0x202A, 0x202E).addRange(0x2030, 0x205E).addRange(0x2060, 0x2FFF).addRange(0x3001, 0xFEFE).addRange(0xFF00, 0xFFFF)], ['w', regenerate(0x5F).addRange(0x30, 0x39).addRange(0x41, 0x5A).addRange(0x61, 0x7A)], ['W', regenerate(0x60).addRange(0x0, 0x2F).addRange(0x3A, 0x40).addRange(0x5B, 0x5E).addRange(0x7B, 0xFFFF)]]);\nexports.UNICODE = new Map([['d', regenerate().addRange(0x30, 0x39)], ['D', regenerate().addRange(0x0, 0x2F).addRange(0x3A, 0x10FFFF)], ['s', regenerate(0x20, 0xA0, 0x1680, 0x202F, 0x205F, 0x3000, 0xFEFF).addRange(0x9, 0xD).addRange(0x2000, 0x200A).addRange(0x2028, 0x2029)], ['S', regenerate().addRange(0x0, 0x8).addRange(0xE, 0x1F).addRange(0x21, 0x9F).addRange(0xA1, 0x167F).addRange(0x1681, 0x1FFF).addRange(0x200B, 0x2027).addRange(0x202A, 0x202E).addRange(0x2030, 0x205E).addRange(0x2060, 0x2FFF).addRange(0x3001, 0xFEFE).addRange(0xFF00, 0x10FFFF)], ['w', regenerate(0x5F).addRange(0x30, 0x39).addRange(0x41, 0x5A).addRange(0x61, 0x7A)], ['W', regenerate(0x60).addRange(0x0, 0x2F).addRange(0x3A, 0x40).addRange(0x5B, 0x5E).addRange(0x7B, 0x10FFFF)]]);\nexports.UNICODE_IGNORE_CASE = new Map([['d', regenerate().addRange(0x30, 0x39)], ['D', regenerate().addRange(0x0, 0x2F).addRange(0x3A, 0x10FFFF)], ['s', regenerate(0x20, 0xA0, 0x1680, 0x202F, 0x205F, 0x3000, 0xFEFF).addRange(0x9, 0xD).addRange(0x2000, 0x200A).addRange(0x2028, 0x2029)], ['S', regenerate().addRange(0x0, 0x8).addRange(0xE, 0x1F).addRange(0x21, 0x9F).addRange(0xA1, 0x167F).addRange(0x1681, 0x1FFF).addRange(0x200B, 0x2027).addRange(0x202A, 0x202E).addRange(0x2030, 0x205E).addRange(0x2060, 0x2FFF).addRange(0x3001, 0xFEFE).addRange(0xFF00, 0x10FFFF)], ['w', regenerate(0x5F, 0x17F, 0x212A).addRange(0x30, 0x39).addRange(0x41, 0x5A).addRange(0x61, 0x7A)], ['W', regenerate(0x60).addRange(0x0, 0x2F).addRange(0x3A, 0x40).addRange(0x5B, 0x5E).addRange(0x7B, 0x17E).addRange(0x180, 0x2129).addRange(0x212B, 0x10FFFF)]]);","const set = require('regenerate')(0x3037, 0x30FB);\nset.addRange(0x1100, 0x11FF).addRange(0x3001, 0x3003).addRange(0x3008, 0x3011).addRange(0x3013, 0x301F).addRange(0x302E, 0x3030).addRange(0x3131, 0x318E).addRange(0x3200, 0x321E).addRange(0x3260, 0x327E).addRange(0xA960, 0xA97C).addRange(0xAC00, 0xD7A3).addRange(0xD7B0, 0xD7C6).addRange(0xD7CB, 0xD7FB).addRange(0xFE45, 0xFE46).addRange(0xFF61, 0xFF65).addRange(0xFFA0, 0xFFBE).addRange(0xFFC2, 0xFFC7).addRange(0xFFCA, 0xFFCF).addRange(0xFFD2, 0xFFD7).addRange(0xFFDA, 0xFFDC);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x10450, 0x1047F);\nmodule.exports = set;","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","const set = require('regenerate')();\nset.addRange(0x16B00, 0x16B45).addRange(0x16B50, 0x16B59).addRange(0x16B5B, 0x16B61).addRange(0x16B63, 0x16B77).addRange(0x16B7D, 0x16B8F);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x11EE0, 0x11EF8);\nmodule.exports = set;","var classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","const set = require('regenerate')(0xAA, 0xB5, 0xBA, 0x101, 0x103, 0x105, 0x107, 0x109, 0x10B, 0x10D, 0x10F, 0x111, 0x113, 0x115, 0x117, 0x119, 0x11B, 0x11D, 0x11F, 0x121, 0x123, 0x125, 0x127, 0x129, 0x12B, 0x12D, 0x12F, 0x131, 0x133, 0x135, 0x13A, 0x13C, 0x13E, 0x140, 0x142, 0x144, 0x146, 0x14B, 0x14D, 0x14F, 0x151, 0x153, 0x155, 0x157, 0x159, 0x15B, 0x15D, 0x15F, 0x161, 0x163, 0x165, 0x167, 0x169, 0x16B, 0x16D, 0x16F, 0x171, 0x173, 0x175, 0x177, 0x17A, 0x17C, 0x183, 0x185, 0x188, 0x192, 0x195, 0x19E, 0x1A1, 0x1A3, 0x1A5, 0x1A8, 0x1AD, 0x1B0, 0x1B4, 0x1B6, 0x1C6, 0x1C9, 0x1CC, 0x1CE, 0x1D0, 0x1D2, 0x1D4, 0x1D6, 0x1D8, 0x1DA, 0x1DF, 0x1E1, 0x1E3, 0x1E5, 0x1E7, 0x1E9, 0x1EB, 0x1ED, 0x1F3, 0x1F5, 0x1F9, 0x1FB, 0x1FD, 0x1FF, 0x201, 0x203, 0x205, 0x207, 0x209, 0x20B, 0x20D, 0x20F, 0x211, 0x213, 0x215, 0x217, 0x219, 0x21B, 0x21D, 0x21F, 0x221, 0x223, 0x225, 0x227, 0x229, 0x22B, 0x22D, 0x22F, 0x231, 0x23C, 0x242, 0x247, 0x249, 0x24B, 0x24D, 0x345, 0x371, 0x373, 0x377, 0x390, 0x3D9, 0x3DB, 0x3DD, 0x3DF, 0x3E1, 0x3E3, 0x3E5, 0x3E7, 0x3E9, 0x3EB, 0x3ED, 0x3F5, 0x3F8, 0x461, 0x463, 0x465, 0x467, 0x469, 0x46B, 0x46D, 0x46F, 0x471, 0x473, 0x475, 0x477, 0x479, 0x47B, 0x47D, 0x47F, 0x481, 0x48B, 0x48D, 0x48F, 0x491, 0x493, 0x495, 0x497, 0x499, 0x49B, 0x49D, 0x49F, 0x4A1, 0x4A3, 0x4A5, 0x4A7, 0x4A9, 0x4AB, 0x4AD, 0x4AF, 0x4B1, 0x4B3, 0x4B5, 0x4B7, 0x4B9, 0x4BB, 0x4BD, 0x4BF, 0x4C2, 0x4C4, 0x4C6, 0x4C8, 0x4CA, 0x4CC, 0x4D1, 0x4D3, 0x4D5, 0x4D7, 0x4D9, 0x4DB, 0x4DD, 0x4DF, 0x4E1, 0x4E3, 0x4E5, 0x4E7, 0x4E9, 0x4EB, 0x4ED, 0x4EF, 0x4F1, 0x4F3, 0x4F5, 0x4F7, 0x4F9, 0x4FB, 0x4FD, 0x4FF, 0x501, 0x503, 0x505, 0x507, 0x509, 0x50B, 0x50D, 0x50F, 0x511, 0x513, 0x515, 0x517, 0x519, 0x51B, 0x51D, 0x51F, 0x521, 0x523, 0x525, 0x527, 0x529, 0x52B, 0x52D, 0x52F, 0x1E01, 0x1E03, 0x1E05, 0x1E07, 0x1E09, 0x1E0B, 0x1E0D, 0x1E0F, 0x1E11, 0x1E13, 0x1E15, 0x1E17, 0x1E19, 0x1E1B, 0x1E1D, 0x1E1F, 0x1E21, 0x1E23, 0x1E25, 0x1E27, 0x1E29, 0x1E2B, 0x1E2D, 0x1E2F, 0x1E31, 0x1E33, 0x1E35, 0x1E37, 0x1E39, 0x1E3B, 0x1E3D, 0x1E3F, 0x1E41, 0x1E43, 0x1E45, 0x1E47, 0x1E49, 0x1E4B, 0x1E4D, 0x1E4F, 0x1E51, 0x1E53, 0x1E55, 0x1E57, 0x1E59, 0x1E5B, 0x1E5D, 0x1E5F, 0x1E61, 0x1E63, 0x1E65, 0x1E67, 0x1E69, 0x1E6B, 0x1E6D, 0x1E6F, 0x1E71, 0x1E73, 0x1E75, 0x1E77, 0x1E79, 0x1E7B, 0x1E7D, 0x1E7F, 0x1E81, 0x1E83, 0x1E85, 0x1E87, 0x1E89, 0x1E8B, 0x1E8D, 0x1E8F, 0x1E91, 0x1E93, 0x1E9F, 0x1EA1, 0x1EA3, 0x1EA5, 0x1EA7, 0x1EA9, 0x1EAB, 0x1EAD, 0x1EAF, 0x1EB1, 0x1EB3, 0x1EB5, 0x1EB7, 0x1EB9, 0x1EBB, 0x1EBD, 0x1EBF, 0x1EC1, 0x1EC3, 0x1EC5, 0x1EC7, 0x1EC9, 0x1ECB, 0x1ECD, 0x1ECF, 0x1ED1, 0x1ED3, 0x1ED5, 0x1ED7, 0x1ED9, 0x1EDB, 0x1EDD, 0x1EDF, 0x1EE1, 0x1EE3, 0x1EE5, 0x1EE7, 0x1EE9, 0x1EEB, 0x1EED, 0x1EEF, 0x1EF1, 0x1EF3, 0x1EF5, 0x1EF7, 0x1EF9, 0x1EFB, 0x1EFD, 0x1FBE, 0x2071, 0x207F, 0x210A, 0x2113, 0x212F, 0x2134, 0x2139, 0x214E, 0x2184, 0x2C61, 0x2C68, 0x2C6A, 0x2C6C, 0x2C71, 0x2C81, 0x2C83, 0x2C85, 0x2C87, 0x2C89, 0x2C8B, 0x2C8D, 0x2C8F, 0x2C91, 0x2C93, 0x2C95, 0x2C97, 0x2C99, 0x2C9B, 0x2C9D, 0x2C9F, 0x2CA1, 0x2CA3, 0x2CA5, 0x2CA7, 0x2CA9, 0x2CAB, 0x2CAD, 0x2CAF, 0x2CB1, 0x2CB3, 0x2CB5, 0x2CB7, 0x2CB9, 0x2CBB, 0x2CBD, 0x2CBF, 0x2CC1, 0x2CC3, 0x2CC5, 0x2CC7, 0x2CC9, 0x2CCB, 0x2CCD, 0x2CCF, 0x2CD1, 0x2CD3, 0x2CD5, 0x2CD7, 0x2CD9, 0x2CDB, 0x2CDD, 0x2CDF, 0x2CE1, 0x2CEC, 0x2CEE, 0x2CF3, 0x2D27, 0x2D2D, 0xA641, 0xA643, 0xA645, 0xA647, 0xA649, 0xA64B, 0xA64D, 0xA64F, 0xA651, 0xA653, 0xA655, 0xA657, 0xA659, 0xA65B, 0xA65D, 0xA65F, 0xA661, 0xA663, 0xA665, 0xA667, 0xA669, 0xA66B, 0xA66D, 0xA681, 0xA683, 0xA685, 0xA687, 0xA689, 0xA68B, 0xA68D, 0xA68F, 0xA691, 0xA693, 0xA695, 0xA697, 0xA699, 0xA723, 0xA725, 0xA727, 0xA729, 0xA72B, 0xA72D, 0xA733, 0xA735, 0xA737, 0xA739, 0xA73B, 0xA73D, 0xA73F, 0xA741, 0xA743, 0xA745, 0xA747, 0xA749, 0xA74B, 0xA74D, 0xA74F, 0xA751, 0xA753, 0xA755, 0xA757, 0xA759, 0xA75B, 0xA75D, 0xA75F, 0xA761, 0xA763, 0xA765, 0xA767, 0xA769, 0xA76B, 0xA76D, 0xA77A, 0xA77C, 0xA77F, 0xA781, 0xA783, 0xA785, 0xA787, 0xA78C, 0xA78E, 0xA791, 0xA797, 0xA799, 0xA79B, 0xA79D, 0xA79F, 0xA7A1, 0xA7A3, 0xA7A5, 0xA7A7, 0xA7A9, 0xA7AF, 0xA7B5, 0xA7B7, 0xA7B9, 0xA7BB, 0xA7BD, 0xA7BF, 0xA7C1, 0xA7C3, 0xA7C8, 0xA7CA, 0xA7D1, 0xA7D3, 0xA7D5, 0xA7D7, 0xA7D9, 0xA7F6, 0x10780, 0x1D4BB, 0x1D7CB);\nset.addRange(0x61, 0x7A).addRange(0xDF, 0xF6).addRange(0xF8, 0xFF).addRange(0x137, 0x138).addRange(0x148, 0x149).addRange(0x17E, 0x180).addRange(0x18C, 0x18D).addRange(0x199, 0x19B).addRange(0x1AA, 0x1AB).addRange(0x1B9, 0x1BA).addRange(0x1BD, 0x1BF).addRange(0x1DC, 0x1DD).addRange(0x1EF, 0x1F0).addRange(0x233, 0x239).addRange(0x23F, 0x240).addRange(0x24F, 0x293).addRange(0x295, 0x2B8).addRange(0x2C0, 0x2C1).addRange(0x2E0, 0x2E4).addRange(0x37A, 0x37D).addRange(0x3AC, 0x3CE).addRange(0x3D0, 0x3D1).addRange(0x3D5, 0x3D7).addRange(0x3EF, 0x3F3).addRange(0x3FB, 0x3FC).addRange(0x430, 0x45F).addRange(0x4CE, 0x4CF).addRange(0x560, 0x588).addRange(0x10D0, 0x10FA).addRange(0x10FD, 0x10FF).addRange(0x13F8, 0x13FD).addRange(0x1C80, 0x1C88).addRange(0x1D00, 0x1DBF).addRange(0x1E95, 0x1E9D).addRange(0x1EFF, 0x1F07).addRange(0x1F10, 0x1F15).addRange(0x1F20, 0x1F27).addRange(0x1F30, 0x1F37).addRange(0x1F40, 0x1F45).addRange(0x1F50, 0x1F57).addRange(0x1F60, 0x1F67).addRange(0x1F70, 0x1F7D).addRange(0x1F80, 0x1F87).addRange(0x1F90, 0x1F97).addRange(0x1FA0, 0x1FA7).addRange(0x1FB0, 0x1FB4).addRange(0x1FB6, 0x1FB7).addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FC7).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FD7);\nset.addRange(0x1FE0, 0x1FE7).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FF7).addRange(0x2090, 0x209C).addRange(0x210E, 0x210F).addRange(0x213C, 0x213D).addRange(0x2146, 0x2149).addRange(0x2170, 0x217F).addRange(0x24D0, 0x24E9).addRange(0x2C30, 0x2C5F).addRange(0x2C65, 0x2C66).addRange(0x2C73, 0x2C74).addRange(0x2C76, 0x2C7D).addRange(0x2CE3, 0x2CE4).addRange(0x2D00, 0x2D25).addRange(0xA69B, 0xA69D).addRange(0xA72F, 0xA731).addRange(0xA76F, 0xA778).addRange(0xA793, 0xA795).addRange(0xA7F8, 0xA7FA).addRange(0xAB30, 0xAB5A).addRange(0xAB5C, 0xAB68).addRange(0xAB70, 0xABBF).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFF41, 0xFF5A).addRange(0x10428, 0x1044F).addRange(0x104D8, 0x104FB).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10783, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10CC0, 0x10CF2).addRange(0x118C0, 0x118DF).addRange(0x16E60, 0x16E7F).addRange(0x1D41A, 0x1D433).addRange(0x1D44E, 0x1D454).addRange(0x1D456, 0x1D467).addRange(0x1D482, 0x1D49B).addRange(0x1D4B6, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D4CF).addRange(0x1D4EA, 0x1D503).addRange(0x1D51E, 0x1D537).addRange(0x1D552, 0x1D56B).addRange(0x1D586, 0x1D59F).addRange(0x1D5BA, 0x1D5D3).addRange(0x1D5EE, 0x1D607);\nset.addRange(0x1D622, 0x1D63B).addRange(0x1D656, 0x1D66F).addRange(0x1D68A, 0x1D6A5).addRange(0x1D6C2, 0x1D6DA).addRange(0x1D6DC, 0x1D6E1).addRange(0x1D6FC, 0x1D714).addRange(0x1D716, 0x1D71B).addRange(0x1D736, 0x1D74E).addRange(0x1D750, 0x1D755).addRange(0x1D770, 0x1D788).addRange(0x1D78A, 0x1D78F).addRange(0x1D7AA, 0x1D7C2).addRange(0x1D7C4, 0x1D7C9).addRange(0x1DF00, 0x1DF09).addRange(0x1DF0B, 0x1DF1E).addRange(0x1E922, 0x1E943);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x11680, 0x116B9).addRange(0x116C0, 0x116C9);\nmodule.exports = set;","/**\n * The function whose prototype chain sequence wrappers inherit from.\n *\n * @private\n */\nfunction baseLodash() {\n // No operation performed.\n}\n\nmodule.exports = baseLodash;\n","var apply = require('./_apply'),\n createCtor = require('./_createCtor'),\n createHybrid = require('./_createHybrid'),\n createRecurry = require('./_createRecurry'),\n getHolder = require('./_getHolder'),\n replaceHolders = require('./_replaceHolders'),\n root = require('./_root');\n\n/**\n * Creates a function that wraps `func` to enable currying.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {number} arity The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\nfunction createCurry(func, bitmask, arity) {\n var Ctor = createCtor(func);\n\n function wrapper() {\n var length = arguments.length,\n args = Array(length),\n index = length,\n placeholder = getHolder(wrapper);\n\n while (index--) {\n args[index] = arguments[index];\n }\n var holders = (length < 3 && args[0] !== placeholder && args[length - 1] !== placeholder)\n ? []\n : replaceHolders(args, placeholder);\n\n length -= holders.length;\n if (length < arity) {\n return createRecurry(\n func, bitmask, createHybrid, wrapper.placeholder, undefined,\n args, holders, undefined, undefined, arity - length);\n }\n var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n return apply(fn, this, args);\n }\n return wrapper;\n}\n\nmodule.exports = createCurry;\n","const set = require('regenerate')();\nset.addRange(0x1B00, 0x1B4C).addRange(0x1B50, 0x1B7E);\nmodule.exports = set;","const set = require('regenerate')(0x24, 0x58F, 0x60B, 0x9FB, 0xAF1, 0xBF9, 0xE3F, 0x17DB, 0xA838, 0xFDFC, 0xFE69, 0xFF04, 0x1E2FF, 0x1ECB0);\nset.addRange(0xA2, 0xA5).addRange(0x7FE, 0x7FF).addRange(0x9F2, 0x9F3).addRange(0x20A0, 0x20C0).addRange(0xFFE0, 0xFFE1).addRange(0xFFE5, 0xFFE6).addRange(0x11FDD, 0x11FE0);\nmodule.exports = set;","const set = require('regenerate')(0x16FE1);\nset.addRange(0x1B170, 0x1B2FB);\nmodule.exports = set;","var castPath = require('./_castPath'),\n last = require('./last'),\n parent = require('./_parent'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.unset`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The property path to unset.\n * @returns {boolean} Returns `true` if the property is deleted, else `false`.\n */\nfunction baseUnset(object, path) {\n path = castPath(path, object);\n object = parent(object, path);\n return object == null || delete object[toKey(last(path))];\n}\n\nmodule.exports = baseUnset;\n","const set = require('regenerate')();\nset.addRange(0x10FE0, 0x10FF6);\nmodule.exports = set;","var call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw $TypeError(\"Can't convert object to primitive value\");\n};\n","const set = require('regenerate')(0x21, 0x2C, 0x2E, 0x3F, 0x37E, 0x387, 0x589, 0x5C3, 0x60C, 0x61B, 0x6D4, 0x70C, 0x85E, 0xF08, 0x166E, 0x17DA, 0x2E2E, 0x2E3C, 0x2E41, 0x2E4C, 0xA92F, 0xAADF, 0xABEB, 0xFF01, 0xFF0C, 0xFF0E, 0xFF1F, 0xFF61, 0xFF64, 0x1039F, 0x103D0, 0x10857, 0x1091F, 0x111CD, 0x112A9, 0x11944, 0x11946, 0x11C71, 0x16AF5, 0x16B44, 0x1BC9F);\nset.addRange(0x3A, 0x3B).addRange(0x61D, 0x61F).addRange(0x700, 0x70A).addRange(0x7F8, 0x7F9).addRange(0x830, 0x83E).addRange(0x964, 0x965).addRange(0xE5A, 0xE5B).addRange(0xF0D, 0xF12).addRange(0x104A, 0x104B).addRange(0x1361, 0x1368).addRange(0x16EB, 0x16ED).addRange(0x1735, 0x1736).addRange(0x17D4, 0x17D6).addRange(0x1802, 0x1805).addRange(0x1808, 0x1809).addRange(0x1944, 0x1945).addRange(0x1AA8, 0x1AAB).addRange(0x1B5A, 0x1B5B).addRange(0x1B5D, 0x1B5F).addRange(0x1B7D, 0x1B7E).addRange(0x1C3B, 0x1C3F).addRange(0x1C7E, 0x1C7F).addRange(0x203C, 0x203D).addRange(0x2047, 0x2049).addRange(0x2E4E, 0x2E4F).addRange(0x2E53, 0x2E54).addRange(0x3001, 0x3002).addRange(0xA4FE, 0xA4FF).addRange(0xA60D, 0xA60F).addRange(0xA6F3, 0xA6F7).addRange(0xA876, 0xA877).addRange(0xA8CE, 0xA8CF).addRange(0xA9C7, 0xA9C9).addRange(0xAA5D, 0xAA5F).addRange(0xAAF0, 0xAAF1).addRange(0xFE50, 0xFE52).addRange(0xFE54, 0xFE57).addRange(0xFF1A, 0xFF1B).addRange(0x10A56, 0x10A57).addRange(0x10AF0, 0x10AF5).addRange(0x10B3A, 0x10B3F).addRange(0x10B99, 0x10B9C).addRange(0x10F55, 0x10F59).addRange(0x10F86, 0x10F89).addRange(0x11047, 0x1104D).addRange(0x110BE, 0x110C1).addRange(0x11141, 0x11143).addRange(0x111C5, 0x111C6).addRange(0x111DE, 0x111DF).addRange(0x11238, 0x1123C).addRange(0x1144B, 0x1144D);\nset.addRange(0x1145A, 0x1145B).addRange(0x115C2, 0x115C5).addRange(0x115C9, 0x115D7).addRange(0x11641, 0x11642).addRange(0x1173C, 0x1173E).addRange(0x11A42, 0x11A43).addRange(0x11A9B, 0x11A9C).addRange(0x11AA1, 0x11AA2).addRange(0x11C41, 0x11C43).addRange(0x11EF7, 0x11EF8).addRange(0x12470, 0x12474).addRange(0x16A6E, 0x16A6F).addRange(0x16B37, 0x16B39).addRange(0x16E97, 0x16E98).addRange(0x1DA87, 0x1DA8A);\nmodule.exports = set;","// Generated using `npm run build`. Do not edit!\nmodule.exports = new Map([['scx', 'Script_Extensions'], ['sc', 'Script'], ['gc', 'General_Category'], ['AHex', 'ASCII_Hex_Digit'], ['Alpha', 'Alphabetic'], ['Bidi_C', 'Bidi_Control'], ['Bidi_M', 'Bidi_Mirrored'], ['Cased', 'Cased'], ['CI', 'Case_Ignorable'], ['CWCF', 'Changes_When_Casefolded'], ['CWCM', 'Changes_When_Casemapped'], ['CWKCF', 'Changes_When_NFKC_Casefolded'], ['CWL', 'Changes_When_Lowercased'], ['CWT', 'Changes_When_Titlecased'], ['CWU', 'Changes_When_Uppercased'], ['Dash', 'Dash'], ['Dep', 'Deprecated'], ['DI', 'Default_Ignorable_Code_Point'], ['Dia', 'Diacritic'], ['EBase', 'Emoji_Modifier_Base'], ['EComp', 'Emoji_Component'], ['EMod', 'Emoji_Modifier'], ['Emoji', 'Emoji'], ['EPres', 'Emoji_Presentation'], ['Ext', 'Extender'], ['ExtPict', 'Extended_Pictographic'], ['Gr_Base', 'Grapheme_Base'], ['Gr_Ext', 'Grapheme_Extend'], ['Hex', 'Hex_Digit'], ['IDC', 'ID_Continue'], ['Ideo', 'Ideographic'], ['IDS', 'ID_Start'], ['IDSB', 'IDS_Binary_Operator'], ['IDST', 'IDS_Trinary_Operator'], ['Join_C', 'Join_Control'], ['LOE', 'Logical_Order_Exception'], ['Lower', 'Lowercase'], ['Math', 'Math'], ['NChar', 'Noncharacter_Code_Point'], ['Pat_Syn', 'Pattern_Syntax'], ['Pat_WS', 'Pattern_White_Space'], ['QMark', 'Quotation_Mark'], ['Radical', 'Radical'], ['RI', 'Regional_Indicator'], ['SD', 'Soft_Dotted'], ['STerm', 'Sentence_Terminal'], ['Term', 'Terminal_Punctuation'], ['UIdeo', 'Unified_Ideograph'], ['Upper', 'Uppercase'], ['VS', 'Variation_Selector'], ['WSpace', 'White_Space'], ['space', 'White_Space'], ['XIDC', 'XID_Continue'], ['XIDS', 'XID_Start']]);","const set = require('regenerate')();\nset.addRange(0x10480, 0x1049D).addRange(0x104A0, 0x104A9);\nmodule.exports = set;","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n","const set = require('regenerate')();\nset.addRange(0x10FB0, 0x10FCB);\nmodule.exports = set;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _setPrototypeOf(o, p);\n}\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// eslint-disable-next-line es/no-typed-arrays -- safe\nmodule.exports = typeof ArrayBuffer != 'undefined' && typeof DataView != 'undefined';\n","var toFinite = require('./toFinite');\n\n/**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\nfunction toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n}\n\nmodule.exports = toInteger;\n","const set = require('regenerate')();\nset.addRange(0x10B80, 0x10B91).addRange(0x10B99, 0x10B9C).addRange(0x10BA9, 0x10BAF);\nmodule.exports = set;","var assignMergeValue = require('./_assignMergeValue'),\n cloneBuffer = require('./_cloneBuffer'),\n cloneTypedArray = require('./_cloneTypedArray'),\n copyArray = require('./_copyArray'),\n initCloneObject = require('./_initCloneObject'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isArrayLikeObject = require('./isArrayLikeObject'),\n isBuffer = require('./isBuffer'),\n isFunction = require('./isFunction'),\n isObject = require('./isObject'),\n isPlainObject = require('./isPlainObject'),\n isTypedArray = require('./isTypedArray'),\n safeGet = require('./_safeGet'),\n toPlainObject = require('./toPlainObject');\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\nmodule.exports = baseMergeDeep;\n","var getWrapDetails = require('./_getWrapDetails'),\n insertWrapDetails = require('./_insertWrapDetails'),\n setToString = require('./_setToString'),\n updateWrapDetails = require('./_updateWrapDetails');\n\n/**\n * Sets the `toString` method of `wrapper` to mimic the source of `reference`\n * with wrapper details in a comment at the top of the source body.\n *\n * @private\n * @param {Function} wrapper The function to modify.\n * @param {Function} reference The reference function.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @returns {Function} Returns `wrapper`.\n */\nfunction setWrapToString(wrapper, reference, bitmask) {\n var source = (reference + '');\n return setToString(wrapper, insertWrapDetails(source, updateWrapDetails(getWrapDetails(source), bitmask)));\n}\n\nmodule.exports = setWrapToString;\n","const set = require('regenerate')(0x342, 0x345, 0x37F, 0x384, 0x386, 0x38C, 0x1F59, 0x1F5B, 0x1F5D, 0x2126, 0xAB65, 0x101A0);\nset.addRange(0x370, 0x373).addRange(0x375, 0x377).addRange(0x37A, 0x37D).addRange(0x388, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x3E1).addRange(0x3F0, 0x3FF).addRange(0x1D26, 0x1D2A).addRange(0x1D5D, 0x1D61).addRange(0x1D66, 0x1D6A).addRange(0x1DBF, 0x1DC1).addRange(0x1F00, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D).addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FC4).addRange(0x1FC6, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FDD, 0x1FEF).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFE).addRange(0x10140, 0x1018E).addRange(0x1D200, 0x1D245);\nmodule.exports = set;","module.exports = function parseUnit(str, out) {\n if (!out) out = [0, ''];\n str = String(str);\n var num = parseFloat(str, 10);\n out[0] = num;\n out[1] = str.match(/[\\d.\\-\\+]*\\s*(.*)/)[1] || '';\n return out;\n};","var deburrLetter = require('./_deburrLetter'),\n toString = require('./toString');\n\n/** Used to match Latin Unicode letters (excluding mathematical operators). */\nvar reLatin = /[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g;\n\n/** Used to compose unicode character classes. */\nvar rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange;\n\n/** Used to compose unicode capture groups. */\nvar rsCombo = '[' + rsComboRange + ']';\n\n/**\n * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and\n * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols).\n */\nvar reComboMark = RegExp(rsCombo, 'g');\n\n/**\n * Deburrs `string` by converting\n * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)\n * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A)\n * letters to basic Latin letters and removing\n * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to deburr.\n * @returns {string} Returns the deburred string.\n * @example\n *\n * _.deburr('déjà vu');\n * // => 'deja vu'\n */\nfunction deburr(string) {\n string = toString(string);\n return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '');\n}\n\nmodule.exports = deburr;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nmodule.exports = trimmedEndIndex;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}","const set = require('regenerate')(0x12F, 0x249, 0x268, 0x29D, 0x2B2, 0x3F3, 0x456, 0x458, 0x1D62, 0x1D96, 0x1DA4, 0x1DA8, 0x1E2D, 0x1ECB, 0x2071, 0x2C7C, 0x1DF1A);\nset.addRange(0x69, 0x6A).addRange(0x2148, 0x2149).addRange(0x1D422, 0x1D423).addRange(0x1D456, 0x1D457).addRange(0x1D48A, 0x1D48B).addRange(0x1D4BE, 0x1D4BF).addRange(0x1D4F2, 0x1D4F3).addRange(0x1D526, 0x1D527).addRange(0x1D55A, 0x1D55B).addRange(0x1D58E, 0x1D58F).addRange(0x1D5C2, 0x1D5C3).addRange(0x1D5F6, 0x1D5F7).addRange(0x1D62A, 0x1D62B).addRange(0x1D65E, 0x1D65F).addRange(0x1D692, 0x1D693);\nmodule.exports = set;","const set = require('regenerate')(0xA3C, 0xA51, 0xA5E);\nset.addRange(0xA01, 0xA03).addRange(0xA05, 0xA0A).addRange(0xA0F, 0xA10).addRange(0xA13, 0xA28).addRange(0xA2A, 0xA30).addRange(0xA32, 0xA33).addRange(0xA35, 0xA36).addRange(0xA38, 0xA39).addRange(0xA3E, 0xA42).addRange(0xA47, 0xA48).addRange(0xA4B, 0xA4D).addRange(0xA59, 0xA5C).addRange(0xA66, 0xA76);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x0, 0x7F);\nmodule.exports = set;","var toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var baseFlatten = require('./_baseFlatten');\n\n/**\n * Flattens `array` a single level deep.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * _.flatten([1, [2, [3, [4]], 5]]);\n * // => [1, 2, [3, [4]], 5]\n */\nfunction flatten(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseFlatten(array, 1) : [];\n}\n\nmodule.exports = flatten;\n","var toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\n\nvar $Array = Array;\nvar max = Math.max;\n\nmodule.exports = function (O, start, end) {\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n var result = $Array(max(fin - k, 0));\n for (var n = 0; k < fin; k++, n++) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n};\n","const set = require('regenerate')(0x1DF9, 0x101FD);\nset.addRange(0x300, 0x341).addRange(0x343, 0x344).addRange(0x346, 0x362).addRange(0x953, 0x954).addRange(0x1AB0, 0x1ACE).addRange(0x1DC2, 0x1DF7).addRange(0x1DFB, 0x1DFF).addRange(0x200C, 0x200D).addRange(0x20D0, 0x20EF).addRange(0xFE00, 0xFE0F).addRange(0xFE20, 0xFE2D).addRange(0x1CF00, 0x1CF2D).addRange(0x1CF30, 0x1CF46).addRange(0x1D167, 0x1D169).addRange(0x1D17B, 0x1D182).addRange(0x1D185, 0x1D18B).addRange(0x1D1AA, 0x1D1AD).addRange(0xE0100, 0xE01EF);\nmodule.exports = set;","import * as React from 'react'\n /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsxRuntime classic */\n/* @jsx mdx */\nimport DefaultLayout from \"/home/runner/work/tanka/tanka/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nexport const _frontmatter = {};\nconst layoutProps = {\n _frontmatter\n};\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n components,\n ...props\n}) {\n return \n\n\n

    {`The `}{`jb`}{` binary is primarily distributed using `}{`GitHub releases`}{`.`}

    \n

    {`Linux, macOS`}

    \n

    {`For Linux and macOS, download the binary for your architecture, put it somewhere on your `}{`$PATH`}{`, and make it an executable:`}

    \n
    {`# Linux amd64:`}{`\n`}{`sudo curl -Lo /usr/local/bin/jb https://github.com/jsonnet-bundler/jsonnet-bundler/releases/latest/download/jb-linux-amd64`}{`\n`}{`sudo chmod a+x /usr/local/bin/jb`}{`\n`}{`\n`}{`# Linux arm / arm64 (e.g. RaspberryPi):`}{`\n`}{`sudo curl -Lo /usr/local/bin/jb https://github.com/jsonnet-bundler/jsonnet-bundler/releases/latest/download/jb-linux-arm`}{`\n`}{`sudo curl -Lo /usr/local/bin/jb https://github.com/jsonnet-bundler/jsonnet-bundler/releases/latest/download/jb-linux-arm64`}{`\n`}{`sudo chmod a+x /usr/local/bin/jb`}{`\n`}{`\n`}{`# macOS:`}{`\n`}{`sudo curl -Lo /usr/local/bin/jb https://github.com/jsonnet-bundler/jsonnet-bundler/releases/latest/download/jb-darwin-amd64`}{`\n`}{`sudo chmod a+x /usr/local/bin/jb`}
    \n\n \n
    ;\n}\n;\nMDXContent.isMDXComponent = true;\n ","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","const set = require('regenerate')(0x2029);\nmodule.exports = set;","var global = require('../internals/global');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar regExpFlags = require('../internals/regexp-flags');\nvar fails = require('../internals/fails');\n\n// babel-minify and Closure Compiler transpiles RegExp('.', 'd') -> /./d and it causes SyntaxError\nvar RegExp = global.RegExp;\nvar RegExpPrototype = RegExp.prototype;\n\nvar FORCED = DESCRIPTORS && fails(function () {\n var INDICES_SUPPORT = true;\n try {\n RegExp('.', 'd');\n } catch (error) {\n INDICES_SUPPORT = false;\n }\n\n var O = {};\n // modern V8 bug\n var calls = '';\n var expected = INDICES_SUPPORT ? 'dgimsy' : 'gimsy';\n\n var addGetter = function (key, chr) {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty(O, key, { get: function () {\n calls += chr;\n return true;\n } });\n };\n\n var pairs = {\n dotAll: 's',\n global: 'g',\n ignoreCase: 'i',\n multiline: 'm',\n sticky: 'y'\n };\n\n if (INDICES_SUPPORT) pairs.hasIndices = 'd';\n\n for (var key in pairs) addGetter(key, pairs[key]);\n\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n var result = Object.getOwnPropertyDescriptor(RegExpPrototype, 'flags').get.call(O);\n\n return result !== expected || calls !== expected;\n});\n\n// `RegExp.prototype.flags` getter\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nif (FORCED) defineBuiltInAccessor(RegExpPrototype, 'flags', {\n configurable: true,\n get: regExpFlags\n});\n","const set = require('regenerate')();\nset.addRange(0x109A0, 0x109B7).addRange(0x109BC, 0x109CF).addRange(0x109D2, 0x109FF);\nmodule.exports = set;","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n","const set = require('regenerate')();\nset.addRange(0x16A40, 0x16A5E).addRange(0x16A60, 0x16A69).addRange(0x16A6E, 0x16A6F);\nmodule.exports = set;","var userAgent = require('../internals/engine-user-agent');\n\nvar webkit = userAgent.match(/AppleWebKit\\/(\\d+)\\./);\n\nmodule.exports = !!webkit && +webkit[1];\n","const set = require('regenerate')();\nset.addRange(0x10860, 0x1087F);\nmodule.exports = set;","const set = require('regenerate')(0x670, 0x1CED, 0x1CF4, 0x101FD, 0x102E0, 0x1133B);\nset.addRange(0x300, 0x36F).addRange(0x485, 0x486).addRange(0x64B, 0x655).addRange(0x951, 0x954).addRange(0x1AB0, 0x1ACE).addRange(0x1CD0, 0x1CD2).addRange(0x1CD4, 0x1CE0).addRange(0x1CE2, 0x1CE8).addRange(0x1CF8, 0x1CF9).addRange(0x1DC0, 0x1DFF).addRange(0x200C, 0x200D).addRange(0x20D0, 0x20F0).addRange(0x302A, 0x302D).addRange(0x3099, 0x309A).addRange(0xFE00, 0xFE0F).addRange(0xFE20, 0xFE2D).addRange(0x1CF00, 0x1CF2D).addRange(0x1CF30, 0x1CF46).addRange(0x1D167, 0x1D169).addRange(0x1D17B, 0x1D182).addRange(0x1D185, 0x1D18B).addRange(0x1D1AA, 0x1D1AD).addRange(0xE0100, 0xE01EF);\nmodule.exports = set;","// This is extracted to separate module because it's shared\n// between browser and SSR code\nexport const RouteAnnouncerProps = {\n id: `gatsby-announcer`,\n style: {\n position: `absolute`,\n top: 0,\n width: 1,\n height: 1,\n padding: 0,\n overflow: `hidden`,\n clip: `rect(0, 0, 0, 0)`,\n whiteSpace: `nowrap`,\n border: 0,\n },\n \"aria-live\": `assertive`,\n \"aria-atomic\": `true`,\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport loader, { PageResourceStatus } from \"./loader\"\nimport redirects from \"./redirects.json\"\nimport { apiRunner } from \"./api-runner-browser\"\nimport emitter from \"./emitter\"\nimport { RouteAnnouncerProps } from \"./route-announcer-props\"\nimport { navigate as reachNavigate } from \"@reach/router\"\nimport { globalHistory } from \"@reach/router/lib/history\"\nimport { parsePath } from \"gatsby-link\"\n\n// Convert to a map for faster lookup in maybeRedirect()\n\nconst redirectMap = new Map()\nconst redirectIgnoreCaseMap = new Map()\n\nredirects.forEach(redirect => {\n if (redirect.ignoreCase) {\n redirectIgnoreCaseMap.set(redirect.fromPath, redirect)\n } else {\n redirectMap.set(redirect.fromPath, redirect)\n }\n})\n\nfunction maybeRedirect(pathname) {\n let redirect = redirectMap.get(pathname)\n if (!redirect) {\n redirect = redirectIgnoreCaseMap.get(pathname.toLowerCase())\n }\n\n if (redirect != null) {\n if (process.env.NODE_ENV !== `production`) {\n if (!loader.isPageNotFound(pathname)) {\n console.error(\n `The route \"${pathname}\" matches both a page and a redirect; this is probably not intentional.`\n )\n }\n }\n\n window.___replace(redirect.toPath)\n return true\n } else {\n return false\n }\n}\n\nconst onPreRouteUpdate = (location, prevLocation) => {\n if (!maybeRedirect(location.pathname)) {\n apiRunner(`onPreRouteUpdate`, { location, prevLocation })\n }\n}\n\nconst onRouteUpdate = (location, prevLocation) => {\n if (!maybeRedirect(location.pathname)) {\n apiRunner(`onRouteUpdate`, { location, prevLocation })\n if (\n process.env.GATSBY_EXPERIMENTAL_QUERY_ON_DEMAND &&\n process.env.GATSBY_QUERY_ON_DEMAND_LOADING_INDICATOR === `true`\n ) {\n emitter.emit(`onRouteUpdate`, { location, prevLocation })\n }\n }\n}\n\nconst navigate = (to, options = {}) => {\n // Support forward/backward navigation with numbers\n // navigate(-2) (jumps back 2 history steps)\n // navigate(2) (jumps forward 2 history steps)\n if (typeof to === `number`) {\n globalHistory.navigate(to)\n return\n }\n\n let { pathname } = parsePath(to)\n let redirect = redirectMap.get(pathname)\n if (!redirect) {\n redirect = redirectIgnoreCaseMap.get(pathname.toLowerCase())\n }\n\n // If we're redirecting, just replace the passed in pathname\n // to the one we want to redirect to.\n if (redirect) {\n to = redirect.toPath\n pathname = parsePath(to).pathname\n }\n\n // If we had a service worker update, no matter the path, reload window and\n // reset the pathname whitelist\n if (window.___swUpdated) {\n window.location = pathname\n return\n }\n\n // Start a timer to wait for a second before transitioning and showing a\n // loader in case resources aren't around yet.\n const timeoutId = setTimeout(() => {\n emitter.emit(`onDelayedLoadPageResources`, { pathname })\n apiRunner(`onRouteUpdateDelayed`, {\n location: window.location,\n })\n }, 1000)\n\n loader.loadPage(pathname).then(pageResources => {\n // If no page resources, then refresh the page\n // Do this, rather than simply `window.location.reload()`, so that\n // pressing the back/forward buttons work - otherwise when pressing\n // back, the browser will just change the URL and expect JS to handle\n // the change, which won't always work since it might not be a Gatsby\n // page.\n if (!pageResources || pageResources.status === PageResourceStatus.Error) {\n window.history.replaceState({}, ``, location.href)\n window.location = pathname\n clearTimeout(timeoutId)\n return\n }\n\n // If the loaded page has a different compilation hash to the\n // window, then a rebuild has occurred on the server. Reload.\n if (process.env.NODE_ENV === `production` && pageResources) {\n if (\n pageResources.page.webpackCompilationHash !==\n window.___webpackCompilationHash\n ) {\n // Purge plugin-offline cache\n if (\n `serviceWorker` in navigator &&\n navigator.serviceWorker.controller !== null &&\n navigator.serviceWorker.controller.state === `activated`\n ) {\n navigator.serviceWorker.controller.postMessage({\n gatsbyApi: `clearPathResources`,\n })\n }\n\n window.location = pathname\n }\n }\n reachNavigate(to, options)\n clearTimeout(timeoutId)\n })\n}\n\nfunction shouldUpdateScroll(prevRouterProps, { location }) {\n const { pathname, hash } = location\n const results = apiRunner(`shouldUpdateScroll`, {\n prevRouterProps,\n // `pathname` for backwards compatibility\n pathname,\n routerProps: { location },\n getSavedScrollPosition: args => [\n 0,\n this._stateStorage.read(args, args.key),\n ],\n })\n if (results.length > 0) {\n // Use the latest registered shouldUpdateScroll result, this allows users to override plugin's configuration\n // @see https://github.com/gatsbyjs/gatsby/issues/12038\n return results[results.length - 1]\n }\n\n if (prevRouterProps) {\n const {\n location: { pathname: oldPathname },\n } = prevRouterProps\n if (oldPathname === pathname) {\n // Scroll to element if it exists, if it doesn't, or no hash is provided,\n // scroll to top.\n return hash ? decodeURI(hash.slice(1)) : [0, 0]\n }\n }\n return true\n}\n\nfunction init() {\n // The \"scroll-behavior\" package expects the \"action\" to be on the location\n // object so let's copy it over.\n globalHistory.listen(args => {\n args.location.action = args.action\n })\n\n window.___push = to => navigate(to, { replace: false })\n window.___replace = to => navigate(to, { replace: true })\n window.___navigate = (to, options) => navigate(to, options)\n\n // Check for initial page-load redirect\n maybeRedirect(window.location.pathname)\n}\n\nclass RouteAnnouncer extends React.Component {\n constructor(props) {\n super(props)\n this.announcementRef = React.createRef()\n }\n\n componentDidUpdate(prevProps, nextProps) {\n requestAnimationFrame(() => {\n let pageName = `new page at ${this.props.location.pathname}`\n if (document.title) {\n pageName = document.title\n }\n const pageHeadings = document.querySelectorAll(`#gatsby-focus-wrapper h1`)\n if (pageHeadings && pageHeadings.length) {\n pageName = pageHeadings[0].textContent\n }\n const newAnnouncement = `Navigated to ${pageName}`\n if (this.announcementRef.current) {\n const oldAnnouncement = this.announcementRef.current.innerText\n if (oldAnnouncement !== newAnnouncement) {\n this.announcementRef.current.innerText = newAnnouncement\n }\n }\n })\n }\n\n render() {\n return
    \n }\n}\n\nconst compareLocationProps = (prevLocation, nextLocation) => {\n if (prevLocation.href !== nextLocation.href) {\n return true\n }\n\n if (prevLocation?.state?.key !== nextLocation?.state?.key) {\n return true\n }\n\n return false\n}\n\n// Fire on(Pre)RouteUpdate APIs\nclass RouteUpdates extends React.Component {\n constructor(props) {\n super(props)\n onPreRouteUpdate(props.location, null)\n }\n\n componentDidMount() {\n onRouteUpdate(this.props.location, null)\n }\n\n shouldComponentUpdate(prevProps) {\n if (compareLocationProps(prevProps.location, this.props.location)) {\n onPreRouteUpdate(this.props.location, prevProps.location)\n return true\n }\n return false\n }\n\n componentDidUpdate(prevProps) {\n if (compareLocationProps(prevProps.location, this.props.location)) {\n onRouteUpdate(this.props.location, prevProps.location)\n }\n }\n\n render() {\n return (\n \n {this.props.children}\n \n \n )\n }\n}\n\nRouteUpdates.propTypes = {\n location: PropTypes.object.isRequired,\n}\n\nexport { init, shouldUpdateScroll, RouteUpdates }\n","// Pulled from react-compat\n// https://github.com/developit/preact-compat/blob/7c5de00e7c85e2ffd011bf3af02899b63f699d3a/src/index.js#L349\nfunction shallowDiffers(a, b) {\n for (var i in a) {\n if (!(i in b)) return true;\n }for (var _i in b) {\n if (a[_i] !== b[_i]) return true;\n }return false;\n}\n\nexport default (function (instance, nextProps, nextState) {\n return shallowDiffers(instance.props, nextProps) || shallowDiffers(instance.state, nextState);\n});","import React from \"react\"\nimport loader, { PageResourceStatus } from \"./loader\"\nimport shallowCompare from \"shallow-compare\"\n\nclass EnsureResources extends React.Component {\n constructor(props) {\n super()\n const { location, pageResources } = props\n this.state = {\n location: { ...location },\n pageResources: pageResources || loader.loadPageSync(location.pathname),\n }\n }\n\n static getDerivedStateFromProps({ location }, prevState) {\n if (prevState.location.href !== location.href) {\n const pageResources = loader.loadPageSync(location.pathname)\n return {\n pageResources,\n location: { ...location },\n }\n }\n\n return {\n location: { ...location },\n }\n }\n\n loadResources(rawPath) {\n loader.loadPage(rawPath).then(pageResources => {\n if (pageResources && pageResources.status !== PageResourceStatus.Error) {\n this.setState({\n location: { ...window.location },\n pageResources,\n })\n } else {\n window.history.replaceState({}, ``, location.href)\n window.location = rawPath\n }\n })\n }\n\n shouldComponentUpdate(nextProps, nextState) {\n // Always return false if we're missing resources.\n if (!nextState.pageResources) {\n this.loadResources(nextProps.location.pathname)\n return false\n }\n\n if (\n process.env.BUILD_STAGE === `develop` &&\n nextState.pageResources.stale\n ) {\n this.loadResources(nextProps.location.pathname)\n return false\n }\n\n // Check if the component or json have changed.\n if (this.state.pageResources !== nextState.pageResources) {\n return true\n }\n if (\n this.state.pageResources.component !== nextState.pageResources.component\n ) {\n return true\n }\n\n if (this.state.pageResources.json !== nextState.pageResources.json) {\n return true\n }\n // Check if location has changed on a page using internal routing\n // via matchPath configuration.\n if (\n this.state.location.key !== nextState.location.key &&\n nextState.pageResources.page &&\n (nextState.pageResources.page.matchPath ||\n nextState.pageResources.page.path)\n ) {\n return true\n }\n return shallowCompare(this, nextProps, nextState)\n }\n\n render() {\n if (process.env.NODE_ENV !== `production` && !this.state.pageResources) {\n throw new Error(\n `EnsureResources was not able to find resources for path: \"${this.props.location.pathname}\"\nThis typically means that an issue occurred building components for that path.\nRun \\`gatsby clean\\` to remove any cached elements.`\n )\n }\n\n return this.props.children(this.state)\n }\n}\n\nexport default EnsureResources\n","import { apiRunner, apiRunnerAsync } from \"./api-runner-browser\"\nimport React from \"react\"\nimport ReactDOM from \"react-dom\"\nimport { Router, navigate, Location, BaseContext } from \"@reach/router\"\nimport { ScrollContext } from \"gatsby-react-router-scroll\"\nimport domReady from \"@mikaelkristiansson/domready\"\nimport { StaticQueryContext } from \"gatsby\"\nimport {\n shouldUpdateScroll,\n init as navigationInit,\n RouteUpdates,\n} from \"./navigation\"\nimport emitter from \"./emitter\"\nimport PageRenderer from \"./page-renderer\"\nimport asyncRequires from \"$virtual/async-requires\"\nimport {\n setLoader,\n ProdLoader,\n publicLoader,\n PageResourceStatus,\n getStaticQueryResults,\n} from \"./loader\"\nimport EnsureResources from \"./ensure-resources\"\nimport stripPrefix from \"./strip-prefix\"\n\n// Generated during bootstrap\nimport matchPaths from \"$virtual/match-paths.json\"\n\nconst loader = new ProdLoader(asyncRequires, matchPaths)\nsetLoader(loader)\nloader.setApiRunner(apiRunner)\n\nwindow.asyncRequires = asyncRequires\nwindow.___emitter = emitter\nwindow.___loader = publicLoader\n\nnavigationInit()\n\napiRunnerAsync(`onClientEntry`).then(() => {\n // Let plugins register a service worker. The plugin just needs\n // to return true.\n if (apiRunner(`registerServiceWorker`).length > 0) {\n require(`./register-service-worker`)\n }\n\n // In gatsby v2 if Router is used in page using matchPaths\n // paths need to contain full path.\n // For example:\n // - page have `/app/*` matchPath\n // - inside template user needs to use `/app/xyz` as path\n // Resetting `basepath`/`baseuri` keeps current behaviour\n // to not introduce breaking change.\n // Remove this in v3\n const RouteHandler = props => (\n \n \n \n )\n\n const DataContext = React.createContext({})\n\n class GatsbyRoot extends React.Component {\n render() {\n const { children } = this.props\n return (\n \n {({ location }) => (\n \n {({ pageResources, location }) => {\n const staticQueryResults = getStaticQueryResults()\n return (\n \n \n {children}\n \n \n )\n }}\n \n )}\n \n )\n }\n }\n\n class LocationHandler extends React.Component {\n render() {\n return (\n \n {({ pageResources, location }) => (\n \n \n \n \n
    \n \n \n )}\n \n )\n }\n }\n\n const { pagePath, location: browserLoc } = window\n\n // Explicitly call navigate if the canonical path (window.pagePath)\n // is different to the browser path (window.location.pathname). But\n // only if NONE of the following conditions hold:\n //\n // - The url matches a client side route (page.matchPath)\n // - it's a 404 page\n // - it's the offline plugin shell (/offline-plugin-app-shell-fallback/)\n if (\n pagePath &&\n __BASE_PATH__ + pagePath !== browserLoc.pathname &&\n !(\n loader.findMatchPath(stripPrefix(browserLoc.pathname, __BASE_PATH__)) ||\n pagePath === `/404.html` ||\n pagePath.match(/^\\/404\\/?$/) ||\n pagePath.match(/^\\/offline-plugin-app-shell-fallback\\/?$/)\n )\n ) {\n navigate(__BASE_PATH__ + pagePath + browserLoc.search + browserLoc.hash, {\n replace: true,\n })\n }\n\n publicLoader.loadPage(browserLoc.pathname).then(page => {\n if (!page || page.status === PageResourceStatus.Error) {\n throw new Error(\n `page resources for ${browserLoc.pathname} not found. Not rendering React`\n )\n }\n\n window.___webpackCompilationHash = page.page.webpackCompilationHash\n\n const SiteRoot = apiRunner(\n `wrapRootElement`,\n { element: },\n ,\n ({ result }) => {\n return { element: result }\n }\n ).pop()\n\n const App = () => {SiteRoot}\n\n const renderer = apiRunner(\n `replaceHydrateFunction`,\n undefined,\n ReactDOM.hydrate\n )[0]\n\n domReady(() => {\n renderer(\n ,\n typeof window !== `undefined`\n ? document.getElementById(`___gatsby`)\n : void 0,\n () => {\n apiRunner(`onInitialClientRender`)\n }\n )\n })\n })\n})\n","const set = require('regenerate')();\nset.addRange(0x10880, 0x1089E).addRange(0x108A7, 0x108AF);\nmodule.exports = set;","const set = require('regenerate')(0x1B000);\nset.addRange(0x30A1, 0x30FA).addRange(0x30FD, 0x30FF).addRange(0x31F0, 0x31FF).addRange(0x32D0, 0x32FE).addRange(0x3300, 0x3357).addRange(0xFF66, 0xFF6F).addRange(0xFF71, 0xFF9D).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE).addRange(0x1B120, 0x1B122).addRange(0x1B164, 0x1B167);\nmodule.exports = set;","const set = require('regenerate')(0x5BF, 0x5C7, 0x670, 0x711, 0x7FD, 0x93A, 0x93C, 0x94D, 0x981, 0x9BC, 0x9BE, 0x9CD, 0x9D7, 0x9FE, 0xA3C, 0xA51, 0xA75, 0xABC, 0xACD, 0xB01, 0xB3C, 0xB4D, 0xB82, 0xBBE, 0xBC0, 0xBCD, 0xBD7, 0xC00, 0xC04, 0xC3C, 0xC81, 0xCBC, 0xCBF, 0xCC2, 0xCC6, 0xD3E, 0xD4D, 0xD57, 0xD81, 0xDCA, 0xDCF, 0xDD6, 0xDDF, 0xE31, 0xEB1, 0xF35, 0xF37, 0xF39, 0xFC6, 0x1082, 0x108D, 0x109D, 0x17C6, 0x17DD, 0x180F, 0x18A9, 0x1932, 0x1A1B, 0x1A56, 0x1A60, 0x1A62, 0x1A7F, 0x1B3C, 0x1B42, 0x1BE6, 0x1BED, 0x1CED, 0x1CF4, 0x200C, 0x2D7F, 0xA802, 0xA806, 0xA80B, 0xA82C, 0xA8FF, 0xA9B3, 0xA9E5, 0xAA43, 0xAA4C, 0xAA7C, 0xAAB0, 0xAAC1, 0xAAF6, 0xABE5, 0xABE8, 0xABED, 0xFB1E, 0x101FD, 0x102E0, 0x10A3F, 0x11001, 0x11070, 0x110C2, 0x11173, 0x111CF, 0x11234, 0x1123E, 0x112DF, 0x1133E, 0x11340, 0x11357, 0x11446, 0x1145E, 0x114B0, 0x114BA, 0x114BD, 0x115AF, 0x1163D, 0x116AB, 0x116AD, 0x116B7, 0x11930, 0x1193E, 0x11943, 0x119E0, 0x11A47, 0x11C3F, 0x11D3A, 0x11D47, 0x11D95, 0x11D97, 0x16F4F, 0x16FE4, 0x1D165, 0x1DA75, 0x1DA84, 0x1E2AE);\nset.addRange(0x300, 0x36F).addRange(0x483, 0x489).addRange(0x591, 0x5BD).addRange(0x5C1, 0x5C2).addRange(0x5C4, 0x5C5).addRange(0x610, 0x61A).addRange(0x64B, 0x65F).addRange(0x6D6, 0x6DC).addRange(0x6DF, 0x6E4).addRange(0x6E7, 0x6E8).addRange(0x6EA, 0x6ED).addRange(0x730, 0x74A).addRange(0x7A6, 0x7B0).addRange(0x7EB, 0x7F3).addRange(0x816, 0x819).addRange(0x81B, 0x823).addRange(0x825, 0x827).addRange(0x829, 0x82D).addRange(0x859, 0x85B).addRange(0x898, 0x89F).addRange(0x8CA, 0x8E1).addRange(0x8E3, 0x902).addRange(0x941, 0x948).addRange(0x951, 0x957).addRange(0x962, 0x963).addRange(0x9C1, 0x9C4).addRange(0x9E2, 0x9E3).addRange(0xA01, 0xA02).addRange(0xA41, 0xA42).addRange(0xA47, 0xA48).addRange(0xA4B, 0xA4D).addRange(0xA70, 0xA71).addRange(0xA81, 0xA82).addRange(0xAC1, 0xAC5).addRange(0xAC7, 0xAC8).addRange(0xAE2, 0xAE3).addRange(0xAFA, 0xAFF).addRange(0xB3E, 0xB3F).addRange(0xB41, 0xB44).addRange(0xB55, 0xB57).addRange(0xB62, 0xB63).addRange(0xC3E, 0xC40).addRange(0xC46, 0xC48).addRange(0xC4A, 0xC4D).addRange(0xC55, 0xC56).addRange(0xC62, 0xC63).addRange(0xCCC, 0xCCD).addRange(0xCD5, 0xCD6).addRange(0xCE2, 0xCE3).addRange(0xD00, 0xD01).addRange(0xD3B, 0xD3C);\nset.addRange(0xD41, 0xD44).addRange(0xD62, 0xD63).addRange(0xDD2, 0xDD4).addRange(0xE34, 0xE3A).addRange(0xE47, 0xE4E).addRange(0xEB4, 0xEBC).addRange(0xEC8, 0xECD).addRange(0xF18, 0xF19).addRange(0xF71, 0xF7E).addRange(0xF80, 0xF84).addRange(0xF86, 0xF87).addRange(0xF8D, 0xF97).addRange(0xF99, 0xFBC).addRange(0x102D, 0x1030).addRange(0x1032, 0x1037).addRange(0x1039, 0x103A).addRange(0x103D, 0x103E).addRange(0x1058, 0x1059).addRange(0x105E, 0x1060).addRange(0x1071, 0x1074).addRange(0x1085, 0x1086).addRange(0x135D, 0x135F).addRange(0x1712, 0x1714).addRange(0x1732, 0x1733).addRange(0x1752, 0x1753).addRange(0x1772, 0x1773).addRange(0x17B4, 0x17B5).addRange(0x17B7, 0x17BD).addRange(0x17C9, 0x17D3).addRange(0x180B, 0x180D).addRange(0x1885, 0x1886).addRange(0x1920, 0x1922).addRange(0x1927, 0x1928).addRange(0x1939, 0x193B).addRange(0x1A17, 0x1A18).addRange(0x1A58, 0x1A5E).addRange(0x1A65, 0x1A6C).addRange(0x1A73, 0x1A7C).addRange(0x1AB0, 0x1ACE).addRange(0x1B00, 0x1B03).addRange(0x1B34, 0x1B3A).addRange(0x1B6B, 0x1B73).addRange(0x1B80, 0x1B81).addRange(0x1BA2, 0x1BA5).addRange(0x1BA8, 0x1BA9).addRange(0x1BAB, 0x1BAD).addRange(0x1BE8, 0x1BE9).addRange(0x1BEF, 0x1BF1).addRange(0x1C2C, 0x1C33).addRange(0x1C36, 0x1C37).addRange(0x1CD0, 0x1CD2);\nset.addRange(0x1CD4, 0x1CE0).addRange(0x1CE2, 0x1CE8).addRange(0x1CF8, 0x1CF9).addRange(0x1DC0, 0x1DFF).addRange(0x20D0, 0x20F0).addRange(0x2CEF, 0x2CF1).addRange(0x2DE0, 0x2DFF).addRange(0x302A, 0x302F).addRange(0x3099, 0x309A).addRange(0xA66F, 0xA672).addRange(0xA674, 0xA67D).addRange(0xA69E, 0xA69F).addRange(0xA6F0, 0xA6F1).addRange(0xA825, 0xA826).addRange(0xA8C4, 0xA8C5).addRange(0xA8E0, 0xA8F1).addRange(0xA926, 0xA92D).addRange(0xA947, 0xA951).addRange(0xA980, 0xA982).addRange(0xA9B6, 0xA9B9).addRange(0xA9BC, 0xA9BD).addRange(0xAA29, 0xAA2E).addRange(0xAA31, 0xAA32).addRange(0xAA35, 0xAA36).addRange(0xAAB2, 0xAAB4).addRange(0xAAB7, 0xAAB8).addRange(0xAABE, 0xAABF).addRange(0xAAEC, 0xAAED).addRange(0xFE00, 0xFE0F).addRange(0xFE20, 0xFE2F).addRange(0xFF9E, 0xFF9F).addRange(0x10376, 0x1037A).addRange(0x10A01, 0x10A03).addRange(0x10A05, 0x10A06).addRange(0x10A0C, 0x10A0F).addRange(0x10A38, 0x10A3A).addRange(0x10AE5, 0x10AE6).addRange(0x10D24, 0x10D27).addRange(0x10EAB, 0x10EAC).addRange(0x10F46, 0x10F50).addRange(0x10F82, 0x10F85).addRange(0x11038, 0x11046).addRange(0x11073, 0x11074).addRange(0x1107F, 0x11081).addRange(0x110B3, 0x110B6).addRange(0x110B9, 0x110BA).addRange(0x11100, 0x11102).addRange(0x11127, 0x1112B).addRange(0x1112D, 0x11134).addRange(0x11180, 0x11181).addRange(0x111B6, 0x111BE);\nset.addRange(0x111C9, 0x111CC).addRange(0x1122F, 0x11231).addRange(0x11236, 0x11237).addRange(0x112E3, 0x112EA).addRange(0x11300, 0x11301).addRange(0x1133B, 0x1133C).addRange(0x11366, 0x1136C).addRange(0x11370, 0x11374).addRange(0x11438, 0x1143F).addRange(0x11442, 0x11444).addRange(0x114B3, 0x114B8).addRange(0x114BF, 0x114C0).addRange(0x114C2, 0x114C3).addRange(0x115B2, 0x115B5).addRange(0x115BC, 0x115BD).addRange(0x115BF, 0x115C0).addRange(0x115DC, 0x115DD).addRange(0x11633, 0x1163A).addRange(0x1163F, 0x11640).addRange(0x116B0, 0x116B5).addRange(0x1171D, 0x1171F).addRange(0x11722, 0x11725).addRange(0x11727, 0x1172B).addRange(0x1182F, 0x11837).addRange(0x11839, 0x1183A).addRange(0x1193B, 0x1193C).addRange(0x119D4, 0x119D7).addRange(0x119DA, 0x119DB).addRange(0x11A01, 0x11A0A).addRange(0x11A33, 0x11A38).addRange(0x11A3B, 0x11A3E).addRange(0x11A51, 0x11A56).addRange(0x11A59, 0x11A5B).addRange(0x11A8A, 0x11A96).addRange(0x11A98, 0x11A99).addRange(0x11C30, 0x11C36).addRange(0x11C38, 0x11C3D).addRange(0x11C92, 0x11CA7).addRange(0x11CAA, 0x11CB0).addRange(0x11CB2, 0x11CB3).addRange(0x11CB5, 0x11CB6).addRange(0x11D31, 0x11D36).addRange(0x11D3C, 0x11D3D).addRange(0x11D3F, 0x11D45).addRange(0x11D90, 0x11D91).addRange(0x11EF3, 0x11EF4).addRange(0x16AF0, 0x16AF4).addRange(0x16B30, 0x16B36).addRange(0x16F8F, 0x16F92).addRange(0x1BC9D, 0x1BC9E).addRange(0x1CF00, 0x1CF2D);\nset.addRange(0x1CF30, 0x1CF46).addRange(0x1D167, 0x1D169).addRange(0x1D16E, 0x1D172).addRange(0x1D17B, 0x1D182).addRange(0x1D185, 0x1D18B).addRange(0x1D1AA, 0x1D1AD).addRange(0x1D242, 0x1D244).addRange(0x1DA00, 0x1DA36).addRange(0x1DA3B, 0x1DA6C).addRange(0x1DA9B, 0x1DA9F).addRange(0x1DAA1, 0x1DAAF).addRange(0x1E000, 0x1E006).addRange(0x1E008, 0x1E018).addRange(0x1E01B, 0x1E021).addRange(0x1E023, 0x1E024).addRange(0x1E026, 0x1E02A).addRange(0x1E130, 0x1E136).addRange(0x1E2EC, 0x1E2EF).addRange(0x1E8D0, 0x1E8D6).addRange(0x1E944, 0x1E94A).addRange(0xE0020, 0xE007F).addRange(0xE0100, 0xE01EF);\nmodule.exports = set;","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n","const set = require('regenerate')();\nset.addRange(0x2E80, 0x2E99).addRange(0x2E9B, 0x2EF3).addRange(0x2F00, 0x2FD5);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x102A0, 0x102D0);\nmodule.exports = set;","/**\n * Gets the argument placeholder value for `func`.\n *\n * @private\n * @param {Function} func The function to inspect.\n * @returns {*} Returns the placeholder value.\n */\nfunction getHolder(func) {\n var object = func;\n return object.placeholder;\n}\n\nmodule.exports = getHolder;\n","const set = require('regenerate')();\nset.addRange(0x16A70, 0x16ABE).addRange(0x16AC0, 0x16AC9);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x10300, 0x10323).addRange(0x1032D, 0x1032F);\nmodule.exports = set;","var copyObject = require('./_copyObject'),\n getSymbols = require('./_getSymbols');\n\n/**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\nmodule.exports = copySymbols;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n","var setPrototypeOf = require(\"./setPrototypeOf.js\");\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}\nmodule.exports = _inheritsLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","const set = require('regenerate')(0x16FE4);\nset.addRange(0x3006, 0x3007).addRange(0x3021, 0x3029).addRange(0x3038, 0x303A).addRange(0x3400, 0x4DBF).addRange(0x4E00, 0x9FFF).addRange(0xF900, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0x17000, 0x187F7).addRange(0x18800, 0x18CD5).addRange(0x18D00, 0x18D08).addRange(0x1B170, 0x1B2FB).addRange(0x20000, 0x2A6DF).addRange(0x2A700, 0x2B738).addRange(0x2B740, 0x2B81D).addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x2F800, 0x2FA1D).addRange(0x30000, 0x3134A);\nmodule.exports = set;","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.30.2',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.30.2/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","const set = require('regenerate')(0x3030, 0x30FB, 0x32FF);\nset.addRange(0x2E80, 0x2E99).addRange(0x2E9B, 0x2EF3).addRange(0x2F00, 0x2FD5).addRange(0x3001, 0x3003).addRange(0x3005, 0x3011).addRange(0x3013, 0x301F).addRange(0x3021, 0x302D).addRange(0x3037, 0x303F).addRange(0x3190, 0x319F).addRange(0x31C0, 0x31E3).addRange(0x3220, 0x3247).addRange(0x3280, 0x32B0).addRange(0x32C0, 0x32CB).addRange(0x3358, 0x3370).addRange(0x337B, 0x337F).addRange(0x33E0, 0x33FE).addRange(0x3400, 0x4DBF).addRange(0x4E00, 0x9FFF).addRange(0xA700, 0xA707).addRange(0xF900, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0xFE45, 0xFE46).addRange(0xFF61, 0xFF65).addRange(0x16FE2, 0x16FE3).addRange(0x16FF0, 0x16FF1).addRange(0x1D360, 0x1D371).addRange(0x1F250, 0x1F251).addRange(0x20000, 0x2A6DF).addRange(0x2A700, 0x2B738).addRange(0x2B740, 0x2B81D).addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x2F800, 0x2FA1D).addRange(0x30000, 0x3134A);\nmodule.exports = set;","var getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","const set = require('regenerate')();\nset.addRange(0x10980, 0x1099F);\nmodule.exports = set;","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","const set = require('regenerate')(0x202F);\nset.addRange(0x1800, 0x1819).addRange(0x1820, 0x1878).addRange(0x1880, 0x18AA).addRange(0x11660, 0x1166C);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x10000, 0x1000B).addRange(0x1000D, 0x10026).addRange(0x10028, 0x1003A).addRange(0x1003C, 0x1003D).addRange(0x1003F, 0x1004D).addRange(0x10050, 0x1005D).addRange(0x10080, 0x100FA);\nmodule.exports = set;","const set = require('regenerate')(0x1056F);\nset.addRange(0x10530, 0x10563);\nmodule.exports = set;","var trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","'use strict';\n\nconst copyTextToClipboard = function (input) {\n let {\n target = document.body\n } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const element = document.createElement('textarea');\n const previouslyFocusedElement = document.activeElement;\n element.value = input;\n\n // Prevent keyboard from showing on mobile\n element.setAttribute('readonly', '');\n element.style.contain = 'strict';\n element.style.position = 'absolute';\n element.style.left = '-9999px';\n element.style.fontSize = '12pt'; // Prevent zooming on iOS\n\n const selection = document.getSelection();\n let originalRange = false;\n if (selection.rangeCount > 0) {\n originalRange = selection.getRangeAt(0);\n }\n target.append(element);\n element.select();\n\n // Explicit selection workaround for iOS\n element.selectionStart = 0;\n element.selectionEnd = input.length;\n let isSuccess = false;\n try {\n isSuccess = document.execCommand('copy');\n } catch (_) {}\n element.remove();\n if (originalRange) {\n selection.removeAllRanges();\n selection.addRange(originalRange);\n }\n\n // Get the focus back on the previously focused element, if any\n if (previouslyFocusedElement) {\n previouslyFocusedElement.focus();\n }\n return isSuccess;\n};\nmodule.exports = copyTextToClipboard;\n// TODO: Remove this for the next major release\nmodule.exports.default = copyTextToClipboard;","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport Link, {\n withPrefix,\n withAssetPrefix,\n navigate,\n push,\n replace,\n navigateTo,\n parsePath,\n} from \"gatsby-link\"\nimport { useScrollRestoration } from \"gatsby-react-router-scroll\"\nimport PageRenderer from \"./public-page-renderer\"\nimport loader from \"./loader\"\n\nconst prefetchPathname = loader.enqueue\n\nconst StaticQueryContext = React.createContext({})\n\nfunction StaticQueryDataRenderer({ staticQueryData, data, query, render }) {\n const finalData = data\n ? data.data\n : staticQueryData[query] && staticQueryData[query].data\n\n return (\n \n {finalData && render(finalData)}\n {!finalData &&
    Loading (StaticQuery)
    }\n
    \n )\n}\n\nconst StaticQuery = props => {\n const { data, query, render, children } = props\n\n return (\n \n {staticQueryData => (\n \n )}\n \n )\n}\n\nconst useStaticQuery = query => {\n if (\n typeof React.useContext !== `function` &&\n process.env.NODE_ENV === `development`\n ) {\n throw new Error(\n `You're likely using a version of React that doesn't support Hooks\\n` +\n `Please update React and ReactDOM to 16.8.0 or later to use the useStaticQuery hook.`\n )\n }\n const context = React.useContext(StaticQueryContext)\n\n // query is a stringified number like `3303882` when wrapped with graphql, If a user forgets\n // to wrap the query in a grqphql, then casting it to a Number results in `NaN` allowing us to\n // catch the misuse of the API and give proper direction\n if (isNaN(Number(query))) {\n throw new Error(`useStaticQuery was called with a string but expects to be called using \\`graphql\\`. Try this:\n\nimport { useStaticQuery, graphql } from 'gatsby';\n\nuseStaticQuery(graphql\\`${query}\\`);\n`)\n }\n\n if (context[query]?.data) {\n return context[query].data\n } else {\n throw new Error(\n `The result of this StaticQuery could not be fetched.\\n\\n` +\n `This is likely a bug in Gatsby and if refreshing the page does not fix it, ` +\n `please open an issue in https://github.com/gatsbyjs/gatsby/issues`\n )\n }\n}\n\nStaticQuery.propTypes = {\n data: PropTypes.object,\n query: PropTypes.string.isRequired,\n render: PropTypes.func,\n children: PropTypes.func,\n}\n\nfunction graphql() {\n throw new Error(\n `It appears like Gatsby is misconfigured. Gatsby related \\`graphql\\` calls ` +\n `are supposed to only be evaluated at compile time, and then compiled away. ` +\n `Unfortunately, something went wrong and the query was left in the compiled code.\\n\\n` +\n `Unless your site has a complex or custom babel/Gatsby configuration this is likely a bug in Gatsby.`\n )\n}\n\nexport {\n Link,\n withAssetPrefix,\n withPrefix,\n graphql,\n parsePath,\n navigate,\n push, // TODO replace for v3\n replace, // TODO remove replace for v3\n navigateTo, // TODO: remove navigateTo for v3\n useScrollRestoration,\n StaticQueryContext,\n StaticQuery,\n PageRenderer,\n useStaticQuery,\n prefetchPathname,\n}\n","var isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw $TypeError(tryToString(argument) + ' is not a function');\n};\n","const set = require('regenerate')(0x11288);\nset.addRange(0xA66, 0xA6F).addRange(0x11280, 0x11286).addRange(0x1128A, 0x1128D).addRange(0x1128F, 0x1129D).addRange(0x1129F, 0x112A9);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x10450, 0x1047F);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x1E900, 0x1E94B).addRange(0x1E950, 0x1E959).addRange(0x1E95E, 0x1E95F);\nmodule.exports = set;","var copyObject = require('./_copyObject'),\n keys = require('./keys');\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n","const set = require('regenerate')();\nset.addRange(0x964, 0x965).addRange(0x9E6, 0x9EF).addRange(0xA800, 0xA82C);\nmodule.exports = set;","const set = require('regenerate')(0x16FE0);\nset.addRange(0x17000, 0x187F7).addRange(0x18800, 0x18AFF).addRange(0x18D00, 0x18D08);\nmodule.exports = set;","var arrayPush = require('./_arrayPush'),\n isFlattenable = require('./_isFlattenable');\n\n/**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\nfunction baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n\n predicate || (predicate = isFlattenable);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n}\n\nmodule.exports = baseFlatten;\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","import React, { useState } from \"react\"\n\nimport Osx from \"./tk/osx.mdx\"\nimport Arch from \"./tk/arch.mdx\"\nimport Go from \"./tk/go.mdx\"\nimport Binary from \"./tk/binary.mdx\"\n\nimport JbOsx from \"./jb/osx.mdx\"\nimport JbArch from \"./jb/arch.mdx\"\nimport JbGo from \"./jb/go.mdx\"\nimport JbBinary from \"./jb/binary.mdx\"\n\nexport const Tanka = {\n macOS: ,\n ArchLinux: ,\n Binary: ,\n Go: ,\n}\n\nexport const Jb = {\n macOS: ,\n ArchLinux: ,\n Binary: ,\n Go: ,\n}\n\nexport const PlatformInstall = ({ elems, def }) => {\n const [current, setCurrent] = useState(def)\n\n return (\n
    \n \n {Object.keys(elems).map(e => (\n {\n setCurrent(e)\n }}\n >\n {e}\n \n ))}\n
    \n \n {elems[current]}\n \n \n )\n}\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\nmodule.exports = cloneDataView;\n","const set = require('regenerate')();\nset.addRange(0x10A80, 0x10A9F);\nmodule.exports = set;","import './src/index.css'\n","module.exports = new Set([\n// Non-binary properties:\n'General_Category', 'Script', 'Script_Extensions',\n// Binary properties:\n'Alphabetic', 'Any', 'ASCII', 'ASCII_Hex_Digit', 'Assigned', 'Bidi_Control', 'Bidi_Mirrored', 'Case_Ignorable', 'Cased', 'Changes_When_Casefolded', 'Changes_When_Casemapped', 'Changes_When_Lowercased', 'Changes_When_NFKC_Casefolded', 'Changes_When_Titlecased', 'Changes_When_Uppercased', 'Dash', 'Default_Ignorable_Code_Point', 'Deprecated', 'Diacritic', 'Emoji', 'Emoji_Component', 'Emoji_Modifier', 'Emoji_Modifier_Base', 'Emoji_Presentation', 'Extended_Pictographic', 'Extender', 'Grapheme_Base', 'Grapheme_Extend', 'Hex_Digit', 'ID_Continue', 'ID_Start', 'Ideographic', 'IDS_Binary_Operator', 'IDS_Trinary_Operator', 'Join_Control', 'Logical_Order_Exception', 'Lowercase', 'Math', 'Noncharacter_Code_Point', 'Pattern_Syntax', 'Pattern_White_Space', 'Quotation_Mark', 'Radical', 'Regional_Indicator', 'Sentence_Terminal', 'Soft_Dotted', 'Terminal_Punctuation', 'Unified_Ideograph', 'Uppercase', 'Variation_Selector', 'White_Space', 'XID_Continue', 'XID_Start']);","// Generated by CoffeeScript 1.12.4\n(function () {\n var isNumber, ratios;\n isNumber = require('lodash.isnumber');\n ratios = {\n \"minor second\": 16 / 15,\n \"major second\": 9 / 8,\n \"minor third\": 6 / 5,\n \"major third\": 4 / 3,\n \"augmented fourth\": Math.sqrt(2),\n \"perfect fifth\": 3 / 2,\n \"minor sixth\": 8 / 5,\n \"golden\": 1.61803398875,\n \"phi\": 1.61803398875,\n \"major sixth\": 5 / 3,\n \"minor seventh\": 16 / 9,\n \"major seventh\": 15 / 8,\n \"octave\": 2,\n \"major tenth\": 5 / 2,\n \"major eleventh\": 8 / 3,\n \"major twelfth\": 3,\n \"double octave\": 4\n };\n module.exports = function (value, ratio) {\n var r;\n if (value == null) {\n value = 0;\n }\n if (ratio == null) {\n ratio = \"golden\";\n }\n if (isNumber(ratio)) {\n r = ratio;\n } else if (ratios[ratio] != null) {\n r = ratios[ratio];\n } else {\n r = ratios['golden'];\n }\n return Math.pow(r, value);\n };\n}).call(this);","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n","import * as React from 'react'\n /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsxRuntime classic */\n/* @jsx mdx */\nimport DefaultLayout from \"/home/runner/work/tanka/tanka/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nexport const _frontmatter = {};\nconst layoutProps = {\n _frontmatter\n};\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n components,\n ...props\n}) {\n return \n\n\n

    {`For all other operating systems, we provide pre-compiled binaries for Tanka at\n`}{`GitHub Releases`}{`.`}

    \n

    {`Just grab the latest version from there, download it and put somewhere in your\n`}{`$PATH`}{` (e.g. to `}{`/usr/local/bin/tk`}{`)`}

    \n

    {`Linux, macOS`}

    \n

    {`For Linux and macOS, download the binary for your architecture, put it somewhere on your `}{`$PATH`}{`, and make it an executable:`}

    \n
    {`# Linux amd64:`}{`\n`}{`sudo curl -Lo /usr/local/bin/tk https://github.com/grafana/tanka/releases/latest/download/tk-linux-amd64`}{`\n`}{`sudo chmod a+x /usr/local/bin/tk`}{`\n`}{`\n`}{`# Linux arm / arm64 (e.g. RaspberryPi):`}{`\n`}{`sudo curl -Lo /usr/local/bin/tk https://github.com/grafana/tanka/releases/latest/download/tk-linux-arm`}{`\n`}{`sudo curl -Lo /usr/local/bin/tk https://github.com/grafana/tanka/releases/latest/download/tk-linux-arm64`}{`\n`}{`sudo chmod a+x /usr/local/bin/tk`}{`\n`}{`\n`}{`# macOS:`}{`\n`}{`sudo curl -Lo /usr/local/bin/tk https://github.com/grafana/tanka/releases/latest/download/tk-darwin-amd64`}{`\n`}{`sudo chmod a+x /usr/local/bin/tk`}
    \n\n \n
    ;\n}\n;\nMDXContent.isMDXComponent = true;\n ","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\nexport default freeGlobal;","/**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arrayIncludesWith;\n","const set = require('regenerate')();\nset.addRange(0x11A00, 0x11A47);\nmodule.exports = set;","var parent = require('../../stable/object/assign');\n\nmodule.exports = parent;\n","var global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","const set = require('regenerate')(0x3C, 0x3E, 0x5B, 0x5D, 0x7B, 0x7D, 0xAB, 0xBB, 0x2140, 0x2211, 0x2224, 0x2226, 0x2239, 0x2262, 0x2298, 0x27C0, 0x29B8, 0x29C9, 0x29E1, 0x2A24, 0x2A26, 0x2A29, 0x2ADC, 0x2ADE, 0x2AF3, 0x2AFD, 0x2BFE, 0xFF1C, 0xFF1E, 0xFF3B, 0xFF3D, 0xFF5B, 0xFF5D, 0x1D6DB, 0x1D715, 0x1D74F, 0x1D789, 0x1D7C3);\nset.addRange(0x28, 0x29).addRange(0xF3A, 0xF3D).addRange(0x169B, 0x169C).addRange(0x2039, 0x203A).addRange(0x2045, 0x2046).addRange(0x207D, 0x207E).addRange(0x208D, 0x208E).addRange(0x2201, 0x2204).addRange(0x2208, 0x220D).addRange(0x2215, 0x2216).addRange(0x221A, 0x221D).addRange(0x221F, 0x2222).addRange(0x222B, 0x2233).addRange(0x223B, 0x224C).addRange(0x2252, 0x2255).addRange(0x225F, 0x2260).addRange(0x2264, 0x226B).addRange(0x226E, 0x228C).addRange(0x228F, 0x2292).addRange(0x22A2, 0x22A3).addRange(0x22A6, 0x22B8).addRange(0x22BE, 0x22BF).addRange(0x22C9, 0x22CD).addRange(0x22D0, 0x22D1).addRange(0x22D6, 0x22ED).addRange(0x22F0, 0x22FF).addRange(0x2308, 0x230B).addRange(0x2320, 0x2321).addRange(0x2329, 0x232A).addRange(0x2768, 0x2775).addRange(0x27C3, 0x27C6).addRange(0x27C8, 0x27C9).addRange(0x27CB, 0x27CD).addRange(0x27D3, 0x27D6).addRange(0x27DC, 0x27DE).addRange(0x27E2, 0x27EF).addRange(0x2983, 0x2998).addRange(0x299B, 0x29A0).addRange(0x29A2, 0x29AF).addRange(0x29C0, 0x29C5).addRange(0x29CE, 0x29D2).addRange(0x29D4, 0x29D5).addRange(0x29D8, 0x29DC).addRange(0x29E3, 0x29E5).addRange(0x29E8, 0x29E9).addRange(0x29F4, 0x29F9).addRange(0x29FC, 0x29FD).addRange(0x2A0A, 0x2A1C).addRange(0x2A1E, 0x2A21).addRange(0x2A2B, 0x2A2E).addRange(0x2A34, 0x2A35);\nset.addRange(0x2A3C, 0x2A3E).addRange(0x2A57, 0x2A58).addRange(0x2A64, 0x2A65).addRange(0x2A6A, 0x2A6D).addRange(0x2A6F, 0x2A70).addRange(0x2A73, 0x2A74).addRange(0x2A79, 0x2AA3).addRange(0x2AA6, 0x2AAD).addRange(0x2AAF, 0x2AD6).addRange(0x2AE2, 0x2AE6).addRange(0x2AEC, 0x2AEE).addRange(0x2AF7, 0x2AFB).addRange(0x2E02, 0x2E05).addRange(0x2E09, 0x2E0A).addRange(0x2E0C, 0x2E0D).addRange(0x2E1C, 0x2E1D).addRange(0x2E20, 0x2E29).addRange(0x2E55, 0x2E5C).addRange(0x3008, 0x3011).addRange(0x3014, 0x301B).addRange(0xFE59, 0xFE5E).addRange(0xFE64, 0xFE65).addRange(0xFF08, 0xFF09).addRange(0xFF5F, 0xFF60).addRange(0xFF62, 0xFF63);\nmodule.exports = set;","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n","const set = require('regenerate')(0x27, 0x2E, 0x3A, 0x5E, 0x60, 0xA8, 0xAD, 0xAF, 0xB4, 0x37A, 0x387, 0x559, 0x55F, 0x5BF, 0x5C7, 0x5F4, 0x61C, 0x640, 0x670, 0x70F, 0x711, 0x7FA, 0x7FD, 0x888, 0x93A, 0x93C, 0x94D, 0x971, 0x981, 0x9BC, 0x9CD, 0x9FE, 0xA3C, 0xA51, 0xA75, 0xABC, 0xACD, 0xB01, 0xB3C, 0xB3F, 0xB4D, 0xB82, 0xBC0, 0xBCD, 0xC00, 0xC04, 0xC3C, 0xC81, 0xCBC, 0xCBF, 0xCC6, 0xD4D, 0xD81, 0xDCA, 0xDD6, 0xE31, 0xEB1, 0xEC6, 0xF35, 0xF37, 0xF39, 0xFC6, 0x1082, 0x108D, 0x109D, 0x10FC, 0x17C6, 0x17D7, 0x17DD, 0x1843, 0x18A9, 0x1932, 0x1A1B, 0x1A56, 0x1A60, 0x1A62, 0x1A7F, 0x1AA7, 0x1B34, 0x1B3C, 0x1B42, 0x1BE6, 0x1BED, 0x1CED, 0x1CF4, 0x1D78, 0x1FBD, 0x2024, 0x2027, 0x2071, 0x207F, 0x2D6F, 0x2D7F, 0x2E2F, 0x3005, 0x303B, 0xA015, 0xA60C, 0xA67F, 0xA770, 0xA802, 0xA806, 0xA80B, 0xA82C, 0xA8FF, 0xA9B3, 0xA9CF, 0xAA43, 0xAA4C, 0xAA70, 0xAA7C, 0xAAB0, 0xAAC1, 0xAADD, 0xAAF6, 0xABE5, 0xABE8, 0xABED, 0xFB1E, 0xFE13, 0xFE52, 0xFE55, 0xFEFF, 0xFF07, 0xFF0E, 0xFF1A, 0xFF3E, 0xFF40, 0xFF70, 0xFFE3, 0x101FD, 0x102E0, 0x10A3F, 0x11001, 0x11070, 0x110BD, 0x110C2, 0x110CD, 0x11173, 0x111CF, 0x11234, 0x1123E, 0x112DF, 0x11340, 0x11446, 0x1145E, 0x114BA, 0x1163D, 0x116AB, 0x116AD, 0x116B7, 0x1193E, 0x11943, 0x119E0, 0x11A47, 0x11C3F, 0x11D3A, 0x11D47, 0x11D95, 0x11D97, 0x16F4F, 0x1DA75, 0x1DA84, 0x1E2AE, 0xE0001);\nset.addRange(0xB7, 0xB8).addRange(0x2B0, 0x36F).addRange(0x374, 0x375).addRange(0x384, 0x385).addRange(0x483, 0x489).addRange(0x591, 0x5BD).addRange(0x5C1, 0x5C2).addRange(0x5C4, 0x5C5).addRange(0x600, 0x605).addRange(0x610, 0x61A).addRange(0x64B, 0x65F).addRange(0x6D6, 0x6DD).addRange(0x6DF, 0x6E8).addRange(0x6EA, 0x6ED).addRange(0x730, 0x74A).addRange(0x7A6, 0x7B0).addRange(0x7EB, 0x7F5).addRange(0x816, 0x82D).addRange(0x859, 0x85B).addRange(0x890, 0x891).addRange(0x898, 0x89F).addRange(0x8C9, 0x902).addRange(0x941, 0x948).addRange(0x951, 0x957).addRange(0x962, 0x963).addRange(0x9C1, 0x9C4).addRange(0x9E2, 0x9E3).addRange(0xA01, 0xA02).addRange(0xA41, 0xA42).addRange(0xA47, 0xA48).addRange(0xA4B, 0xA4D).addRange(0xA70, 0xA71).addRange(0xA81, 0xA82).addRange(0xAC1, 0xAC5).addRange(0xAC7, 0xAC8).addRange(0xAE2, 0xAE3).addRange(0xAFA, 0xAFF).addRange(0xB41, 0xB44).addRange(0xB55, 0xB56).addRange(0xB62, 0xB63).addRange(0xC3E, 0xC40).addRange(0xC46, 0xC48).addRange(0xC4A, 0xC4D).addRange(0xC55, 0xC56).addRange(0xC62, 0xC63).addRange(0xCCC, 0xCCD).addRange(0xCE2, 0xCE3).addRange(0xD00, 0xD01).addRange(0xD3B, 0xD3C).addRange(0xD41, 0xD44).addRange(0xD62, 0xD63);\nset.addRange(0xDD2, 0xDD4).addRange(0xE34, 0xE3A).addRange(0xE46, 0xE4E).addRange(0xEB4, 0xEBC).addRange(0xEC8, 0xECD).addRange(0xF18, 0xF19).addRange(0xF71, 0xF7E).addRange(0xF80, 0xF84).addRange(0xF86, 0xF87).addRange(0xF8D, 0xF97).addRange(0xF99, 0xFBC).addRange(0x102D, 0x1030).addRange(0x1032, 0x1037).addRange(0x1039, 0x103A).addRange(0x103D, 0x103E).addRange(0x1058, 0x1059).addRange(0x105E, 0x1060).addRange(0x1071, 0x1074).addRange(0x1085, 0x1086).addRange(0x135D, 0x135F).addRange(0x1712, 0x1714).addRange(0x1732, 0x1733).addRange(0x1752, 0x1753).addRange(0x1772, 0x1773).addRange(0x17B4, 0x17B5).addRange(0x17B7, 0x17BD).addRange(0x17C9, 0x17D3).addRange(0x180B, 0x180F).addRange(0x1885, 0x1886).addRange(0x1920, 0x1922).addRange(0x1927, 0x1928).addRange(0x1939, 0x193B).addRange(0x1A17, 0x1A18).addRange(0x1A58, 0x1A5E).addRange(0x1A65, 0x1A6C).addRange(0x1A73, 0x1A7C).addRange(0x1AB0, 0x1ACE).addRange(0x1B00, 0x1B03).addRange(0x1B36, 0x1B3A).addRange(0x1B6B, 0x1B73).addRange(0x1B80, 0x1B81).addRange(0x1BA2, 0x1BA5).addRange(0x1BA8, 0x1BA9).addRange(0x1BAB, 0x1BAD).addRange(0x1BE8, 0x1BE9).addRange(0x1BEF, 0x1BF1).addRange(0x1C2C, 0x1C33).addRange(0x1C36, 0x1C37).addRange(0x1C78, 0x1C7D).addRange(0x1CD0, 0x1CD2).addRange(0x1CD4, 0x1CE0);\nset.addRange(0x1CE2, 0x1CE8).addRange(0x1CF8, 0x1CF9).addRange(0x1D2C, 0x1D6A).addRange(0x1D9B, 0x1DFF).addRange(0x1FBF, 0x1FC1).addRange(0x1FCD, 0x1FCF).addRange(0x1FDD, 0x1FDF).addRange(0x1FED, 0x1FEF).addRange(0x1FFD, 0x1FFE).addRange(0x200B, 0x200F).addRange(0x2018, 0x2019).addRange(0x202A, 0x202E).addRange(0x2060, 0x2064).addRange(0x2066, 0x206F).addRange(0x2090, 0x209C).addRange(0x20D0, 0x20F0).addRange(0x2C7C, 0x2C7D).addRange(0x2CEF, 0x2CF1).addRange(0x2DE0, 0x2DFF).addRange(0x302A, 0x302D).addRange(0x3031, 0x3035).addRange(0x3099, 0x309E).addRange(0x30FC, 0x30FE).addRange(0xA4F8, 0xA4FD).addRange(0xA66F, 0xA672).addRange(0xA674, 0xA67D).addRange(0xA69C, 0xA69F).addRange(0xA6F0, 0xA6F1).addRange(0xA700, 0xA721).addRange(0xA788, 0xA78A).addRange(0xA7F2, 0xA7F4).addRange(0xA7F8, 0xA7F9).addRange(0xA825, 0xA826).addRange(0xA8C4, 0xA8C5).addRange(0xA8E0, 0xA8F1).addRange(0xA926, 0xA92D).addRange(0xA947, 0xA951).addRange(0xA980, 0xA982).addRange(0xA9B6, 0xA9B9).addRange(0xA9BC, 0xA9BD).addRange(0xA9E5, 0xA9E6).addRange(0xAA29, 0xAA2E).addRange(0xAA31, 0xAA32).addRange(0xAA35, 0xAA36).addRange(0xAAB2, 0xAAB4).addRange(0xAAB7, 0xAAB8).addRange(0xAABE, 0xAABF).addRange(0xAAEC, 0xAAED).addRange(0xAAF3, 0xAAF4).addRange(0xAB5B, 0xAB5F).addRange(0xAB69, 0xAB6B);\nset.addRange(0xFBB2, 0xFBC2).addRange(0xFE00, 0xFE0F).addRange(0xFE20, 0xFE2F).addRange(0xFF9E, 0xFF9F).addRange(0xFFF9, 0xFFFB).addRange(0x10376, 0x1037A).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10A01, 0x10A03).addRange(0x10A05, 0x10A06).addRange(0x10A0C, 0x10A0F).addRange(0x10A38, 0x10A3A).addRange(0x10AE5, 0x10AE6).addRange(0x10D24, 0x10D27).addRange(0x10EAB, 0x10EAC).addRange(0x10F46, 0x10F50).addRange(0x10F82, 0x10F85).addRange(0x11038, 0x11046).addRange(0x11073, 0x11074).addRange(0x1107F, 0x11081).addRange(0x110B3, 0x110B6).addRange(0x110B9, 0x110BA).addRange(0x11100, 0x11102).addRange(0x11127, 0x1112B).addRange(0x1112D, 0x11134).addRange(0x11180, 0x11181).addRange(0x111B6, 0x111BE).addRange(0x111C9, 0x111CC).addRange(0x1122F, 0x11231).addRange(0x11236, 0x11237).addRange(0x112E3, 0x112EA).addRange(0x11300, 0x11301).addRange(0x1133B, 0x1133C).addRange(0x11366, 0x1136C).addRange(0x11370, 0x11374).addRange(0x11438, 0x1143F).addRange(0x11442, 0x11444).addRange(0x114B3, 0x114B8).addRange(0x114BF, 0x114C0).addRange(0x114C2, 0x114C3).addRange(0x115B2, 0x115B5).addRange(0x115BC, 0x115BD).addRange(0x115BF, 0x115C0).addRange(0x115DC, 0x115DD).addRange(0x11633, 0x1163A).addRange(0x1163F, 0x11640).addRange(0x116B0, 0x116B5).addRange(0x1171D, 0x1171F).addRange(0x11722, 0x11725).addRange(0x11727, 0x1172B);\nset.addRange(0x1182F, 0x11837).addRange(0x11839, 0x1183A).addRange(0x1193B, 0x1193C).addRange(0x119D4, 0x119D7).addRange(0x119DA, 0x119DB).addRange(0x11A01, 0x11A0A).addRange(0x11A33, 0x11A38).addRange(0x11A3B, 0x11A3E).addRange(0x11A51, 0x11A56).addRange(0x11A59, 0x11A5B).addRange(0x11A8A, 0x11A96).addRange(0x11A98, 0x11A99).addRange(0x11C30, 0x11C36).addRange(0x11C38, 0x11C3D).addRange(0x11C92, 0x11CA7).addRange(0x11CAA, 0x11CB0).addRange(0x11CB2, 0x11CB3).addRange(0x11CB5, 0x11CB6).addRange(0x11D31, 0x11D36).addRange(0x11D3C, 0x11D3D).addRange(0x11D3F, 0x11D45).addRange(0x11D90, 0x11D91).addRange(0x11EF3, 0x11EF4).addRange(0x13430, 0x13438).addRange(0x16AF0, 0x16AF4).addRange(0x16B30, 0x16B36).addRange(0x16B40, 0x16B43).addRange(0x16F8F, 0x16F9F).addRange(0x16FE0, 0x16FE1).addRange(0x16FE3, 0x16FE4).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE).addRange(0x1BC9D, 0x1BC9E).addRange(0x1BCA0, 0x1BCA3).addRange(0x1CF00, 0x1CF2D).addRange(0x1CF30, 0x1CF46).addRange(0x1D167, 0x1D169).addRange(0x1D173, 0x1D182).addRange(0x1D185, 0x1D18B).addRange(0x1D1AA, 0x1D1AD).addRange(0x1D242, 0x1D244).addRange(0x1DA00, 0x1DA36).addRange(0x1DA3B, 0x1DA6C).addRange(0x1DA9B, 0x1DA9F).addRange(0x1DAA1, 0x1DAAF).addRange(0x1E000, 0x1E006).addRange(0x1E008, 0x1E018).addRange(0x1E01B, 0x1E021).addRange(0x1E023, 0x1E024).addRange(0x1E026, 0x1E02A);\nset.addRange(0x1E130, 0x1E13D).addRange(0x1E2EC, 0x1E2EF).addRange(0x1E8D0, 0x1E8D6).addRange(0x1E944, 0x1E94B).addRange(0x1F3FB, 0x1F3FF).addRange(0xE0020, 0xE007F).addRange(0xE0100, 0xE01EF);\nmodule.exports = set;","const set = require('regenerate')(0x60, 0xA9, 0xAE, 0xB6, 0xBB, 0xBF, 0xD7, 0xF7, 0x3030);\nset.addRange(0x21, 0x2F).addRange(0x3A, 0x40).addRange(0x5B, 0x5E).addRange(0x7B, 0x7E).addRange(0xA1, 0xA7).addRange(0xAB, 0xAC).addRange(0xB0, 0xB1).addRange(0x2010, 0x2027).addRange(0x2030, 0x203E).addRange(0x2041, 0x2053).addRange(0x2055, 0x205E).addRange(0x2190, 0x245F).addRange(0x2500, 0x2775).addRange(0x2794, 0x2BFF).addRange(0x2E00, 0x2E7F).addRange(0x3001, 0x3003).addRange(0x3008, 0x3020).addRange(0xFD3E, 0xFD3F).addRange(0xFE45, 0xFE46);\nmodule.exports = set;","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar call = require('../internals/function-call');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\n// eslint-disable-next-line es/no-object-assign -- safe\nvar $assign = Object.assign;\n// eslint-disable-next-line es/no-object-defineproperty -- required for testing\nvar defineProperty = Object.defineProperty;\nvar concat = uncurryThis([].concat);\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\nmodule.exports = !$assign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line es/no-symbol -- safe\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return $assign({}, A)[symbol] != 7 || objectKeys($assign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","var baseGetTag = require('./_baseGetTag'),\n getPrototype = require('./_getPrototype'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nmodule.exports = isPlainObject;\n","\"use strict\";\n\nmodule.exports = Object.assign;","const set = require('regenerate')(0x60C, 0x61F, 0xFDF2, 0xFDFD);\nset.addRange(0x61B, 0x61C).addRange(0x660, 0x669).addRange(0x780, 0x7B1);\nmodule.exports = set;","var baseCreate = require('./_baseCreate'),\n baseLodash = require('./_baseLodash');\n\n/** Used as references for the maximum length and index of an array. */\nvar MAX_ARRAY_LENGTH = 4294967295;\n\n/**\n * Creates a lazy wrapper object which wraps `value` to enable lazy evaluation.\n *\n * @private\n * @constructor\n * @param {*} value The value to wrap.\n */\nfunction LazyWrapper(value) {\n this.__wrapped__ = value;\n this.__actions__ = [];\n this.__dir__ = 1;\n this.__filtered__ = false;\n this.__iteratees__ = [];\n this.__takeCount__ = MAX_ARRAY_LENGTH;\n this.__views__ = [];\n}\n\n// Ensure `LazyWrapper` is an instance of `baseLodash`.\nLazyWrapper.prototype = baseCreate(baseLodash.prototype);\nLazyWrapper.prototype.constructor = LazyWrapper;\n\nmodule.exports = LazyWrapper;\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","const set = require('regenerate')();\nset.addRange(0x10B00, 0x10B35).addRange(0x10B39, 0x10B3F);\nmodule.exports = set;","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/* eslint-disable jsx-a11y/anchor-has-content */\nimport React, { useContext } from \"react\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"invariant\";\nimport createContext from \"create-react-context\";\nimport { polyfill } from \"react-lifecycles-compat\";\nimport { startsWith, pick, resolve, match, insertParams, validateRedirect, shallowCompare } from \"./lib/utils\";\nimport { globalHistory, navigate, createHistory, createMemorySource } from \"./lib/history\";\n\n////////////////////////////////////////////////////////////////////////////////\n\nvar createNamedContext = function createNamedContext(name, defaultValue) {\n var Ctx = createContext(defaultValue);\n Ctx.displayName = name;\n return Ctx;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Location Context/Provider\nvar LocationContext = createNamedContext(\"Location\");\n\n// sets up a listener if there isn't one already so apps don't need to be\n// wrapped in some top level provider\nvar Location = function Location(_ref) {\n var children = _ref.children;\n return React.createElement(\n LocationContext.Consumer,\n null,\n function (context) {\n return context ? children(context) : React.createElement(\n LocationProvider,\n null,\n children\n );\n }\n );\n};\n\nvar LocationProvider = function (_React$Component) {\n _inherits(LocationProvider, _React$Component);\n\n function LocationProvider() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, LocationProvider);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n context: _this.getContext(),\n refs: { unlisten: null }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n LocationProvider.prototype.getContext = function getContext() {\n var _props$history = this.props.history,\n navigate = _props$history.navigate,\n location = _props$history.location;\n\n return { navigate: navigate, location: location };\n };\n\n LocationProvider.prototype.componentDidCatch = function componentDidCatch(error, info) {\n if (isRedirect(error)) {\n var _navigate = this.props.history.navigate;\n\n _navigate(error.uri, { replace: true });\n } else {\n throw error;\n }\n };\n\n LocationProvider.prototype.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n if (prevState.context.location !== this.state.context.location) {\n this.props.history._onTransitionComplete();\n }\n };\n\n LocationProvider.prototype.componentDidMount = function componentDidMount() {\n var _this2 = this;\n\n var refs = this.state.refs,\n history = this.props.history;\n\n history._onTransitionComplete();\n refs.unlisten = history.listen(function () {\n Promise.resolve().then(function () {\n // TODO: replace rAF with react deferred update API when it's ready https://github.com/facebook/react/issues/13306\n requestAnimationFrame(function () {\n if (!_this2.unmounted) {\n _this2.setState(function () {\n return { context: _this2.getContext() };\n });\n }\n });\n });\n });\n };\n\n LocationProvider.prototype.componentWillUnmount = function componentWillUnmount() {\n var refs = this.state.refs;\n\n this.unmounted = true;\n refs.unlisten();\n };\n\n LocationProvider.prototype.render = function render() {\n var context = this.state.context,\n children = this.props.children;\n\n return React.createElement(\n LocationContext.Provider,\n { value: context },\n typeof children === \"function\" ? children(context) : children || null\n );\n };\n\n return LocationProvider;\n}(React.Component);\n\n////////////////////////////////////////////////////////////////////////////////\n\n\nLocationProvider.defaultProps = {\n history: globalHistory\n};\nprocess.env.NODE_ENV !== \"production\" ? LocationProvider.propTypes = {\n history: PropTypes.object.isRequired\n} : void 0;\nvar ServerLocation = function ServerLocation(_ref2) {\n var url = _ref2.url,\n children = _ref2.children;\n\n var searchIndex = url.indexOf(\"?\");\n var searchExists = searchIndex > -1;\n var pathname = void 0;\n var search = \"\";\n var hash = \"\";\n\n if (searchExists) {\n pathname = url.substring(0, searchIndex);\n search = url.substring(searchIndex);\n } else {\n pathname = url;\n }\n\n return React.createElement(\n LocationContext.Provider,\n {\n value: {\n location: {\n pathname: pathname,\n search: search,\n hash: hash\n },\n navigate: function navigate() {\n throw new Error(\"You can't call navigate on the server.\");\n }\n }\n },\n children\n );\n};\n////////////////////////////////////////////////////////////////////////////////\n// Sets baseuri and basepath for nested routers and links\nvar BaseContext = createNamedContext(\"Base\", { baseuri: \"/\", basepath: \"/\" });\n\n////////////////////////////////////////////////////////////////////////////////\n// The main event, welcome to the show everybody.\nvar Router = function Router(props) {\n return React.createElement(\n BaseContext.Consumer,\n null,\n function (baseContext) {\n return React.createElement(\n Location,\n null,\n function (locationContext) {\n return React.createElement(RouterImpl, _extends({}, baseContext, locationContext, props));\n }\n );\n }\n );\n};\n\nvar RouterImpl = function (_React$PureComponent) {\n _inherits(RouterImpl, _React$PureComponent);\n\n function RouterImpl() {\n _classCallCheck(this, RouterImpl);\n\n return _possibleConstructorReturn(this, _React$PureComponent.apply(this, arguments));\n }\n\n RouterImpl.prototype.render = function render() {\n var _props = this.props,\n location = _props.location,\n _navigate2 = _props.navigate,\n basepath = _props.basepath,\n primary = _props.primary,\n children = _props.children,\n baseuri = _props.baseuri,\n _props$component = _props.component,\n component = _props$component === undefined ? \"div\" : _props$component,\n domProps = _objectWithoutProperties(_props, [\"location\", \"navigate\", \"basepath\", \"primary\", \"children\", \"baseuri\", \"component\"]);\n\n var routes = React.Children.toArray(children).reduce(function (array, child) {\n var routes = createRoute(basepath)(child);\n return array.concat(routes);\n }, []);\n var pathname = location.pathname;\n\n\n var match = pick(routes, pathname);\n\n if (match) {\n var params = match.params,\n uri = match.uri,\n route = match.route,\n element = match.route.value;\n\n // remove the /* from the end for child routes relative paths\n\n basepath = route.default ? basepath : route.path.replace(/\\*$/, \"\");\n\n var props = _extends({}, params, {\n uri: uri,\n location: location,\n navigate: function navigate(to, options) {\n return _navigate2(resolve(to, uri), options);\n }\n });\n\n var clone = React.cloneElement(element, props, element.props.children ? React.createElement(\n Router,\n { location: location, primary: primary },\n element.props.children\n ) : undefined);\n\n // using 'div' for < 16.3 support\n var FocusWrapper = primary ? FocusHandler : component;\n // don't pass any props to 'div'\n var wrapperProps = primary ? _extends({ uri: uri, location: location, component: component }, domProps) : domProps;\n\n return React.createElement(\n BaseContext.Provider,\n { value: { baseuri: uri, basepath: basepath } },\n React.createElement(\n FocusWrapper,\n wrapperProps,\n clone\n )\n );\n } else {\n // Not sure if we want this, would require index routes at every level\n // warning(\n // false,\n // `\\n\\nNothing matched:\\n\\t${\n // location.pathname\n // }\\n\\nPaths checked: \\n\\t${routes\n // .map(route => route.path)\n // .join(\n // \"\\n\\t\"\n // )}\\n\\nTo get rid of this warning, add a default NotFound component as child of Router:\n // \\n\\tlet NotFound = () =>
    Not Found!
    \n // \\n\\t\\n\\t \\n\\t {/* ... */}\\n\\t`\n // );\n return null;\n }\n };\n\n return RouterImpl;\n}(React.PureComponent);\n\nRouterImpl.defaultProps = {\n primary: true\n};\n\n\nvar FocusContext = createNamedContext(\"Focus\");\n\nvar FocusHandler = function FocusHandler(_ref3) {\n var uri = _ref3.uri,\n location = _ref3.location,\n component = _ref3.component,\n domProps = _objectWithoutProperties(_ref3, [\"uri\", \"location\", \"component\"]);\n\n return React.createElement(\n FocusContext.Consumer,\n null,\n function (requestFocus) {\n return React.createElement(FocusHandlerImpl, _extends({}, domProps, {\n component: component,\n requestFocus: requestFocus,\n uri: uri,\n location: location\n }));\n }\n );\n};\n\n// don't focus on initial render\nvar initialRender = true;\nvar focusHandlerCount = 0;\n\nvar FocusHandlerImpl = function (_React$Component2) {\n _inherits(FocusHandlerImpl, _React$Component2);\n\n function FocusHandlerImpl() {\n var _temp2, _this4, _ret2;\n\n _classCallCheck(this, FocusHandlerImpl);\n\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _ret2 = (_temp2 = (_this4 = _possibleConstructorReturn(this, _React$Component2.call.apply(_React$Component2, [this].concat(args))), _this4), _this4.state = {}, _this4.requestFocus = function (node) {\n if (!_this4.state.shouldFocus && node) {\n node.focus();\n }\n }, _temp2), _possibleConstructorReturn(_this4, _ret2);\n }\n\n FocusHandlerImpl.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, prevState) {\n var initial = prevState.uri == null;\n if (initial) {\n return _extends({\n shouldFocus: true\n }, nextProps);\n } else {\n var myURIChanged = nextProps.uri !== prevState.uri;\n var navigatedUpToMe = prevState.location.pathname !== nextProps.location.pathname && nextProps.location.pathname === nextProps.uri;\n return _extends({\n shouldFocus: myURIChanged || navigatedUpToMe\n }, nextProps);\n }\n };\n\n FocusHandlerImpl.prototype.componentDidMount = function componentDidMount() {\n focusHandlerCount++;\n this.focus();\n };\n\n FocusHandlerImpl.prototype.componentWillUnmount = function componentWillUnmount() {\n focusHandlerCount--;\n if (focusHandlerCount === 0) {\n initialRender = true;\n }\n };\n\n FocusHandlerImpl.prototype.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n if (prevProps.location !== this.props.location && this.state.shouldFocus) {\n this.focus();\n }\n };\n\n FocusHandlerImpl.prototype.focus = function focus() {\n if (process.env.NODE_ENV === \"test\") {\n // getting cannot read property focus of null in the tests\n // and that bit of global `initialRender` state causes problems\n // should probably figure it out!\n return;\n }\n\n var requestFocus = this.props.requestFocus;\n\n\n if (requestFocus) {\n requestFocus(this.node);\n } else {\n if (initialRender) {\n initialRender = false;\n } else if (this.node) {\n // React polyfills [autofocus] and it fires earlier than cDM,\n // so we were stealing focus away, this line prevents that.\n if (!this.node.contains(document.activeElement)) {\n this.node.focus();\n }\n }\n }\n };\n\n FocusHandlerImpl.prototype.render = function render() {\n var _this5 = this;\n\n var _props2 = this.props,\n children = _props2.children,\n style = _props2.style,\n requestFocus = _props2.requestFocus,\n _props2$component = _props2.component,\n Comp = _props2$component === undefined ? \"div\" : _props2$component,\n uri = _props2.uri,\n location = _props2.location,\n domProps = _objectWithoutProperties(_props2, [\"children\", \"style\", \"requestFocus\", \"component\", \"uri\", \"location\"]);\n\n return React.createElement(\n Comp,\n _extends({\n style: _extends({ outline: \"none\" }, style),\n tabIndex: \"-1\",\n ref: function ref(n) {\n return _this5.node = n;\n }\n }, domProps),\n React.createElement(\n FocusContext.Provider,\n { value: this.requestFocus },\n this.props.children\n )\n );\n };\n\n return FocusHandlerImpl;\n}(React.Component);\n\npolyfill(FocusHandlerImpl);\n\nvar k = function k() {};\n\n////////////////////////////////////////////////////////////////////////////////\nvar forwardRef = React.forwardRef;\n\nif (typeof forwardRef === \"undefined\") {\n forwardRef = function forwardRef(C) {\n return C;\n };\n}\n\nvar Link = forwardRef(function (_ref4, ref) {\n var innerRef = _ref4.innerRef,\n props = _objectWithoutProperties(_ref4, [\"innerRef\"]);\n\n return React.createElement(\n BaseContext.Consumer,\n null,\n function (_ref5) {\n var basepath = _ref5.basepath,\n baseuri = _ref5.baseuri;\n return React.createElement(\n Location,\n null,\n function (_ref6) {\n var location = _ref6.location,\n navigate = _ref6.navigate;\n\n var to = props.to,\n state = props.state,\n replace = props.replace,\n _props$getProps = props.getProps,\n getProps = _props$getProps === undefined ? k : _props$getProps,\n anchorProps = _objectWithoutProperties(props, [\"to\", \"state\", \"replace\", \"getProps\"]);\n\n var href = resolve(to, baseuri);\n var encodedHref = encodeURI(href);\n var isCurrent = location.pathname === encodedHref;\n var isPartiallyCurrent = startsWith(location.pathname, encodedHref);\n\n return React.createElement(\"a\", _extends({\n ref: ref || innerRef,\n \"aria-current\": isCurrent ? \"page\" : undefined\n }, anchorProps, getProps({ isCurrent: isCurrent, isPartiallyCurrent: isPartiallyCurrent, href: href, location: location }), {\n href: href,\n onClick: function onClick(event) {\n if (anchorProps.onClick) anchorProps.onClick(event);\n if (shouldNavigate(event)) {\n event.preventDefault();\n var shouldReplace = replace;\n if (typeof replace !== \"boolean\" && isCurrent) {\n var _location$state = _extends({}, location.state),\n key = _location$state.key,\n restState = _objectWithoutProperties(_location$state, [\"key\"]);\n\n shouldReplace = shallowCompare(_extends({}, state), restState);\n }\n navigate(href, {\n state: state,\n replace: shouldReplace\n });\n }\n }\n }));\n }\n );\n }\n );\n});\n\nLink.displayName = \"Link\";\n\nprocess.env.NODE_ENV !== \"production\" ? Link.propTypes = {\n to: PropTypes.string.isRequired\n} : void 0;\n\n////////////////////////////////////////////////////////////////////////////////\nfunction RedirectRequest(uri) {\n this.uri = uri;\n}\n\nvar isRedirect = function isRedirect(o) {\n return o instanceof RedirectRequest;\n};\n\nvar redirectTo = function redirectTo(to) {\n throw new RedirectRequest(to);\n};\n\nvar RedirectImpl = function (_React$Component3) {\n _inherits(RedirectImpl, _React$Component3);\n\n function RedirectImpl() {\n _classCallCheck(this, RedirectImpl);\n\n return _possibleConstructorReturn(this, _React$Component3.apply(this, arguments));\n }\n\n // Support React < 16 with this hook\n RedirectImpl.prototype.componentDidMount = function componentDidMount() {\n var _props3 = this.props,\n navigate = _props3.navigate,\n to = _props3.to,\n from = _props3.from,\n _props3$replace = _props3.replace,\n replace = _props3$replace === undefined ? true : _props3$replace,\n state = _props3.state,\n noThrow = _props3.noThrow,\n baseuri = _props3.baseuri,\n props = _objectWithoutProperties(_props3, [\"navigate\", \"to\", \"from\", \"replace\", \"state\", \"noThrow\", \"baseuri\"]);\n\n Promise.resolve().then(function () {\n var resolvedTo = resolve(to, baseuri);\n navigate(insertParams(resolvedTo, props), { replace: replace, state: state });\n });\n };\n\n RedirectImpl.prototype.render = function render() {\n var _props4 = this.props,\n navigate = _props4.navigate,\n to = _props4.to,\n from = _props4.from,\n replace = _props4.replace,\n state = _props4.state,\n noThrow = _props4.noThrow,\n baseuri = _props4.baseuri,\n props = _objectWithoutProperties(_props4, [\"navigate\", \"to\", \"from\", \"replace\", \"state\", \"noThrow\", \"baseuri\"]);\n\n var resolvedTo = resolve(to, baseuri);\n if (!noThrow) redirectTo(insertParams(resolvedTo, props));\n return null;\n };\n\n return RedirectImpl;\n}(React.Component);\n\nvar Redirect = function Redirect(props) {\n return React.createElement(\n BaseContext.Consumer,\n null,\n function (_ref7) {\n var baseuri = _ref7.baseuri;\n return React.createElement(\n Location,\n null,\n function (locationContext) {\n return React.createElement(RedirectImpl, _extends({}, locationContext, { baseuri: baseuri }, props));\n }\n );\n }\n );\n};\n\nprocess.env.NODE_ENV !== \"production\" ? Redirect.propTypes = {\n from: PropTypes.string,\n to: PropTypes.string.isRequired\n} : void 0;\n\n////////////////////////////////////////////////////////////////////////////////\nvar Match = function Match(_ref8) {\n var path = _ref8.path,\n children = _ref8.children;\n return React.createElement(\n BaseContext.Consumer,\n null,\n function (_ref9) {\n var baseuri = _ref9.baseuri;\n return React.createElement(\n Location,\n null,\n function (_ref10) {\n var navigate = _ref10.navigate,\n location = _ref10.location;\n\n var resolvedPath = resolve(path, baseuri);\n var result = match(resolvedPath, location.pathname);\n return children({\n navigate: navigate,\n location: location,\n match: result ? _extends({}, result.params, {\n uri: result.uri,\n path: path\n }) : null\n });\n }\n );\n }\n );\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Hooks\n\nvar useLocation = function useLocation() {\n var context = useContext(LocationContext);\n\n if (!context) {\n throw new Error(\"useLocation hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router\");\n }\n\n return context.location;\n};\n\nvar useNavigate = function useNavigate() {\n var context = useContext(LocationContext);\n\n if (!context) {\n throw new Error(\"useNavigate hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router\");\n }\n\n return context.navigate;\n};\n\nvar useParams = function useParams() {\n var context = useContext(BaseContext);\n\n if (!context) {\n throw new Error(\"useParams hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router\");\n }\n\n var location = useLocation();\n\n var results = match(context.basepath, location.pathname);\n\n return results ? results.params : null;\n};\n\nvar useMatch = function useMatch(path) {\n if (!path) {\n throw new Error(\"useMatch(path: string) requires an argument of a string to match against\");\n }\n var context = useContext(BaseContext);\n\n if (!context) {\n throw new Error(\"useMatch hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router\");\n }\n\n var location = useLocation();\n\n var resolvedPath = resolve(path, context.baseuri);\n var result = match(resolvedPath, location.pathname);\n return result ? _extends({}, result.params, {\n uri: result.uri,\n path: path\n }) : null;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Junk\nvar stripSlashes = function stripSlashes(str) {\n return str.replace(/(^\\/+|\\/+$)/g, \"\");\n};\n\nvar createRoute = function createRoute(basepath) {\n return function (element) {\n if (!element) {\n return null;\n }\n\n if (element.type === React.Fragment && element.props.children) {\n return React.Children.map(element.props.children, createRoute(basepath));\n }\n !(element.props.path || element.props.default || element.type === Redirect) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \": Children of must have a `path` or `default` prop, or be a ``. None found on element type `\" + element.type + \"`\") : invariant(false) : void 0;\n\n !!(element.type === Redirect && (!element.props.from || !element.props.to)) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \" requires both \\\"from\\\" and \\\"to\\\" props when inside a .\") : invariant(false) : void 0;\n\n !!(element.type === Redirect && !validateRedirect(element.props.from, element.props.to)) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \" has mismatched dynamic segments, ensure both paths have the exact same dynamic segments.\") : invariant(false) : void 0;\n\n if (element.props.default) {\n return { value: element, default: true };\n }\n\n var elementPath = element.type === Redirect ? element.props.from : element.props.path;\n\n var path = elementPath === \"/\" ? basepath : stripSlashes(basepath) + \"/\" + stripSlashes(elementPath);\n\n return {\n value: element,\n default: element.props.default,\n path: element.props.children ? stripSlashes(path) + \"/*\" : path\n };\n };\n};\n\nvar shouldNavigate = function shouldNavigate(event) {\n return !event.defaultPrevented && event.button === 0 && !(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n};\n\n////////////////////////////////////////////////////////////////////////\nexport { Link, Location, LocationProvider, Match, Redirect, Router, ServerLocation, createHistory, createMemorySource, isRedirect, navigate, redirectTo, globalHistory, match as matchPath, useLocation, useNavigate, useParams, useMatch , BaseContext };","/** @jsx jsx */\nimport { jsx } from \"theme-ui\"\nimport React from \"react\" // eslint-disable-line no-unused-vars\nimport { useDocs } from \"docz\"\n\nconst spacing = \"7em\"\n\nconst Button = ({ href, names, next, alone }) => (\n \n {next ? \"Next\" : \"Previous\"}\n \n {names[href]}\n \n \n)\n\nexport default ({ prev, next }) => {\n const names = useDocs().reduce(\n (map, val) => ({ ...map, [val.route]: val.name }),\n {}\n )\n\n return (\n <>\n
    \n \n {prev && }\n {next && }\n \n \n )\n}\n","const set = require('regenerate')();\nset.addRange(0x12F90, 0x12FF2);\nmodule.exports = set;","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","const set = require('regenerate')(0x5F, 0xAA, 0xB5, 0xB7, 0xBA, 0x2EC, 0x2EE, 0x37F, 0x38C, 0x559, 0x5BF, 0x5C7, 0x6FF, 0x7FA, 0x7FD, 0x9B2, 0x9D7, 0x9FC, 0x9FE, 0xA3C, 0xA51, 0xA5E, 0xAD0, 0xB71, 0xB9C, 0xBD0, 0xBD7, 0xC5D, 0xDBD, 0xDCA, 0xDD6, 0xE84, 0xEA5, 0xEC6, 0xF00, 0xF35, 0xF37, 0xF39, 0xFC6, 0x10C7, 0x10CD, 0x1258, 0x12C0, 0x17D7, 0x1AA7, 0x1F59, 0x1F5B, 0x1F5D, 0x1FBE, 0x2054, 0x2071, 0x207F, 0x20E1, 0x2102, 0x2107, 0x2115, 0x2124, 0x2126, 0x2128, 0x214E, 0x2D27, 0x2D2D, 0x2D6F, 0xA7D3, 0xA82C, 0xA8FB, 0xFB3E, 0xFF3F, 0x101FD, 0x102E0, 0x10808, 0x1083C, 0x10A3F, 0x10F27, 0x110C2, 0x11176, 0x111DC, 0x1123E, 0x11288, 0x11350, 0x11357, 0x114C7, 0x11644, 0x11909, 0x11A47, 0x11A9D, 0x11D3A, 0x11FB0, 0x1D4A2, 0x1D4BB, 0x1D546, 0x1DA75, 0x1DA84, 0x1E14E, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E);\nset.addRange(0x30, 0x39).addRange(0x41, 0x5A).addRange(0x61, 0x7A).addRange(0xC0, 0xD6).addRange(0xD8, 0xF6).addRange(0xF8, 0x2C1).addRange(0x2C6, 0x2D1).addRange(0x2E0, 0x2E4).addRange(0x300, 0x374).addRange(0x376, 0x377).addRange(0x37A, 0x37D).addRange(0x386, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x3F5).addRange(0x3F7, 0x481).addRange(0x483, 0x487).addRange(0x48A, 0x52F).addRange(0x531, 0x556).addRange(0x560, 0x588).addRange(0x591, 0x5BD).addRange(0x5C1, 0x5C2).addRange(0x5C4, 0x5C5).addRange(0x5D0, 0x5EA).addRange(0x5EF, 0x5F2).addRange(0x610, 0x61A).addRange(0x620, 0x669).addRange(0x66E, 0x6D3).addRange(0x6D5, 0x6DC).addRange(0x6DF, 0x6E8).addRange(0x6EA, 0x6FC).addRange(0x710, 0x74A).addRange(0x74D, 0x7B1).addRange(0x7C0, 0x7F5).addRange(0x800, 0x82D).addRange(0x840, 0x85B).addRange(0x860, 0x86A).addRange(0x870, 0x887).addRange(0x889, 0x88E).addRange(0x898, 0x8E1).addRange(0x8E3, 0x963).addRange(0x966, 0x96F).addRange(0x971, 0x983).addRange(0x985, 0x98C).addRange(0x98F, 0x990).addRange(0x993, 0x9A8).addRange(0x9AA, 0x9B0).addRange(0x9B6, 0x9B9).addRange(0x9BC, 0x9C4).addRange(0x9C7, 0x9C8).addRange(0x9CB, 0x9CE).addRange(0x9DC, 0x9DD);\nset.addRange(0x9DF, 0x9E3).addRange(0x9E6, 0x9F1).addRange(0xA01, 0xA03).addRange(0xA05, 0xA0A).addRange(0xA0F, 0xA10).addRange(0xA13, 0xA28).addRange(0xA2A, 0xA30).addRange(0xA32, 0xA33).addRange(0xA35, 0xA36).addRange(0xA38, 0xA39).addRange(0xA3E, 0xA42).addRange(0xA47, 0xA48).addRange(0xA4B, 0xA4D).addRange(0xA59, 0xA5C).addRange(0xA66, 0xA75).addRange(0xA81, 0xA83).addRange(0xA85, 0xA8D).addRange(0xA8F, 0xA91).addRange(0xA93, 0xAA8).addRange(0xAAA, 0xAB0).addRange(0xAB2, 0xAB3).addRange(0xAB5, 0xAB9).addRange(0xABC, 0xAC5).addRange(0xAC7, 0xAC9).addRange(0xACB, 0xACD).addRange(0xAE0, 0xAE3).addRange(0xAE6, 0xAEF).addRange(0xAF9, 0xAFF).addRange(0xB01, 0xB03).addRange(0xB05, 0xB0C).addRange(0xB0F, 0xB10).addRange(0xB13, 0xB28).addRange(0xB2A, 0xB30).addRange(0xB32, 0xB33).addRange(0xB35, 0xB39).addRange(0xB3C, 0xB44).addRange(0xB47, 0xB48).addRange(0xB4B, 0xB4D).addRange(0xB55, 0xB57).addRange(0xB5C, 0xB5D).addRange(0xB5F, 0xB63).addRange(0xB66, 0xB6F).addRange(0xB82, 0xB83).addRange(0xB85, 0xB8A).addRange(0xB8E, 0xB90).addRange(0xB92, 0xB95).addRange(0xB99, 0xB9A).addRange(0xB9E, 0xB9F).addRange(0xBA3, 0xBA4).addRange(0xBA8, 0xBAA).addRange(0xBAE, 0xBB9);\nset.addRange(0xBBE, 0xBC2).addRange(0xBC6, 0xBC8).addRange(0xBCA, 0xBCD).addRange(0xBE6, 0xBEF).addRange(0xC00, 0xC0C).addRange(0xC0E, 0xC10).addRange(0xC12, 0xC28).addRange(0xC2A, 0xC39).addRange(0xC3C, 0xC44).addRange(0xC46, 0xC48).addRange(0xC4A, 0xC4D).addRange(0xC55, 0xC56).addRange(0xC58, 0xC5A).addRange(0xC60, 0xC63).addRange(0xC66, 0xC6F).addRange(0xC80, 0xC83).addRange(0xC85, 0xC8C).addRange(0xC8E, 0xC90).addRange(0xC92, 0xCA8).addRange(0xCAA, 0xCB3).addRange(0xCB5, 0xCB9).addRange(0xCBC, 0xCC4).addRange(0xCC6, 0xCC8).addRange(0xCCA, 0xCCD).addRange(0xCD5, 0xCD6).addRange(0xCDD, 0xCDE).addRange(0xCE0, 0xCE3).addRange(0xCE6, 0xCEF).addRange(0xCF1, 0xCF2).addRange(0xD00, 0xD0C).addRange(0xD0E, 0xD10).addRange(0xD12, 0xD44).addRange(0xD46, 0xD48).addRange(0xD4A, 0xD4E).addRange(0xD54, 0xD57).addRange(0xD5F, 0xD63).addRange(0xD66, 0xD6F).addRange(0xD7A, 0xD7F).addRange(0xD81, 0xD83).addRange(0xD85, 0xD96).addRange(0xD9A, 0xDB1).addRange(0xDB3, 0xDBB).addRange(0xDC0, 0xDC6).addRange(0xDCF, 0xDD4).addRange(0xDD8, 0xDDF).addRange(0xDE6, 0xDEF).addRange(0xDF2, 0xDF3).addRange(0xE01, 0xE3A).addRange(0xE40, 0xE4E).addRange(0xE50, 0xE59).addRange(0xE81, 0xE82);\nset.addRange(0xE86, 0xE8A).addRange(0xE8C, 0xEA3).addRange(0xEA7, 0xEBD).addRange(0xEC0, 0xEC4).addRange(0xEC8, 0xECD).addRange(0xED0, 0xED9).addRange(0xEDC, 0xEDF).addRange(0xF18, 0xF19).addRange(0xF20, 0xF29).addRange(0xF3E, 0xF47).addRange(0xF49, 0xF6C).addRange(0xF71, 0xF84).addRange(0xF86, 0xF97).addRange(0xF99, 0xFBC).addRange(0x1000, 0x1049).addRange(0x1050, 0x109D).addRange(0x10A0, 0x10C5).addRange(0x10D0, 0x10FA).addRange(0x10FC, 0x1248).addRange(0x124A, 0x124D).addRange(0x1250, 0x1256).addRange(0x125A, 0x125D).addRange(0x1260, 0x1288).addRange(0x128A, 0x128D).addRange(0x1290, 0x12B0).addRange(0x12B2, 0x12B5).addRange(0x12B8, 0x12BE).addRange(0x12C2, 0x12C5).addRange(0x12C8, 0x12D6).addRange(0x12D8, 0x1310).addRange(0x1312, 0x1315).addRange(0x1318, 0x135A).addRange(0x135D, 0x135F).addRange(0x1369, 0x1371).addRange(0x1380, 0x138F).addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0x1401, 0x166C).addRange(0x166F, 0x167F).addRange(0x1681, 0x169A).addRange(0x16A0, 0x16EA).addRange(0x16EE, 0x16F8).addRange(0x1700, 0x1715).addRange(0x171F, 0x1734).addRange(0x1740, 0x1753).addRange(0x1760, 0x176C).addRange(0x176E, 0x1770).addRange(0x1772, 0x1773).addRange(0x1780, 0x17D3).addRange(0x17DC, 0x17DD).addRange(0x17E0, 0x17E9);\nset.addRange(0x180B, 0x180D).addRange(0x180F, 0x1819).addRange(0x1820, 0x1878).addRange(0x1880, 0x18AA).addRange(0x18B0, 0x18F5).addRange(0x1900, 0x191E).addRange(0x1920, 0x192B).addRange(0x1930, 0x193B).addRange(0x1946, 0x196D).addRange(0x1970, 0x1974).addRange(0x1980, 0x19AB).addRange(0x19B0, 0x19C9).addRange(0x19D0, 0x19DA).addRange(0x1A00, 0x1A1B).addRange(0x1A20, 0x1A5E).addRange(0x1A60, 0x1A7C).addRange(0x1A7F, 0x1A89).addRange(0x1A90, 0x1A99).addRange(0x1AB0, 0x1ABD).addRange(0x1ABF, 0x1ACE).addRange(0x1B00, 0x1B4C).addRange(0x1B50, 0x1B59).addRange(0x1B6B, 0x1B73).addRange(0x1B80, 0x1BF3).addRange(0x1C00, 0x1C37).addRange(0x1C40, 0x1C49).addRange(0x1C4D, 0x1C7D).addRange(0x1C80, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1CD0, 0x1CD2).addRange(0x1CD4, 0x1CFA).addRange(0x1D00, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D).addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FBC).addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FCC).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FE0, 0x1FEC).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFC).addRange(0x203F, 0x2040).addRange(0x2090, 0x209C).addRange(0x20D0, 0x20DC).addRange(0x20E5, 0x20F0);\nset.addRange(0x210A, 0x2113).addRange(0x2118, 0x211D).addRange(0x212A, 0x2139).addRange(0x213C, 0x213F).addRange(0x2145, 0x2149).addRange(0x2160, 0x2188).addRange(0x2C00, 0x2CE4).addRange(0x2CEB, 0x2CF3).addRange(0x2D00, 0x2D25).addRange(0x2D30, 0x2D67).addRange(0x2D7F, 0x2D96).addRange(0x2DA0, 0x2DA6).addRange(0x2DA8, 0x2DAE).addRange(0x2DB0, 0x2DB6).addRange(0x2DB8, 0x2DBE).addRange(0x2DC0, 0x2DC6).addRange(0x2DC8, 0x2DCE).addRange(0x2DD0, 0x2DD6).addRange(0x2DD8, 0x2DDE).addRange(0x2DE0, 0x2DFF).addRange(0x3005, 0x3007).addRange(0x3021, 0x302F).addRange(0x3031, 0x3035).addRange(0x3038, 0x303C).addRange(0x3041, 0x3096).addRange(0x3099, 0x309F).addRange(0x30A1, 0x30FA).addRange(0x30FC, 0x30FF).addRange(0x3105, 0x312F).addRange(0x3131, 0x318E).addRange(0x31A0, 0x31BF).addRange(0x31F0, 0x31FF).addRange(0x3400, 0x4DBF).addRange(0x4E00, 0xA48C).addRange(0xA4D0, 0xA4FD).addRange(0xA500, 0xA60C).addRange(0xA610, 0xA62B).addRange(0xA640, 0xA66F).addRange(0xA674, 0xA67D).addRange(0xA67F, 0xA6F1).addRange(0xA717, 0xA71F).addRange(0xA722, 0xA788).addRange(0xA78B, 0xA7CA).addRange(0xA7D0, 0xA7D1).addRange(0xA7D5, 0xA7D9).addRange(0xA7F2, 0xA827).addRange(0xA840, 0xA873).addRange(0xA880, 0xA8C5).addRange(0xA8D0, 0xA8D9).addRange(0xA8E0, 0xA8F7).addRange(0xA8FD, 0xA92D);\nset.addRange(0xA930, 0xA953).addRange(0xA960, 0xA97C).addRange(0xA980, 0xA9C0).addRange(0xA9CF, 0xA9D9).addRange(0xA9E0, 0xA9FE).addRange(0xAA00, 0xAA36).addRange(0xAA40, 0xAA4D).addRange(0xAA50, 0xAA59).addRange(0xAA60, 0xAA76).addRange(0xAA7A, 0xAAC2).addRange(0xAADB, 0xAADD).addRange(0xAAE0, 0xAAEF).addRange(0xAAF2, 0xAAF6).addRange(0xAB01, 0xAB06).addRange(0xAB09, 0xAB0E).addRange(0xAB11, 0xAB16).addRange(0xAB20, 0xAB26).addRange(0xAB28, 0xAB2E).addRange(0xAB30, 0xAB5A).addRange(0xAB5C, 0xAB69).addRange(0xAB70, 0xABEA).addRange(0xABEC, 0xABED).addRange(0xABF0, 0xABF9).addRange(0xAC00, 0xD7A3).addRange(0xD7B0, 0xD7C6).addRange(0xD7CB, 0xD7FB).addRange(0xF900, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFB1D, 0xFB28).addRange(0xFB2A, 0xFB36).addRange(0xFB38, 0xFB3C).addRange(0xFB40, 0xFB41).addRange(0xFB43, 0xFB44).addRange(0xFB46, 0xFBB1).addRange(0xFBD3, 0xFD3D).addRange(0xFD50, 0xFD8F).addRange(0xFD92, 0xFDC7).addRange(0xFDF0, 0xFDFB).addRange(0xFE00, 0xFE0F).addRange(0xFE20, 0xFE2F).addRange(0xFE33, 0xFE34).addRange(0xFE4D, 0xFE4F).addRange(0xFE70, 0xFE74).addRange(0xFE76, 0xFEFC).addRange(0xFF10, 0xFF19).addRange(0xFF21, 0xFF3A).addRange(0xFF41, 0xFF5A).addRange(0xFF66, 0xFFBE).addRange(0xFFC2, 0xFFC7);\nset.addRange(0xFFCA, 0xFFCF).addRange(0xFFD2, 0xFFD7).addRange(0xFFDA, 0xFFDC).addRange(0x10000, 0x1000B).addRange(0x1000D, 0x10026).addRange(0x10028, 0x1003A).addRange(0x1003C, 0x1003D).addRange(0x1003F, 0x1004D).addRange(0x10050, 0x1005D).addRange(0x10080, 0x100FA).addRange(0x10140, 0x10174).addRange(0x10280, 0x1029C).addRange(0x102A0, 0x102D0).addRange(0x10300, 0x1031F).addRange(0x1032D, 0x1034A).addRange(0x10350, 0x1037A).addRange(0x10380, 0x1039D).addRange(0x103A0, 0x103C3).addRange(0x103C8, 0x103CF).addRange(0x103D1, 0x103D5).addRange(0x10400, 0x1049D).addRange(0x104A0, 0x104A9).addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB).addRange(0x10500, 0x10527).addRange(0x10530, 0x10563).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10600, 0x10736).addRange(0x10740, 0x10755).addRange(0x10760, 0x10767).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10800, 0x10805).addRange(0x1080A, 0x10835).addRange(0x10837, 0x10838).addRange(0x1083F, 0x10855).addRange(0x10860, 0x10876).addRange(0x10880, 0x1089E).addRange(0x108E0, 0x108F2).addRange(0x108F4, 0x108F5).addRange(0x10900, 0x10915).addRange(0x10920, 0x10939).addRange(0x10980, 0x109B7);\nset.addRange(0x109BE, 0x109BF).addRange(0x10A00, 0x10A03).addRange(0x10A05, 0x10A06).addRange(0x10A0C, 0x10A13).addRange(0x10A15, 0x10A17).addRange(0x10A19, 0x10A35).addRange(0x10A38, 0x10A3A).addRange(0x10A60, 0x10A7C).addRange(0x10A80, 0x10A9C).addRange(0x10AC0, 0x10AC7).addRange(0x10AC9, 0x10AE6).addRange(0x10B00, 0x10B35).addRange(0x10B40, 0x10B55).addRange(0x10B60, 0x10B72).addRange(0x10B80, 0x10B91).addRange(0x10C00, 0x10C48).addRange(0x10C80, 0x10CB2).addRange(0x10CC0, 0x10CF2).addRange(0x10D00, 0x10D27).addRange(0x10D30, 0x10D39).addRange(0x10E80, 0x10EA9).addRange(0x10EAB, 0x10EAC).addRange(0x10EB0, 0x10EB1).addRange(0x10F00, 0x10F1C).addRange(0x10F30, 0x10F50).addRange(0x10F70, 0x10F85).addRange(0x10FB0, 0x10FC4).addRange(0x10FE0, 0x10FF6).addRange(0x11000, 0x11046).addRange(0x11066, 0x11075).addRange(0x1107F, 0x110BA).addRange(0x110D0, 0x110E8).addRange(0x110F0, 0x110F9).addRange(0x11100, 0x11134).addRange(0x11136, 0x1113F).addRange(0x11144, 0x11147).addRange(0x11150, 0x11173).addRange(0x11180, 0x111C4).addRange(0x111C9, 0x111CC).addRange(0x111CE, 0x111DA).addRange(0x11200, 0x11211).addRange(0x11213, 0x11237).addRange(0x11280, 0x11286).addRange(0x1128A, 0x1128D).addRange(0x1128F, 0x1129D).addRange(0x1129F, 0x112A8).addRange(0x112B0, 0x112EA).addRange(0x112F0, 0x112F9).addRange(0x11300, 0x11303).addRange(0x11305, 0x1130C).addRange(0x1130F, 0x11310);\nset.addRange(0x11313, 0x11328).addRange(0x1132A, 0x11330).addRange(0x11332, 0x11333).addRange(0x11335, 0x11339).addRange(0x1133B, 0x11344).addRange(0x11347, 0x11348).addRange(0x1134B, 0x1134D).addRange(0x1135D, 0x11363).addRange(0x11366, 0x1136C).addRange(0x11370, 0x11374).addRange(0x11400, 0x1144A).addRange(0x11450, 0x11459).addRange(0x1145E, 0x11461).addRange(0x11480, 0x114C5).addRange(0x114D0, 0x114D9).addRange(0x11580, 0x115B5).addRange(0x115B8, 0x115C0).addRange(0x115D8, 0x115DD).addRange(0x11600, 0x11640).addRange(0x11650, 0x11659).addRange(0x11680, 0x116B8).addRange(0x116C0, 0x116C9).addRange(0x11700, 0x1171A).addRange(0x1171D, 0x1172B).addRange(0x11730, 0x11739).addRange(0x11740, 0x11746).addRange(0x11800, 0x1183A).addRange(0x118A0, 0x118E9).addRange(0x118FF, 0x11906).addRange(0x1190C, 0x11913).addRange(0x11915, 0x11916).addRange(0x11918, 0x11935).addRange(0x11937, 0x11938).addRange(0x1193B, 0x11943).addRange(0x11950, 0x11959).addRange(0x119A0, 0x119A7).addRange(0x119AA, 0x119D7).addRange(0x119DA, 0x119E1).addRange(0x119E3, 0x119E4).addRange(0x11A00, 0x11A3E).addRange(0x11A50, 0x11A99).addRange(0x11AB0, 0x11AF8).addRange(0x11C00, 0x11C08).addRange(0x11C0A, 0x11C36).addRange(0x11C38, 0x11C40).addRange(0x11C50, 0x11C59).addRange(0x11C72, 0x11C8F).addRange(0x11C92, 0x11CA7).addRange(0x11CA9, 0x11CB6).addRange(0x11D00, 0x11D06).addRange(0x11D08, 0x11D09);\nset.addRange(0x11D0B, 0x11D36).addRange(0x11D3C, 0x11D3D).addRange(0x11D3F, 0x11D47).addRange(0x11D50, 0x11D59).addRange(0x11D60, 0x11D65).addRange(0x11D67, 0x11D68).addRange(0x11D6A, 0x11D8E).addRange(0x11D90, 0x11D91).addRange(0x11D93, 0x11D98).addRange(0x11DA0, 0x11DA9).addRange(0x11EE0, 0x11EF6).addRange(0x12000, 0x12399).addRange(0x12400, 0x1246E).addRange(0x12480, 0x12543).addRange(0x12F90, 0x12FF0).addRange(0x13000, 0x1342E).addRange(0x14400, 0x14646).addRange(0x16800, 0x16A38).addRange(0x16A40, 0x16A5E).addRange(0x16A60, 0x16A69).addRange(0x16A70, 0x16ABE).addRange(0x16AC0, 0x16AC9).addRange(0x16AD0, 0x16AED).addRange(0x16AF0, 0x16AF4).addRange(0x16B00, 0x16B36).addRange(0x16B40, 0x16B43).addRange(0x16B50, 0x16B59).addRange(0x16B63, 0x16B77).addRange(0x16B7D, 0x16B8F).addRange(0x16E40, 0x16E7F).addRange(0x16F00, 0x16F4A).addRange(0x16F4F, 0x16F87).addRange(0x16F8F, 0x16F9F).addRange(0x16FE0, 0x16FE1).addRange(0x16FE3, 0x16FE4).addRange(0x16FF0, 0x16FF1).addRange(0x17000, 0x187F7).addRange(0x18800, 0x18CD5).addRange(0x18D00, 0x18D08).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE).addRange(0x1B000, 0x1B122).addRange(0x1B150, 0x1B152).addRange(0x1B164, 0x1B167).addRange(0x1B170, 0x1B2FB).addRange(0x1BC00, 0x1BC6A).addRange(0x1BC70, 0x1BC7C).addRange(0x1BC80, 0x1BC88).addRange(0x1BC90, 0x1BC99).addRange(0x1BC9D, 0x1BC9E);\nset.addRange(0x1CF00, 0x1CF2D).addRange(0x1CF30, 0x1CF46).addRange(0x1D165, 0x1D169).addRange(0x1D16D, 0x1D172).addRange(0x1D17B, 0x1D182).addRange(0x1D185, 0x1D18B).addRange(0x1D1AA, 0x1D1AD).addRange(0x1D242, 0x1D244).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D6C0).addRange(0x1D6C2, 0x1D6DA).addRange(0x1D6DC, 0x1D6FA).addRange(0x1D6FC, 0x1D714).addRange(0x1D716, 0x1D734).addRange(0x1D736, 0x1D74E).addRange(0x1D750, 0x1D76E).addRange(0x1D770, 0x1D788).addRange(0x1D78A, 0x1D7A8).addRange(0x1D7AA, 0x1D7C2).addRange(0x1D7C4, 0x1D7CB).addRange(0x1D7CE, 0x1D7FF).addRange(0x1DA00, 0x1DA36).addRange(0x1DA3B, 0x1DA6C).addRange(0x1DA9B, 0x1DA9F).addRange(0x1DAA1, 0x1DAAF).addRange(0x1DF00, 0x1DF1E).addRange(0x1E000, 0x1E006).addRange(0x1E008, 0x1E018).addRange(0x1E01B, 0x1E021).addRange(0x1E023, 0x1E024).addRange(0x1E026, 0x1E02A).addRange(0x1E100, 0x1E12C).addRange(0x1E130, 0x1E13D).addRange(0x1E140, 0x1E149).addRange(0x1E290, 0x1E2AE).addRange(0x1E2C0, 0x1E2F9);\nset.addRange(0x1E7E0, 0x1E7E6).addRange(0x1E7E8, 0x1E7EB).addRange(0x1E7ED, 0x1E7EE).addRange(0x1E7F0, 0x1E7FE).addRange(0x1E800, 0x1E8C4).addRange(0x1E8D0, 0x1E8D6).addRange(0x1E900, 0x1E94B).addRange(0x1E950, 0x1E959).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F).addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72).addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89).addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x1FBF0, 0x1FBF9).addRange(0x20000, 0x2A6DF).addRange(0x2A700, 0x2B738).addRange(0x2B740, 0x2B81D).addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x2F800, 0x2FA1D).addRange(0x30000, 0x3134A).addRange(0xE0100, 0xE01EF);\nmodule.exports = set;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FrameContextConsumer = exports.FrameContextProvider = exports.FrameContext = undefined;\nvar _react = require('react');\nvar _react2 = _interopRequireDefault(_react);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nvar doc = void 0;\nvar win = void 0;\nif (typeof document !== 'undefined') {\n doc = document;\n}\nif (typeof window !== 'undefined') {\n win = window;\n}\nvar FrameContext = exports.FrameContext = _react2.default.createContext({\n document: doc,\n window: win\n});\nvar FrameContextProvider = FrameContext.Provider,\n FrameContextConsumer = FrameContext.Consumer;\nexports.FrameContextProvider = FrameContextProvider;\nexports.FrameContextConsumer = FrameContextConsumer;","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n","/**\n * lodash 3.0.3 (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright 2012-2016 The Dojo Foundation \n * Based on Underscore.js 1.8.3 \n * Copyright 2009-2016 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\n\n/** `Object#toString` result references. */\nvar numberTag = '[object Number]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Number` primitive or object.\n *\n * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are classified\n * as numbers, use the `_.isFinite` method.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isNumber(3);\n * // => true\n *\n * _.isNumber(Number.MIN_VALUE);\n * // => true\n *\n * _.isNumber(Infinity);\n * // => true\n *\n * _.isNumber('3');\n * // => false\n */\nfunction isNumber(value) {\n return typeof value == 'number' || isObjectLike(value) && objectToString.call(value) == numberTag;\n}\nmodule.exports = isNumber;","const set = require('regenerate')(0x2D7F);\nset.addRange(0x2D30, 0x2D67).addRange(0x2D6F, 0x2D70);\nmodule.exports = set;","var toNumber = require('./toNumber');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_INTEGER = 1.7976931348623157e+308;\n\n/**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\nfunction toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n return value === value ? value : 0;\n}\n\nmodule.exports = toFinite;\n","var baseIsMatch = require('./_baseIsMatch'),\n getMatchData = require('./_getMatchData'),\n matchesStrictComparable = require('./_matchesStrictComparable');\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\nmodule.exports = baseMatches;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.marksy = marksy;\nexports[\"default\"] = _default;\nvar _marked = _interopRequireDefault(require(\"marked\"));\nvar _createRenderer = _interopRequireWildcard(require(\"./createRenderer\"));\nfunction _interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n } else {\n var newObj = {};\n if (obj != null) {\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};\n if (desc.get || desc.set) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n }\n newObj[\"default\"] = obj;\n return newObj;\n }\n}\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nfunction isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\nfunction _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct;\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) _setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n return _construct.apply(null, arguments);\n}\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n return arr2;\n }\n}\nfunction marksy() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var tracker = {\n tree: null,\n elements: null,\n nextElementId: null,\n toc: null,\n currentIdLevel: 0,\n currentId: []\n };\n var renderer = (0, _createRenderer[\"default\"])(tracker, options, {\n code: function code(_code, language) {\n if (language === 'marksy') {\n try {\n // eslint-disable-next-line no-plusplus\n var elementId = tracker.nextElementId++;\n var components = Object.keys(options.components).map(function (key) {\n return options.components[key];\n });\n var mockedReact = function mockedReact(tag) {\n var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var componentProps = components.indexOf(tag) >= 0 ? Object.assign(props || {}, {\n // eslint-disable-next-line no-plusplus\n key: tracker.nextElementId++,\n context: tracker.context\n }) : props;\n for (var _len = arguments.length, children = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n children[_key - 2] = arguments[_key];\n }\n return options.createElement(tag, componentProps, children);\n };\n tracker.elements[elementId] =\n // eslint-disable-next-line no-new-func\n _construct(Function, ['h'].concat(_toConsumableArray(Object.keys(options.components)), [\"return \".concat(_code)])).apply(void 0, [mockedReact].concat(_toConsumableArray(components))) || null;\n tracker.tree.push(tracker.elements[elementId]);\n return \"{{\".concat(elementId, \"}}\");\n } catch (e) {//\n }\n return null;\n }\n return (0, _createRenderer.codeRenderer)(tracker, options)(_code, language);\n }\n });\n return function compile(content) {\n var markedOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n tracker.tree = [];\n tracker.elements = {};\n tracker.toc = [];\n tracker.nextElementId = 0;\n tracker.context = context;\n tracker.currentId = [];\n (0, _marked[\"default\"])(content, Object.assign({\n renderer: renderer,\n smartypants: true\n }, markedOptions));\n return {\n tree: tracker.tree,\n toc: tracker.toc\n };\n };\n}\nfunction _default(options) {\n return marksy(options);\n}","const set = require('regenerate')();\nset.addRange(0x0, 0x1F).addRange(0x7F, 0x9F);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x11A50, 0x11AA2);\nmodule.exports = set;","var castPath = require('./_castPath'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nmodule.exports = baseGet;\n","const set = require('regenerate')();\nset.addRange(0x10C00, 0x10C48);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x1980, 0x19AB).addRange(0x19B0, 0x19C9).addRange(0x19D0, 0x19DA).addRange(0x19DE, 0x19DF);\nmodule.exports = set;","const set = require('regenerate')(0x2B, 0x5E, 0x7C, 0x7E, 0xAC, 0xB1, 0xD7, 0xF7, 0x3D5, 0x2016, 0x2040, 0x2044, 0x2052, 0x20E1, 0x2102, 0x2107, 0x2115, 0x2124, 0x214B, 0x21DD, 0x237C, 0x23B7, 0x23D0, 0x25E2, 0x25E4, 0x2640, 0x2642, 0xFB29, 0xFE68, 0xFF0B, 0xFF3C, 0xFF3E, 0xFF5C, 0xFF5E, 0xFFE2, 0x1D4A2, 0x1D4BB, 0x1D546, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E);\nset.addRange(0x3C, 0x3E).addRange(0x3D0, 0x3D2).addRange(0x3F0, 0x3F1).addRange(0x3F4, 0x3F6).addRange(0x606, 0x608).addRange(0x2032, 0x2034).addRange(0x2061, 0x2064).addRange(0x207A, 0x207E).addRange(0x208A, 0x208E).addRange(0x20D0, 0x20DC).addRange(0x20E5, 0x20E6).addRange(0x20EB, 0x20EF).addRange(0x210A, 0x2113).addRange(0x2118, 0x211D).addRange(0x2128, 0x2129).addRange(0x212C, 0x212D).addRange(0x212F, 0x2131).addRange(0x2133, 0x2138).addRange(0x213C, 0x2149).addRange(0x2190, 0x21A7).addRange(0x21A9, 0x21AE).addRange(0x21B0, 0x21B1).addRange(0x21B6, 0x21B7).addRange(0x21BC, 0x21DB).addRange(0x21E4, 0x21E5).addRange(0x21F4, 0x22FF).addRange(0x2308, 0x230B).addRange(0x2320, 0x2321).addRange(0x239B, 0x23B5).addRange(0x23DC, 0x23E2).addRange(0x25A0, 0x25A1).addRange(0x25AE, 0x25B7).addRange(0x25BC, 0x25C1).addRange(0x25C6, 0x25C7).addRange(0x25CA, 0x25CB).addRange(0x25CF, 0x25D3).addRange(0x25E7, 0x25EC).addRange(0x25F8, 0x25FF).addRange(0x2605, 0x2606).addRange(0x2660, 0x2663).addRange(0x266D, 0x266F).addRange(0x27C0, 0x27FF).addRange(0x2900, 0x2AFF).addRange(0x2B30, 0x2B44).addRange(0x2B47, 0x2B4C).addRange(0xFE61, 0xFE66).addRange(0xFF1C, 0xFF1E).addRange(0xFFE9, 0xFFEC).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F);\nset.addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D7CB).addRange(0x1D7CE, 0x1D7FF).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F).addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72).addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89).addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x1EEF0, 0x1EEF1);\nmodule.exports = set;","const set = require('regenerate')(0xA92F);\nset.addRange(0xA900, 0xA92D);\nmodule.exports = set;","var composeArgs = require('./_composeArgs'),\n composeArgsRight = require('./_composeArgsRight'),\n countHolders = require('./_countHolders'),\n createCtor = require('./_createCtor'),\n createRecurry = require('./_createRecurry'),\n getHolder = require('./_getHolder'),\n reorder = require('./_reorder'),\n replaceHolders = require('./_replaceHolders'),\n root = require('./_root');\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_BIND_FLAG = 1,\n WRAP_BIND_KEY_FLAG = 2,\n WRAP_CURRY_FLAG = 8,\n WRAP_CURRY_RIGHT_FLAG = 16,\n WRAP_ARY_FLAG = 128,\n WRAP_FLIP_FLAG = 512;\n\n/**\n * Creates a function that wraps `func` to invoke it with optional `this`\n * binding of `thisArg`, partial application, and currying.\n *\n * @private\n * @param {Function|string} func The function or method name to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to prepend to those provided to\n * the new function.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [partialsRight] The arguments to append to those provided\n * to the new function.\n * @param {Array} [holdersRight] The `partialsRight` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\nfunction createHybrid(func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity) {\n var isAry = bitmask & WRAP_ARY_FLAG,\n isBind = bitmask & WRAP_BIND_FLAG,\n isBindKey = bitmask & WRAP_BIND_KEY_FLAG,\n isCurried = bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG),\n isFlip = bitmask & WRAP_FLIP_FLAG,\n Ctor = isBindKey ? undefined : createCtor(func);\n\n function wrapper() {\n var length = arguments.length,\n args = Array(length),\n index = length;\n\n while (index--) {\n args[index] = arguments[index];\n }\n if (isCurried) {\n var placeholder = getHolder(wrapper),\n holdersCount = countHolders(args, placeholder);\n }\n if (partials) {\n args = composeArgs(args, partials, holders, isCurried);\n }\n if (partialsRight) {\n args = composeArgsRight(args, partialsRight, holdersRight, isCurried);\n }\n length -= holdersCount;\n if (isCurried && length < arity) {\n var newHolders = replaceHolders(args, placeholder);\n return createRecurry(\n func, bitmask, createHybrid, wrapper.placeholder, thisArg,\n args, newHolders, argPos, ary, arity - length\n );\n }\n var thisBinding = isBind ? thisArg : this,\n fn = isBindKey ? thisBinding[func] : func;\n\n length = args.length;\n if (argPos) {\n args = reorder(args, argPos);\n } else if (isFlip && length > 1) {\n args.reverse();\n }\n if (isAry && ary < length) {\n args.length = ary;\n }\n if (this && this !== root && this instanceof wrapper) {\n fn = Ctor || createCtor(fn);\n }\n return fn.apply(thisBinding, args);\n }\n return wrapper;\n}\n\nmodule.exports = createHybrid;\n","const set = require('regenerate')(0xC5D, 0x1CDA, 0x1CF2);\nset.addRange(0x951, 0x952).addRange(0x964, 0x965).addRange(0xC00, 0xC0C).addRange(0xC0E, 0xC10).addRange(0xC12, 0xC28).addRange(0xC2A, 0xC39).addRange(0xC3C, 0xC44).addRange(0xC46, 0xC48).addRange(0xC4A, 0xC4D).addRange(0xC55, 0xC56).addRange(0xC58, 0xC5A).addRange(0xC60, 0xC63).addRange(0xC66, 0xC6F).addRange(0xC77, 0xC7F);\nmodule.exports = set;","var WeakMap = require('./_WeakMap');\n\n/** Used to store function metadata. */\nvar metaMap = WeakMap && new WeakMap;\n\nmodule.exports = metaMap;\n","const set = require('regenerate')(0x1CD0, 0x20F0, 0x11350, 0x11357, 0x11FD3);\nset.addRange(0x951, 0x952).addRange(0x964, 0x965).addRange(0xBE6, 0xBF3).addRange(0x1CD2, 0x1CD3).addRange(0x1CF2, 0x1CF4).addRange(0x1CF8, 0x1CF9).addRange(0x11300, 0x11303).addRange(0x11305, 0x1130C).addRange(0x1130F, 0x11310).addRange(0x11313, 0x11328).addRange(0x1132A, 0x11330).addRange(0x11332, 0x11333).addRange(0x11335, 0x11339).addRange(0x1133B, 0x11344).addRange(0x11347, 0x11348).addRange(0x1134B, 0x1134D).addRange(0x1135D, 0x11363).addRange(0x11366, 0x1136C).addRange(0x11370, 0x11374).addRange(0x11FD0, 0x11FD1);\nmodule.exports = set;","module.exports = new Map([['General_Category', ['Cased_Letter', 'Close_Punctuation', 'Connector_Punctuation', 'Control', 'Currency_Symbol', 'Dash_Punctuation', 'Decimal_Number', 'Enclosing_Mark', 'Final_Punctuation', 'Format', 'Initial_Punctuation', 'Letter', 'Letter_Number', 'Line_Separator', 'Lowercase_Letter', 'Mark', 'Math_Symbol', 'Modifier_Letter', 'Modifier_Symbol', 'Nonspacing_Mark', 'Number', 'Open_Punctuation', 'Other', 'Other_Letter', 'Other_Number', 'Other_Punctuation', 'Other_Symbol', 'Paragraph_Separator', 'Private_Use', 'Punctuation', 'Separator', 'Space_Separator', 'Spacing_Mark', 'Surrogate', 'Symbol', 'Titlecase_Letter', 'Unassigned', 'Uppercase_Letter']], ['Script', ['Adlam', 'Ahom', 'Anatolian_Hieroglyphs', 'Arabic', 'Armenian', 'Avestan', 'Balinese', 'Bamum', 'Bassa_Vah', 'Batak', 'Bengali', 'Bhaiksuki', 'Bopomofo', 'Brahmi', 'Braille', 'Buginese', 'Buhid', 'Canadian_Aboriginal', 'Carian', 'Caucasian_Albanian', 'Chakma', 'Cham', 'Cherokee', 'Chorasmian', 'Common', 'Coptic', 'Cuneiform', 'Cypriot', 'Cypro_Minoan', 'Cyrillic', 'Deseret', 'Devanagari', 'Dives_Akuru', 'Dogra', 'Duployan', 'Egyptian_Hieroglyphs', 'Elbasan', 'Elymaic', 'Ethiopic', 'Georgian', 'Glagolitic', 'Gothic', 'Grantha', 'Greek', 'Gujarati', 'Gunjala_Gondi', 'Gurmukhi', 'Han', 'Hangul', 'Hanifi_Rohingya', 'Hanunoo', 'Hatran', 'Hebrew', 'Hiragana', 'Imperial_Aramaic', 'Inherited', 'Inscriptional_Pahlavi', 'Inscriptional_Parthian', 'Javanese', 'Kaithi', 'Kannada', 'Katakana', 'Kayah_Li', 'Kharoshthi', 'Khitan_Small_Script', 'Khmer', 'Khojki', 'Khudawadi', 'Lao', 'Latin', 'Lepcha', 'Limbu', 'Linear_A', 'Linear_B', 'Lisu', 'Lycian', 'Lydian', 'Mahajani', 'Makasar', 'Malayalam', 'Mandaic', 'Manichaean', 'Marchen', 'Masaram_Gondi', 'Medefaidrin', 'Meetei_Mayek', 'Mende_Kikakui', 'Meroitic_Cursive', 'Meroitic_Hieroglyphs', 'Miao', 'Modi', 'Mongolian', 'Mro', 'Multani', 'Myanmar', 'Nabataean', 'Nandinagari', 'New_Tai_Lue', 'Newa', 'Nko', 'Nushu', 'Nyiakeng_Puachue_Hmong', 'Ogham', 'Ol_Chiki', 'Old_Hungarian', 'Old_Italic', 'Old_North_Arabian', 'Old_Permic', 'Old_Persian', 'Old_Sogdian', 'Old_South_Arabian', 'Old_Turkic', 'Old_Uyghur', 'Oriya', 'Osage', 'Osmanya', 'Pahawh_Hmong', 'Palmyrene', 'Pau_Cin_Hau', 'Phags_Pa', 'Phoenician', 'Psalter_Pahlavi', 'Rejang', 'Runic', 'Samaritan', 'Saurashtra', 'Sharada', 'Shavian', 'Siddham', 'SignWriting', 'Sinhala', 'Sogdian', 'Sora_Sompeng', 'Soyombo', 'Sundanese', 'Syloti_Nagri', 'Syriac', 'Tagalog', 'Tagbanwa', 'Tai_Le', 'Tai_Tham', 'Tai_Viet', 'Takri', 'Tamil', 'Tangsa', 'Tangut', 'Telugu', 'Thaana', 'Thai', 'Tibetan', 'Tifinagh', 'Tirhuta', 'Toto', 'Ugaritic', 'Vai', 'Vithkuqi', 'Wancho', 'Warang_Citi', 'Yezidi', 'Yi', 'Zanabazar_Square']], ['Script_Extensions', ['Adlam', 'Ahom', 'Anatolian_Hieroglyphs', 'Arabic', 'Armenian', 'Avestan', 'Balinese', 'Bamum', 'Bassa_Vah', 'Batak', 'Bengali', 'Bhaiksuki', 'Bopomofo', 'Brahmi', 'Braille', 'Buginese', 'Buhid', 'Canadian_Aboriginal', 'Carian', 'Caucasian_Albanian', 'Chakma', 'Cham', 'Cherokee', 'Chorasmian', 'Common', 'Coptic', 'Cuneiform', 'Cypriot', 'Cypro_Minoan', 'Cyrillic', 'Deseret', 'Devanagari', 'Dives_Akuru', 'Dogra', 'Duployan', 'Egyptian_Hieroglyphs', 'Elbasan', 'Elymaic', 'Ethiopic', 'Georgian', 'Glagolitic', 'Gothic', 'Grantha', 'Greek', 'Gujarati', 'Gunjala_Gondi', 'Gurmukhi', 'Han', 'Hangul', 'Hanifi_Rohingya', 'Hanunoo', 'Hatran', 'Hebrew', 'Hiragana', 'Imperial_Aramaic', 'Inherited', 'Inscriptional_Pahlavi', 'Inscriptional_Parthian', 'Javanese', 'Kaithi', 'Kannada', 'Katakana', 'Kayah_Li', 'Kharoshthi', 'Khitan_Small_Script', 'Khmer', 'Khojki', 'Khudawadi', 'Lao', 'Latin', 'Lepcha', 'Limbu', 'Linear_A', 'Linear_B', 'Lisu', 'Lycian', 'Lydian', 'Mahajani', 'Makasar', 'Malayalam', 'Mandaic', 'Manichaean', 'Marchen', 'Masaram_Gondi', 'Medefaidrin', 'Meetei_Mayek', 'Mende_Kikakui', 'Meroitic_Cursive', 'Meroitic_Hieroglyphs', 'Miao', 'Modi', 'Mongolian', 'Mro', 'Multani', 'Myanmar', 'Nabataean', 'Nandinagari', 'New_Tai_Lue', 'Newa', 'Nko', 'Nushu', 'Nyiakeng_Puachue_Hmong', 'Ogham', 'Ol_Chiki', 'Old_Hungarian', 'Old_Italic', 'Old_North_Arabian', 'Old_Permic', 'Old_Persian', 'Old_Sogdian', 'Old_South_Arabian', 'Old_Turkic', 'Old_Uyghur', 'Oriya', 'Osage', 'Osmanya', 'Pahawh_Hmong', 'Palmyrene', 'Pau_Cin_Hau', 'Phags_Pa', 'Phoenician', 'Psalter_Pahlavi', 'Rejang', 'Runic', 'Samaritan', 'Saurashtra', 'Sharada', 'Shavian', 'Siddham', 'SignWriting', 'Sinhala', 'Sogdian', 'Sora_Sompeng', 'Soyombo', 'Sundanese', 'Syloti_Nagri', 'Syriac', 'Tagalog', 'Tagbanwa', 'Tai_Le', 'Tai_Tham', 'Tai_Viet', 'Takri', 'Tamil', 'Tangsa', 'Tangut', 'Telugu', 'Thaana', 'Thai', 'Tibetan', 'Tifinagh', 'Tirhuta', 'Toto', 'Ugaritic', 'Vai', 'Vithkuqi', 'Wancho', 'Warang_Citi', 'Yezidi', 'Yi', 'Zanabazar_Square']], ['Binary_Property', ['ASCII', 'ASCII_Hex_Digit', 'Alphabetic', 'Any', 'Assigned', 'Bidi_Control', 'Bidi_Mirrored', 'Case_Ignorable', 'Cased', 'Changes_When_Casefolded', 'Changes_When_Casemapped', 'Changes_When_Lowercased', 'Changes_When_NFKC_Casefolded', 'Changes_When_Titlecased', 'Changes_When_Uppercased', 'Dash', 'Default_Ignorable_Code_Point', 'Deprecated', 'Diacritic', 'Emoji', 'Emoji_Component', 'Emoji_Modifier', 'Emoji_Modifier_Base', 'Emoji_Presentation', 'Extended_Pictographic', 'Extender', 'Grapheme_Base', 'Grapheme_Extend', 'Hex_Digit', 'IDS_Binary_Operator', 'IDS_Trinary_Operator', 'ID_Continue', 'ID_Start', 'Ideographic', 'Join_Control', 'Logical_Order_Exception', 'Lowercase', 'Math', 'Noncharacter_Code_Point', 'Pattern_Syntax', 'Pattern_White_Space', 'Quotation_Mark', 'Radical', 'Regional_Indicator', 'Sentence_Terminal', 'Soft_Dotted', 'Terminal_Punctuation', 'Unified_Ideograph', 'Uppercase', 'Variation_Selector', 'White_Space', 'XID_Continue', 'XID_Start']]]);","const set = require('regenerate')(0x1ABE);\nset.addRange(0x488, 0x489).addRange(0x20DD, 0x20E0).addRange(0x20E2, 0x20E4).addRange(0xA670, 0xA672);\nmodule.exports = set;","var parent = require('../../actual/object/assign');\n\nmodule.exports = parent;\n","const set = require('regenerate')(0x11FB0);\nset.addRange(0xA4D0, 0xA4FF);\nmodule.exports = set;","'use strict';\n\nvar isArray = Array.isArray;\nvar keyList = Object.keys;\nvar hasProp = Object.prototype.hasOwnProperty;\nmodule.exports = function equal(a, b) {\n if (a === b) return true;\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n var arrA = isArray(a),\n arrB = isArray(b),\n i,\n length,\n key;\n if (arrA && arrB) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;) if (!equal(a[i], b[i])) return false;\n return true;\n }\n if (arrA != arrB) return false;\n var dateA = a instanceof Date,\n dateB = b instanceof Date;\n if (dateA != dateB) return false;\n if (dateA && dateB) return a.getTime() == b.getTime();\n var regexpA = a instanceof RegExp,\n regexpB = b instanceof RegExp;\n if (regexpA != regexpB) return false;\n if (regexpA && regexpB) return a.toString() == b.toString();\n var keys = keyList(a);\n length = keys.length;\n if (length !== keyList(b).length) return false;\n for (i = length; i-- !== 0;) if (!hasProp.call(b, keys[i])) return false;\n for (i = length; i-- !== 0;) {\n key = keys[i];\n if (!equal(a[key], b[key])) return false;\n }\n return true;\n }\n return a !== a && b !== b;\n};","function isNumeric(n) {\n return !isNaN(parseFloat(n)) && isFinite(n);\n}\nmodule.exports = function (lightness, hue, darkBackground) {\n if (typeof hue === \"undefined\") {\n hue = 0;\n }\n if (typeof darkBackground === \"undefined\") {\n darkBackground = false;\n }\n\n // Convert named hues into numeric lightness value.\n if (hue === \"cool\") {\n hue = 237;\n } else if (hue === \"slate\") {\n hue = 122;\n } else if (hue === \"warm\") {\n hue = 69;\n }\n if (!isNumeric(hue)) {\n throw new Error(\"Hue is not a number\");\n }\n if (!isNumeric(lightness)) {\n throw new Error(\"Lightness is not a number\");\n }\n if (lightness > 100) {\n lightness = 100;\n }\n if (lightness < 0) {\n lightness = 0;\n }\n var saturation = 0;\n if (hue !== 0) {\n var a = 19.92978;\n var b = -0.3651759;\n var c = 0.001737214;\n saturation = a + b * lightness + c * Math.pow(lightness, 2);\n }\n var opacity = 0;\n if (darkBackground) {\n opacity = lightness / 100;\n lightness = '100%,';\n } else {\n opacity = (100 - lightness) / 100;\n lightness = '0%,';\n }\n return \"hsla(\" + hue + \",\" + saturation + \"%,\" + lightness + opacity + \")\";\n};","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n","var NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.wrapRootElement = void 0;\nvar react_1 = __importDefault(require(\"react\"));\nvar react_helmet_async_1 = require(\"react-helmet-async\");\nvar wrapRootElement = function (_a) {\n var element = _a.element;\n return (react_1.default.createElement(react_helmet_async_1.HelmetProvider, null, element));\n};\nexports.wrapRootElement = wrapRootElement;\n","/**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\nfunction arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n}\n\nmodule.exports = arrayReduce;\n","const set = require('regenerate')(0xA0, 0xA8, 0xAA, 0xAD, 0xAF, 0x100, 0x102, 0x104, 0x106, 0x108, 0x10A, 0x10C, 0x10E, 0x110, 0x112, 0x114, 0x116, 0x118, 0x11A, 0x11C, 0x11E, 0x120, 0x122, 0x124, 0x126, 0x128, 0x12A, 0x12C, 0x12E, 0x130, 0x136, 0x139, 0x13B, 0x13D, 0x143, 0x145, 0x147, 0x14C, 0x14E, 0x150, 0x152, 0x154, 0x156, 0x158, 0x15A, 0x15C, 0x15E, 0x160, 0x162, 0x164, 0x166, 0x168, 0x16A, 0x16C, 0x16E, 0x170, 0x172, 0x174, 0x176, 0x17B, 0x17D, 0x17F, 0x184, 0x1A2, 0x1A4, 0x1A9, 0x1AC, 0x1B5, 0x1BC, 0x1CF, 0x1D1, 0x1D3, 0x1D5, 0x1D7, 0x1D9, 0x1DB, 0x1DE, 0x1E0, 0x1E2, 0x1E4, 0x1E6, 0x1E8, 0x1EA, 0x1EC, 0x1EE, 0x1FA, 0x1FC, 0x1FE, 0x200, 0x202, 0x204, 0x206, 0x208, 0x20A, 0x20C, 0x20E, 0x210, 0x212, 0x214, 0x216, 0x218, 0x21A, 0x21C, 0x21E, 0x220, 0x222, 0x224, 0x226, 0x228, 0x22A, 0x22C, 0x22E, 0x230, 0x232, 0x241, 0x248, 0x24A, 0x24C, 0x24E, 0x34F, 0x370, 0x372, 0x374, 0x376, 0x37A, 0x38C, 0x3C2, 0x3D8, 0x3DA, 0x3DC, 0x3DE, 0x3E0, 0x3E2, 0x3E4, 0x3E6, 0x3E8, 0x3EA, 0x3EC, 0x3EE, 0x3F7, 0x460, 0x462, 0x464, 0x466, 0x468, 0x46A, 0x46C, 0x46E, 0x470, 0x472, 0x474, 0x476, 0x478, 0x47A, 0x47C, 0x47E, 0x480, 0x48A, 0x48C, 0x48E, 0x490, 0x492, 0x494, 0x496, 0x498, 0x49A, 0x49C, 0x49E, 0x4A0, 0x4A2, 0x4A4, 0x4A6, 0x4A8, 0x4AA, 0x4AC, 0x4AE, 0x4B0, 0x4B2, 0x4B4, 0x4B6, 0x4B8, 0x4BA, 0x4BC, 0x4BE, 0x4C3, 0x4C5, 0x4C7, 0x4C9, 0x4CB, 0x4CD, 0x4D0, 0x4D2, 0x4D4, 0x4D6, 0x4D8, 0x4DA, 0x4DC, 0x4DE, 0x4E0, 0x4E2, 0x4E4, 0x4E6, 0x4E8, 0x4EA, 0x4EC, 0x4EE, 0x4F0, 0x4F2, 0x4F4, 0x4F6, 0x4F8, 0x4FA, 0x4FC, 0x4FE, 0x500, 0x502, 0x504, 0x506, 0x508, 0x50A, 0x50C, 0x50E, 0x510, 0x512, 0x514, 0x516, 0x518, 0x51A, 0x51C, 0x51E, 0x520, 0x522, 0x524, 0x526, 0x528, 0x52A, 0x52C, 0x52E, 0x587, 0x61C, 0x9DF, 0xA33, 0xA36, 0xA5E, 0xE33, 0xEB3, 0xF0C, 0xF43, 0xF4D, 0xF52, 0xF57, 0xF5C, 0xF69, 0xF73, 0xF81, 0xF93, 0xF9D, 0xFA2, 0xFA7, 0xFAC, 0xFB9, 0x10C7, 0x10CD, 0x10FC, 0x1D78, 0x1E00, 0x1E02, 0x1E04, 0x1E06, 0x1E08, 0x1E0A, 0x1E0C, 0x1E0E, 0x1E10, 0x1E12, 0x1E14, 0x1E16, 0x1E18, 0x1E1A, 0x1E1C, 0x1E1E, 0x1E20, 0x1E22, 0x1E24, 0x1E26, 0x1E28, 0x1E2A, 0x1E2C, 0x1E2E, 0x1E30, 0x1E32, 0x1E34, 0x1E36, 0x1E38, 0x1E3A, 0x1E3C, 0x1E3E, 0x1E40, 0x1E42, 0x1E44, 0x1E46, 0x1E48, 0x1E4A, 0x1E4C, 0x1E4E, 0x1E50, 0x1E52, 0x1E54, 0x1E56, 0x1E58, 0x1E5A, 0x1E5C, 0x1E5E, 0x1E60, 0x1E62, 0x1E64, 0x1E66, 0x1E68, 0x1E6A, 0x1E6C, 0x1E6E, 0x1E70, 0x1E72, 0x1E74, 0x1E76, 0x1E78, 0x1E7A, 0x1E7C, 0x1E7E, 0x1E80, 0x1E82, 0x1E84, 0x1E86, 0x1E88, 0x1E8A, 0x1E8C, 0x1E8E, 0x1E90, 0x1E92, 0x1E94, 0x1E9E, 0x1EA0, 0x1EA2, 0x1EA4, 0x1EA6, 0x1EA8, 0x1EAA, 0x1EAC, 0x1EAE, 0x1EB0, 0x1EB2, 0x1EB4, 0x1EB6, 0x1EB8, 0x1EBA, 0x1EBC, 0x1EBE, 0x1EC0, 0x1EC2, 0x1EC4, 0x1EC6, 0x1EC8, 0x1ECA, 0x1ECC, 0x1ECE, 0x1ED0, 0x1ED2, 0x1ED4, 0x1ED6, 0x1ED8, 0x1EDA, 0x1EDC, 0x1EDE, 0x1EE0, 0x1EE2, 0x1EE4, 0x1EE6, 0x1EE8, 0x1EEA, 0x1EEC, 0x1EEE, 0x1EF0, 0x1EF2, 0x1EF4, 0x1EF6, 0x1EF8, 0x1EFA, 0x1EFC, 0x1EFE, 0x1F59, 0x1F5B, 0x1F5D, 0x1F5F, 0x1F71, 0x1F73, 0x1F75, 0x1F77, 0x1F79, 0x1F7B, 0x1F7D, 0x1FD3, 0x1FE3, 0x2011, 0x2017, 0x203C, 0x203E, 0x2057, 0x20A8, 0x2124, 0x2126, 0x2128, 0x2183, 0x2189, 0x2A0C, 0x2ADC, 0x2C60, 0x2C67, 0x2C69, 0x2C6B, 0x2C72, 0x2C75, 0x2C82, 0x2C84, 0x2C86, 0x2C88, 0x2C8A, 0x2C8C, 0x2C8E, 0x2C90, 0x2C92, 0x2C94, 0x2C96, 0x2C98, 0x2C9A, 0x2C9C, 0x2C9E, 0x2CA0, 0x2CA2, 0x2CA4, 0x2CA6, 0x2CA8, 0x2CAA, 0x2CAC, 0x2CAE, 0x2CB0, 0x2CB2, 0x2CB4, 0x2CB6, 0x2CB8, 0x2CBA, 0x2CBC, 0x2CBE, 0x2CC0, 0x2CC2, 0x2CC4, 0x2CC6, 0x2CC8, 0x2CCA, 0x2CCC, 0x2CCE, 0x2CD0, 0x2CD2, 0x2CD4, 0x2CD6, 0x2CD8, 0x2CDA, 0x2CDC, 0x2CDE, 0x2CE0, 0x2CE2, 0x2CEB, 0x2CED, 0x2CF2, 0x2D6F, 0x2E9F, 0x2EF3, 0x3000, 0x3036, 0x309F, 0x30FF, 0xA640, 0xA642, 0xA644, 0xA646, 0xA648, 0xA64A, 0xA64C, 0xA64E, 0xA650, 0xA652, 0xA654, 0xA656, 0xA658, 0xA65A, 0xA65C, 0xA65E, 0xA660, 0xA662, 0xA664, 0xA666, 0xA668, 0xA66A, 0xA66C, 0xA680, 0xA682, 0xA684, 0xA686, 0xA688, 0xA68A, 0xA68C, 0xA68E, 0xA690, 0xA692, 0xA694, 0xA696, 0xA698, 0xA69A, 0xA722, 0xA724, 0xA726, 0xA728, 0xA72A, 0xA72C, 0xA72E, 0xA732, 0xA734, 0xA736, 0xA738, 0xA73A, 0xA73C, 0xA73E, 0xA740, 0xA742, 0xA744, 0xA746, 0xA748, 0xA74A, 0xA74C, 0xA74E, 0xA750, 0xA752, 0xA754, 0xA756, 0xA758, 0xA75A, 0xA75C, 0xA75E, 0xA760, 0xA762, 0xA764, 0xA766, 0xA768, 0xA76A, 0xA76C, 0xA76E, 0xA770, 0xA779, 0xA77B, 0xA780, 0xA782, 0xA784, 0xA786, 0xA78B, 0xA78D, 0xA790, 0xA792, 0xA796, 0xA798, 0xA79A, 0xA79C, 0xA79E, 0xA7A0, 0xA7A2, 0xA7A4, 0xA7A6, 0xA7A8, 0xA7B6, 0xA7B8, 0xA7BA, 0xA7BC, 0xA7BE, 0xA7C0, 0xA7C2, 0xA7C9, 0xA7D0, 0xA7D6, 0xA7D8, 0xAB69, 0xFA10, 0xFA12, 0xFA20, 0xFA22, 0xFB1D, 0xFB3E, 0xFE74, 0xFEFF, 0x1D4A2, 0x1D4BB, 0x1D546, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E, 0x1F190);\nset.addRange(0x41, 0x5A).addRange(0xB2, 0xB5).addRange(0xB8, 0xBA).addRange(0xBC, 0xBE).addRange(0xC0, 0xD6).addRange(0xD8, 0xDF).addRange(0x132, 0x134).addRange(0x13F, 0x141).addRange(0x149, 0x14A).addRange(0x178, 0x179).addRange(0x181, 0x182).addRange(0x186, 0x187).addRange(0x189, 0x18B).addRange(0x18E, 0x191).addRange(0x193, 0x194).addRange(0x196, 0x198).addRange(0x19C, 0x19D).addRange(0x19F, 0x1A0).addRange(0x1A6, 0x1A7).addRange(0x1AE, 0x1AF).addRange(0x1B1, 0x1B3).addRange(0x1B7, 0x1B8).addRange(0x1C4, 0x1CD).addRange(0x1F1, 0x1F4).addRange(0x1F6, 0x1F8).addRange(0x23A, 0x23B).addRange(0x23D, 0x23E).addRange(0x243, 0x246).addRange(0x2B0, 0x2B8).addRange(0x2D8, 0x2DD).addRange(0x2E0, 0x2E4).addRange(0x340, 0x341).addRange(0x343, 0x345).addRange(0x37E, 0x37F).addRange(0x384, 0x38A).addRange(0x38E, 0x38F).addRange(0x391, 0x3A1).addRange(0x3A3, 0x3AB).addRange(0x3CF, 0x3D6).addRange(0x3F0, 0x3F2).addRange(0x3F4, 0x3F5).addRange(0x3F9, 0x3FA).addRange(0x3FD, 0x42F).addRange(0x4C0, 0x4C1).addRange(0x531, 0x556).addRange(0x675, 0x678).addRange(0x958, 0x95F).addRange(0x9DC, 0x9DD).addRange(0xA59, 0xA5B).addRange(0xB5C, 0xB5D).addRange(0xEDC, 0xEDD);\nset.addRange(0xF75, 0xF79).addRange(0x10A0, 0x10C5).addRange(0x115F, 0x1160).addRange(0x13F8, 0x13FD).addRange(0x17B4, 0x17B5).addRange(0x180B, 0x180F).addRange(0x1C80, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1D2C, 0x1D2E).addRange(0x1D30, 0x1D3A).addRange(0x1D3C, 0x1D4D).addRange(0x1D4F, 0x1D6A).addRange(0x1D9B, 0x1DBF).addRange(0x1E9A, 0x1E9B).addRange(0x1F08, 0x1F0F).addRange(0x1F18, 0x1F1D).addRange(0x1F28, 0x1F2F).addRange(0x1F38, 0x1F3F).addRange(0x1F48, 0x1F4D).addRange(0x1F68, 0x1F6F).addRange(0x1F80, 0x1FAF).addRange(0x1FB2, 0x1FB4).addRange(0x1FB7, 0x1FC4).addRange(0x1FC7, 0x1FCF).addRange(0x1FD8, 0x1FDB).addRange(0x1FDD, 0x1FDF).addRange(0x1FE8, 0x1FEF).addRange(0x1FF2, 0x1FF4).addRange(0x1FF7, 0x1FFE).addRange(0x2000, 0x200F).addRange(0x2024, 0x2026).addRange(0x202A, 0x202F).addRange(0x2033, 0x2034).addRange(0x2036, 0x2037).addRange(0x2047, 0x2049).addRange(0x205F, 0x2071).addRange(0x2074, 0x208E).addRange(0x2090, 0x209C).addRange(0x2100, 0x2103).addRange(0x2105, 0x2107).addRange(0x2109, 0x2113).addRange(0x2115, 0x2116).addRange(0x2119, 0x211D).addRange(0x2120, 0x2122).addRange(0x212A, 0x212D).addRange(0x212F, 0x2139).addRange(0x213B, 0x2140).addRange(0x2145, 0x2149).addRange(0x2150, 0x217F).addRange(0x222C, 0x222D);\nset.addRange(0x222F, 0x2230).addRange(0x2329, 0x232A).addRange(0x2460, 0x24EA).addRange(0x2A74, 0x2A76).addRange(0x2C00, 0x2C2F).addRange(0x2C62, 0x2C64).addRange(0x2C6D, 0x2C70).addRange(0x2C7C, 0x2C80).addRange(0x2F00, 0x2FD5).addRange(0x3038, 0x303A).addRange(0x309B, 0x309C).addRange(0x3131, 0x318E).addRange(0x3192, 0x319F).addRange(0x3200, 0x321E).addRange(0x3220, 0x3247).addRange(0x3250, 0x327E).addRange(0x3280, 0x33FF).addRange(0xA69C, 0xA69D).addRange(0xA77D, 0xA77E).addRange(0xA7AA, 0xA7AE).addRange(0xA7B0, 0xA7B4).addRange(0xA7C4, 0xA7C7).addRange(0xA7F2, 0xA7F5).addRange(0xA7F8, 0xA7F9).addRange(0xAB5C, 0xAB5F).addRange(0xAB70, 0xABBF).addRange(0xF900, 0xFA0D).addRange(0xFA15, 0xFA1E).addRange(0xFA25, 0xFA26).addRange(0xFA2A, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFB1F, 0xFB36).addRange(0xFB38, 0xFB3C).addRange(0xFB40, 0xFB41).addRange(0xFB43, 0xFB44).addRange(0xFB46, 0xFBB1).addRange(0xFBD3, 0xFD3D).addRange(0xFD50, 0xFD8F).addRange(0xFD92, 0xFDC7).addRange(0xFDF0, 0xFDFC).addRange(0xFE00, 0xFE19).addRange(0xFE30, 0xFE44).addRange(0xFE47, 0xFE52).addRange(0xFE54, 0xFE66).addRange(0xFE68, 0xFE6B).addRange(0xFE70, 0xFE72).addRange(0xFE76, 0xFEFC).addRange(0xFF01, 0xFFBE).addRange(0xFFC2, 0xFFC7);\nset.addRange(0xFFCA, 0xFFCF).addRange(0xFFD2, 0xFFD7).addRange(0xFFDA, 0xFFDC).addRange(0xFFE0, 0xFFE6).addRange(0xFFE8, 0xFFEE).addRange(0xFFF0, 0xFFF8).addRange(0x10400, 0x10427).addRange(0x104B0, 0x104D3).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10781, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10C80, 0x10CB2).addRange(0x118A0, 0x118BF).addRange(0x16E40, 0x16E5F).addRange(0x1BCA0, 0x1BCA3).addRange(0x1D15E, 0x1D164).addRange(0x1D173, 0x1D17A).addRange(0x1D1BB, 0x1D1C0).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D7CB).addRange(0x1D7CE, 0x1D7FF).addRange(0x1E900, 0x1E921).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F).addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72);\nset.addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89).addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x1F100, 0x1F10A).addRange(0x1F110, 0x1F12E).addRange(0x1F130, 0x1F14F).addRange(0x1F16A, 0x1F16C).addRange(0x1F200, 0x1F202).addRange(0x1F210, 0x1F23B).addRange(0x1F240, 0x1F248).addRange(0x1F250, 0x1F251).addRange(0x1FBF0, 0x1FBF9).addRange(0x2F800, 0x2FA1D).addRange(0xE0000, 0xE0FFF);\nmodule.exports = set;","/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\nmodule.exports = cloneRegExp;\n","var convert = require('./convert'),\n func = convert('mapValues', require('../mapValues'));\n\nfunc.placeholder = require('./placeholder');\nmodule.exports = func;\n","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n","var convert = require('./convert'),\n func = convert('flattenDepth', require('../flattenDepth'));\n\nfunc.placeholder = require('./placeholder');\nmodule.exports = func;\n","const set = require('regenerate')(0x22, 0x27, 0xAB, 0xBB, 0x2E42, 0xFF02, 0xFF07);\nset.addRange(0x2018, 0x201F).addRange(0x2039, 0x203A).addRange(0x300C, 0x300F).addRange(0x301D, 0x301F).addRange(0xFE41, 0xFE44).addRange(0xFF62, 0xFF63);\nmodule.exports = set;","const set = require('regenerate')(0x85E);\nset.addRange(0x840, 0x85B);\nmodule.exports = set;","/**\r\n * A collection of shims that provide minimal functionality of the ES6 collections.\r\n *\r\n * These implementations are not meant to be used outside of the ResizeObserver\r\n * modules as they cover only a limited range of use cases.\r\n */\n/* eslint-disable require-jsdoc, valid-jsdoc */\nvar MapShim = function () {\n if (typeof Map !== 'undefined') {\n return Map;\n }\n /**\r\n * Returns index in provided array that matches the specified key.\r\n *\r\n * @param {Array} arr\r\n * @param {*} key\r\n * @returns {number}\r\n */\n function getIndex(arr, key) {\n var result = -1;\n arr.some(function (entry, index) {\n if (entry[0] === key) {\n result = index;\n return true;\n }\n return false;\n });\n return result;\n }\n return (/** @class */function () {\n function class_1() {\n this.__entries__ = [];\n }\n Object.defineProperty(class_1.prototype, \"size\", {\n /**\r\n * @returns {boolean}\r\n */\n get: function () {\n return this.__entries__.length;\n },\n enumerable: true,\n configurable: true\n });\n /**\r\n * @param {*} key\r\n * @returns {*}\r\n */\n class_1.prototype.get = function (key) {\n var index = getIndex(this.__entries__, key);\n var entry = this.__entries__[index];\n return entry && entry[1];\n };\n /**\r\n * @param {*} key\r\n * @param {*} value\r\n * @returns {void}\r\n */\n class_1.prototype.set = function (key, value) {\n var index = getIndex(this.__entries__, key);\n if (~index) {\n this.__entries__[index][1] = value;\n } else {\n this.__entries__.push([key, value]);\n }\n };\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\n class_1.prototype.delete = function (key) {\n var entries = this.__entries__;\n var index = getIndex(entries, key);\n if (~index) {\n entries.splice(index, 1);\n }\n };\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\n class_1.prototype.has = function (key) {\n return !!~getIndex(this.__entries__, key);\n };\n /**\r\n * @returns {void}\r\n */\n class_1.prototype.clear = function () {\n this.__entries__.splice(0);\n };\n /**\r\n * @param {Function} callback\r\n * @param {*} [ctx=null]\r\n * @returns {void}\r\n */\n class_1.prototype.forEach = function (callback, ctx) {\n if (ctx === void 0) {\n ctx = null;\n }\n for (var _i = 0, _a = this.__entries__; _i < _a.length; _i++) {\n var entry = _a[_i];\n callback.call(ctx, entry[1], entry[0]);\n }\n };\n return class_1;\n }()\n );\n}();\n\n/**\r\n * Detects whether window and document objects are available in current environment.\r\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document;\n\n// Returns global object of a current environment.\nvar global$1 = function () {\n if (typeof global !== 'undefined' && global.Math === Math) {\n return global;\n }\n if (typeof self !== 'undefined' && self.Math === Math) {\n return self;\n }\n if (typeof window !== 'undefined' && window.Math === Math) {\n return window;\n }\n // eslint-disable-next-line no-new-func\n return Function('return this')();\n}();\n\n/**\r\n * A shim for the requestAnimationFrame which falls back to the setTimeout if\r\n * first one is not supported.\r\n *\r\n * @returns {number} Requests' identifier.\r\n */\nvar requestAnimationFrame$1 = function () {\n if (typeof requestAnimationFrame === 'function') {\n // It's required to use a bounded function because IE sometimes throws\n // an \"Invalid calling object\" error if rAF is invoked without the global\n // object on the left hand side.\n return requestAnimationFrame.bind(global$1);\n }\n return function (callback) {\n return setTimeout(function () {\n return callback(Date.now());\n }, 1000 / 60);\n };\n}();\n\n// Defines minimum timeout before adding a trailing call.\nvar trailingTimeout = 2;\n/**\r\n * Creates a wrapper function which ensures that provided callback will be\r\n * invoked only once during the specified delay period.\r\n *\r\n * @param {Function} callback - Function to be invoked after the delay period.\r\n * @param {number} delay - Delay after which to invoke callback.\r\n * @returns {Function}\r\n */\nfunction throttle(callback, delay) {\n var leadingCall = false,\n trailingCall = false,\n lastCallTime = 0;\n /**\r\n * Invokes the original callback function and schedules new invocation if\r\n * the \"proxy\" was called during current request.\r\n *\r\n * @returns {void}\r\n */\n function resolvePending() {\n if (leadingCall) {\n leadingCall = false;\n callback();\n }\n if (trailingCall) {\n proxy();\n }\n }\n /**\r\n * Callback invoked after the specified delay. It will further postpone\r\n * invocation of the original function delegating it to the\r\n * requestAnimationFrame.\r\n *\r\n * @returns {void}\r\n */\n function timeoutCallback() {\n requestAnimationFrame$1(resolvePending);\n }\n /**\r\n * Schedules invocation of the original function.\r\n *\r\n * @returns {void}\r\n */\n function proxy() {\n var timeStamp = Date.now();\n if (leadingCall) {\n // Reject immediately following calls.\n if (timeStamp - lastCallTime < trailingTimeout) {\n return;\n }\n // Schedule new call to be in invoked when the pending one is resolved.\n // This is important for \"transitions\" which never actually start\n // immediately so there is a chance that we might miss one if change\n // happens amids the pending invocation.\n trailingCall = true;\n } else {\n leadingCall = true;\n trailingCall = false;\n setTimeout(timeoutCallback, delay);\n }\n lastCallTime = timeStamp;\n }\n return proxy;\n}\n\n// Minimum delay before invoking the update of observers.\nvar REFRESH_DELAY = 20;\n// A list of substrings of CSS properties used to find transition events that\n// might affect dimensions of observed elements.\nvar transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight'];\n// Check if MutationObserver is available.\nvar mutationObserverSupported = typeof MutationObserver !== 'undefined';\n/**\r\n * Singleton controller class which handles updates of ResizeObserver instances.\r\n */\nvar ResizeObserverController = /** @class */function () {\n /**\r\n * Creates a new instance of ResizeObserverController.\r\n *\r\n * @private\r\n */\n function ResizeObserverController() {\n /**\r\n * Indicates whether DOM listeners have been added.\r\n *\r\n * @private {boolean}\r\n */\n this.connected_ = false;\n /**\r\n * Tells that controller has subscribed for Mutation Events.\r\n *\r\n * @private {boolean}\r\n */\n this.mutationEventsAdded_ = false;\n /**\r\n * Keeps reference to the instance of MutationObserver.\r\n *\r\n * @private {MutationObserver}\r\n */\n this.mutationsObserver_ = null;\n /**\r\n * A list of connected observers.\r\n *\r\n * @private {Array}\r\n */\n this.observers_ = [];\n this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);\n this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);\n }\n /**\r\n * Adds observer to observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be added.\r\n * @returns {void}\r\n */\n ResizeObserverController.prototype.addObserver = function (observer) {\n if (!~this.observers_.indexOf(observer)) {\n this.observers_.push(observer);\n }\n // Add listeners if they haven't been added yet.\n if (!this.connected_) {\n this.connect_();\n }\n };\n /**\r\n * Removes observer from observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be removed.\r\n * @returns {void}\r\n */\n ResizeObserverController.prototype.removeObserver = function (observer) {\n var observers = this.observers_;\n var index = observers.indexOf(observer);\n // Remove observer if it's present in registry.\n if (~index) {\n observers.splice(index, 1);\n }\n // Remove listeners if controller has no connected observers.\n if (!observers.length && this.connected_) {\n this.disconnect_();\n }\n };\n /**\r\n * Invokes the update of observers. It will continue running updates insofar\r\n * it detects changes.\r\n *\r\n * @returns {void}\r\n */\n ResizeObserverController.prototype.refresh = function () {\n var changesDetected = this.updateObservers_();\n // Continue running updates if changes have been detected as there might\n // be future ones caused by CSS transitions.\n if (changesDetected) {\n this.refresh();\n }\n };\n /**\r\n * Updates every observer from observers list and notifies them of queued\r\n * entries.\r\n *\r\n * @private\r\n * @returns {boolean} Returns \"true\" if any observer has detected changes in\r\n * dimensions of it's elements.\r\n */\n ResizeObserverController.prototype.updateObservers_ = function () {\n // Collect observers that have active observations.\n var activeObservers = this.observers_.filter(function (observer) {\n return observer.gatherActive(), observer.hasActive();\n });\n // Deliver notifications in a separate cycle in order to avoid any\n // collisions between observers, e.g. when multiple instances of\n // ResizeObserver are tracking the same element and the callback of one\n // of them changes content dimensions of the observed target. Sometimes\n // this may result in notifications being blocked for the rest of observers.\n activeObservers.forEach(function (observer) {\n return observer.broadcastActive();\n });\n return activeObservers.length > 0;\n };\n /**\r\n * Initializes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\n ResizeObserverController.prototype.connect_ = function () {\n // Do nothing if running in a non-browser environment or if listeners\n // have been already added.\n if (!isBrowser || this.connected_) {\n return;\n }\n // Subscription to the \"Transitionend\" event is used as a workaround for\n // delayed transitions. This way it's possible to capture at least the\n // final state of an element.\n document.addEventListener('transitionend', this.onTransitionEnd_);\n window.addEventListener('resize', this.refresh);\n if (mutationObserverSupported) {\n this.mutationsObserver_ = new MutationObserver(this.refresh);\n this.mutationsObserver_.observe(document, {\n attributes: true,\n childList: true,\n characterData: true,\n subtree: true\n });\n } else {\n document.addEventListener('DOMSubtreeModified', this.refresh);\n this.mutationEventsAdded_ = true;\n }\n this.connected_ = true;\n };\n /**\r\n * Removes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\n ResizeObserverController.prototype.disconnect_ = function () {\n // Do nothing if running in a non-browser environment or if listeners\n // have been already removed.\n if (!isBrowser || !this.connected_) {\n return;\n }\n document.removeEventListener('transitionend', this.onTransitionEnd_);\n window.removeEventListener('resize', this.refresh);\n if (this.mutationsObserver_) {\n this.mutationsObserver_.disconnect();\n }\n if (this.mutationEventsAdded_) {\n document.removeEventListener('DOMSubtreeModified', this.refresh);\n }\n this.mutationsObserver_ = null;\n this.mutationEventsAdded_ = false;\n this.connected_ = false;\n };\n /**\r\n * \"Transitionend\" event handler.\r\n *\r\n * @private\r\n * @param {TransitionEvent} event\r\n * @returns {void}\r\n */\n ResizeObserverController.prototype.onTransitionEnd_ = function (_a) {\n var _b = _a.propertyName,\n propertyName = _b === void 0 ? '' : _b;\n // Detect whether transition may affect dimensions of an element.\n var isReflowProperty = transitionKeys.some(function (key) {\n return !!~propertyName.indexOf(key);\n });\n if (isReflowProperty) {\n this.refresh();\n }\n };\n /**\r\n * Returns instance of the ResizeObserverController.\r\n *\r\n * @returns {ResizeObserverController}\r\n */\n ResizeObserverController.getInstance = function () {\n if (!this.instance_) {\n this.instance_ = new ResizeObserverController();\n }\n return this.instance_;\n };\n /**\r\n * Holds reference to the controller's instance.\r\n *\r\n * @private {ResizeObserverController}\r\n */\n ResizeObserverController.instance_ = null;\n return ResizeObserverController;\n}();\n\n/**\r\n * Defines non-writable/enumerable properties of the provided target object.\r\n *\r\n * @param {Object} target - Object for which to define properties.\r\n * @param {Object} props - Properties to be defined.\r\n * @returns {Object} Target object.\r\n */\nvar defineConfigurable = function (target, props) {\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\n var key = _a[_i];\n Object.defineProperty(target, key, {\n value: props[key],\n enumerable: false,\n writable: false,\n configurable: true\n });\n }\n return target;\n};\n\n/**\r\n * Returns the global object associated with provided element.\r\n *\r\n * @param {Object} target\r\n * @returns {Object}\r\n */\nvar getWindowOf = function (target) {\n // Assume that the element is an instance of Node, which means that it\n // has the \"ownerDocument\" property from which we can retrieve a\n // corresponding global object.\n var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView;\n // Return the local global object if it's not possible extract one from\n // provided element.\n return ownerGlobal || global$1;\n};\n\n// Placeholder of an empty content rectangle.\nvar emptyRect = createRectInit(0, 0, 0, 0);\n/**\r\n * Converts provided string to a number.\r\n *\r\n * @param {number|string} value\r\n * @returns {number}\r\n */\nfunction toFloat(value) {\n return parseFloat(value) || 0;\n}\n/**\r\n * Extracts borders size from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @param {...string} positions - Borders positions (top, right, ...)\r\n * @returns {number}\r\n */\nfunction getBordersSize(styles) {\n var positions = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n positions[_i - 1] = arguments[_i];\n }\n return positions.reduce(function (size, position) {\n var value = styles['border-' + position + '-width'];\n return size + toFloat(value);\n }, 0);\n}\n/**\r\n * Extracts paddings sizes from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @returns {Object} Paddings box.\r\n */\nfunction getPaddings(styles) {\n var positions = ['top', 'right', 'bottom', 'left'];\n var paddings = {};\n for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {\n var position = positions_1[_i];\n var value = styles['padding-' + position];\n paddings[position] = toFloat(value);\n }\n return paddings;\n}\n/**\r\n * Calculates content rectangle of provided SVG element.\r\n *\r\n * @param {SVGGraphicsElement} target - Element content rectangle of which needs\r\n * to be calculated.\r\n * @returns {DOMRectInit}\r\n */\nfunction getSVGContentRect(target) {\n var bbox = target.getBBox();\n return createRectInit(0, 0, bbox.width, bbox.height);\n}\n/**\r\n * Calculates content rectangle of provided HTMLElement.\r\n *\r\n * @param {HTMLElement} target - Element for which to calculate the content rectangle.\r\n * @returns {DOMRectInit}\r\n */\nfunction getHTMLElementContentRect(target) {\n // Client width & height properties can't be\n // used exclusively as they provide rounded values.\n var clientWidth = target.clientWidth,\n clientHeight = target.clientHeight;\n // By this condition we can catch all non-replaced inline, hidden and\n // detached elements. Though elements with width & height properties less\n // than 0.5 will be discarded as well.\n //\n // Without it we would need to implement separate methods for each of\n // those cases and it's not possible to perform a precise and performance\n // effective test for hidden elements. E.g. even jQuery's ':visible' filter\n // gives wrong results for elements with width & height less than 0.5.\n if (!clientWidth && !clientHeight) {\n return emptyRect;\n }\n var styles = getWindowOf(target).getComputedStyle(target);\n var paddings = getPaddings(styles);\n var horizPad = paddings.left + paddings.right;\n var vertPad = paddings.top + paddings.bottom;\n // Computed styles of width & height are being used because they are the\n // only dimensions available to JS that contain non-rounded values. It could\n // be possible to utilize the getBoundingClientRect if only it's data wasn't\n // affected by CSS transformations let alone paddings, borders and scroll bars.\n var width = toFloat(styles.width),\n height = toFloat(styles.height);\n // Width & height include paddings and borders when the 'border-box' box\n // model is applied (except for IE).\n if (styles.boxSizing === 'border-box') {\n // Following conditions are required to handle Internet Explorer which\n // doesn't include paddings and borders to computed CSS dimensions.\n //\n // We can say that if CSS dimensions + paddings are equal to the \"client\"\n // properties then it's either IE, and thus we don't need to subtract\n // anything, or an element merely doesn't have paddings/borders styles.\n if (Math.round(width + horizPad) !== clientWidth) {\n width -= getBordersSize(styles, 'left', 'right') + horizPad;\n }\n if (Math.round(height + vertPad) !== clientHeight) {\n height -= getBordersSize(styles, 'top', 'bottom') + vertPad;\n }\n }\n // Following steps can't be applied to the document's root element as its\n // client[Width/Height] properties represent viewport area of the window.\n // Besides, it's as well not necessary as the itself neither has\n // rendered scroll bars nor it can be clipped.\n if (!isDocumentElement(target)) {\n // In some browsers (only in Firefox, actually) CSS width & height\n // include scroll bars size which can be removed at this step as scroll\n // bars are the only difference between rounded dimensions + paddings\n // and \"client\" properties, though that is not always true in Chrome.\n var vertScrollbar = Math.round(width + horizPad) - clientWidth;\n var horizScrollbar = Math.round(height + vertPad) - clientHeight;\n // Chrome has a rather weird rounding of \"client\" properties.\n // E.g. for an element with content width of 314.2px it sometimes gives\n // the client width of 315px and for the width of 314.7px it may give\n // 314px. And it doesn't happen all the time. So just ignore this delta\n // as a non-relevant.\n if (Math.abs(vertScrollbar) !== 1) {\n width -= vertScrollbar;\n }\n if (Math.abs(horizScrollbar) !== 1) {\n height -= horizScrollbar;\n }\n }\n return createRectInit(paddings.left, paddings.top, width, height);\n}\n/**\r\n * Checks whether provided element is an instance of the SVGGraphicsElement.\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\nvar isSVGGraphicsElement = function () {\n // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement\n // interface.\n if (typeof SVGGraphicsElement !== 'undefined') {\n return function (target) {\n return target instanceof getWindowOf(target).SVGGraphicsElement;\n };\n }\n // If it's so, then check that element is at least an instance of the\n // SVGElement and that it has the \"getBBox\" method.\n // eslint-disable-next-line no-extra-parens\n return function (target) {\n return target instanceof getWindowOf(target).SVGElement && typeof target.getBBox === 'function';\n };\n}();\n/**\r\n * Checks whether provided element is a document element ().\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\nfunction isDocumentElement(target) {\n return target === getWindowOf(target).document.documentElement;\n}\n/**\r\n * Calculates an appropriate content rectangle for provided html or svg element.\r\n *\r\n * @param {Element} target - Element content rectangle of which needs to be calculated.\r\n * @returns {DOMRectInit}\r\n */\nfunction getContentRect(target) {\n if (!isBrowser) {\n return emptyRect;\n }\n if (isSVGGraphicsElement(target)) {\n return getSVGContentRect(target);\n }\n return getHTMLElementContentRect(target);\n}\n/**\r\n * Creates rectangle with an interface of the DOMRectReadOnly.\r\n * Spec: https://drafts.fxtf.org/geometry/#domrectreadonly\r\n *\r\n * @param {DOMRectInit} rectInit - Object with rectangle's x/y coordinates and dimensions.\r\n * @returns {DOMRectReadOnly}\r\n */\nfunction createReadOnlyRect(_a) {\n var x = _a.x,\n y = _a.y,\n width = _a.width,\n height = _a.height;\n // If DOMRectReadOnly is available use it as a prototype for the rectangle.\n var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;\n var rect = Object.create(Constr.prototype);\n // Rectangle's properties are not writable and non-enumerable.\n defineConfigurable(rect, {\n x: x,\n y: y,\n width: width,\n height: height,\n top: y,\n right: x + width,\n bottom: height + y,\n left: x\n });\n return rect;\n}\n/**\r\n * Creates DOMRectInit object based on the provided dimensions and the x/y coordinates.\r\n * Spec: https://drafts.fxtf.org/geometry/#dictdef-domrectinit\r\n *\r\n * @param {number} x - X coordinate.\r\n * @param {number} y - Y coordinate.\r\n * @param {number} width - Rectangle's width.\r\n * @param {number} height - Rectangle's height.\r\n * @returns {DOMRectInit}\r\n */\nfunction createRectInit(x, y, width, height) {\n return {\n x: x,\n y: y,\n width: width,\n height: height\n };\n}\n\n/**\r\n * Class that is responsible for computations of the content rectangle of\r\n * provided DOM element and for keeping track of it's changes.\r\n */\nvar ResizeObservation = /** @class */function () {\n /**\r\n * Creates an instance of ResizeObservation.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n */\n function ResizeObservation(target) {\n /**\r\n * Broadcasted width of content rectangle.\r\n *\r\n * @type {number}\r\n */\n this.broadcastWidth = 0;\n /**\r\n * Broadcasted height of content rectangle.\r\n *\r\n * @type {number}\r\n */\n this.broadcastHeight = 0;\n /**\r\n * Reference to the last observed content rectangle.\r\n *\r\n * @private {DOMRectInit}\r\n */\n this.contentRect_ = createRectInit(0, 0, 0, 0);\n this.target = target;\n }\n /**\r\n * Updates content rectangle and tells whether it's width or height properties\r\n * have changed since the last broadcast.\r\n *\r\n * @returns {boolean}\r\n */\n ResizeObservation.prototype.isActive = function () {\n var rect = getContentRect(this.target);\n this.contentRect_ = rect;\n return rect.width !== this.broadcastWidth || rect.height !== this.broadcastHeight;\n };\n /**\r\n * Updates 'broadcastWidth' and 'broadcastHeight' properties with a data\r\n * from the corresponding properties of the last observed content rectangle.\r\n *\r\n * @returns {DOMRectInit} Last observed content rectangle.\r\n */\n ResizeObservation.prototype.broadcastRect = function () {\n var rect = this.contentRect_;\n this.broadcastWidth = rect.width;\n this.broadcastHeight = rect.height;\n return rect;\n };\n return ResizeObservation;\n}();\nvar ResizeObserverEntry = /** @class */function () {\n /**\r\n * Creates an instance of ResizeObserverEntry.\r\n *\r\n * @param {Element} target - Element that is being observed.\r\n * @param {DOMRectInit} rectInit - Data of the element's content rectangle.\r\n */\n function ResizeObserverEntry(target, rectInit) {\n var contentRect = createReadOnlyRect(rectInit);\n // According to the specification following properties are not writable\n // and are also not enumerable in the native implementation.\n //\n // Property accessors are not being used as they'd require to define a\n // private WeakMap storage which may cause memory leaks in browsers that\n // don't support this type of collections.\n defineConfigurable(this, {\n target: target,\n contentRect: contentRect\n });\n }\n return ResizeObserverEntry;\n}();\nvar ResizeObserverSPI = /** @class */function () {\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback function that is invoked\r\n * when one of the observed elements changes it's content dimensions.\r\n * @param {ResizeObserverController} controller - Controller instance which\r\n * is responsible for the updates of observer.\r\n * @param {ResizeObserver} callbackCtx - Reference to the public\r\n * ResizeObserver instance which will be passed to callback function.\r\n */\n function ResizeObserverSPI(callback, controller, callbackCtx) {\n /**\r\n * Collection of resize observations that have detected changes in dimensions\r\n * of elements.\r\n *\r\n * @private {Array}\r\n */\n this.activeObservations_ = [];\n /**\r\n * Registry of the ResizeObservation instances.\r\n *\r\n * @private {Map}\r\n */\n this.observations_ = new MapShim();\n if (typeof callback !== 'function') {\n throw new TypeError('The callback provided as parameter 1 is not a function.');\n }\n this.callback_ = callback;\n this.controller_ = controller;\n this.callbackCtx_ = callbackCtx;\n }\n /**\r\n * Starts observing provided element.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n * @returns {void}\r\n */\n ResizeObserverSPI.prototype.observe = function (target) {\n if (!arguments.length) {\n throw new TypeError('1 argument required, but only 0 present.');\n }\n // Do nothing if current environment doesn't have the Element interface.\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\n return;\n }\n if (!(target instanceof getWindowOf(target).Element)) {\n throw new TypeError('parameter 1 is not of type \"Element\".');\n }\n var observations = this.observations_;\n // Do nothing if element is already being observed.\n if (observations.has(target)) {\n return;\n }\n observations.set(target, new ResizeObservation(target));\n this.controller_.addObserver(this);\n // Force the update of observations.\n this.controller_.refresh();\n };\n /**\r\n * Stops observing provided element.\r\n *\r\n * @param {Element} target - Element to stop observing.\r\n * @returns {void}\r\n */\n ResizeObserverSPI.prototype.unobserve = function (target) {\n if (!arguments.length) {\n throw new TypeError('1 argument required, but only 0 present.');\n }\n // Do nothing if current environment doesn't have the Element interface.\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\n return;\n }\n if (!(target instanceof getWindowOf(target).Element)) {\n throw new TypeError('parameter 1 is not of type \"Element\".');\n }\n var observations = this.observations_;\n // Do nothing if element is not being observed.\n if (!observations.has(target)) {\n return;\n }\n observations.delete(target);\n if (!observations.size) {\n this.controller_.removeObserver(this);\n }\n };\n /**\r\n * Stops observing all elements.\r\n *\r\n * @returns {void}\r\n */\n ResizeObserverSPI.prototype.disconnect = function () {\n this.clearActive();\n this.observations_.clear();\n this.controller_.removeObserver(this);\n };\n /**\r\n * Collects observation instances the associated element of which has changed\r\n * it's content rectangle.\r\n *\r\n * @returns {void}\r\n */\n ResizeObserverSPI.prototype.gatherActive = function () {\n var _this = this;\n this.clearActive();\n this.observations_.forEach(function (observation) {\n if (observation.isActive()) {\n _this.activeObservations_.push(observation);\n }\n });\n };\n /**\r\n * Invokes initial callback function with a list of ResizeObserverEntry\r\n * instances collected from active resize observations.\r\n *\r\n * @returns {void}\r\n */\n ResizeObserverSPI.prototype.broadcastActive = function () {\n // Do nothing if observer doesn't have active observations.\n if (!this.hasActive()) {\n return;\n }\n var ctx = this.callbackCtx_;\n // Create ResizeObserverEntry instance for every active observation.\n var entries = this.activeObservations_.map(function (observation) {\n return new ResizeObserverEntry(observation.target, observation.broadcastRect());\n });\n this.callback_.call(ctx, entries, ctx);\n this.clearActive();\n };\n /**\r\n * Clears the collection of active observations.\r\n *\r\n * @returns {void}\r\n */\n ResizeObserverSPI.prototype.clearActive = function () {\n this.activeObservations_.splice(0);\n };\n /**\r\n * Tells whether observer has active observations.\r\n *\r\n * @returns {boolean}\r\n */\n ResizeObserverSPI.prototype.hasActive = function () {\n return this.activeObservations_.length > 0;\n };\n return ResizeObserverSPI;\n}();\n\n// Registry of internal observers. If WeakMap is not available use current shim\n// for the Map collection as it has all required methods and because WeakMap\n// can't be fully polyfilled anyway.\nvar observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();\n/**\r\n * ResizeObserver API. Encapsulates the ResizeObserver SPI implementation\r\n * exposing only those methods and properties that are defined in the spec.\r\n */\nvar ResizeObserver = /** @class */function () {\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback that is invoked when\r\n * dimensions of the observed elements change.\r\n */\n function ResizeObserver(callback) {\n if (!(this instanceof ResizeObserver)) {\n throw new TypeError('Cannot call a class as a function.');\n }\n if (!arguments.length) {\n throw new TypeError('1 argument required, but only 0 present.');\n }\n var controller = ResizeObserverController.getInstance();\n var observer = new ResizeObserverSPI(callback, controller, this);\n observers.set(this, observer);\n }\n return ResizeObserver;\n}();\n// Expose public methods of ResizeObserver.\n['observe', 'unobserve', 'disconnect'].forEach(function (method) {\n ResizeObserver.prototype[method] = function () {\n var _a;\n return (_a = observers.get(this))[method].apply(_a, arguments);\n };\n});\nvar index = function () {\n // Export existing implementation if available.\n if (typeof global$1.ResizeObserver !== 'undefined') {\n return global$1.ResizeObserver;\n }\n return ResizeObserver;\n}();\nexport default index;","var createWrap = require('./_createWrap'),\n flatRest = require('./_flatRest');\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_REARG_FLAG = 256;\n\n/**\n * Creates a function that invokes `func` with arguments arranged according\n * to the specified `indexes` where the argument value at the first index is\n * provided as the first argument, the argument value at the second index is\n * provided as the second argument, and so on.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} func The function to rearrange arguments for.\n * @param {...(number|number[])} indexes The arranged argument indexes.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var rearged = _.rearg(function(a, b, c) {\n * return [a, b, c];\n * }, [2, 0, 1]);\n *\n * rearged('b', 'c', 'a')\n * // => ['a', 'b', 'c']\n */\nvar rearg = flatRest(function(func, indexes) {\n return createWrap(func, WRAP_REARG_FLAG, undefined, undefined, undefined, indexes);\n});\n\nmodule.exports = rearg;\n","require(\"core-js/modules/es.regexp.flags.js\");\n/* global Map:readonly, Set:readonly, ArrayBuffer:readonly */\n\nvar hasElementType = typeof Element !== 'undefined';\nvar hasMap = typeof Map === 'function';\nvar hasSet = typeof Set === 'function';\nvar hasArrayBuffer = typeof ArrayBuffer === 'function' && !!ArrayBuffer.isView;\n\n// Note: We **don't** need `envHasBigInt64Array` in fde es6/index.js\n\nfunction equal(a, b) {\n // START: fast-deep-equal es6/index.js 3.1.3\n if (a === b) return true;\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;) if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n // START: Modifications:\n // 1. Extra `has &&` helpers in initial condition allow es6 code\n // to co-exist with es5.\n // 2. Replace `for of` with es5 compliant iteration using `for`.\n // Basically, take:\n //\n // ```js\n // for (i of a.entries())\n // if (!b.has(i[0])) return false;\n // ```\n //\n // ... and convert to:\n //\n // ```js\n // it = a.entries();\n // while (!(i = it.next()).done)\n // if (!b.has(i.value[0])) return false;\n // ```\n //\n // **Note**: `i` access switches to `i.value`.\n var it;\n if (hasMap && a instanceof Map && b instanceof Map) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done) if (!b.has(i.value[0])) return false;\n it = a.entries();\n while (!(i = it.next()).done) if (!equal(i.value[1], b.get(i.value[0]))) return false;\n return true;\n }\n if (hasSet && a instanceof Set && b instanceof Set) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done) if (!b.has(i.value[0])) return false;\n return true;\n }\n // END: Modifications\n\n if (hasArrayBuffer && ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;) if (a[i] !== b[i]) return false;\n return true;\n }\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n // START: Modifications:\n // Apply guards for `Object.create(null)` handling. See:\n // - https://github.com/FormidableLabs/react-fast-compare/issues/64\n // - https://github.com/epoberezkin/fast-deep-equal/issues/49\n if (a.valueOf !== Object.prototype.valueOf && typeof a.valueOf === 'function' && typeof b.valueOf === 'function') return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString && typeof a.toString === 'function' && typeof b.toString === 'function') return a.toString() === b.toString();\n // END: Modifications\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n for (i = length; i-- !== 0;) if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n // END: fast-deep-equal\n\n // START: react-fast-compare\n // custom handling for DOM elements\n if (hasElementType && a instanceof Element) return false;\n\n // custom handling for React/Preact\n for (i = length; i-- !== 0;) {\n if ((keys[i] === '_owner' || keys[i] === '__v' || keys[i] === '__o') && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner\n // Preact-specific: avoid traversing Preact elements' __v and __o\n // __v = $_original / $_vnode\n // __o = $_owner\n // These properties contain circular references and are not needed when\n // comparing the actual elements (and not their owners)\n // .$$typeof and ._store on just reasonable markers of elements\n\n continue;\n }\n\n // all other properties should be traversed as usual\n if (!equal(a[keys[i]], b[keys[i]])) return false;\n }\n // END: react-fast-compare\n\n // START: fast-deep-equal\n return true;\n }\n return a !== a && b !== b;\n}\n// end fast-deep-equal\n\nmodule.exports = function isEqual(a, b) {\n try {\n return equal(a, b);\n } catch (error) {\n if ((error.message || '').match(/stack|recursion/i)) {\n // warn on circular references, don't crash\n // browsers give this different errors name and messages:\n // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n // firefox: \"InternalError\", too much recursion\"\n // edge: \"Error\", \"Out of stack space\"\n console.warn('react-fast-compare cannot handle circular refs');\n return false;\n }\n // some other error. we should definitely know about these\n throw error;\n }\n};","const set = require('regenerate')(0x1107F);\nset.addRange(0x11000, 0x1104D).addRange(0x11052, 0x11075);\nmodule.exports = set;","const set = require('regenerate')(0xA92E);\nset.addRange(0x1000, 0x109F).addRange(0xA9E0, 0xA9FE).addRange(0xAA60, 0xAA7F);\nmodule.exports = set;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n};\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _react = require('react');\nvar _react2 = _interopRequireDefault(_react);\nvar _reactDom = require('react-dom');\nvar _reactDom2 = _interopRequireDefault(_reactDom);\nvar _propTypes = require('prop-types');\nvar _propTypes2 = _interopRequireDefault(_propTypes);\nvar _Context = require('./Context');\nvar _Content = require('./Content');\nvar _Content2 = _interopRequireDefault(_Content);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\nvar Frame = function (_Component) {\n _inherits(Frame, _Component);\n\n // React warns when you render directly into the body since browser extensions\n // also inject into the body and can mess up React. For this reason\n // initialContent is expected to have a div inside of the body\n // element that we render react into.\n function Frame(props, context) {\n _classCallCheck(this, Frame);\n var _this = _possibleConstructorReturn(this, (Frame.__proto__ || Object.getPrototypeOf(Frame)).call(this, props, context));\n _this.handleLoad = function () {\n _this.forceUpdate();\n };\n _this._isMounted = false;\n return _this;\n }\n _createClass(Frame, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n this._isMounted = true;\n var doc = this.getDoc();\n if (doc && doc.readyState === 'complete') {\n this.forceUpdate();\n } else {\n this.node.addEventListener('load', this.handleLoad);\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this._isMounted = false;\n this.node.removeEventListener('load', this.handleLoad);\n }\n }, {\n key: 'getDoc',\n value: function getDoc() {\n return this.node ? this.node.contentDocument : null; // eslint-disable-line\n }\n }, {\n key: 'getMountTarget',\n value: function getMountTarget() {\n var doc = this.getDoc();\n if (this.props.mountTarget) {\n return doc.querySelector(this.props.mountTarget);\n }\n return doc.body.children[0];\n }\n }, {\n key: 'renderFrameContents',\n value: function renderFrameContents() {\n if (!this._isMounted) {\n return null;\n }\n var doc = this.getDoc();\n if (!doc) {\n return null;\n }\n var contentDidMount = this.props.contentDidMount;\n var contentDidUpdate = this.props.contentDidUpdate;\n var win = doc.defaultView || doc.parentView;\n var contents = _react2.default.createElement(_Content2.default, {\n contentDidMount: contentDidMount,\n contentDidUpdate: contentDidUpdate\n }, _react2.default.createElement(_Context.FrameContextProvider, {\n value: {\n document: doc,\n window: win\n }\n }, _react2.default.createElement('div', {\n className: 'frame-content'\n }, this.props.children)));\n if (doc.body.children.length < 1) {\n doc.open('text/html', 'replace');\n doc.write(this.props.initialContent);\n doc.close();\n }\n var mountTarget = this.getMountTarget();\n return [_reactDom2.default.createPortal(this.props.head, this.getDoc().head), _reactDom2.default.createPortal(contents, mountTarget)];\n }\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n var props = _extends({}, this.props, {\n children: undefined // The iframe isn't ready so we drop children from props here. #12, #17\n });\n\n delete props.head;\n delete props.initialContent;\n delete props.mountTarget;\n delete props.contentDidMount;\n delete props.contentDidUpdate;\n return _react2.default.createElement('iframe', _extends({}, props, {\n ref: function ref(node) {\n _this2.node = node;\n }\n }), this.renderFrameContents());\n }\n }]);\n return Frame;\n}(_react.Component);\nFrame.propTypes = {\n style: _propTypes2.default.object,\n // eslint-disable-line\n head: _propTypes2.default.node,\n initialContent: _propTypes2.default.string,\n mountTarget: _propTypes2.default.string,\n contentDidMount: _propTypes2.default.func,\n contentDidUpdate: _propTypes2.default.func,\n children: _propTypes2.default.oneOfType([_propTypes2.default.element, _propTypes2.default.arrayOf(_propTypes2.default.element)])\n};\nFrame.defaultProps = {\n style: {},\n head: null,\n children: undefined,\n mountTarget: undefined,\n contentDidMount: function contentDidMount() {},\n contentDidUpdate: function contentDidUpdate() {},\n initialContent: '
    '\n};\nexports.default = Frame;","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","/**\n * Remove a prefix from a string. Return the input string if the given prefix\n * isn't found.\n */\n\nexport default function stripPrefix(str, prefix = ``) {\n if (!prefix) {\n return str\n }\n\n if (str === prefix) {\n return `/`\n }\n\n if (str.startsWith(`${prefix}/`)) {\n return str.slice(prefix.length)\n }\n\n return str\n}\n","const set = require('regenerate')();\nset.addRange(0x11600, 0x11644).addRange(0x11650, 0x11659);\nmodule.exports = set;","var baseClone = require('./_baseClone'),\n baseIteratee = require('./_baseIteratee');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1;\n\n/**\n * Creates a function that invokes `func` with the arguments of the created\n * function. If `func` is a property name, the created function returns the\n * property value for a given element. If `func` is an array or object, the\n * created function returns `true` for elements that contain the equivalent\n * source properties, otherwise it returns `false`.\n *\n * @static\n * @since 4.0.0\n * @memberOf _\n * @category Util\n * @param {*} [func=_.identity] The value to convert to a callback.\n * @returns {Function} Returns the callback.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * // The `_.matches` iteratee shorthand.\n * _.filter(users, _.iteratee({ 'user': 'barney', 'active': true }));\n * // => [{ 'user': 'barney', 'age': 36, 'active': true }]\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.filter(users, _.iteratee(['user', 'fred']));\n * // => [{ 'user': 'fred', 'age': 40 }]\n *\n * // The `_.property` iteratee shorthand.\n * _.map(users, _.iteratee('user'));\n * // => ['barney', 'fred']\n *\n * // Create custom iteratee shorthands.\n * _.iteratee = _.wrap(_.iteratee, function(iteratee, func) {\n * return !_.isRegExp(func) ? iteratee(func) : function(string) {\n * return func.test(string);\n * };\n * });\n *\n * _.filter(['abc', 'def'], /ef/);\n * // => ['def']\n */\nfunction iteratee(func) {\n return baseIteratee(typeof func == 'function' ? func : baseClone(func, CLONE_DEEP_FLAG));\n}\n\nmodule.exports = iteratee;\n","// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nmodule.exports = function (object, key, method) {\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));\n } catch (error) { /* empty */ }\n};\n","var createBaseFor = require('./_createBaseFor');\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n","\"use strict\";\n\nexports.__esModule = true;\nexports.parsePath = parsePath;\n\nfunction parsePath(path) {\n var pathname = path || \"/\";\n var search = \"\";\n var hash = \"\";\n var hashIndex = pathname.indexOf(\"#\");\n\n if (hashIndex !== -1) {\n hash = pathname.substr(hashIndex);\n pathname = pathname.substr(0, hashIndex);\n }\n\n var searchIndex = pathname.indexOf(\"?\");\n\n if (searchIndex !== -1) {\n search = pathname.substr(searchIndex);\n pathname = pathname.substr(0, searchIndex);\n }\n\n return {\n pathname: pathname,\n search: search === \"?\" ? \"\" : search,\n hash: hash === \"#\" ? \"\" : hash\n };\n}","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nmodule.exports = constant;\n","const set = require('regenerate')();\nset.addRange(0xA500, 0xA62B);\nmodule.exports = set;","// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","const set = require('regenerate')(0xA95F);\nset.addRange(0xA930, 0xA953);\nmodule.exports = set;","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","const set = require('regenerate')(0xAA, 0xBA, 0x2071, 0x207F, 0x2132, 0x214E, 0xA7D3);\nset.addRange(0x41, 0x5A).addRange(0x61, 0x7A).addRange(0xC0, 0xD6).addRange(0xD8, 0xF6).addRange(0xF8, 0x2B8).addRange(0x2E0, 0x2E4).addRange(0x1D00, 0x1D25).addRange(0x1D2C, 0x1D5C).addRange(0x1D62, 0x1D65).addRange(0x1D6B, 0x1D77).addRange(0x1D79, 0x1DBE).addRange(0x1E00, 0x1EFF).addRange(0x2090, 0x209C).addRange(0x212A, 0x212B).addRange(0x2160, 0x2188).addRange(0x2C60, 0x2C7F).addRange(0xA722, 0xA787).addRange(0xA78B, 0xA7CA).addRange(0xA7D0, 0xA7D1).addRange(0xA7D5, 0xA7D9).addRange(0xA7F2, 0xA7FF).addRange(0xAB30, 0xAB5A).addRange(0xAB5C, 0xAB64).addRange(0xAB66, 0xAB69).addRange(0xFB00, 0xFB06).addRange(0xFF21, 0xFF3A).addRange(0xFF41, 0xFF5A).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x1DF00, 0x1DF1E);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x14400, 0x14646);\nmodule.exports = set;","const set = require('regenerate')(0x16FE4);\nset.addRange(0x18B00, 0x18CD5);\nmodule.exports = set;","var Set = require('./_Set'),\n noop = require('./noop'),\n setToArray = require('./_setToArray');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Creates a set object of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\nvar createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n return new Set(values);\n};\n\nmodule.exports = createSet;\n","var isObject = require('./isObject');\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nmodule.exports = baseCreate;\n","/*! https://mths.be/regenerate v1.4.2 by @mathias | MIT license */\n;\n(function (root) {\n // Detect free variables `exports`.\n var freeExports = typeof exports == 'object' && exports;\n\n // Detect free variable `module`.\n var freeModule = typeof module == 'object' && module && module.exports == freeExports && module;\n\n // Detect free variable `global`, from Node.js/io.js or Browserified code,\n // and use it as `root`.\n var freeGlobal = typeof global == 'object' && global;\n if (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal) {\n root = freeGlobal;\n }\n\n /*--------------------------------------------------------------------------*/\n\n var ERRORS = {\n 'rangeOrder': 'A range\\u2019s `stop` value must be greater than or equal ' + 'to the `start` value.',\n 'codePointRange': 'Invalid code point value. Code points range from ' + 'U+000000 to U+10FFFF.'\n };\n\n // https://mathiasbynens.be/notes/javascript-encoding#surrogate-pairs\n var HIGH_SURROGATE_MIN = 0xD800;\n var HIGH_SURROGATE_MAX = 0xDBFF;\n var LOW_SURROGATE_MIN = 0xDC00;\n var LOW_SURROGATE_MAX = 0xDFFF;\n\n // In Regenerate output, `\\0` is never preceded by `\\` because we sort by\n // code point value, so let’s keep this regular expression simple.\n var regexNull = /\\\\x00([^0123456789]|$)/g;\n var object = {};\n var hasOwnProperty = object.hasOwnProperty;\n var extend = function (destination, source) {\n var key;\n for (key in source) {\n if (hasOwnProperty.call(source, key)) {\n destination[key] = source[key];\n }\n }\n return destination;\n };\n var forEach = function (array, callback) {\n var index = -1;\n var length = array.length;\n while (++index < length) {\n callback(array[index], index);\n }\n };\n var toString = object.toString;\n var isArray = function (value) {\n return toString.call(value) == '[object Array]';\n };\n var isNumber = function (value) {\n return typeof value == 'number' || toString.call(value) == '[object Number]';\n };\n\n // This assumes that `number` is a positive integer that `toString()`s nicely\n // (which is the case for all code point values).\n var zeroes = '0000';\n var pad = function (number, totalCharacters) {\n var string = String(number);\n return string.length < totalCharacters ? (zeroes + string).slice(-totalCharacters) : string;\n };\n var hex = function (number) {\n return Number(number).toString(16).toUpperCase();\n };\n var slice = [].slice;\n\n /*--------------------------------------------------------------------------*/\n\n var dataFromCodePoints = function (codePoints) {\n var index = -1;\n var length = codePoints.length;\n var max = length - 1;\n var result = [];\n var isStart = true;\n var tmp;\n var previous = 0;\n while (++index < length) {\n tmp = codePoints[index];\n if (isStart) {\n result.push(tmp);\n previous = tmp;\n isStart = false;\n } else {\n if (tmp == previous + 1) {\n if (index != max) {\n previous = tmp;\n continue;\n } else {\n isStart = true;\n result.push(tmp + 1);\n }\n } else {\n // End the previous range and start a new one.\n result.push(previous + 1, tmp);\n previous = tmp;\n }\n }\n }\n if (!isStart) {\n result.push(tmp + 1);\n }\n return result;\n };\n var dataRemove = function (data, codePoint) {\n // Iterate over the data per `(start, end)` pair.\n var index = 0;\n var start;\n var end;\n var length = data.length;\n while (index < length) {\n start = data[index];\n end = data[index + 1];\n if (codePoint >= start && codePoint < end) {\n // Modify this pair.\n if (codePoint == start) {\n if (end == start + 1) {\n // Just remove `start` and `end`.\n data.splice(index, 2);\n return data;\n } else {\n // Just replace `start` with a new value.\n data[index] = codePoint + 1;\n return data;\n }\n } else if (codePoint == end - 1) {\n // Just replace `end` with a new value.\n data[index + 1] = codePoint;\n return data;\n } else {\n // Replace `[start, end]` with `[startA, endA, startB, endB]`.\n data.splice(index, 2, start, codePoint, codePoint + 1, end);\n return data;\n }\n }\n index += 2;\n }\n return data;\n };\n var dataRemoveRange = function (data, rangeStart, rangeEnd) {\n if (rangeEnd < rangeStart) {\n throw Error(ERRORS.rangeOrder);\n }\n // Iterate over the data per `(start, end)` pair.\n var index = 0;\n var start;\n var end;\n while (index < data.length) {\n start = data[index];\n end = data[index + 1] - 1; // Note: the `- 1` makes `end` inclusive.\n\n // Exit as soon as no more matching pairs can be found.\n if (start > rangeEnd) {\n return data;\n }\n\n // Check if this range pair is equal to, or forms a subset of, the range\n // to be removed.\n // E.g. we have `[0, 11, 40, 51]` and want to remove 0-10 → `[40, 51]`.\n // E.g. we have `[40, 51]` and want to remove 0-100 → `[]`.\n if (rangeStart <= start && rangeEnd >= end) {\n // Remove this pair.\n data.splice(index, 2);\n continue;\n }\n\n // Check if both `rangeStart` and `rangeEnd` are within the bounds of\n // this pair.\n // E.g. we have `[0, 11]` and want to remove 4-6 → `[0, 4, 7, 11]`.\n if (rangeStart >= start && rangeEnd < end) {\n if (rangeStart == start) {\n // Replace `[start, end]` with `[startB, endB]`.\n data[index] = rangeEnd + 1;\n data[index + 1] = end + 1;\n return data;\n }\n // Replace `[start, end]` with `[startA, endA, startB, endB]`.\n data.splice(index, 2, start, rangeStart, rangeEnd + 1, end + 1);\n return data;\n }\n\n // Check if only `rangeStart` is within the bounds of this pair.\n // E.g. we have `[0, 11]` and want to remove 4-20 → `[0, 4]`.\n if (rangeStart >= start && rangeStart <= end) {\n // Replace `end` with `rangeStart`.\n data[index + 1] = rangeStart;\n // Note: we cannot `return` just yet, in case any following pairs still\n // contain matching code points.\n // E.g. we have `[0, 11, 14, 31]` and want to remove 4-20\n // → `[0, 4, 21, 31]`.\n }\n\n // Check if only `rangeEnd` is within the bounds of this pair.\n // E.g. we have `[14, 31]` and want to remove 4-20 → `[21, 31]`.\n else if (rangeEnd >= start && rangeEnd <= end) {\n // Just replace `start`.\n data[index] = rangeEnd + 1;\n return data;\n }\n index += 2;\n }\n return data;\n };\n var dataAdd = function (data, codePoint) {\n // Iterate over the data per `(start, end)` pair.\n var index = 0;\n var start;\n var end;\n var lastIndex = null;\n var length = data.length;\n if (codePoint < 0x0 || codePoint > 0x10FFFF) {\n throw RangeError(ERRORS.codePointRange);\n }\n while (index < length) {\n start = data[index];\n end = data[index + 1];\n\n // Check if the code point is already in the set.\n if (codePoint >= start && codePoint < end) {\n return data;\n }\n if (codePoint == start - 1) {\n // Just replace `start` with a new value.\n data[index] = codePoint;\n return data;\n }\n\n // At this point, if `start` is `greater` than `codePoint`, insert a new\n // `[start, end]` pair before the current pair, or after the current pair\n // if there is a known `lastIndex`.\n if (start > codePoint) {\n data.splice(lastIndex != null ? lastIndex + 2 : 0, 0, codePoint, codePoint + 1);\n return data;\n }\n if (codePoint == end) {\n // Check if adding this code point causes two separate ranges to become\n // a single range, e.g. `dataAdd([0, 4, 5, 10], 4)` → `[0, 10]`.\n if (codePoint + 1 == data[index + 2]) {\n data.splice(index, 4, start, data[index + 3]);\n return data;\n }\n // Else, just replace `end` with a new value.\n data[index + 1] = codePoint + 1;\n return data;\n }\n lastIndex = index;\n index += 2;\n }\n // The loop has finished; add the new pair to the end of the data set.\n data.push(codePoint, codePoint + 1);\n return data;\n };\n var dataAddData = function (dataA, dataB) {\n // Iterate over the data per `(start, end)` pair.\n var index = 0;\n var start;\n var end;\n var data = dataA.slice();\n var length = dataB.length;\n while (index < length) {\n start = dataB[index];\n end = dataB[index + 1] - 1;\n if (start == end) {\n data = dataAdd(data, start);\n } else {\n data = dataAddRange(data, start, end);\n }\n index += 2;\n }\n return data;\n };\n var dataRemoveData = function (dataA, dataB) {\n // Iterate over the data per `(start, end)` pair.\n var index = 0;\n var start;\n var end;\n var data = dataA.slice();\n var length = dataB.length;\n while (index < length) {\n start = dataB[index];\n end = dataB[index + 1] - 1;\n if (start == end) {\n data = dataRemove(data, start);\n } else {\n data = dataRemoveRange(data, start, end);\n }\n index += 2;\n }\n return data;\n };\n var dataAddRange = function (data, rangeStart, rangeEnd) {\n if (rangeEnd < rangeStart) {\n throw Error(ERRORS.rangeOrder);\n }\n if (rangeStart < 0x0 || rangeStart > 0x10FFFF || rangeEnd < 0x0 || rangeEnd > 0x10FFFF) {\n throw RangeError(ERRORS.codePointRange);\n }\n // Iterate over the data per `(start, end)` pair.\n var index = 0;\n var start;\n var end;\n var added = false;\n var length = data.length;\n while (index < length) {\n start = data[index];\n end = data[index + 1];\n if (added) {\n // The range has already been added to the set; at this point, we just\n // need to get rid of the following ranges in case they overlap.\n\n // Check if this range can be combined with the previous range.\n if (start == rangeEnd + 1) {\n data.splice(index - 1, 2);\n return data;\n }\n\n // Exit as soon as no more possibly overlapping pairs can be found.\n if (start > rangeEnd) {\n return data;\n }\n\n // E.g. `[0, 11, 12, 16]` and we’ve added 5-15, so we now have\n // `[0, 16, 12, 16]`. Remove the `12,16` part, as it lies within the\n // `0,16` range that was previously added.\n if (start >= rangeStart && start <= rangeEnd) {\n // `start` lies within the range that was previously added.\n\n if (end > rangeStart && end - 1 <= rangeEnd) {\n // `end` lies within the range that was previously added as well,\n // so remove this pair.\n data.splice(index, 2);\n index -= 2;\n // Note: we cannot `return` just yet, as there may still be other\n // overlapping pairs.\n } else {\n // `start` lies within the range that was previously added, but\n // `end` doesn’t. E.g. `[0, 11, 12, 31]` and we’ve added 5-15, so\n // now we have `[0, 16, 12, 31]`. This must be written as `[0, 31]`.\n // Remove the previously added `end` and the current `start`.\n data.splice(index - 1, 2);\n index -= 2;\n }\n\n // Note: we cannot return yet.\n }\n } else if (start == rangeEnd + 1 || start == rangeEnd) {\n data[index] = rangeStart;\n return data;\n }\n\n // Check if a new pair must be inserted *before* the current one.\n else if (start > rangeEnd) {\n data.splice(index, 0, rangeStart, rangeEnd + 1);\n return data;\n } else if (rangeStart >= start && rangeStart < end && rangeEnd + 1 <= end) {\n // The new range lies entirely within an existing range pair. No action\n // needed.\n return data;\n } else if (\n // E.g. `[0, 11]` and you add 5-15 → `[0, 16]`.\n rangeStart >= start && rangeStart < end ||\n // E.g. `[0, 3]` and you add 3-6 → `[0, 7]`.\n end == rangeStart) {\n // Replace `end` with the new value.\n data[index + 1] = rangeEnd + 1;\n // Make sure the next range pair doesn’t overlap, e.g. `[0, 11, 12, 14]`\n // and you add 5-15 → `[0, 16]`, i.e. remove the `12,14` part.\n added = true;\n // Note: we cannot `return` just yet.\n } else if (rangeStart <= start && rangeEnd + 1 >= end) {\n // The new range is a superset of the old range.\n data[index] = rangeStart;\n data[index + 1] = rangeEnd + 1;\n added = true;\n }\n index += 2;\n }\n // The loop has finished without doing anything; add the new pair to the end\n // of the data set.\n if (!added) {\n data.push(rangeStart, rangeEnd + 1);\n }\n return data;\n };\n var dataContains = function (data, codePoint) {\n var index = 0;\n var length = data.length;\n // Exit early if `codePoint` is not within `data`’s overall range.\n var start = data[index];\n var end = data[length - 1];\n if (length >= 2) {\n if (codePoint < start || codePoint > end) {\n return false;\n }\n }\n // Iterate over the data per `(start, end)` pair.\n while (index < length) {\n start = data[index];\n end = data[index + 1];\n if (codePoint >= start && codePoint < end) {\n return true;\n }\n index += 2;\n }\n return false;\n };\n var dataIntersection = function (data, codePoints) {\n var index = 0;\n var length = codePoints.length;\n var codePoint;\n var result = [];\n while (index < length) {\n codePoint = codePoints[index];\n if (dataContains(data, codePoint)) {\n result.push(codePoint);\n }\n ++index;\n }\n return dataFromCodePoints(result);\n };\n var dataIsEmpty = function (data) {\n return !data.length;\n };\n var dataIsSingleton = function (data) {\n // Check if the set only represents a single code point.\n return data.length == 2 && data[0] + 1 == data[1];\n };\n var dataToArray = function (data) {\n // Iterate over the data per `(start, end)` pair.\n var index = 0;\n var start;\n var end;\n var result = [];\n var length = data.length;\n while (index < length) {\n start = data[index];\n end = data[index + 1];\n while (start < end) {\n result.push(start);\n ++start;\n }\n index += 2;\n }\n return result;\n };\n\n /*--------------------------------------------------------------------------*/\n\n // https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n var floor = Math.floor;\n var highSurrogate = function (codePoint) {\n return parseInt(floor((codePoint - 0x10000) / 0x400) + HIGH_SURROGATE_MIN, 10);\n };\n var lowSurrogate = function (codePoint) {\n return parseInt((codePoint - 0x10000) % 0x400 + LOW_SURROGATE_MIN, 10);\n };\n var stringFromCharCode = String.fromCharCode;\n var codePointToString = function (codePoint) {\n var string;\n // https://mathiasbynens.be/notes/javascript-escapes#single\n // Note: the `\\b` escape sequence for U+0008 BACKSPACE in strings has a\n // different meaning in regular expressions (word boundary), so it cannot\n // be used here.\n if (codePoint == 0x09) {\n string = '\\\\t';\n }\n // Note: IE < 9 treats `'\\v'` as `'v'`, so avoid using it.\n // else if (codePoint == 0x0B) {\n // \tstring = '\\\\v';\n // }\n else if (codePoint == 0x0A) {\n string = '\\\\n';\n } else if (codePoint == 0x0C) {\n string = '\\\\f';\n } else if (codePoint == 0x0D) {\n string = '\\\\r';\n } else if (codePoint == 0x2D) {\n // https://mathiasbynens.be/notes/javascript-escapes#hexadecimal\n // Note: `-` (U+002D HYPHEN-MINUS) is escaped in this way rather\n // than by backslash-escaping, in case the output is used outside\n // of a character class in a `u` RegExp. /\\-/u throws, but\n // /\\x2D/u is fine.\n string = '\\\\x2D';\n } else if (codePoint == 0x5C) {\n string = '\\\\\\\\';\n } else if (codePoint == 0x24 || codePoint >= 0x28 && codePoint <= 0x2B || codePoint == 0x2E || codePoint == 0x2F || codePoint == 0x3F || codePoint >= 0x5B && codePoint <= 0x5E || codePoint >= 0x7B && codePoint <= 0x7D) {\n // The code point maps to an unsafe printable ASCII character;\n // backslash-escape it. Here’s the list of those symbols:\n //\n // $()*+./?[\\]^{|}\n //\n // This matches SyntaxCharacters as well as `/` (U+002F SOLIDUS).\n // https://tc39.github.io/ecma262/#prod-SyntaxCharacter\n string = '\\\\' + stringFromCharCode(codePoint);\n } else if (codePoint >= 0x20 && codePoint <= 0x7E) {\n // The code point maps to one of these printable ASCII symbols\n // (including the space character):\n //\n // !\"#%&',/0123456789:;<=>@ABCDEFGHIJKLMNO\n // PQRSTUVWXYZ_`abcdefghijklmnopqrstuvwxyz~\n //\n // These can safely be used directly.\n string = stringFromCharCode(codePoint);\n } else if (codePoint <= 0xFF) {\n string = '\\\\x' + pad(hex(codePoint), 2);\n } else {\n // `codePoint <= 0xFFFF` holds true.\n // https://mathiasbynens.be/notes/javascript-escapes#unicode\n string = '\\\\u' + pad(hex(codePoint), 4);\n }\n\n // There’s no need to account for astral symbols / surrogate pairs here,\n // since `codePointToString` is private and only used for BMP code points.\n // But if that’s what you need, just add an `else` block with this code:\n //\n // string = '\\\\u' + pad(hex(highSurrogate(codePoint)), 4)\n // \t+ '\\\\u' + pad(hex(lowSurrogate(codePoint)), 4);\n\n return string;\n };\n var codePointToStringUnicode = function (codePoint) {\n if (codePoint <= 0xFFFF) {\n return codePointToString(codePoint);\n }\n return '\\\\u{' + codePoint.toString(16).toUpperCase() + '}';\n };\n var symbolToCodePoint = function (symbol) {\n var length = symbol.length;\n var first = symbol.charCodeAt(0);\n var second;\n if (first >= HIGH_SURROGATE_MIN && first <= HIGH_SURROGATE_MAX && length > 1 // There is a next code unit.\n ) {\n // `first` is a high surrogate, and there is a next character. Assume\n // it’s a low surrogate (else it’s invalid usage of Regenerate anyway).\n second = symbol.charCodeAt(1);\n // https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n return (first - HIGH_SURROGATE_MIN) * 0x400 + second - LOW_SURROGATE_MIN + 0x10000;\n }\n return first;\n };\n var createBMPCharacterClasses = function (data) {\n // Iterate over the data per `(start, end)` pair.\n var result = '';\n var index = 0;\n var start;\n var end;\n var length = data.length;\n if (dataIsSingleton(data)) {\n return codePointToString(data[0]);\n }\n while (index < length) {\n start = data[index];\n end = data[index + 1] - 1; // Note: the `- 1` makes `end` inclusive.\n if (start == end) {\n result += codePointToString(start);\n } else if (start + 1 == end) {\n result += codePointToString(start) + codePointToString(end);\n } else {\n result += codePointToString(start) + '-' + codePointToString(end);\n }\n index += 2;\n }\n return '[' + result + ']';\n };\n var createUnicodeCharacterClasses = function (data) {\n // Iterate over the data per `(start, end)` pair.\n var result = '';\n var index = 0;\n var start;\n var end;\n var length = data.length;\n if (dataIsSingleton(data)) {\n return codePointToStringUnicode(data[0]);\n }\n while (index < length) {\n start = data[index];\n end = data[index + 1] - 1; // Note: the `- 1` makes `end` inclusive.\n if (start == end) {\n result += codePointToStringUnicode(start);\n } else if (start + 1 == end) {\n result += codePointToStringUnicode(start) + codePointToStringUnicode(end);\n } else {\n result += codePointToStringUnicode(start) + '-' + codePointToStringUnicode(end);\n }\n index += 2;\n }\n return '[' + result + ']';\n };\n var splitAtBMP = function (data) {\n // Iterate over the data per `(start, end)` pair.\n var loneHighSurrogates = [];\n var loneLowSurrogates = [];\n var bmp = [];\n var astral = [];\n var index = 0;\n var start;\n var end;\n var length = data.length;\n while (index < length) {\n start = data[index];\n end = data[index + 1] - 1; // Note: the `- 1` makes `end` inclusive.\n\n if (start < HIGH_SURROGATE_MIN) {\n // The range starts and ends before the high surrogate range.\n // E.g. (0, 0x10).\n if (end < HIGH_SURROGATE_MIN) {\n bmp.push(start, end + 1);\n }\n\n // The range starts before the high surrogate range and ends within it.\n // E.g. (0, 0xD855).\n if (end >= HIGH_SURROGATE_MIN && end <= HIGH_SURROGATE_MAX) {\n bmp.push(start, HIGH_SURROGATE_MIN);\n loneHighSurrogates.push(HIGH_SURROGATE_MIN, end + 1);\n }\n\n // The range starts before the high surrogate range and ends in the low\n // surrogate range. E.g. (0, 0xDCFF).\n if (end >= LOW_SURROGATE_MIN && end <= LOW_SURROGATE_MAX) {\n bmp.push(start, HIGH_SURROGATE_MIN);\n loneHighSurrogates.push(HIGH_SURROGATE_MIN, HIGH_SURROGATE_MAX + 1);\n loneLowSurrogates.push(LOW_SURROGATE_MIN, end + 1);\n }\n\n // The range starts before the high surrogate range and ends after the\n // low surrogate range. E.g. (0, 0x10FFFF).\n if (end > LOW_SURROGATE_MAX) {\n bmp.push(start, HIGH_SURROGATE_MIN);\n loneHighSurrogates.push(HIGH_SURROGATE_MIN, HIGH_SURROGATE_MAX + 1);\n loneLowSurrogates.push(LOW_SURROGATE_MIN, LOW_SURROGATE_MAX + 1);\n if (end <= 0xFFFF) {\n bmp.push(LOW_SURROGATE_MAX + 1, end + 1);\n } else {\n bmp.push(LOW_SURROGATE_MAX + 1, 0xFFFF + 1);\n astral.push(0xFFFF + 1, end + 1);\n }\n }\n } else if (start >= HIGH_SURROGATE_MIN && start <= HIGH_SURROGATE_MAX) {\n // The range starts and ends in the high surrogate range.\n // E.g. (0xD855, 0xD866).\n if (end >= HIGH_SURROGATE_MIN && end <= HIGH_SURROGATE_MAX) {\n loneHighSurrogates.push(start, end + 1);\n }\n\n // The range starts in the high surrogate range and ends in the low\n // surrogate range. E.g. (0xD855, 0xDCFF).\n if (end >= LOW_SURROGATE_MIN && end <= LOW_SURROGATE_MAX) {\n loneHighSurrogates.push(start, HIGH_SURROGATE_MAX + 1);\n loneLowSurrogates.push(LOW_SURROGATE_MIN, end + 1);\n }\n\n // The range starts in the high surrogate range and ends after the low\n // surrogate range. E.g. (0xD855, 0x10FFFF).\n if (end > LOW_SURROGATE_MAX) {\n loneHighSurrogates.push(start, HIGH_SURROGATE_MAX + 1);\n loneLowSurrogates.push(LOW_SURROGATE_MIN, LOW_SURROGATE_MAX + 1);\n if (end <= 0xFFFF) {\n bmp.push(LOW_SURROGATE_MAX + 1, end + 1);\n } else {\n bmp.push(LOW_SURROGATE_MAX + 1, 0xFFFF + 1);\n astral.push(0xFFFF + 1, end + 1);\n }\n }\n } else if (start >= LOW_SURROGATE_MIN && start <= LOW_SURROGATE_MAX) {\n // The range starts and ends in the low surrogate range.\n // E.g. (0xDCFF, 0xDDFF).\n if (end >= LOW_SURROGATE_MIN && end <= LOW_SURROGATE_MAX) {\n loneLowSurrogates.push(start, end + 1);\n }\n\n // The range starts in the low surrogate range and ends after the low\n // surrogate range. E.g. (0xDCFF, 0x10FFFF).\n if (end > LOW_SURROGATE_MAX) {\n loneLowSurrogates.push(start, LOW_SURROGATE_MAX + 1);\n if (end <= 0xFFFF) {\n bmp.push(LOW_SURROGATE_MAX + 1, end + 1);\n } else {\n bmp.push(LOW_SURROGATE_MAX + 1, 0xFFFF + 1);\n astral.push(0xFFFF + 1, end + 1);\n }\n }\n } else if (start > LOW_SURROGATE_MAX && start <= 0xFFFF) {\n // The range starts and ends after the low surrogate range.\n // E.g. (0xFFAA, 0x10FFFF).\n if (end <= 0xFFFF) {\n bmp.push(start, end + 1);\n } else {\n bmp.push(start, 0xFFFF + 1);\n astral.push(0xFFFF + 1, end + 1);\n }\n } else {\n // The range starts and ends in the astral range.\n astral.push(start, end + 1);\n }\n index += 2;\n }\n return {\n 'loneHighSurrogates': loneHighSurrogates,\n 'loneLowSurrogates': loneLowSurrogates,\n 'bmp': bmp,\n 'astral': astral\n };\n };\n var optimizeSurrogateMappings = function (surrogateMappings) {\n var result = [];\n var tmpLow = [];\n var addLow = false;\n var mapping;\n var nextMapping;\n var highSurrogates;\n var lowSurrogates;\n var nextHighSurrogates;\n var nextLowSurrogates;\n var index = -1;\n var length = surrogateMappings.length;\n while (++index < length) {\n mapping = surrogateMappings[index];\n nextMapping = surrogateMappings[index + 1];\n if (!nextMapping) {\n result.push(mapping);\n continue;\n }\n highSurrogates = mapping[0];\n lowSurrogates = mapping[1];\n nextHighSurrogates = nextMapping[0];\n nextLowSurrogates = nextMapping[1];\n\n // Check for identical high surrogate ranges.\n tmpLow = lowSurrogates;\n while (nextHighSurrogates && highSurrogates[0] == nextHighSurrogates[0] && highSurrogates[1] == nextHighSurrogates[1]) {\n // Merge with the next item.\n if (dataIsSingleton(nextLowSurrogates)) {\n tmpLow = dataAdd(tmpLow, nextLowSurrogates[0]);\n } else {\n tmpLow = dataAddRange(tmpLow, nextLowSurrogates[0], nextLowSurrogates[1] - 1);\n }\n ++index;\n mapping = surrogateMappings[index];\n highSurrogates = mapping[0];\n lowSurrogates = mapping[1];\n nextMapping = surrogateMappings[index + 1];\n nextHighSurrogates = nextMapping && nextMapping[0];\n nextLowSurrogates = nextMapping && nextMapping[1];\n addLow = true;\n }\n result.push([highSurrogates, addLow ? tmpLow : lowSurrogates]);\n addLow = false;\n }\n return optimizeByLowSurrogates(result);\n };\n var optimizeByLowSurrogates = function (surrogateMappings) {\n if (surrogateMappings.length == 1) {\n return surrogateMappings;\n }\n var index = -1;\n var innerIndex = -1;\n while (++index < surrogateMappings.length) {\n var mapping = surrogateMappings[index];\n var lowSurrogates = mapping[1];\n var lowSurrogateStart = lowSurrogates[0];\n var lowSurrogateEnd = lowSurrogates[1];\n innerIndex = index; // Note: the loop starts at the next index.\n while (++innerIndex < surrogateMappings.length) {\n var otherMapping = surrogateMappings[innerIndex];\n var otherLowSurrogates = otherMapping[1];\n var otherLowSurrogateStart = otherLowSurrogates[0];\n var otherLowSurrogateEnd = otherLowSurrogates[1];\n if (lowSurrogateStart == otherLowSurrogateStart && lowSurrogateEnd == otherLowSurrogateEnd && otherLowSurrogates.length === 2) {\n // Add the code points in the other item to this one.\n if (dataIsSingleton(otherMapping[0])) {\n mapping[0] = dataAdd(mapping[0], otherMapping[0][0]);\n } else {\n mapping[0] = dataAddRange(mapping[0], otherMapping[0][0], otherMapping[0][1] - 1);\n }\n // Remove the other, now redundant, item.\n surrogateMappings.splice(innerIndex, 1);\n --innerIndex;\n }\n }\n }\n return surrogateMappings;\n };\n var surrogateSet = function (data) {\n // Exit early if `data` is an empty set.\n if (!data.length) {\n return [];\n }\n\n // Iterate over the data per `(start, end)` pair.\n var index = 0;\n var start;\n var end;\n var startHigh;\n var startLow;\n var endHigh;\n var endLow;\n var surrogateMappings = [];\n var length = data.length;\n while (index < length) {\n start = data[index];\n end = data[index + 1] - 1;\n startHigh = highSurrogate(start);\n startLow = lowSurrogate(start);\n endHigh = highSurrogate(end);\n endLow = lowSurrogate(end);\n var startsWithLowestLowSurrogate = startLow == LOW_SURROGATE_MIN;\n var endsWithHighestLowSurrogate = endLow == LOW_SURROGATE_MAX;\n var complete = false;\n\n // Append the previous high-surrogate-to-low-surrogate mappings.\n // Step 1: `(startHigh, startLow)` to `(startHigh, LOW_SURROGATE_MAX)`.\n if (startHigh == endHigh || startsWithLowestLowSurrogate && endsWithHighestLowSurrogate) {\n surrogateMappings.push([[startHigh, endHigh + 1], [startLow, endLow + 1]]);\n complete = true;\n } else {\n surrogateMappings.push([[startHigh, startHigh + 1], [startLow, LOW_SURROGATE_MAX + 1]]);\n }\n\n // Step 2: `(startHigh + 1, LOW_SURROGATE_MIN)` to\n // `(endHigh - 1, LOW_SURROGATE_MAX)`.\n if (!complete && startHigh + 1 < endHigh) {\n if (endsWithHighestLowSurrogate) {\n // Combine step 2 and step 3.\n surrogateMappings.push([[startHigh + 1, endHigh + 1], [LOW_SURROGATE_MIN, endLow + 1]]);\n complete = true;\n } else {\n surrogateMappings.push([[startHigh + 1, endHigh], [LOW_SURROGATE_MIN, LOW_SURROGATE_MAX + 1]]);\n }\n }\n\n // Step 3. `(endHigh, LOW_SURROGATE_MIN)` to `(endHigh, endLow)`.\n if (!complete) {\n surrogateMappings.push([[endHigh, endHigh + 1], [LOW_SURROGATE_MIN, endLow + 1]]);\n }\n index += 2;\n }\n\n // The format of `surrogateMappings` is as follows:\n //\n // [ surrogateMapping1, surrogateMapping2 ]\n //\n // i.e.:\n //\n // [\n // [ highSurrogates1, lowSurrogates1 ],\n // [ highSurrogates2, lowSurrogates2 ]\n // ]\n return optimizeSurrogateMappings(surrogateMappings);\n };\n var createSurrogateCharacterClasses = function (surrogateMappings) {\n var result = [];\n forEach(surrogateMappings, function (surrogateMapping) {\n var highSurrogates = surrogateMapping[0];\n var lowSurrogates = surrogateMapping[1];\n result.push(createBMPCharacterClasses(highSurrogates) + createBMPCharacterClasses(lowSurrogates));\n });\n return result.join('|');\n };\n var createCharacterClassesFromData = function (data, bmpOnly, hasUnicodeFlag) {\n if (hasUnicodeFlag) {\n return createUnicodeCharacterClasses(data);\n }\n var result = [];\n var parts = splitAtBMP(data);\n var loneHighSurrogates = parts.loneHighSurrogates;\n var loneLowSurrogates = parts.loneLowSurrogates;\n var bmp = parts.bmp;\n var astral = parts.astral;\n var hasLoneHighSurrogates = !dataIsEmpty(loneHighSurrogates);\n var hasLoneLowSurrogates = !dataIsEmpty(loneLowSurrogates);\n var surrogateMappings = surrogateSet(astral);\n if (bmpOnly) {\n bmp = dataAddData(bmp, loneHighSurrogates);\n hasLoneHighSurrogates = false;\n bmp = dataAddData(bmp, loneLowSurrogates);\n hasLoneLowSurrogates = false;\n }\n if (!dataIsEmpty(bmp)) {\n // The data set contains BMP code points that are not high surrogates\n // needed for astral code points in the set.\n result.push(createBMPCharacterClasses(bmp));\n }\n if (surrogateMappings.length) {\n // The data set contains astral code points; append character classes\n // based on their surrogate pairs.\n result.push(createSurrogateCharacterClasses(surrogateMappings));\n }\n // https://gist.github.com/mathiasbynens/bbe7f870208abcfec860\n if (hasLoneHighSurrogates) {\n result.push(createBMPCharacterClasses(loneHighSurrogates) +\n // Make sure the high surrogates aren’t part of a surrogate pair.\n '(?![\\\\uDC00-\\\\uDFFF])');\n }\n if (hasLoneLowSurrogates) {\n result.push(\n // It is not possible to accurately assert the low surrogates aren’t\n // part of a surrogate pair, since JavaScript regular expressions do\n // not support lookbehind.\n '(?:[^\\\\uD800-\\\\uDBFF]|^)' + createBMPCharacterClasses(loneLowSurrogates));\n }\n return result.join('|');\n };\n\n /*--------------------------------------------------------------------------*/\n\n // `regenerate` can be used as a constructor (and new methods can be added to\n // its prototype) but also as a regular function, the latter of which is the\n // documented and most common usage. For that reason, it’s not capitalized.\n var regenerate = function (value) {\n if (arguments.length > 1) {\n value = slice.call(arguments);\n }\n if (this instanceof regenerate) {\n this.data = [];\n return value ? this.add(value) : this;\n }\n return new regenerate().add(value);\n };\n regenerate.version = '1.4.2';\n var proto = regenerate.prototype;\n extend(proto, {\n 'add': function (value) {\n var $this = this;\n if (value == null) {\n return $this;\n }\n if (value instanceof regenerate) {\n // Allow passing other Regenerate instances.\n $this.data = dataAddData($this.data, value.data);\n return $this;\n }\n if (arguments.length > 1) {\n value = slice.call(arguments);\n }\n if (isArray(value)) {\n forEach(value, function (item) {\n $this.add(item);\n });\n return $this;\n }\n $this.data = dataAdd($this.data, isNumber(value) ? value : symbolToCodePoint(value));\n return $this;\n },\n 'remove': function (value) {\n var $this = this;\n if (value == null) {\n return $this;\n }\n if (value instanceof regenerate) {\n // Allow passing other Regenerate instances.\n $this.data = dataRemoveData($this.data, value.data);\n return $this;\n }\n if (arguments.length > 1) {\n value = slice.call(arguments);\n }\n if (isArray(value)) {\n forEach(value, function (item) {\n $this.remove(item);\n });\n return $this;\n }\n $this.data = dataRemove($this.data, isNumber(value) ? value : symbolToCodePoint(value));\n return $this;\n },\n 'addRange': function (start, end) {\n var $this = this;\n $this.data = dataAddRange($this.data, isNumber(start) ? start : symbolToCodePoint(start), isNumber(end) ? end : symbolToCodePoint(end));\n return $this;\n },\n 'removeRange': function (start, end) {\n var $this = this;\n var startCodePoint = isNumber(start) ? start : symbolToCodePoint(start);\n var endCodePoint = isNumber(end) ? end : symbolToCodePoint(end);\n $this.data = dataRemoveRange($this.data, startCodePoint, endCodePoint);\n return $this;\n },\n 'intersection': function (argument) {\n var $this = this;\n // Allow passing other Regenerate instances.\n // TODO: Optimize this by writing and using `dataIntersectionData()`.\n var array = argument instanceof regenerate ? dataToArray(argument.data) : argument;\n $this.data = dataIntersection($this.data, array);\n return $this;\n },\n 'contains': function (codePoint) {\n return dataContains(this.data, isNumber(codePoint) ? codePoint : symbolToCodePoint(codePoint));\n },\n 'clone': function () {\n var set = new regenerate();\n set.data = this.data.slice(0);\n return set;\n },\n 'toString': function (options) {\n var result = createCharacterClassesFromData(this.data, options ? options.bmpOnly : false, options ? options.hasUnicodeFlag : false);\n if (!result) {\n // For an empty set, return something that can be inserted `/here/` to\n // form a valid regular expression. Avoid `(?:)` since that matches the\n // empty string.\n return '[]';\n }\n // Use `\\0` instead of `\\x00` where possible.\n return result.replace(regexNull, '\\\\0$1');\n },\n 'toRegExp': function (flags) {\n var pattern = this.toString(flags && flags.indexOf('u') != -1 ? {\n 'hasUnicodeFlag': true\n } : null);\n return RegExp(pattern, flags || '');\n },\n 'valueOf': function () {\n // Note: `valueOf` is aliased as `toArray`.\n return dataToArray(this.data);\n }\n });\n proto.toArray = proto.valueOf;\n\n // Some AMD build optimizers, like r.js, check for specific condition patterns\n // like the following:\n if (typeof define == 'function' && typeof define.amd == 'object' && define.amd) {\n define(function () {\n return regenerate;\n });\n } else if (freeExports && !freeExports.nodeType) {\n if (freeModule) {\n // in Node.js, io.js, or RingoJS v0.8.0+\n freeModule.exports = regenerate;\n } else {\n // in Narwhal or RingoJS v0.7.0-\n freeExports.regenerate = regenerate;\n }\n } else {\n // in Rhino or a web browser\n root.regenerate = regenerate;\n }\n})(this);","/** Used to match words composed of alphanumeric characters. */\nvar reAsciiWord = /[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g;\n\n/**\n * Splits an ASCII `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\nfunction asciiWords(string) {\n return string.match(reAsciiWord) || [];\n}\n\nmodule.exports = asciiWords;\n","const set = require('regenerate')(0x60C, 0x61B, 0x61F, 0x640, 0x6D4);\nset.addRange(0x10D00, 0x10D27).addRange(0x10D30, 0x10D39);\nmodule.exports = set;","var baseToString = require('./_baseToString');\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nmodule.exports = toString;\n","const set = require('regenerate')();\nset.addRange(0x108E0, 0x108F2).addRange(0x108F4, 0x108F5).addRange(0x108FB, 0x108FF);\nmodule.exports = set;","var convert = require('./convert'),\n func = convert('get', require('../get'));\n\nfunc.placeholder = require('./placeholder');\nmodule.exports = func;\n","\"use strict\";\n\nexports.registerServiceWorker = function () {\n return true;\n}; // only cache relevant resources for this page\n\n\nvar whiteListLinkRels = /^(stylesheet|preload)$/;\nvar prefetchedPathnames = [];\n\nexports.onServiceWorkerActive = function (_ref) {\n var getResourceURLsForPathname = _ref.getResourceURLsForPathname,\n serviceWorker = _ref.serviceWorker;\n\n // if the SW has just updated then clear the path dependencies and don't cache\n // stuff, since we're on the old revision until we navigate to another page\n if (window.___swUpdated) {\n serviceWorker.active.postMessage({\n gatsbyApi: \"clearPathResources\"\n });\n return;\n } // grab nodes from head of document\n\n\n var nodes = document.querySelectorAll(\"\\n head > script[src],\\n head > link[href],\\n head > style[data-href]\\n \"); // get all resource URLs\n\n var headerResources = [].slice.call(nodes) // don't include preconnect/prefetch/prerender resources\n .filter(function (node) {\n return node.tagName !== \"LINK\" || whiteListLinkRels.test(node.getAttribute(\"rel\"));\n }).map(function (node) {\n return node.src || node.href || node.getAttribute(\"data-href\");\n }); // Loop over prefetched pages and add their resources to an array,\n // plus specify which resources are required for those paths.\n\n var prefetchedResources = [];\n prefetchedPathnames.forEach(function (path) {\n var resources = getResourceURLsForPathname(path);\n prefetchedResources.push.apply(prefetchedResources, resources);\n serviceWorker.active.postMessage({\n gatsbyApi: \"setPathResources\",\n path: path,\n resources: resources\n });\n }); // Loop over all resources and fetch the page component + JSON data\n // to add it to the SW cache.\n\n var resources = [].concat(headerResources, prefetchedResources);\n resources.forEach(function (resource) {\n // Create a prefetch link for each resource, so Workbox runtime-caches them\n var link = document.createElement(\"link\");\n link.rel = \"prefetch\";\n link.href = resource;\n link.onload = link.remove;\n link.onerror = link.remove;\n document.head.appendChild(link);\n });\n};\n\nfunction setPathResources(path, getResourceURLsForPathname) {\n // do nothing if the SW has just updated, since we still have old pages in\n // memory which we don't want to be whitelisted\n if (window.___swUpdated) return;\n\n if (\"serviceWorker\" in navigator) {\n var _navigator = navigator,\n serviceWorker = _navigator.serviceWorker;\n\n if (serviceWorker.controller === null) {\n // if SW is not installed, we need to record any prefetches\n // that happen so we can then add them to SW cache once installed\n prefetchedPathnames.push(path);\n } else {\n var resources = getResourceURLsForPathname(path);\n serviceWorker.controller.postMessage({\n gatsbyApi: \"setPathResources\",\n path: path,\n resources: resources\n });\n }\n }\n}\n\nexports.onRouteUpdate = function (_ref2) {\n var location = _ref2.location,\n getResourceURLsForPathname = _ref2.getResourceURLsForPathname;\n var pathname = location.pathname.replace(__BASE_PATH__, \"\");\n setPathResources(pathname, getResourceURLsForPathname);\n\n if (\"serviceWorker\" in navigator && navigator.serviceWorker.controller !== null) {\n navigator.serviceWorker.controller.postMessage({\n gatsbyApi: \"enableOfflineShell\"\n });\n }\n};\n\nexports.onPostPrefetchPathname = function (_ref3) {\n var pathname = _ref3.pathname,\n getResourceURLsForPathname = _ref3.getResourceURLsForPathname;\n setPathResources(pathname, getResourceURLsForPathname);\n};","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n","var Stack = require('./_Stack'),\n equalArrays = require('./_equalArrays'),\n equalByTag = require('./_equalByTag'),\n equalObjects = require('./_equalObjects'),\n getTag = require('./_getTag'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isTypedArray = require('./isTypedArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nmodule.exports = baseIsEqualDeep;\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","const set = require('regenerate')(0x484, 0x487, 0x2E43, 0xA66F);\nset.addRange(0x2C00, 0x2C5F).addRange(0x1E000, 0x1E006).addRange(0x1E008, 0x1E018).addRange(0x1E01B, 0x1E021).addRange(0x1E023, 0x1E024).addRange(0x1E026, 0x1E02A);\nmodule.exports = set;","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n","var charToInteger = {};\nvar chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\nfor (var i = 0; i < chars.length; i++) {\n charToInteger[chars.charCodeAt(i)] = i;\n}\nfunction decode(mappings) {\n var decoded = [];\n var line = [];\n var segment = [0, 0, 0, 0, 0];\n var j = 0;\n for (var i = 0, shift = 0, value = 0; i < mappings.length; i++) {\n var c = mappings.charCodeAt(i);\n if (c === 44) {\n // \",\"\n segmentify(line, segment, j);\n j = 0;\n } else if (c === 59) {\n // \";\"\n segmentify(line, segment, j);\n j = 0;\n decoded.push(line);\n line = [];\n segment[0] = 0;\n } else {\n var integer = charToInteger[c];\n if (integer === undefined) {\n throw new Error('Invalid character (' + String.fromCharCode(c) + ')');\n }\n var hasContinuationBit = integer & 32;\n integer &= 31;\n value += integer << shift;\n if (hasContinuationBit) {\n shift += 5;\n } else {\n var shouldNegate = value & 1;\n value >>>= 1;\n if (shouldNegate) {\n value = value === 0 ? -0x80000000 : -value;\n }\n segment[j] += value;\n j++;\n value = shift = 0; // reset\n }\n }\n }\n\n segmentify(line, segment, j);\n decoded.push(line);\n return decoded;\n}\nfunction segmentify(line, segment, j) {\n // This looks ugly, but we're creating specialized arrays with a specific\n // length. This is much faster than creating a new array (which v8 expands to\n // a capacity of 17 after pushing the first item), or slicing out a subarray\n // (which is slow). Length 4 is assumed to be the most frequent, followed by\n // length 5 (since not everything will have an associated name), followed by\n // length 1 (it's probably rare for a source substring to not have an\n // associated segment data).\n if (j === 4) line.push([segment[0], segment[1], segment[2], segment[3]]);else if (j === 5) line.push([segment[0], segment[1], segment[2], segment[3], segment[4]]);else if (j === 1) line.push([segment[0]]);\n}\nfunction encode(decoded) {\n var sourceFileIndex = 0; // second field\n var sourceCodeLine = 0; // third field\n var sourceCodeColumn = 0; // fourth field\n var nameIndex = 0; // fifth field\n var mappings = '';\n for (var i = 0; i < decoded.length; i++) {\n var line = decoded[i];\n if (i > 0) mappings += ';';\n if (line.length === 0) continue;\n var generatedCodeColumn = 0; // first field\n var lineMappings = [];\n for (var _i = 0, line_1 = line; _i < line_1.length; _i++) {\n var segment = line_1[_i];\n var segmentMappings = encodeInteger(segment[0] - generatedCodeColumn);\n generatedCodeColumn = segment[0];\n if (segment.length > 1) {\n segmentMappings += encodeInteger(segment[1] - sourceFileIndex) + encodeInteger(segment[2] - sourceCodeLine) + encodeInteger(segment[3] - sourceCodeColumn);\n sourceFileIndex = segment[1];\n sourceCodeLine = segment[2];\n sourceCodeColumn = segment[3];\n }\n if (segment.length === 5) {\n segmentMappings += encodeInteger(segment[4] - nameIndex);\n nameIndex = segment[4];\n }\n lineMappings.push(segmentMappings);\n }\n mappings += lineMappings.join(',');\n }\n return mappings;\n}\nfunction encodeInteger(num) {\n var result = '';\n num = num < 0 ? -num << 1 | 1 : num << 1;\n do {\n var clamped = num & 31;\n num >>>= 5;\n if (num > 0) {\n clamped |= 32;\n }\n result += chars[clamped];\n } while (num > 0);\n return result;\n}\nexport { decode, encode };","'use strict';\n\nvar typeOf = require('kind-of');\n\n/**\n * Basic sort algorithm that has similar behavior to `Array.prototype.sort`\n * for null and undefined, but also allows sorting by an object property.\n *\n * @param {Mixed} `a` First value to compare.\n * @param {Mixed} `b` Second value to compare.\n * @param {String} `prop` Optional property to use when comparing objects. If specified must be a string.\n * @return {Number} Returns 1 when `a` should come after `b`, -1 when `a` should come before `b`, and 0 when `a` and `b` are equal.\n * @api public\n */\n\nmodule.exports = function defaultCompare(a, b, prop) {\n if (prop != null && typeOf(prop) !== 'string') {\n throw new TypeError('expected \"prop\" to be undefined or a string');\n }\n var typeA = typeOf(a);\n var typeB = typeOf(b);\n if (prop) {\n if (typeA === 'object') {\n a = a[prop];\n typeA = typeOf(a);\n }\n if (typeB === 'object') {\n b = b[prop];\n typeB = typeOf(b);\n }\n }\n if (typeA === 'null') {\n return typeB === 'null' ? 0 : typeB === 'undefined' ? -1 : 1;\n } else if (typeA === 'undefined') {\n return typeB === 'null' ? 1 : typeB === 'undefined' ? 0 : 1;\n } else if (typeB === 'null' || typeB === 'undefined') {\n return -1;\n } else {\n return a < b ? -1 : a > b ? 1 : 0;\n }\n};","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n","const set = require('regenerate')(0x1258, 0x12C0);\nset.addRange(0x1200, 0x1248).addRange(0x124A, 0x124D).addRange(0x1250, 0x1256).addRange(0x125A, 0x125D).addRange(0x1260, 0x1288).addRange(0x128A, 0x128D).addRange(0x1290, 0x12B0).addRange(0x12B2, 0x12B5).addRange(0x12B8, 0x12BE).addRange(0x12C2, 0x12C5).addRange(0x12C8, 0x12D6).addRange(0x12D8, 0x1310).addRange(0x1312, 0x1315).addRange(0x1318, 0x135A).addRange(0x135D, 0x137C).addRange(0x1380, 0x1399).addRange(0x2D80, 0x2D96).addRange(0x2DA0, 0x2DA6).addRange(0x2DA8, 0x2DAE).addRange(0x2DB0, 0x2DB6).addRange(0x2DB8, 0x2DBE).addRange(0x2DC0, 0x2DC6).addRange(0x2DC8, 0x2DCE).addRange(0x2DD0, 0x2DD6).addRange(0x2DD8, 0x2DDE).addRange(0xAB01, 0xAB06).addRange(0xAB09, 0xAB0E).addRange(0xAB11, 0xAB16).addRange(0xAB20, 0xAB26).addRange(0xAB28, 0xAB2E).addRange(0x1E7E0, 0x1E7E6).addRange(0x1E7E8, 0x1E7EB).addRange(0x1E7ED, 0x1E7EE).addRange(0x1E7F0, 0x1E7FE);\nmodule.exports = set;","const set = require('regenerate')(0x1F200);\nset.addRange(0x3041, 0x3096).addRange(0x309D, 0x309F).addRange(0x1B001, 0x1B11F).addRange(0x1B150, 0x1B152);\nmodule.exports = set;","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","const support = function (feature) {\n if (typeof document === `undefined`) {\n return false\n }\n const fakeLink = document.createElement(`link`)\n try {\n if (fakeLink.relList && typeof fakeLink.relList.supports === `function`) {\n return fakeLink.relList.supports(feature)\n }\n } catch (err) {\n return false\n }\n return false\n}\n\nconst linkPrefetchStrategy = function (url, options) {\n return new Promise((resolve, reject) => {\n if (typeof document === `undefined`) {\n reject()\n return\n }\n\n const link = document.createElement(`link`)\n link.setAttribute(`rel`, `prefetch`)\n link.setAttribute(`href`, url)\n\n Object.keys(options).forEach(key => {\n link.setAttribute(key, options[key])\n })\n\n link.onload = resolve\n link.onerror = reject\n\n const parentElement =\n document.getElementsByTagName(`head`)[0] ||\n document.getElementsByName(`script`)[0].parentNode\n parentElement.appendChild(link)\n })\n}\n\nconst xhrPrefetchStrategy = function (url) {\n return new Promise((resolve, reject) => {\n const req = new XMLHttpRequest()\n req.open(`GET`, url, true)\n\n req.onload = () => {\n if (req.status === 200) {\n resolve()\n } else {\n reject()\n }\n }\n\n req.send(null)\n })\n}\n\nconst supportedPrefetchStrategy = support(`prefetch`)\n ? linkPrefetchStrategy\n : xhrPrefetchStrategy\n\nconst preFetched = {}\n\nconst prefetch = function (url, options) {\n return new Promise(resolve => {\n if (preFetched[url]) {\n resolve()\n return\n }\n\n supportedPrefetchStrategy(url, options)\n .then(() => {\n resolve()\n preFetched[url] = true\n })\n .catch(() => {}) // 404s are logged to the console anyway\n })\n}\n\nexport default prefetch\n","import prefetchHelper from \"./prefetch\"\nimport emitter from \"./emitter\"\nimport { setMatchPaths, findPath, findMatchPath } from \"./find-path\"\n\n/**\n * Available resource loading statuses\n */\nexport const PageResourceStatus = {\n /**\n * At least one of critical resources failed to load\n */\n Error: `error`,\n /**\n * Resources loaded successfully\n */\n Success: `success`,\n}\n\nconst preferDefault = m => (m && m.default) || m\n\nconst stripSurroundingSlashes = s => {\n s = s[0] === `/` ? s.slice(1) : s\n s = s.endsWith(`/`) ? s.slice(0, -1) : s\n return s\n}\n\nconst createPageDataUrl = path => {\n const fixedPath = path === `/` ? `index` : stripSurroundingSlashes(path)\n return `${__PATH_PREFIX__}/page-data/${fixedPath}/page-data.json`\n}\n\nfunction doFetch(url, method = `GET`) {\n return new Promise((resolve, reject) => {\n const req = new XMLHttpRequest()\n req.open(method, url, true)\n req.onreadystatechange = () => {\n if (req.readyState == 4) {\n resolve(req)\n }\n }\n req.send(null)\n })\n}\n\nconst doesConnectionSupportPrefetch = () => {\n if (\n `connection` in navigator &&\n typeof navigator.connection !== `undefined`\n ) {\n if ((navigator.connection.effectiveType || ``).includes(`2g`)) {\n return false\n }\n if (navigator.connection.saveData) {\n return false\n }\n }\n return true\n}\n\nconst toPageResources = (pageData, component = null) => {\n const page = {\n componentChunkName: pageData.componentChunkName,\n path: pageData.path,\n webpackCompilationHash: pageData.webpackCompilationHash,\n matchPath: pageData.matchPath,\n staticQueryHashes: pageData.staticQueryHashes,\n }\n\n return {\n component,\n json: pageData.result,\n page,\n }\n}\n\nexport class BaseLoader {\n constructor(loadComponent, matchPaths) {\n // Map of pagePath -> Page. Where Page is an object with: {\n // status: PageResourceStatus.Success || PageResourceStatus.Error,\n // payload: PageResources, // undefined if PageResourceStatus.Error\n // }\n // PageResources is {\n // component,\n // json: pageData.result,\n // page: {\n // componentChunkName,\n // path,\n // webpackCompilationHash,\n // staticQueryHashes\n // },\n // staticQueryResults\n // }\n this.pageDb = new Map()\n this.inFlightDb = new Map()\n this.staticQueryDb = {}\n this.pageDataDb = new Map()\n this.prefetchTriggered = new Set()\n this.prefetchCompleted = new Set()\n this.loadComponent = loadComponent\n setMatchPaths(matchPaths)\n }\n\n inFlightNetworkRequests = new Map()\n\n memoizedGet(url) {\n let inFlightPromise = this.inFlightNetworkRequests.get(url)\n\n if (!inFlightPromise) {\n inFlightPromise = doFetch(url, `GET`)\n this.inFlightNetworkRequests.set(url, inFlightPromise)\n }\n\n // Prefer duplication with then + catch over .finally to prevent problems in ie11 + firefox\n return inFlightPromise\n .then(response => {\n this.inFlightNetworkRequests.delete(url)\n return response\n })\n .catch(err => {\n this.inFlightNetworkRequests.delete(url)\n throw err\n })\n }\n\n setApiRunner(apiRunner) {\n this.apiRunner = apiRunner\n this.prefetchDisabled = apiRunner(`disableCorePrefetching`).some(a => a)\n }\n\n fetchPageDataJson(loadObj) {\n const { pagePath, retries = 0 } = loadObj\n const url = createPageDataUrl(pagePath)\n return this.memoizedGet(url).then(req => {\n const { status, responseText } = req\n\n // Handle 200\n if (status === 200) {\n try {\n const jsonPayload = JSON.parse(responseText)\n if (jsonPayload.path === undefined) {\n throw new Error(`not a valid pageData response`)\n }\n\n return Object.assign(loadObj, {\n status: PageResourceStatus.Success,\n payload: jsonPayload,\n })\n } catch (err) {\n // continue regardless of error\n }\n }\n\n // Handle 404\n if (status === 404 || status === 200) {\n // If the request was for a 404 page and it doesn't exist, we're done\n if (pagePath === `/404.html`) {\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n }\n\n // Need some code here to cache the 404 request. In case\n // multiple loadPageDataJsons result in 404s\n return this.fetchPageDataJson(\n Object.assign(loadObj, { pagePath: `/404.html`, notFound: true })\n )\n }\n\n // handle 500 response (Unrecoverable)\n if (status === 500) {\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n }\n\n // Handle everything else, including status === 0, and 503s. Should retry\n if (retries < 3) {\n return this.fetchPageDataJson(\n Object.assign(loadObj, { retries: retries + 1 })\n )\n }\n\n // Retried 3 times already, result is an error.\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n })\n }\n\n loadPageDataJson(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.pageDataDb.has(pagePath)) {\n const pageData = this.pageDataDb.get(pagePath)\n if (process.env.BUILD_STAGE !== `develop` || !pageData.stale) {\n return Promise.resolve(pageData)\n }\n }\n\n return this.fetchPageDataJson({ pagePath }).then(pageData => {\n this.pageDataDb.set(pagePath, pageData)\n\n return pageData\n })\n }\n\n findMatchPath(rawPath) {\n return findMatchPath(rawPath)\n }\n\n // TODO check all uses of this and whether they use undefined for page resources not exist\n loadPage(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.pageDb.has(pagePath)) {\n const page = this.pageDb.get(pagePath)\n if (process.env.BUILD_STAGE !== `develop` || !page.payload.stale) {\n return Promise.resolve(page.payload)\n }\n }\n\n if (this.inFlightDb.has(pagePath)) {\n return this.inFlightDb.get(pagePath)\n }\n\n const inFlightPromise = Promise.all([\n this.loadAppData(),\n this.loadPageDataJson(pagePath),\n ]).then(allData => {\n const result = allData[1]\n if (result.status === PageResourceStatus.Error) {\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n let pageData = result.payload\n const { componentChunkName, staticQueryHashes = [] } = pageData\n\n const finalResult = {}\n\n const componentChunkPromise = this.loadComponent(componentChunkName).then(\n component => {\n finalResult.createdAt = new Date()\n let pageResources\n if (!component) {\n finalResult.status = PageResourceStatus.Error\n } else {\n finalResult.status = PageResourceStatus.Success\n if (result.notFound === true) {\n finalResult.notFound = true\n }\n pageData = Object.assign(pageData, {\n webpackCompilationHash: allData[0]\n ? allData[0].webpackCompilationHash\n : ``,\n })\n pageResources = toPageResources(pageData, component)\n }\n // undefined if final result is an error\n return pageResources\n }\n )\n\n const staticQueryBatchPromise = Promise.all(\n staticQueryHashes.map(staticQueryHash => {\n // Check for cache in case this static query result has already been loaded\n if (this.staticQueryDb[staticQueryHash]) {\n const jsonPayload = this.staticQueryDb[staticQueryHash]\n return { staticQueryHash, jsonPayload }\n }\n\n return this.memoizedGet(\n `${__PATH_PREFIX__}/page-data/sq/d/${staticQueryHash}.json`\n ).then(req => {\n const jsonPayload = JSON.parse(req.responseText)\n return { staticQueryHash, jsonPayload }\n })\n })\n ).then(staticQueryResults => {\n const staticQueryResultsMap = {}\n\n staticQueryResults.forEach(({ staticQueryHash, jsonPayload }) => {\n staticQueryResultsMap[staticQueryHash] = jsonPayload\n this.staticQueryDb[staticQueryHash] = jsonPayload\n })\n\n return staticQueryResultsMap\n })\n\n return Promise.all([componentChunkPromise, staticQueryBatchPromise]).then(\n ([pageResources, staticQueryResults]) => {\n let payload\n if (pageResources) {\n payload = { ...pageResources, staticQueryResults }\n finalResult.payload = payload\n emitter.emit(`onPostLoadPageResources`, {\n page: payload,\n pageResources: payload,\n })\n }\n\n this.pageDb.set(pagePath, finalResult)\n\n return payload\n }\n )\n })\n\n inFlightPromise\n .then(response => {\n this.inFlightDb.delete(pagePath)\n })\n .catch(error => {\n this.inFlightDb.delete(pagePath)\n throw error\n })\n\n this.inFlightDb.set(pagePath, inFlightPromise)\n\n return inFlightPromise\n }\n\n // returns undefined if loading page ran into errors\n loadPageSync(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.pageDb.has(pagePath)) {\n const pageData = this.pageDb.get(pagePath).payload\n return pageData\n }\n return undefined\n }\n\n shouldPrefetch(pagePath) {\n // Skip prefetching if we know user is on slow or constrained connection\n if (!doesConnectionSupportPrefetch()) {\n return false\n }\n\n // Check if the page exists.\n if (this.pageDb.has(pagePath)) {\n return false\n }\n\n return true\n }\n\n prefetch(pagePath) {\n if (!this.shouldPrefetch(pagePath)) {\n return false\n }\n\n // Tell plugins with custom prefetching logic that they should start\n // prefetching this path.\n if (!this.prefetchTriggered.has(pagePath)) {\n this.apiRunner(`onPrefetchPathname`, { pathname: pagePath })\n this.prefetchTriggered.add(pagePath)\n }\n\n // If a plugin has disabled core prefetching, stop now.\n if (this.prefetchDisabled) {\n return false\n }\n\n const realPath = findPath(pagePath)\n // Todo make doPrefetch logic cacheable\n // eslint-disable-next-line consistent-return\n this.doPrefetch(realPath).then(() => {\n if (!this.prefetchCompleted.has(pagePath)) {\n this.apiRunner(`onPostPrefetchPathname`, { pathname: pagePath })\n this.prefetchCompleted.add(pagePath)\n }\n })\n\n return true\n }\n\n doPrefetch(pagePath) {\n const pageDataUrl = createPageDataUrl(pagePath)\n return prefetchHelper(pageDataUrl, {\n crossOrigin: `anonymous`,\n as: `fetch`,\n }).then(() =>\n // This was just prefetched, so will return a response from\n // the cache instead of making another request to the server\n this.loadPageDataJson(pagePath)\n )\n }\n\n hovering(rawPath) {\n this.loadPage(rawPath)\n }\n\n getResourceURLsForPathname(rawPath) {\n const pagePath = findPath(rawPath)\n const page = this.pageDataDb.get(pagePath)\n if (page) {\n const pageResources = toPageResources(page.payload)\n\n return [\n ...createComponentUrls(pageResources.page.componentChunkName),\n createPageDataUrl(pagePath),\n ]\n } else {\n return null\n }\n }\n\n isPageNotFound(rawPath) {\n const pagePath = findPath(rawPath)\n const page = this.pageDb.get(pagePath)\n return !page || page.notFound\n }\n\n loadAppData(retries = 0) {\n return this.memoizedGet(`${__PATH_PREFIX__}/page-data/app-data.json`).then(\n req => {\n const { status, responseText } = req\n\n let appData\n\n if (status !== 200 && retries < 3) {\n // Retry 3 times incase of non-200 responses\n return this.loadAppData(retries + 1)\n }\n\n // Handle 200\n if (status === 200) {\n try {\n const jsonPayload = JSON.parse(responseText)\n if (jsonPayload.webpackCompilationHash === undefined) {\n throw new Error(`not a valid app-data response`)\n }\n\n appData = jsonPayload\n } catch (err) {\n // continue regardless of error\n }\n }\n\n return appData\n }\n )\n }\n}\n\nconst createComponentUrls = componentChunkName =>\n (window.___chunkMapping[componentChunkName] || []).map(\n chunk => __PATH_PREFIX__ + chunk\n )\n\nexport class ProdLoader extends BaseLoader {\n constructor(asyncRequires, matchPaths) {\n const loadComponent = chunkName =>\n asyncRequires.components[chunkName]\n ? asyncRequires.components[chunkName]()\n .then(preferDefault)\n // loader will handle the case when component is null\n .catch(() => null)\n : Promise.resolve()\n\n super(loadComponent, matchPaths)\n }\n\n doPrefetch(pagePath) {\n return super.doPrefetch(pagePath).then(result => {\n if (result.status !== PageResourceStatus.Success) {\n return Promise.resolve()\n }\n const pageData = result.payload\n const chunkName = pageData.componentChunkName\n const componentUrls = createComponentUrls(chunkName)\n return Promise.all(componentUrls.map(prefetchHelper)).then(() => pageData)\n })\n }\n\n loadPageDataJson(rawPath) {\n return super.loadPageDataJson(rawPath).then(data => {\n if (data.notFound) {\n // check if html file exist using HEAD request:\n // if it does we should navigate to it instead of showing 404\n return doFetch(rawPath, `HEAD`).then(req => {\n if (req.status === 200) {\n // page (.html file) actually exist (or we asked for 404 )\n // returning page resources status as errored to trigger\n // regular browser navigation to given page\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n // if HEAD request wasn't 200, return notFound result\n // and show 404 page\n return data\n })\n }\n return data\n })\n }\n}\n\nlet instance\n\nexport const setLoader = _loader => {\n instance = _loader\n}\n\nexport const publicLoader = {\n // Deprecated methods. As far as we're aware, these are only used by\n // core gatsby and the offline plugin, however there's a very small\n // chance they're called by others.\n getResourcesForPathname: rawPath => {\n console.warn(\n `Warning: getResourcesForPathname is deprecated. Use loadPage instead`\n )\n return instance.i.loadPage(rawPath)\n },\n getResourcesForPathnameSync: rawPath => {\n console.warn(\n `Warning: getResourcesForPathnameSync is deprecated. Use loadPageSync instead`\n )\n return instance.i.loadPageSync(rawPath)\n },\n enqueue: rawPath => instance.prefetch(rawPath),\n\n // Real methods\n getResourceURLsForPathname: rawPath =>\n instance.getResourceURLsForPathname(rawPath),\n loadPage: rawPath => instance.loadPage(rawPath),\n loadPageSync: rawPath => instance.loadPageSync(rawPath),\n prefetch: rawPath => instance.prefetch(rawPath),\n isPageNotFound: rawPath => instance.isPageNotFound(rawPath),\n hovering: rawPath => instance.hovering(rawPath),\n loadAppData: () => instance.loadAppData(),\n}\n\nexport default publicLoader\n\nexport function getStaticQueryResults() {\n if (instance) {\n return instance.staticQueryDb\n } else {\n return {}\n }\n}\n","const set = require('regenerate')(0x23F0, 0x23F3, 0x267F, 0x2693, 0x26A1, 0x26CE, 0x26D4, 0x26EA, 0x26F5, 0x26FA, 0x26FD, 0x2705, 0x2728, 0x274C, 0x274E, 0x2757, 0x27B0, 0x27BF, 0x2B50, 0x2B55, 0x1F004, 0x1F0CF, 0x1F18E, 0x1F201, 0x1F21A, 0x1F22F, 0x1F3F4, 0x1F440, 0x1F57A, 0x1F5A4, 0x1F6CC, 0x1F7F0);\nset.addRange(0x231A, 0x231B).addRange(0x23E9, 0x23EC).addRange(0x25FD, 0x25FE).addRange(0x2614, 0x2615).addRange(0x2648, 0x2653).addRange(0x26AA, 0x26AB).addRange(0x26BD, 0x26BE).addRange(0x26C4, 0x26C5).addRange(0x26F2, 0x26F3).addRange(0x270A, 0x270B).addRange(0x2753, 0x2755).addRange(0x2795, 0x2797).addRange(0x2B1B, 0x2B1C).addRange(0x1F191, 0x1F19A).addRange(0x1F1E6, 0x1F1FF).addRange(0x1F232, 0x1F236).addRange(0x1F238, 0x1F23A).addRange(0x1F250, 0x1F251).addRange(0x1F300, 0x1F320).addRange(0x1F32D, 0x1F335).addRange(0x1F337, 0x1F37C).addRange(0x1F37E, 0x1F393).addRange(0x1F3A0, 0x1F3CA).addRange(0x1F3CF, 0x1F3D3).addRange(0x1F3E0, 0x1F3F0).addRange(0x1F3F8, 0x1F43E).addRange(0x1F442, 0x1F4FC).addRange(0x1F4FF, 0x1F53D).addRange(0x1F54B, 0x1F54E).addRange(0x1F550, 0x1F567).addRange(0x1F595, 0x1F596).addRange(0x1F5FB, 0x1F64F).addRange(0x1F680, 0x1F6C5).addRange(0x1F6D0, 0x1F6D2).addRange(0x1F6D5, 0x1F6D7).addRange(0x1F6DD, 0x1F6DF).addRange(0x1F6EB, 0x1F6EC).addRange(0x1F6F4, 0x1F6FC).addRange(0x1F7E0, 0x1F7EB).addRange(0x1F90C, 0x1F93A).addRange(0x1F93C, 0x1F945).addRange(0x1F947, 0x1F9FF).addRange(0x1FA70, 0x1FA74).addRange(0x1FA78, 0x1FA7C).addRange(0x1FA80, 0x1FA86).addRange(0x1FA90, 0x1FAAC).addRange(0x1FAB0, 0x1FABA).addRange(0x1FAC0, 0x1FAC5).addRange(0x1FAD0, 0x1FAD9).addRange(0x1FAE0, 0x1FAE7).addRange(0x1FAF0, 0x1FAF6);\nset;\nmodule.exports = set;","var requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","const set = require('regenerate')(0x5BF, 0x5C7, 0x670, 0x711, 0x7FD, 0x93A, 0x93C, 0x94D, 0x981, 0x9BC, 0x9CD, 0x9FE, 0xA3C, 0xA51, 0xA75, 0xABC, 0xACD, 0xB01, 0xB3C, 0xB3F, 0xB4D, 0xB82, 0xBC0, 0xBCD, 0xC00, 0xC04, 0xC3C, 0xC81, 0xCBC, 0xCBF, 0xCC6, 0xD4D, 0xD81, 0xDCA, 0xDD6, 0xE31, 0xEB1, 0xF35, 0xF37, 0xF39, 0xFC6, 0x1082, 0x108D, 0x109D, 0x17C6, 0x17DD, 0x180F, 0x18A9, 0x1932, 0x1A1B, 0x1A56, 0x1A60, 0x1A62, 0x1A7F, 0x1B34, 0x1B3C, 0x1B42, 0x1BE6, 0x1BED, 0x1CED, 0x1CF4, 0x20E1, 0x2D7F, 0xA66F, 0xA802, 0xA806, 0xA80B, 0xA82C, 0xA8FF, 0xA9B3, 0xA9E5, 0xAA43, 0xAA4C, 0xAA7C, 0xAAB0, 0xAAC1, 0xAAF6, 0xABE5, 0xABE8, 0xABED, 0xFB1E, 0x101FD, 0x102E0, 0x10A3F, 0x11001, 0x11070, 0x110C2, 0x11173, 0x111CF, 0x11234, 0x1123E, 0x112DF, 0x11340, 0x11446, 0x1145E, 0x114BA, 0x1163D, 0x116AB, 0x116AD, 0x116B7, 0x1193E, 0x11943, 0x119E0, 0x11A47, 0x11C3F, 0x11D3A, 0x11D47, 0x11D95, 0x11D97, 0x16F4F, 0x16FE4, 0x1DA75, 0x1DA84, 0x1E2AE);\nset.addRange(0x300, 0x36F).addRange(0x483, 0x487).addRange(0x591, 0x5BD).addRange(0x5C1, 0x5C2).addRange(0x5C4, 0x5C5).addRange(0x610, 0x61A).addRange(0x64B, 0x65F).addRange(0x6D6, 0x6DC).addRange(0x6DF, 0x6E4).addRange(0x6E7, 0x6E8).addRange(0x6EA, 0x6ED).addRange(0x730, 0x74A).addRange(0x7A6, 0x7B0).addRange(0x7EB, 0x7F3).addRange(0x816, 0x819).addRange(0x81B, 0x823).addRange(0x825, 0x827).addRange(0x829, 0x82D).addRange(0x859, 0x85B).addRange(0x898, 0x89F).addRange(0x8CA, 0x8E1).addRange(0x8E3, 0x902).addRange(0x941, 0x948).addRange(0x951, 0x957).addRange(0x962, 0x963).addRange(0x9C1, 0x9C4).addRange(0x9E2, 0x9E3).addRange(0xA01, 0xA02).addRange(0xA41, 0xA42).addRange(0xA47, 0xA48).addRange(0xA4B, 0xA4D).addRange(0xA70, 0xA71).addRange(0xA81, 0xA82).addRange(0xAC1, 0xAC5).addRange(0xAC7, 0xAC8).addRange(0xAE2, 0xAE3).addRange(0xAFA, 0xAFF).addRange(0xB41, 0xB44).addRange(0xB55, 0xB56).addRange(0xB62, 0xB63).addRange(0xC3E, 0xC40).addRange(0xC46, 0xC48).addRange(0xC4A, 0xC4D).addRange(0xC55, 0xC56).addRange(0xC62, 0xC63).addRange(0xCCC, 0xCCD).addRange(0xCE2, 0xCE3).addRange(0xD00, 0xD01).addRange(0xD3B, 0xD3C).addRange(0xD41, 0xD44).addRange(0xD62, 0xD63);\nset.addRange(0xDD2, 0xDD4).addRange(0xE34, 0xE3A).addRange(0xE47, 0xE4E).addRange(0xEB4, 0xEBC).addRange(0xEC8, 0xECD).addRange(0xF18, 0xF19).addRange(0xF71, 0xF7E).addRange(0xF80, 0xF84).addRange(0xF86, 0xF87).addRange(0xF8D, 0xF97).addRange(0xF99, 0xFBC).addRange(0x102D, 0x1030).addRange(0x1032, 0x1037).addRange(0x1039, 0x103A).addRange(0x103D, 0x103E).addRange(0x1058, 0x1059).addRange(0x105E, 0x1060).addRange(0x1071, 0x1074).addRange(0x1085, 0x1086).addRange(0x135D, 0x135F).addRange(0x1712, 0x1714).addRange(0x1732, 0x1733).addRange(0x1752, 0x1753).addRange(0x1772, 0x1773).addRange(0x17B4, 0x17B5).addRange(0x17B7, 0x17BD).addRange(0x17C9, 0x17D3).addRange(0x180B, 0x180D).addRange(0x1885, 0x1886).addRange(0x1920, 0x1922).addRange(0x1927, 0x1928).addRange(0x1939, 0x193B).addRange(0x1A17, 0x1A18).addRange(0x1A58, 0x1A5E).addRange(0x1A65, 0x1A6C).addRange(0x1A73, 0x1A7C).addRange(0x1AB0, 0x1ABD).addRange(0x1ABF, 0x1ACE).addRange(0x1B00, 0x1B03).addRange(0x1B36, 0x1B3A).addRange(0x1B6B, 0x1B73).addRange(0x1B80, 0x1B81).addRange(0x1BA2, 0x1BA5).addRange(0x1BA8, 0x1BA9).addRange(0x1BAB, 0x1BAD).addRange(0x1BE8, 0x1BE9).addRange(0x1BEF, 0x1BF1).addRange(0x1C2C, 0x1C33).addRange(0x1C36, 0x1C37).addRange(0x1CD0, 0x1CD2).addRange(0x1CD4, 0x1CE0);\nset.addRange(0x1CE2, 0x1CE8).addRange(0x1CF8, 0x1CF9).addRange(0x1DC0, 0x1DFF).addRange(0x20D0, 0x20DC).addRange(0x20E5, 0x20F0).addRange(0x2CEF, 0x2CF1).addRange(0x2DE0, 0x2DFF).addRange(0x302A, 0x302D).addRange(0x3099, 0x309A).addRange(0xA674, 0xA67D).addRange(0xA69E, 0xA69F).addRange(0xA6F0, 0xA6F1).addRange(0xA825, 0xA826).addRange(0xA8C4, 0xA8C5).addRange(0xA8E0, 0xA8F1).addRange(0xA926, 0xA92D).addRange(0xA947, 0xA951).addRange(0xA980, 0xA982).addRange(0xA9B6, 0xA9B9).addRange(0xA9BC, 0xA9BD).addRange(0xAA29, 0xAA2E).addRange(0xAA31, 0xAA32).addRange(0xAA35, 0xAA36).addRange(0xAAB2, 0xAAB4).addRange(0xAAB7, 0xAAB8).addRange(0xAABE, 0xAABF).addRange(0xAAEC, 0xAAED).addRange(0xFE00, 0xFE0F).addRange(0xFE20, 0xFE2F).addRange(0x10376, 0x1037A).addRange(0x10A01, 0x10A03).addRange(0x10A05, 0x10A06).addRange(0x10A0C, 0x10A0F).addRange(0x10A38, 0x10A3A).addRange(0x10AE5, 0x10AE6).addRange(0x10D24, 0x10D27).addRange(0x10EAB, 0x10EAC).addRange(0x10F46, 0x10F50).addRange(0x10F82, 0x10F85).addRange(0x11038, 0x11046).addRange(0x11073, 0x11074).addRange(0x1107F, 0x11081).addRange(0x110B3, 0x110B6).addRange(0x110B9, 0x110BA).addRange(0x11100, 0x11102).addRange(0x11127, 0x1112B).addRange(0x1112D, 0x11134).addRange(0x11180, 0x11181).addRange(0x111B6, 0x111BE).addRange(0x111C9, 0x111CC).addRange(0x1122F, 0x11231);\nset.addRange(0x11236, 0x11237).addRange(0x112E3, 0x112EA).addRange(0x11300, 0x11301).addRange(0x1133B, 0x1133C).addRange(0x11366, 0x1136C).addRange(0x11370, 0x11374).addRange(0x11438, 0x1143F).addRange(0x11442, 0x11444).addRange(0x114B3, 0x114B8).addRange(0x114BF, 0x114C0).addRange(0x114C2, 0x114C3).addRange(0x115B2, 0x115B5).addRange(0x115BC, 0x115BD).addRange(0x115BF, 0x115C0).addRange(0x115DC, 0x115DD).addRange(0x11633, 0x1163A).addRange(0x1163F, 0x11640).addRange(0x116B0, 0x116B5).addRange(0x1171D, 0x1171F).addRange(0x11722, 0x11725).addRange(0x11727, 0x1172B).addRange(0x1182F, 0x11837).addRange(0x11839, 0x1183A).addRange(0x1193B, 0x1193C).addRange(0x119D4, 0x119D7).addRange(0x119DA, 0x119DB).addRange(0x11A01, 0x11A0A).addRange(0x11A33, 0x11A38).addRange(0x11A3B, 0x11A3E).addRange(0x11A51, 0x11A56).addRange(0x11A59, 0x11A5B).addRange(0x11A8A, 0x11A96).addRange(0x11A98, 0x11A99).addRange(0x11C30, 0x11C36).addRange(0x11C38, 0x11C3D).addRange(0x11C92, 0x11CA7).addRange(0x11CAA, 0x11CB0).addRange(0x11CB2, 0x11CB3).addRange(0x11CB5, 0x11CB6).addRange(0x11D31, 0x11D36).addRange(0x11D3C, 0x11D3D).addRange(0x11D3F, 0x11D45).addRange(0x11D90, 0x11D91).addRange(0x11EF3, 0x11EF4).addRange(0x16AF0, 0x16AF4).addRange(0x16B30, 0x16B36).addRange(0x16F8F, 0x16F92).addRange(0x1BC9D, 0x1BC9E).addRange(0x1CF00, 0x1CF2D).addRange(0x1CF30, 0x1CF46).addRange(0x1D167, 0x1D169);\nset.addRange(0x1D17B, 0x1D182).addRange(0x1D185, 0x1D18B).addRange(0x1D1AA, 0x1D1AD).addRange(0x1D242, 0x1D244).addRange(0x1DA00, 0x1DA36).addRange(0x1DA3B, 0x1DA6C).addRange(0x1DA9B, 0x1DA9F).addRange(0x1DAA1, 0x1DAAF).addRange(0x1E000, 0x1E006).addRange(0x1E008, 0x1E018).addRange(0x1E01B, 0x1E021).addRange(0x1E023, 0x1E024).addRange(0x1E026, 0x1E02A).addRange(0x1E130, 0x1E136).addRange(0x1E2EC, 0x1E2EF).addRange(0x1E8D0, 0x1E8D6).addRange(0x1E944, 0x1E94A).addRange(0xE0100, 0xE01EF);\nmodule.exports = set;","var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n","var arrayPush = require('./_arrayPush'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nmodule.exports = baseGetAllKeys;\n","const set = require('regenerate')();\nset.addRange(0x1680, 0x169C);\nmodule.exports = set;","const set = require('regenerate')(0x9B2, 0x9D7);\nset.addRange(0x980, 0x983).addRange(0x985, 0x98C).addRange(0x98F, 0x990).addRange(0x993, 0x9A8).addRange(0x9AA, 0x9B0).addRange(0x9B6, 0x9B9).addRange(0x9BC, 0x9C4).addRange(0x9C7, 0x9C8).addRange(0x9CB, 0x9CE).addRange(0x9DC, 0x9DD).addRange(0x9DF, 0x9E3).addRange(0x9E6, 0x9FE);\nmodule.exports = set;","import React, { createContext, useContext } from \"react\"\n\nconst GatsbyMDXScopeContext = createContext({})\n\nexport const useMDXScope = scope => {\n const contextScope = useContext(GatsbyMDXScopeContext)\n return scope || contextScope\n}\n\nexport const MDXScopeProvider = ({ __mdxScope, children }) =>\n React.createElement(\n GatsbyMDXScopeContext.Provider,\n { value: __mdxScope },\n children\n )\n","var scope_0 = require('/home/runner/work/tanka/tanka/docs/.cache/caches/gatsby-plugin-mdx/mdx-scopes-dir/3448244fd83aacee0962c5fab74909b8.js').default;\nvar scope_1 = require('/home/runner/work/tanka/tanka/docs/.cache/caches/gatsby-plugin-mdx/mdx-scopes-dir/3b068767123dfcea6b5f82a6b8c79d55.js').default;\nvar scope_2 = require('/home/runner/work/tanka/tanka/docs/.cache/caches/gatsby-plugin-mdx/mdx-scopes-dir/e92f8988d65cf25c087d226e6c0ef06f.js').default;\nvar scope_3 = require('/home/runner/work/tanka/tanka/docs/.cache/caches/gatsby-plugin-mdx/mdx-scopes-dir/f46d506c1bb0c0f8de171a434f695927.js').default;export default\n Object.assign({}, scope_0,\nscope_1,\nscope_2,\nscope_3 )\n ","import React from \"react\"\nimport { MDXProvider, withMDXComponents } from \"@mdx-js/react\"\nimport { MDXScopeProvider } from \"./context\"\n\n/**\n * so, this import is weird right?\n *\n * # What it looks like:\n * we're importing a webpack loader directly into our runtime bundle\n *\n * # What it's actually doing:\n * We configure the `mdx-components` loader in gatsby-node's\n * `onCreateWebpackConfig`. The configuration sets the loader to handle its\n * own file, so if we import `./loaders/mdx-components`, the `mdx-components`\n * loader handles loading itself.\n *\n * # Why does this work?\n * The loader doesn't use the file argument to itself and instead returns\n * a generated file that includes the `gatsby-config` mdxPlugins wrapped in\n * require() statements. This results in the `mdxPlugins` being required\n * and available to the code after this import.\n *\n * # Have a better solution to this?\n * Submit a PR\n */\nimport { plugins as mdxPlugins } from \"./loaders/mdx-components\"\nimport scopeContexts from \"./loaders/mdx-scopes\"\n\nconst componentsAndGuards = {}\n\nconst componentFromGuards = arr =>\n function GatsbyMDXComponentFinder(props) {\n const { Component } = arr.find(({ guard }) => (guard ? guard(props) : true))\n return \n }\n\nmdxPlugins.forEach(({ guards = {}, components }) => {\n Object.entries(components).forEach(([componentName, Component]) => {\n if (componentsAndGuards[componentName]) {\n componentsAndGuards.push({ guard: guards[componentName], Component })\n } else {\n componentsAndGuards[componentName] = [\n { guard: guards[componentName], Component },\n ]\n }\n })\n})\n\nconst components = Object.entries(componentsAndGuards)\n .map(([name, arr]) => {\n return {\n [name]: componentFromGuards(\n arr.concat({ guard: undefined, Component: name })\n ),\n }\n })\n .reduce((acc, obj) => {\n return { ...acc, ...obj }\n }, {})\n\n// merge any components in wrapRootElement above this wrapRoot\nconst MDXConsumer = withMDXComponents(\n ({ components: componentsFromContext, children }) => (\n \n \n {children}\n \n \n )\n)\n\nconst WrapRootElement = ({ element }) => {element}\n\nexport default WrapRootElement\n","import wrap from \"./wrap-root-element\"\nexport const wrapRootElement = wrap\n","var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n","/** Used to detect strings that need a more robust regexp to match words. */\nvar reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;\n\n/**\n * Checks if `string` contains a word composed of Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a word is found, else `false`.\n */\nfunction hasUnicodeWord(string) {\n return reHasUnicodeWord.test(string);\n}\n\nmodule.exports = hasUnicodeWord;\n","/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\nmodule.exports = setCacheAdd;\n","module.exports = require('../../full/object/assign');\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n","/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n","const set = require('regenerate')();\nset.addRange(0x1F1E6, 0x1F1FF);\nmodule.exports = set;","module.exports = {plugins: []}","var isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw $TypeError($String(argument) + ' is not an object');\n};\n","var baseGet = require('./_baseGet'),\n baseSlice = require('./_baseSlice');\n\n/**\n * Gets the parent value at `path` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} path The path to get the parent value of.\n * @returns {*} Returns the parent value.\n */\nfunction parent(object, path) {\n return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1));\n}\n\nmodule.exports = parent;\n","const set = require('regenerate')(0x11350, 0x11357);\nset.addRange(0x11300, 0x11303).addRange(0x11305, 0x1130C).addRange(0x1130F, 0x11310).addRange(0x11313, 0x11328).addRange(0x1132A, 0x11330).addRange(0x11332, 0x11333).addRange(0x11335, 0x11339).addRange(0x1133C, 0x11344).addRange(0x11347, 0x11348).addRange(0x1134B, 0x1134D).addRange(0x1135D, 0x11363).addRange(0x11366, 0x1136C).addRange(0x11370, 0x11374);\nmodule.exports = set;","const set = require('regenerate')(0xA9, 0xAE, 0x203C, 0x2049, 0x2122, 0x2139, 0x2328, 0x2388, 0x23CF, 0x24C2, 0x25B6, 0x25C0, 0x2714, 0x2716, 0x271D, 0x2721, 0x2728, 0x2744, 0x2747, 0x274C, 0x274E, 0x2757, 0x27A1, 0x27B0, 0x27BF, 0x2B50, 0x2B55, 0x3030, 0x303D, 0x3297, 0x3299, 0x1F12F, 0x1F18E, 0x1F21A, 0x1F22F);\nset.addRange(0x2194, 0x2199).addRange(0x21A9, 0x21AA).addRange(0x231A, 0x231B).addRange(0x23E9, 0x23F3).addRange(0x23F8, 0x23FA).addRange(0x25AA, 0x25AB).addRange(0x25FB, 0x25FE).addRange(0x2600, 0x2605).addRange(0x2607, 0x2612).addRange(0x2614, 0x2685).addRange(0x2690, 0x2705).addRange(0x2708, 0x2712).addRange(0x2733, 0x2734).addRange(0x2753, 0x2755).addRange(0x2763, 0x2767).addRange(0x2795, 0x2797).addRange(0x2934, 0x2935).addRange(0x2B05, 0x2B07).addRange(0x2B1B, 0x2B1C).addRange(0x1F000, 0x1F0FF).addRange(0x1F10D, 0x1F10F).addRange(0x1F16C, 0x1F171).addRange(0x1F17E, 0x1F17F).addRange(0x1F191, 0x1F19A).addRange(0x1F1AD, 0x1F1E5).addRange(0x1F201, 0x1F20F).addRange(0x1F232, 0x1F23A).addRange(0x1F23C, 0x1F23F).addRange(0x1F249, 0x1F3FA).addRange(0x1F400, 0x1F53D).addRange(0x1F546, 0x1F64F).addRange(0x1F680, 0x1F6FF).addRange(0x1F774, 0x1F77F).addRange(0x1F7D5, 0x1F7FF).addRange(0x1F80C, 0x1F80F).addRange(0x1F848, 0x1F84F).addRange(0x1F85A, 0x1F85F).addRange(0x1F888, 0x1F88F).addRange(0x1F8AE, 0x1F8FF).addRange(0x1F90C, 0x1F93A).addRange(0x1F93C, 0x1F945).addRange(0x1F947, 0x1FAFF).addRange(0x1FC00, 0x1FFFD);\nmodule.exports = set;","var getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar weakMapTag = '[object WeakMap]';\n\n/**\n * Checks if `value` is classified as a `WeakMap` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a weak map, else `false`.\n * @example\n *\n * _.isWeakMap(new WeakMap);\n * // => true\n *\n * _.isWeakMap(new Map);\n * // => false\n */\nfunction isWeakMap(value) {\n return isObjectLike(value) && getTag(value) == weakMapTag;\n}\n\nmodule.exports = isWeakMap;\n","const set = require('regenerate')(0x10C7, 0x10CD, 0x2D27, 0x2D2D);\nset.addRange(0x10A0, 0x10C5).addRange(0x10D0, 0x10FA).addRange(0x10FC, 0x10FF).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x2D00, 0x2D25);\nmodule.exports = set;","'use strict';\nvar toPropertyKey = require('../internals/to-property-key');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPropertyKey(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","const set = require('regenerate')(0xAA, 0xB5, 0xBA, 0x345, 0x37F, 0x386, 0x38C, 0x10C7, 0x10CD, 0x1F59, 0x1F5B, 0x1F5D, 0x1FBE, 0x2071, 0x207F, 0x2102, 0x2107, 0x2115, 0x2124, 0x2126, 0x2128, 0x2139, 0x214E, 0x2D27, 0x2D2D, 0xA7D3, 0x10780, 0x1D4A2, 0x1D4BB, 0x1D546);\nset.addRange(0x41, 0x5A).addRange(0x61, 0x7A).addRange(0xC0, 0xD6).addRange(0xD8, 0xF6).addRange(0xF8, 0x1BA).addRange(0x1BC, 0x1BF).addRange(0x1C4, 0x293).addRange(0x295, 0x2B8).addRange(0x2C0, 0x2C1).addRange(0x2E0, 0x2E4).addRange(0x370, 0x373).addRange(0x376, 0x377).addRange(0x37A, 0x37D).addRange(0x388, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x3F5).addRange(0x3F7, 0x481).addRange(0x48A, 0x52F).addRange(0x531, 0x556).addRange(0x560, 0x588).addRange(0x10A0, 0x10C5).addRange(0x10D0, 0x10FA).addRange(0x10FD, 0x10FF).addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0x1C80, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1D00, 0x1DBF).addRange(0x1E00, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D).addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FBC).addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FCC).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FE0, 0x1FEC).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFC).addRange(0x2090, 0x209C).addRange(0x210A, 0x2113).addRange(0x2119, 0x211D).addRange(0x212A, 0x212D).addRange(0x212F, 0x2134).addRange(0x213C, 0x213F).addRange(0x2145, 0x2149);\nset.addRange(0x2160, 0x217F).addRange(0x2183, 0x2184).addRange(0x24B6, 0x24E9).addRange(0x2C00, 0x2CE4).addRange(0x2CEB, 0x2CEE).addRange(0x2CF2, 0x2CF3).addRange(0x2D00, 0x2D25).addRange(0xA640, 0xA66D).addRange(0xA680, 0xA69D).addRange(0xA722, 0xA787).addRange(0xA78B, 0xA78E).addRange(0xA790, 0xA7CA).addRange(0xA7D0, 0xA7D1).addRange(0xA7D5, 0xA7D9).addRange(0xA7F5, 0xA7F6).addRange(0xA7F8, 0xA7FA).addRange(0xAB30, 0xAB5A).addRange(0xAB5C, 0xAB68).addRange(0xAB70, 0xABBF).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFF21, 0xFF3A).addRange(0xFF41, 0xFF5A).addRange(0x10400, 0x1044F).addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10783, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10C80, 0x10CB2).addRange(0x10CC0, 0x10CF2).addRange(0x118A0, 0x118DF).addRange(0x16E40, 0x16E7F).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514);\nset.addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D6C0).addRange(0x1D6C2, 0x1D6DA).addRange(0x1D6DC, 0x1D6FA).addRange(0x1D6FC, 0x1D714).addRange(0x1D716, 0x1D734).addRange(0x1D736, 0x1D74E).addRange(0x1D750, 0x1D76E).addRange(0x1D770, 0x1D788).addRange(0x1D78A, 0x1D7A8).addRange(0x1D7AA, 0x1D7C2).addRange(0x1D7C4, 0x1D7CB).addRange(0x1DF00, 0x1DF09).addRange(0x1DF0B, 0x1DF1E).addRange(0x1E900, 0x1E943).addRange(0x1F130, 0x1F149).addRange(0x1F150, 0x1F169).addRange(0x1F170, 0x1F189);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0xF00, 0xF47).addRange(0xF49, 0xF6C).addRange(0xF71, 0xF97).addRange(0xF99, 0xFBC).addRange(0xFBE, 0xFCC).addRange(0xFCE, 0xFD4).addRange(0xFD9, 0xFDA);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x900, 0x950).addRange(0x955, 0x963).addRange(0x966, 0x97F).addRange(0xA8E0, 0xA8FF);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x2C00, 0x2C5F).addRange(0x1E000, 0x1E006).addRange(0x1E008, 0x1E018).addRange(0x1E01B, 0x1E021).addRange(0x1E023, 0x1E024).addRange(0x1E026, 0x1E02A);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0xC80, 0xC8C).addRange(0xC8E, 0xC90).addRange(0xC92, 0xCA8).addRange(0xCAA, 0xCB3).addRange(0xCB5, 0xCB9).addRange(0xCBC, 0xCC4).addRange(0xCC6, 0xCC8).addRange(0xCCA, 0xCCD).addRange(0xCD5, 0xCD6).addRange(0xCDD, 0xCDE).addRange(0xCE0, 0xCE3).addRange(0xCE6, 0xCEF).addRange(0xCF1, 0xCF2);\nmodule.exports = set;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.ScrollContainer = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _scrollHandler = require(\"./scroll-handler\");\n\nvar _router = require(\"@reach/router\");\n\n// TODO: In Gatsby v3, this file should be removed.\n// We are deprecating this in V2 in favor of useScrollRestoration\nvar propTypes = {\n scrollKey: _propTypes.default.string.isRequired,\n shouldUpdateScroll: _propTypes.default.func,\n children: _propTypes.default.element.isRequired\n};\nvar hasNotWarnedDeprecation = true;\n\nvar ScrollContainerImplementation = /*#__PURE__*/function (_React$Component) {\n (0, _inheritsLoose2.default)(ScrollContainerImplementation, _React$Component);\n\n function ScrollContainerImplementation(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this;\n\n if (process.env.NODE_ENV !== \"production\" && hasNotWarnedDeprecation) {\n hasNotWarnedDeprecation = false;\n console.log(\"Deprecation Warning:\\n\\n Gatsby is deprecated in Gatsby v2 and will be removed in Gatsby v3.\\n Update to the React hook alternative useScrollRestoration, like this:.\\n \\n ```\\n import React from 'react';\\n import { useScrollRestoration } from 'gatsby-react-router-scroll';\\n\\n function Component() {\\n const scrollRestoration = useScrollRestoration('\" + _this.props.scrollKey + \"');\\n\\n return
      ;\\n }\\n ```\\n \");\n }\n\n return _this;\n }\n\n var _proto = ScrollContainerImplementation.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n var _this2 = this;\n\n // eslint-disable-next-line react/no-find-dom-node\n var node = _reactDom.default.findDOMNode(this);\n\n var _this$props = this.props,\n location = _this$props.location,\n scrollKey = _this$props.scrollKey;\n if (!node) return;\n node.addEventListener(\"scroll\", function () {\n _this2.props.context.save(location, scrollKey, node.scrollTop);\n });\n var position = this.props.context.read(location, scrollKey);\n node.scrollTo(0, position || 0);\n };\n\n _proto.render = function render() {\n return this.props.children;\n };\n\n return ScrollContainerImplementation;\n}(React.Component);\n\nvar ScrollContainer = function ScrollContainer(props) {\n return /*#__PURE__*/React.createElement(_router.Location, null, function (_ref) {\n var location = _ref.location;\n return /*#__PURE__*/React.createElement(_scrollHandler.ScrollContext.Consumer, null, function (context) {\n return /*#__PURE__*/React.createElement(ScrollContainerImplementation, (0, _extends2.default)({}, props, {\n context: context,\n location: location\n }));\n });\n });\n};\n\nexports.ScrollContainer = ScrollContainer;\nScrollContainer.propTypes = propTypes;","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n","const set = require('regenerate')();\nset.addRange(0x0, 0x10FFFF);\nmodule.exports = set;","var baseHasIn = require('./_baseHasIn'),\n hasPath = require('./_hasPath');\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\nmodule.exports = hasIn;\n","var isCallable = require('../internals/is-callable');\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\nmodule.exports = $documentAll.IS_HTMLDDA ? function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll;\n} : function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","import { useStaticQuery, graphql } from 'gatsby'\n\nexport const useDbQuery = () => {\n try {\n const data = useStaticQuery(graphql`\n query {\n doczDb {\n id\n db\n }\n }\n `)\n\n return JSON.parse(data.doczDb.db)\n } catch (err) {\n console.error(err)\n console.error('Error when parsing docz database')\n return {}\n }\n}\n","import React from 'react'\n\nconst Wrapper = ({ children }) => <>{children}\nexport default Wrapper\n","import verticalRhythm from 'compass-vertical-rhythm';\nimport ms from 'modularscale';\nimport assign from 'object-assign';\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n return target;\n}\nvar heading = {\n fontFamily: 'heading',\n lineHeight: 'heading',\n fontWeight: 'heading'\n};\nvar styles = {\n root: {\n fontFamily: 'body',\n fontSize: 2,\n fontWeight: 'body',\n lineHeight: 'body'\n },\n img: {\n maxWidth: '100%'\n },\n h1: assign({\n fontSize: 5\n }, heading),\n h2: assign({\n fontSize: 4\n }, heading),\n h3: assign({\n fontSize: 3\n }, heading),\n h4: assign({\n fontSize: 2\n }, heading),\n h5: assign({\n fontSize: 1\n }, heading),\n h6: assign({\n fontSize: 0\n }, heading),\n ul: {\n listStylePosition: 'outside',\n listStyleImage: 'none',\n ml: 3\n },\n ol: {\n listStylePosition: 'outside',\n listStyleImage: 'none',\n ml: 3\n },\n li: {\n mb: 2,\n pl: 0,\n ol: {\n my: 2,\n ml: 3\n },\n ul: {\n my: 2,\n ml: 3\n },\n p: {\n mb: 2\n }\n },\n p: {},\n table: {\n borderCollapse: 'collapse',\n width: '100%'\n },\n th: {\n textAlign: 'left',\n borderBottom: '1px solid',\n px: 2,\n py: 1,\n ':first-child': {\n pl: 0\n },\n ':last-child': {\n pr: 0\n }\n },\n td: {\n textAlign: 'left',\n borderBottom: '1px solid',\n px: 2,\n py: 1,\n mt: '-1px',\n ':first-child': {\n pl: 0\n },\n ':last-child': {\n pr: 0\n }\n },\n blockquote: {\n mx: 3\n },\n hr: {\n border: 0,\n borderBottom: '1px solid',\n mt: '-1px',\n mb: 3\n },\n b: {\n fontWeight: 'bold'\n },\n strong: {\n fontWeight: 'bold'\n },\n code: {\n fontSize: '85%'\n },\n pre: {\n fontSize: '85%',\n padding: 3\n }\n};\nvar headings = ['h6', 'h5', 'h4', 'h3', 'h2', 'h1'];\nvar blockElements = [].concat(headings, ['ul', 'ol', 'p', 'pre', 'table', 'blockquote', 'img', 'hr']);\nblockElements.forEach(function (tag) {\n assign(styles, _defineProperty({}, tag, assign({\n padding: 0,\n margin: 0,\n marginBottom: 3\n }, styles[tag])));\n});\n\n// - creates base theme object\n// - uses a static theme.styles object for consumption in theme-ui\n// - ignores overrideThemeStyles\n// - does not include color styles\n// - should be mostly compatible with existing typography.js themes\n\nvar defaults = {\n baseFontSize: 16,\n baseLineHeight: 1.45,\n headerLineHeight: 1.1,\n scaleRatio: 2,\n googleFonts: [],\n headerFontFamily: ['-apple-system', 'BlinkMacSystemFont', 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', 'sans-serif'],\n bodyFontFamily: ['georgia', 'serif'],\n headerWeight: 'bold',\n bodyWeight: 'normal',\n boldWeight: 'bold',\n includeNormalize: true,\n blockMarginBottom: 1\n};\nvar toUnitless = function toUnitless(val) {\n return parseFloat(val);\n};\nvar getScale = function getScale(opts) {\n return function (value) {\n return ms(value, opts.scaleRatio) * opts.baseFontSize;\n };\n};\nvar getSpace = function getSpace(result, opts) {\n var n = toUnitless(result.rhythm(opts.blockMarginBottom));\n return [0, 1 / 4, 1 / 2, 1, 2, 4, 8].map(function (v) {\n return v * n;\n });\n}; // genericFontFamilies, wrapFontFamily adapted from typography.js\n// Wrap font names in quotes, unless the font name is actually a keyword.\n// See https://stackoverflow.com/a/13752149 and https://www.w3.org/TR/CSS2/fonts.html#font-family-prop\n\nvar genericFontFamilies = ['inherit', 'default', 'serif', 'sans-serif', 'monospace', 'fantasy', 'cursive', '-apple-system', 'system-ui'];\nvar wrapFontFamily = function wrapFontFamily(fontFamily) {\n return genericFontFamilies.includes(fontFamily) ? fontFamily : \"'\".concat(fontFamily, \"'\");\n};\nvar stackFonts = function stackFonts(fonts) {\n return fonts.map(wrapFontFamily).join(', ');\n};\nvar getFonts = function getFonts(result, opts) {\n var body = stackFonts(opts.bodyFontFamily);\n var heading = stackFonts(opts.headerFontFamily);\n return {\n body: body,\n heading: heading\n };\n};\nvar getFontSizes = function getFontSizes(result, opts) {\n var scale = getScale(opts);\n return [-1.5 / 5, -1 / 5, 0, 2 / 5, 3 / 5, 1].map(scale);\n};\nvar getLineHeights = function getLineHeights(result, opts) {\n var body = opts.baseLineHeight;\n var heading = opts.headerLineHeight;\n return {\n body: body,\n heading: heading\n };\n};\nvar getFontWeights = function getFontWeights(result, opts) {\n var body = opts.bodyWeight;\n var bold = opts.boldWeight;\n var heading = opts.headerWeight;\n return {\n body: body,\n bold: bold,\n heading: heading\n };\n};\nvar toTheme = function toTheme() {\n var _opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var opts = _objectSpread2({}, defaults, {}, _opts); // enforce unitless values\n\n opts.baseFontSize = toUnitless(opts.baseFontSize);\n opts.rhythmUnit = 'px';\n var typo = verticalRhythm(opts);\n var theme = {};\n typo.options = opts;\n theme.space = getSpace(typo, opts);\n theme.fonts = getFonts(typo, opts);\n theme.fontSizes = getFontSizes(typo, opts);\n theme.fontWeights = getFontWeights(typo, opts);\n theme.lineHeights = getLineHeights(typo, opts);\n return _objectSpread2({}, theme, {\n styles: styles,\n typography: typo\n });\n};\nexport { toTheme, styles };","export const white = '#FFFFFF'\nexport const grayUltraLight = '#FCFBFA'\nexport const grayExtraLight = '#F5F6F7'\nexport const grayLight = '#CED4DE'\nexport const gray = '#67788a'\nexport const grayDark = '#2D3747'\nexport const grayExtraDark = '#1D2330'\nexport const dark = '#13161F'\nexport const blueLight = '#e9f2fa'\nexport const blue = '#0B5FFF'\nexport const skyBlue = '#1FB6FF'\nexport const negative = '#EB4D4B'\n","export default {\n plain: {\n fontFamily: 'Inconsolata',\n color: '#d6deeb',\n backgroundColor: '#13161F',\n },\n styles: [\n {\n types: ['changed'],\n style: {\n color: 'rgb(162, 191, 252)',\n fontStyle: 'italic',\n },\n },\n {\n types: ['deleted'],\n style: {\n color: 'rgba(239, 83, 80, 0.56)',\n fontStyle: 'italic',\n },\n },\n {\n types: ['inserted', 'attr-name'],\n style: {\n color: 'rgb(173, 219, 103)',\n fontStyle: 'italic',\n },\n },\n {\n types: ['comment'],\n style: {\n color: 'rgb(99, 119, 119)',\n fontStyle: 'italic',\n },\n },\n {\n types: ['string', 'url'],\n style: {\n color: 'rgb(173, 219, 103)',\n },\n },\n {\n types: ['variable'],\n style: {\n color: 'rgb(214, 222, 235)',\n },\n },\n {\n types: ['number'],\n style: {\n color: 'rgb(247, 140, 108)',\n },\n },\n {\n types: ['builtin', 'char', 'constant', 'function'],\n style: {\n color: 'rgb(130, 170, 255)',\n },\n },\n {\n // This was manually added after the auto-generation\n // so that punctuations are not italicised\n types: ['punctuation'],\n style: {\n color: 'rgb(199, 146, 234)',\n },\n },\n {\n types: ['selector', 'doctype'],\n style: {\n color: 'rgb(199, 146, 234)',\n fontStyle: 'italic',\n },\n },\n {\n types: ['class-name'],\n style: {\n color: 'rgb(255, 203, 139)',\n },\n },\n {\n types: ['tag', 'operator', 'keyword'],\n style: {\n color: 'rgb(127, 219, 202)',\n },\n },\n {\n types: ['boolean'],\n style: {\n color: 'rgb(255, 88, 116)',\n },\n },\n {\n types: ['property'],\n style: {\n color: 'rgb(128, 203, 196)',\n },\n },\n {\n types: ['namespace'],\n style: {\n color: 'rgb(178, 204, 214)',\n },\n },\n ],\n}\n","export default {\n plain: {\n fontFamily: 'Inconsolata',\n color: '#393A34',\n backgroundColor: '#f6f8fa',\n },\n styles: [\n {\n types: ['comment', 'prolog', 'doctype', 'cdata'],\n style: {\n color: '#999988',\n fontStyle: 'italic',\n },\n },\n {\n types: ['namespace'],\n style: {\n opacity: 0.7,\n },\n },\n {\n types: ['string', 'attr-value'],\n style: {\n color: '#e3116c',\n },\n },\n {\n types: ['punctuation', 'operator'],\n style: {\n color: '#393A34',\n },\n },\n {\n types: [\n 'entity',\n 'url',\n 'symbol',\n 'number',\n 'boolean',\n 'variable',\n 'constant',\n 'property',\n 'regex',\n 'inserted',\n ],\n style: {\n color: '#36acaa',\n },\n },\n {\n types: ['atrule', 'keyword', 'attr-name', 'selector'],\n style: {\n color: '#00a4db',\n },\n },\n {\n types: ['function', 'deleted', 'tag'],\n style: {\n color: '#d73a49',\n },\n },\n {\n types: ['function-variable'],\n style: {\n color: '#6f42c1',\n },\n },\n {\n types: ['tag', 'selector', 'keyword'],\n style: {\n color: '#00009f',\n },\n },\n ],\n}\n","import * as colors from './colors'\nimport prismDark from './prism/dark'\nimport prismLight from './prism/light'\n\nexport const light = {\n ...colors,\n primary: colors.blue,\n text: colors.grayDark,\n muted: colors.gray,\n link: colors.blue,\n background: colors.white,\n border: colors.grayLight,\n sidebar: {\n bg: colors.white,\n navGroup: colors.grayDark,\n navLink: colors.grayDark,\n navLinkActive: colors.blue,\n tocLink: colors.gray,\n tocLinkActive: colors.grayExtraDark,\n },\n header: {\n bg: colors.grayExtraLight,\n text: colors.grayDark,\n border: colors.grayLight,\n button: {\n bg: colors.blue,\n color: colors.white,\n },\n },\n props: {\n bg: colors.grayUltraLight,\n text: colors.grayDark,\n highlight: colors.blue,\n defaultValue: colors.gray,\n descriptionText: colors.grayDark,\n descriptionBg: colors.white,\n },\n playground: {\n bg: colors.white,\n border: colors.grayLight,\n },\n blockquote: {\n bg: colors.grayExtraLight,\n border: colors.grayLight,\n color: colors.gray,\n },\n prism: {\n ...prismLight,\n },\n}\n\nexport const dark = {\n ...colors,\n primary: colors.skyBlue,\n text: colors.grayExtraLight,\n muted: colors.gray,\n link: colors.skyBlue,\n background: colors.grayExtraDark,\n border: colors.grayDark,\n sidebar: {\n bg: colors.grayExtraDark,\n navGroup: colors.gray,\n navLink: colors.grayLight,\n navLinkActive: colors.skyBlue,\n tocLink: colors.gray,\n tocLinkActive: colors.grayLight,\n },\n header: {\n bg: colors.dark,\n text: colors.grayLight,\n border: colors.grayDark,\n button: {\n bg: colors.skyBlue,\n color: colors.white,\n },\n },\n props: {\n bg: colors.dark,\n text: colors.gray,\n highlight: colors.skyBlue,\n defaultValue: colors.grayDark,\n descriptionText: colors.gray,\n descriptionBg: colors.grayExtraDark,\n },\n playground: {\n bg: colors.dark,\n border: colors.grayDark,\n },\n blockquote: {\n bg: colors.grayDark,\n border: colors.gray,\n color: colors.gray,\n },\n prism: {\n ...prismDark,\n },\n}\n","import dark from './dark'\nimport light from './light'\n\nexport default {\n dark,\n light,\n}\n","const styles = {\n Container: {\n p: 4,\n maxWidth: 1280,\n },\n root: {\n fontSize: 3,\n color: 'text',\n bg: 'background',\n },\n a: {\n color: 'primary',\n textDecoration: 'none',\n '&:hover': {\n color: 'secondary',\n textDecoration: 'underline',\n },\n },\n h1: {\n fontSize: 6,\n },\n h2: {\n fontSize: 5,\n },\n h3: {\n fontSize: 4,\n },\n h4: {\n fontSize: 3,\n },\n h5: {\n fontSize: 2,\n },\n h6: {\n fontSize: 1,\n },\n li: {\n marginBottom: 1,\n },\n blockquote: {\n my: 4,\n mx: 0,\n py: 3,\n px: 4,\n bg: 'blockquote.bg',\n borderLeft: t => `5px solid ${t.colors.blockquote.border}`,\n color: 'blockquote.color',\n fontStyle: 'italic',\n '> p': {\n m: 0,\n },\n },\n code: {\n fontFamily: 'monospace',\n },\n inlineCode: {\n fontFamily: 'monospace',\n },\n pre: {\n my: 4,\n p: 3,\n variant: 'prism',\n textAlign: 'left',\n fontFamily: 'monospace',\n borderRadius: 'radius',\n },\n table: {\n width: '100%',\n my: 4,\n borderCollapse: 'separate',\n borderSpacing: 0,\n [['th', 'td']]: {\n textAlign: 'left',\n py: '4px',\n pr: '4px',\n pl: 0,\n borderColor: 'muted',\n borderBottomStyle: 'solid',\n },\n },\n th: {\n verticalAlign: 'bottom',\n borderBottomWidth: '2px',\n },\n td: {\n verticalAlign: 'top',\n borderBottomWidth: '1px',\n },\n hr: {\n border: 0,\n borderBottom: t => `1px solid ${t.colors.border}`,\n },\n}\n\nexport default styles\n","import moraga from 'typography-theme-moraga'\nimport { toTheme } from '@theme-ui/typography'\nimport { merge } from 'lodash/fp'\n\nimport * as modes from './modes'\nimport prism from './prism'\nimport styles from './styles'\n\nmoraga.headerWeight = 700\nconst typography = toTheme(moraga)\n\nexport default merge(typography, {\n initialColorMode: 'light',\n // Show errors above playground editor\n showLiveError: true,\n // Show preview of the code inside playground\n showLivePreview: true,\n // Show editor when a playground is rendered\n showPlaygroundEditor: true,\n // Show dark/light mode switch toggle in header\n showDarkModeSwitch: true,\n // Display edit this page button on every page\n showMarkdownEditButton: true,\n // Wrap the playground editor and preview in iframes to avoid style/script collisions\n useScopingInPlayground: false,\n colors: {\n ...modes.light,\n modes: {\n dark: modes.dark,\n },\n },\n fonts: {\n monospace: 'Inconsolata',\n },\n fontSizes: [12, 14, 16, 20, 24, 32, 48, 64],\n fontWeights: {\n body: 400,\n heading: 700,\n bold: 700,\n },\n lineHeights: {\n body: 1.5,\n heading: 1.125,\n },\n letterSpacings: {\n body: 'normal',\n caps: '0.2em',\n },\n space: [0, 4, 8, 16, 32, 48, 64, 80, 100],\n radii: {\n square: 0,\n radius: 4,\n rounded: 10,\n },\n styles,\n prism,\n})\n","/** @jsx jsx */\nimport { jsx } from 'theme-ui'\n\nconst heading = Tag => {\n const Component = props => {\n return !!props.id ? (\n \n \n {props.children}\n \n \n ) : (\n \n )\n }\n\n Component.displayName = Tag\n return Component\n}\n\nexport const h2 = heading('h2')\nexport const h3 = heading('h3')\nexport const h4 = heading('h4')\nexport const h5 = heading('h5')\nexport const h6 = heading('h6')\n","/*\n\nBased off glamor's StyleSheet, thanks Sunil ❤️\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n// $FlowFixMe\nfunction sheetForTag(tag) {\n if (tag.sheet) {\n // $FlowFixMe\n return tag.sheet;\n } // this weirdness brought to you by firefox\n\n /* istanbul ignore next */\n\n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n // $FlowFixMe\n return document.styleSheets[i];\n }\n }\n}\nfunction createStyleElement(options) {\n var tag = document.createElement('style');\n tag.setAttribute('data-emotion', options.key);\n if (options.nonce !== undefined) {\n tag.setAttribute('nonce', options.nonce);\n }\n tag.appendChild(document.createTextNode(''));\n tag.setAttribute('data-s', '');\n return tag;\n}\nvar StyleSheet = /*#__PURE__*/function () {\n // Using Node instead of HTMLElement since container may be a ShadowRoot\n function StyleSheet(options) {\n var _this = this;\n this._insertTag = function (tag) {\n var before;\n if (_this.tags.length === 0) {\n if (_this.insertionPoint) {\n before = _this.insertionPoint.nextSibling;\n } else if (_this.prepend) {\n before = _this.container.firstChild;\n } else {\n before = _this.before;\n }\n } else {\n before = _this.tags[_this.tags.length - 1].nextSibling;\n }\n _this.container.insertBefore(tag, before);\n _this.tags.push(tag);\n };\n this.isSpeedy = options.speedy === undefined ? process.env.NODE_ENV === 'production' : options.speedy;\n this.tags = [];\n this.ctr = 0;\n this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n this.key = options.key;\n this.container = options.container;\n this.prepend = options.prepend;\n this.insertionPoint = options.insertionPoint;\n this.before = null;\n }\n var _proto = StyleSheet.prototype;\n _proto.hydrate = function hydrate(nodes) {\n nodes.forEach(this._insertTag);\n };\n _proto.insert = function insert(rule) {\n // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n // it's 1 in dev because we insert source maps that map a single rule to a location\n // and you can only have one source map per style tag\n if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n this._insertTag(createStyleElement(this));\n }\n var tag = this.tags[this.tags.length - 1];\n if (process.env.NODE_ENV !== 'production') {\n var isImportRule = rule.charCodeAt(0) === 64 && rule.charCodeAt(1) === 105;\n if (isImportRule && this._alreadyInsertedOrderInsensitiveRule) {\n // this would only cause problem in speedy mode\n // but we don't want enabling speedy to affect the observable behavior\n // so we report this error at all times\n console.error(\"You're attempting to insert the following rule:\\n\" + rule + '\\n\\n`@import` rules must be before all other types of rules in a stylesheet but other rules have already been inserted. Please ensure that `@import` rules are before all other rules.');\n }\n this._alreadyInsertedOrderInsensitiveRule = this._alreadyInsertedOrderInsensitiveRule || !isImportRule;\n }\n if (this.isSpeedy) {\n var sheet = sheetForTag(tag);\n try {\n // this is the ultrafast version, works across browsers\n // the big drawback is that the css won't be editable in devtools\n sheet.insertRule(rule, sheet.cssRules.length);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production' && !/:(-moz-placeholder|-moz-focus-inner|-moz-focusring|-ms-input-placeholder|-moz-read-write|-moz-read-only|-ms-clear|-ms-expand|-ms-reveal){/.test(rule)) {\n console.error(\"There was a problem inserting the following rule: \\\"\" + rule + \"\\\"\", e);\n }\n }\n } else {\n tag.appendChild(document.createTextNode(rule));\n }\n this.ctr++;\n };\n _proto.flush = function flush() {\n // $FlowFixMe\n this.tags.forEach(function (tag) {\n return tag.parentNode && tag.parentNode.removeChild(tag);\n });\n this.tags = [];\n this.ctr = 0;\n if (process.env.NODE_ENV !== 'production') {\n this._alreadyInsertedOrderInsensitiveRule = false;\n }\n };\n return StyleSheet;\n}();\nexport { StyleSheet };","var e = \"-ms-\";\nvar r = \"-moz-\";\nvar a = \"-webkit-\";\nvar n = \"comm\";\nvar c = \"rule\";\nvar s = \"decl\";\nvar t = \"@page\";\nvar u = \"@media\";\nvar i = \"@import\";\nvar f = \"@charset\";\nvar o = \"@viewport\";\nvar l = \"@supports\";\nvar v = \"@document\";\nvar p = \"@namespace\";\nvar h = \"@keyframes\";\nvar b = \"@font-face\";\nvar w = \"@counter-style\";\nvar d = \"@font-feature-values\";\nvar $ = \"@layer\";\nvar g = Math.abs;\nvar k = String.fromCharCode;\nvar m = Object.assign;\nfunction x(e, r) {\n return O(e, 0) ^ 45 ? (((r << 2 ^ O(e, 0)) << 2 ^ O(e, 1)) << 2 ^ O(e, 2)) << 2 ^ O(e, 3) : 0;\n}\nfunction y(e) {\n return e.trim();\n}\nfunction j(e, r) {\n return (e = r.exec(e)) ? e[0] : e;\n}\nfunction z(e, r, a) {\n return e.replace(r, a);\n}\nfunction C(e, r) {\n return e.indexOf(r);\n}\nfunction O(e, r) {\n return e.charCodeAt(r) | 0;\n}\nfunction A(e, r, a) {\n return e.slice(r, a);\n}\nfunction M(e) {\n return e.length;\n}\nfunction S(e) {\n return e.length;\n}\nfunction q(e, r) {\n return r.push(e), e;\n}\nfunction B(e, r) {\n return e.map(r).join(\"\");\n}\nvar D = 1;\nvar E = 1;\nvar F = 0;\nvar G = 0;\nvar H = 0;\nvar I = \"\";\nfunction J(e, r, a, n, c, s, t) {\n return {\n value: e,\n root: r,\n parent: a,\n type: n,\n props: c,\n children: s,\n line: D,\n column: E,\n length: t,\n return: \"\"\n };\n}\nfunction K(e, r) {\n return m(J(\"\", null, null, \"\", null, null, 0), e, {\n length: -e.length\n }, r);\n}\nfunction L() {\n return H;\n}\nfunction N() {\n H = G > 0 ? O(I, --G) : 0;\n if (E--, H === 10) E = 1, D--;\n return H;\n}\nfunction P() {\n H = G < F ? O(I, G++) : 0;\n if (E++, H === 10) E = 1, D++;\n return H;\n}\nfunction Q() {\n return O(I, G);\n}\nfunction R() {\n return G;\n}\nfunction T(e, r) {\n return A(I, e, r);\n}\nfunction U(e) {\n switch (e) {\n case 0:\n case 9:\n case 10:\n case 13:\n case 32:\n return 5;\n case 33:\n case 43:\n case 44:\n case 47:\n case 62:\n case 64:\n case 126:\n case 59:\n case 123:\n case 125:\n return 4;\n case 58:\n return 3;\n case 34:\n case 39:\n case 40:\n case 91:\n return 2;\n case 41:\n case 93:\n return 1;\n }\n return 0;\n}\nfunction V(e) {\n return D = E = 1, F = M(I = e), G = 0, [];\n}\nfunction W(e) {\n return I = \"\", e;\n}\nfunction X(e) {\n return y(T(G - 1, re(e === 91 ? e + 2 : e === 40 ? e + 1 : e)));\n}\nfunction Y(e) {\n return W(_(V(e)));\n}\nfunction Z(e) {\n while (H = Q()) if (H < 33) P();else break;\n return U(e) > 2 || U(H) > 3 ? \"\" : \" \";\n}\nfunction _(e) {\n while (P()) switch (U(H)) {\n case 0:\n q(ne(G - 1), e);\n break;\n case 2:\n q(X(H), e);\n break;\n default:\n q(k(H), e);\n }\n return e;\n}\nfunction ee(e, r) {\n while (--r && P()) if (H < 48 || H > 102 || H > 57 && H < 65 || H > 70 && H < 97) break;\n return T(e, R() + (r < 6 && Q() == 32 && P() == 32));\n}\nfunction re(e) {\n while (P()) switch (H) {\n case e:\n return G;\n case 34:\n case 39:\n if (e !== 34 && e !== 39) re(H);\n break;\n case 40:\n if (e === 41) re(e);\n break;\n case 92:\n P();\n break;\n }\n return G;\n}\nfunction ae(e, r) {\n while (P()) if (e + H === 47 + 10) break;else if (e + H === 42 + 42 && Q() === 47) break;\n return \"/*\" + T(r, G - 1) + \"*\" + k(e === 47 ? e : P());\n}\nfunction ne(e) {\n while (!U(Q())) P();\n return T(e, G);\n}\nfunction ce(e) {\n return W(se(\"\", null, null, null, [\"\"], e = V(e), 0, [0], e));\n}\nfunction se(e, r, a, n, c, s, t, u, i) {\n var f = 0;\n var o = 0;\n var l = t;\n var v = 0;\n var p = 0;\n var h = 0;\n var b = 1;\n var w = 1;\n var d = 1;\n var $ = 0;\n var g = \"\";\n var m = c;\n var x = s;\n var y = n;\n var j = g;\n while (w) switch (h = $, $ = P()) {\n case 40:\n if (h != 108 && O(j, l - 1) == 58) {\n if (C(j += z(X($), \"&\", \"&\\f\"), \"&\\f\") != -1) d = -1;\n break;\n }\n case 34:\n case 39:\n case 91:\n j += X($);\n break;\n case 9:\n case 10:\n case 13:\n case 32:\n j += Z(h);\n break;\n case 92:\n j += ee(R() - 1, 7);\n continue;\n case 47:\n switch (Q()) {\n case 42:\n case 47:\n q(ue(ae(P(), R()), r, a), i);\n break;\n default:\n j += \"/\";\n }\n break;\n case 123 * b:\n u[f++] = M(j) * d;\n case 125 * b:\n case 59:\n case 0:\n switch ($) {\n case 0:\n case 125:\n w = 0;\n case 59 + o:\n if (d == -1) j = z(j, /\\f/g, \"\");\n if (p > 0 && M(j) - l) q(p > 32 ? ie(j + \";\", n, a, l - 1) : ie(z(j, \" \", \"\") + \";\", n, a, l - 2), i);\n break;\n case 59:\n j += \";\";\n default:\n q(y = te(j, r, a, f, o, c, u, g, m = [], x = [], l), s);\n if ($ === 123) if (o === 0) se(j, r, y, y, m, s, l, u, x);else switch (v === 99 && O(j, 3) === 110 ? 100 : v) {\n case 100:\n case 108:\n case 109:\n case 115:\n se(e, y, y, n && q(te(e, y, y, 0, 0, c, u, g, c, m = [], l), x), c, x, l, u, n ? m : x);\n break;\n default:\n se(j, y, y, y, [\"\"], x, 0, u, x);\n }\n }\n f = o = p = 0, b = d = 1, g = j = \"\", l = t;\n break;\n case 58:\n l = 1 + M(j), p = h;\n default:\n if (b < 1) if ($ == 123) --b;else if ($ == 125 && b++ == 0 && N() == 125) continue;\n switch (j += k($), $ * b) {\n case 38:\n d = o > 0 ? 1 : (j += \"\\f\", -1);\n break;\n case 44:\n u[f++] = (M(j) - 1) * d, d = 1;\n break;\n case 64:\n if (Q() === 45) j += X(P());\n v = Q(), o = l = M(g = j += ne(R())), $++;\n break;\n case 45:\n if (h === 45 && M(j) == 2) b = 0;\n }\n }\n return s;\n}\nfunction te(e, r, a, n, s, t, u, i, f, o, l) {\n var v = s - 1;\n var p = s === 0 ? t : [\"\"];\n var h = S(p);\n for (var b = 0, w = 0, d = 0; b < n; ++b) for (var $ = 0, k = A(e, v + 1, v = g(w = u[b])), m = e; $ < h; ++$) if (m = y(w > 0 ? p[$] + \" \" + k : z(k, /&\\f/g, p[$]))) f[d++] = m;\n return J(e, r, a, s === 0 ? c : i, f, o, l);\n}\nfunction ue(e, r, a) {\n return J(e, r, a, n, k(L()), A(e, 2, -2), 0);\n}\nfunction ie(e, r, a, n) {\n return J(e, r, a, s, A(e, 0, n), A(e, n + 1, -1), n);\n}\nfunction fe(n, c, s) {\n switch (x(n, c)) {\n case 5103:\n return a + \"print-\" + n + n;\n case 5737:\n case 4201:\n case 3177:\n case 3433:\n case 1641:\n case 4457:\n case 2921:\n case 5572:\n case 6356:\n case 5844:\n case 3191:\n case 6645:\n case 3005:\n case 6391:\n case 5879:\n case 5623:\n case 6135:\n case 4599:\n case 4855:\n case 4215:\n case 6389:\n case 5109:\n case 5365:\n case 5621:\n case 3829:\n return a + n + n;\n case 4789:\n return r + n + n;\n case 5349:\n case 4246:\n case 4810:\n case 6968:\n case 2756:\n return a + n + r + n + e + n + n;\n case 5936:\n switch (O(n, c + 11)) {\n case 114:\n return a + n + e + z(n, /[svh]\\w+-[tblr]{2}/, \"tb\") + n;\n case 108:\n return a + n + e + z(n, /[svh]\\w+-[tblr]{2}/, \"tb-rl\") + n;\n case 45:\n return a + n + e + z(n, /[svh]\\w+-[tblr]{2}/, \"lr\") + n;\n }\n case 6828:\n case 4268:\n case 2903:\n return a + n + e + n + n;\n case 6165:\n return a + n + e + \"flex-\" + n + n;\n case 5187:\n return a + n + z(n, /(\\w+).+(:[^]+)/, a + \"box-$1$2\" + e + \"flex-$1$2\") + n;\n case 5443:\n return a + n + e + \"flex-item-\" + z(n, /flex-|-self/g, \"\") + (!j(n, /flex-|baseline/) ? e + \"grid-row-\" + z(n, /flex-|-self/g, \"\") : \"\") + n;\n case 4675:\n return a + n + e + \"flex-line-pack\" + z(n, /align-content|flex-|-self/g, \"\") + n;\n case 5548:\n return a + n + e + z(n, \"shrink\", \"negative\") + n;\n case 5292:\n return a + n + e + z(n, \"basis\", \"preferred-size\") + n;\n case 6060:\n return a + \"box-\" + z(n, \"-grow\", \"\") + a + n + e + z(n, \"grow\", \"positive\") + n;\n case 4554:\n return a + z(n, /([^-])(transform)/g, \"$1\" + a + \"$2\") + n;\n case 6187:\n return z(z(z(n, /(zoom-|grab)/, a + \"$1\"), /(image-set)/, a + \"$1\"), n, \"\") + n;\n case 5495:\n case 3959:\n return z(n, /(image-set\\([^]*)/, a + \"$1\" + \"$`$1\");\n case 4968:\n return z(z(n, /(.+:)(flex-)?(.*)/, a + \"box-pack:$3\" + e + \"flex-pack:$3\"), /s.+-b[^;]+/, \"justify\") + a + n + n;\n case 4200:\n if (!j(n, /flex-|baseline/)) return e + \"grid-column-align\" + A(n, c) + n;\n break;\n case 2592:\n case 3360:\n return e + z(n, \"template-\", \"\") + n;\n case 4384:\n case 3616:\n if (s && s.some(function (e, r) {\n return c = r, j(e.props, /grid-\\w+-end/);\n })) {\n return ~C(n + (s = s[c].value), \"span\") ? n : e + z(n, \"-start\", \"\") + n + e + \"grid-row-span:\" + (~C(s, \"span\") ? j(s, /\\d+/) : +j(s, /\\d+/) - +j(n, /\\d+/)) + \";\";\n }\n return e + z(n, \"-start\", \"\") + n;\n case 4896:\n case 4128:\n return s && s.some(function (e) {\n return j(e.props, /grid-\\w+-start/);\n }) ? n : e + z(z(n, \"-end\", \"-span\"), \"span \", \"\") + n;\n case 4095:\n case 3583:\n case 4068:\n case 2532:\n return z(n, /(.+)-inline(.+)/, a + \"$1$2\") + n;\n case 8116:\n case 7059:\n case 5753:\n case 5535:\n case 5445:\n case 5701:\n case 4933:\n case 4677:\n case 5533:\n case 5789:\n case 5021:\n case 4765:\n if (M(n) - 1 - c > 6) switch (O(n, c + 1)) {\n case 109:\n if (O(n, c + 4) !== 45) break;\n case 102:\n return z(n, /(.+:)(.+)-([^]+)/, \"$1\" + a + \"$2-$3\" + \"$1\" + r + (O(n, c + 3) == 108 ? \"$3\" : \"$2-$3\")) + n;\n case 115:\n return ~C(n, \"stretch\") ? fe(z(n, \"stretch\", \"fill-available\"), c, s) + n : n;\n }\n break;\n case 5152:\n case 5920:\n return z(n, /(.+?):(\\d+)(\\s*\\/\\s*(span)?\\s*(\\d+))?(.*)/, function (r, a, c, s, t, u, i) {\n return e + a + \":\" + c + i + (s ? e + a + \"-span:\" + (t ? u : +u - +c) + i : \"\") + n;\n });\n case 4949:\n if (O(n, c + 6) === 121) return z(n, \":\", \":\" + a) + n;\n break;\n case 6444:\n switch (O(n, O(n, 14) === 45 ? 18 : 11)) {\n case 120:\n return z(n, /(.+:)([^;\\s!]+)(;|(\\s+)?!.+)?/, \"$1\" + a + (O(n, 14) === 45 ? \"inline-\" : \"\") + \"box$3\" + \"$1\" + a + \"$2$3\" + \"$1\" + e + \"$2box$3\") + n;\n case 100:\n return z(n, \":\", \":\" + e) + n;\n }\n break;\n case 5719:\n case 2647:\n case 2135:\n case 3927:\n case 2391:\n return z(n, \"scroll-\", \"scroll-snap-\") + n;\n }\n return n;\n}\nfunction oe(e, r) {\n var a = \"\";\n var n = S(e);\n for (var c = 0; c < n; c++) a += r(e[c], c, e, r) || \"\";\n return a;\n}\nfunction le(e, r, a, t) {\n switch (e.type) {\n case $:\n if (e.children.length) break;\n case i:\n case s:\n return e.return = e.return || e.value;\n case n:\n return \"\";\n case h:\n return e.return = e.value + \"{\" + oe(e.children, t) + \"}\";\n case c:\n e.value = e.props.join(\",\");\n }\n return M(a = oe(e.children, t)) ? e.return = e.value + \"{\" + a + \"}\" : \"\";\n}\nfunction ve(e) {\n var r = S(e);\n return function (a, n, c, s) {\n var t = \"\";\n for (var u = 0; u < r; u++) t += e[u](a, n, c, s) || \"\";\n return t;\n };\n}\nfunction pe(e) {\n return function (r) {\n if (!r.root) if (r = r.return) e(r);\n };\n}\nfunction he(n, t, u, i) {\n if (n.length > -1) if (!n.return) switch (n.type) {\n case s:\n n.return = fe(n.value, n.length, u);\n return;\n case h:\n return oe([K(n, {\n value: z(n.value, \"@\", \"@\" + a)\n })], i);\n case c:\n if (n.length) return B(n.props, function (c) {\n switch (j(c, /(::plac\\w+|:read-\\w+)/)) {\n case \":read-only\":\n case \":read-write\":\n return oe([K(n, {\n props: [z(c, /:(read-\\w+)/, \":\" + r + \"$1\")]\n })], i);\n case \"::placeholder\":\n return oe([K(n, {\n props: [z(c, /:(plac\\w+)/, \":\" + a + \"input-$1\")]\n }), K(n, {\n props: [z(c, /:(plac\\w+)/, \":\" + r + \"$1\")]\n }), K(n, {\n props: [z(c, /:(plac\\w+)/, e + \"input-$1\")]\n })], i);\n }\n return \"\";\n });\n }\n}\nfunction be(e) {\n switch (e.type) {\n case c:\n e.props = e.props.map(function (r) {\n return B(Y(r), function (r, a, n) {\n switch (O(r, 0)) {\n case 12:\n return A(r, 1, M(r));\n case 0:\n case 40:\n case 43:\n case 62:\n case 126:\n return r;\n case 58:\n if (n[++a] === \"global\") n[a] = \"\", n[++a] = \"\\f\" + A(n[a], a = 1, -1);\n case 32:\n return a === 1 ? \"\" : r;\n default:\n switch (a) {\n case 0:\n e = r;\n return S(n) > 1 ? \"\" : r;\n case a = S(n) - 1:\n case 2:\n return a === 2 ? r + e + e : r + e;\n default:\n return r;\n }\n }\n });\n });\n }\n}\nexport { f as CHARSET, n as COMMENT, w as COUNTER_STYLE, s as DECLARATION, v as DOCUMENT, b as FONT_FACE, d as FONT_FEATURE_VALUES, i as IMPORT, h as KEYFRAMES, $ as LAYER, u as MEDIA, r as MOZ, e as MS, p as NAMESPACE, t as PAGE, c as RULESET, l as SUPPORTS, o as VIEWPORT, a as WEBKIT, g as abs, V as alloc, q as append, m as assign, R as caret, L as char, H as character, I as characters, O as charat, E as column, B as combine, ue as comment, ae as commenter, ce as compile, K as copy, W as dealloc, ie as declaration, X as delimit, re as delimiter, ee as escaping, k as from, x as hash, ne as identifier, C as indexof, F as length, D as line, j as match, ve as middleware, be as namespace, P as next, J as node, se as parse, Q as peek, G as position, fe as prefix, he as prefixer, N as prev, z as replace, te as ruleset, pe as rulesheet, oe as serialize, S as sizeof, T as slice, le as stringify, M as strlen, A as substr, U as token, Y as tokenize, _ as tokenizer, y as trim, Z as whitespace };","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\nexport { memoize as default };","import { StyleSheet } from '@emotion/sheet';\nimport { dealloc, alloc, next, token, from, peek, delimit, slice, position, RULESET, combine, match, serialize, copy, replace, WEBKIT, MOZ, MS, KEYFRAMES, DECLARATION, hash, charat, strlen, indexof, stringify, COMMENT, rulesheet, middleware, compile } from 'stylis';\nimport '@emotion/weak-memoize';\nimport '@emotion/memoize';\nvar identifierWithPointTracking = function identifierWithPointTracking(begin, points, index) {\n var previous = 0;\n var character = 0;\n while (true) {\n previous = character;\n character = peek(); // &\\f\n\n if (previous === 38 && character === 12) {\n points[index] = 1;\n }\n if (token(character)) {\n break;\n }\n next();\n }\n return slice(begin, position);\n};\nvar toRules = function toRules(parsed, points) {\n // pretend we've started with a comma\n var index = -1;\n var character = 44;\n do {\n switch (token(character)) {\n case 0:\n // &\\f\n if (character === 38 && peek() === 12) {\n // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings\n // stylis inserts \\f after & to know when & where it should replace this sequence with the context selector\n // and when it should just concatenate the outer and inner selectors\n // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here\n points[index] = 1;\n }\n parsed[index] += identifierWithPointTracking(position - 1, points, index);\n break;\n case 2:\n parsed[index] += delimit(character);\n break;\n case 4:\n // comma\n if (character === 44) {\n // colon\n parsed[++index] = peek() === 58 ? '&\\f' : '';\n points[index] = parsed[index].length;\n break;\n }\n\n // fallthrough\n\n default:\n parsed[index] += from(character);\n }\n } while (character = next());\n return parsed;\n};\nvar getRules = function getRules(value, points) {\n return dealloc(toRules(alloc(value), points));\n}; // WeakSet would be more appropriate, but only WeakMap is supported in IE11\n\nvar fixedElements = /* #__PURE__ */new WeakMap();\nvar compat = function compat(element) {\n if (element.type !== 'rule' || !element.parent ||\n // positive .length indicates that this rule contains pseudo\n // negative .length indicates that this rule has been already prefixed\n element.length < 1) {\n return;\n }\n var value = element.value,\n parent = element.parent;\n var isImplicitRule = element.column === parent.column && element.line === parent.line;\n while (parent.type !== 'rule') {\n parent = parent.parent;\n if (!parent) return;\n } // short-circuit for the simplest case\n\n if (element.props.length === 1 && value.charCodeAt(0) !== 58\n /* colon */ && !fixedElements.get(parent)) {\n return;\n } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)\n // then the props has already been manipulated beforehand as they that array is shared between it and its \"rule parent\"\n\n if (isImplicitRule) {\n return;\n }\n fixedElements.set(element, true);\n var points = [];\n var rules = getRules(value, points);\n var parentRules = parent.props;\n for (var i = 0, k = 0; i < rules.length; i++) {\n for (var j = 0; j < parentRules.length; j++, k++) {\n element.props[k] = points[i] ? rules[i].replace(/&\\f/g, parentRules[j]) : parentRules[j] + \" \" + rules[i];\n }\n }\n};\nvar removeLabel = function removeLabel(element) {\n if (element.type === 'decl') {\n var value = element.value;\n if (\n // charcode for l\n value.charCodeAt(0) === 108 &&\n // charcode for b\n value.charCodeAt(2) === 98) {\n // this ignores label\n element[\"return\"] = '';\n element.value = '';\n }\n }\n};\nvar ignoreFlag = 'emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason';\nvar isIgnoringComment = function isIgnoringComment(element) {\n return element.type === 'comm' && element.children.indexOf(ignoreFlag) > -1;\n};\nvar createUnsafeSelectorsAlarm = function createUnsafeSelectorsAlarm(cache) {\n return function (element, index, children) {\n if (element.type !== 'rule' || cache.compat) return;\n var unsafePseudoClasses = element.value.match(/(:first|:nth|:nth-last)-child/g);\n if (unsafePseudoClasses) {\n var isNested = !!element.parent; // in nested rules comments become children of the \"auto-inserted\" rule and that's always the `element.parent`\n //\n // considering this input:\n // .a {\n // .b /* comm */ {}\n // color: hotpink;\n // }\n // we get output corresponding to this:\n // .a {\n // & {\n // /* comm */\n // color: hotpink;\n // }\n // .b {}\n // }\n\n var commentContainer = isNested ? element.parent.children :\n // global rule at the root level\n children;\n for (var i = commentContainer.length - 1; i >= 0; i--) {\n var node = commentContainer[i];\n if (node.line < element.line) {\n break;\n } // it is quite weird but comments are *usually* put at `column: element.column - 1`\n // so we seek *from the end* for the node that is earlier than the rule's `element` and check that\n // this will also match inputs like this:\n // .a {\n // /* comm */\n // .b {}\n // }\n //\n // but that is fine\n //\n // it would be the easiest to change the placement of the comment to be the first child of the rule:\n // .a {\n // .b { /* comm */ }\n // }\n // with such inputs we wouldn't have to search for the comment at all\n // TODO: consider changing this comment placement in the next major version\n\n if (node.column < element.column) {\n if (isIgnoringComment(node)) {\n return;\n }\n break;\n }\n }\n unsafePseudoClasses.forEach(function (unsafePseudoClass) {\n console.error(\"The pseudo class \\\"\" + unsafePseudoClass + \"\\\" is potentially unsafe when doing server-side rendering. Try changing it to \\\"\" + unsafePseudoClass.split('-child')[0] + \"-of-type\\\".\");\n });\n }\n };\n};\nvar isImportRule = function isImportRule(element) {\n return element.type.charCodeAt(1) === 105 && element.type.charCodeAt(0) === 64;\n};\nvar isPrependedWithRegularRules = function isPrependedWithRegularRules(index, children) {\n for (var i = index - 1; i >= 0; i--) {\n if (!isImportRule(children[i])) {\n return true;\n }\n }\n return false;\n}; // use this to remove incorrect elements from further processing\n// so they don't get handed to the `sheet` (or anything else)\n// as that could potentially lead to additional logs which in turn could be overhelming to the user\n\nvar nullifyElement = function nullifyElement(element) {\n element.type = '';\n element.value = '';\n element[\"return\"] = '';\n element.children = '';\n element.props = '';\n};\nvar incorrectImportAlarm = function incorrectImportAlarm(element, index, children) {\n if (!isImportRule(element)) {\n return;\n }\n if (element.parent) {\n console.error(\"`@import` rules can't be nested inside other rules. Please move it to the top level and put it before regular rules. Keep in mind that they can only be used within global styles.\");\n nullifyElement(element);\n } else if (isPrependedWithRegularRules(index, children)) {\n console.error(\"`@import` rules can't be after other rules. Please put your `@import` rules before your other rules.\");\n nullifyElement(element);\n }\n};\n\n/* eslint-disable no-fallthrough */\n\nfunction prefix(value, length) {\n switch (hash(value, length)) {\n // color-adjust\n case 5103:\n return WEBKIT + 'print-' + value + value;\n // animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\n case 5737:\n case 4201:\n case 3177:\n case 3433:\n case 1641:\n case 4457:\n case 2921: // text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\n case 5572:\n case 6356:\n case 5844:\n case 3191:\n case 6645:\n case 3005: // mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\n case 6391:\n case 5879:\n case 5623:\n case 6135:\n case 4599:\n case 4855: // background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\n case 4215:\n case 6389:\n case 5109:\n case 5365:\n case 5621:\n case 3829:\n return WEBKIT + value + value;\n // appearance, user-select, transform, hyphens, text-size-adjust\n\n case 5349:\n case 4246:\n case 4810:\n case 6968:\n case 2756:\n return WEBKIT + value + MOZ + value + MS + value + value;\n // flex, flex-direction\n\n case 6828:\n case 4268:\n return WEBKIT + value + MS + value + value;\n // order\n\n case 6165:\n return WEBKIT + value + MS + 'flex-' + value + value;\n // align-items\n\n case 5187:\n return WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value;\n // align-self\n\n case 5443:\n return WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/, '') + value;\n // align-content\n\n case 4675:\n return WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/, '') + value;\n // flex-shrink\n\n case 5548:\n return WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value;\n // flex-basis\n\n case 5292:\n return WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value;\n // flex-grow\n\n case 6060:\n return WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value;\n // transition\n\n case 4554:\n return WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value;\n // cursor\n\n case 6187:\n return replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value;\n // background, background-image\n\n case 5495:\n case 3959:\n return replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1');\n // justify-content\n\n case 4968:\n return replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value;\n // (margin|padding)-inline-(start|end)\n\n case 4095:\n case 3583:\n case 4068:\n case 2532:\n return replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value;\n // (min|max)?(width|height|inline-size|block-size)\n\n case 8116:\n case 7059:\n case 5753:\n case 5535:\n case 5445:\n case 5701:\n case 4933:\n case 4677:\n case 5533:\n case 5789:\n case 5021:\n case 4765:\n // stretch, max-content, min-content, fill-available\n if (strlen(value) - 1 - length > 6) switch (charat(value, length + 1)) {\n // (m)ax-content, (m)in-content\n case 109:\n // -\n if (charat(value, length + 4) !== 45) break;\n // (f)ill-available, (f)it-content\n\n case 102:\n return replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value;\n // (s)tretch\n\n case 115:\n return ~indexof(value, 'stretch') ? prefix(replace(value, 'stretch', 'fill-available'), length) + value : value;\n }\n break;\n // position: sticky\n\n case 4949:\n // (s)ticky?\n if (charat(value, length + 1) !== 115) break;\n // display: (flex|inline-flex)\n\n case 6444:\n switch (charat(value, strlen(value) - 3 - (~indexof(value, '!important') && 10))) {\n // stic(k)y\n case 107:\n return replace(value, ':', ':' + WEBKIT) + value;\n // (inline-)?fl(e)x\n\n case 101:\n return replace(value, /(.+:)([^;!]+)(;|!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value;\n }\n break;\n // writing-mode\n\n case 5936:\n switch (charat(value, length + 11)) {\n // vertical-l(r)\n case 114:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value;\n // vertical-r(l)\n\n case 108:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value;\n // horizontal(-)tb\n\n case 45:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value;\n }\n return WEBKIT + value + MS + value + value;\n }\n return value;\n}\nvar prefixer = function prefixer(element, index, children, callback) {\n if (element.length > -1) if (!element[\"return\"]) switch (element.type) {\n case DECLARATION:\n element[\"return\"] = prefix(element.value, element.length);\n break;\n case KEYFRAMES:\n return serialize([copy(element, {\n value: replace(element.value, '@', '@' + WEBKIT)\n })], callback);\n case RULESET:\n if (element.length) return combine(element.props, function (value) {\n switch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n // :read-(only|write)\n case ':read-only':\n case ':read-write':\n return serialize([copy(element, {\n props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]\n })], callback);\n // :placeholder\n\n case '::placeholder':\n return serialize([copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]\n })], callback);\n }\n return '';\n });\n }\n};\nvar defaultStylisPlugins = [prefixer];\nvar createCache = function createCache(options) {\n var key = options.key;\n if (process.env.NODE_ENV !== 'production' && !key) {\n throw new Error(\"You have to configure `key` for your cache. Please make sure it's unique (and not equal to 'css') as it's used for linking styles to your cache.\\n\" + \"If multiple caches share the same key they might \\\"fight\\\" for each other's style elements.\");\n }\n if (key === 'css') {\n var ssrStyles = document.querySelectorAll(\"style[data-emotion]:not([data-s])\"); // get SSRed styles out of the way of React's hydration\n // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)\n // note this very very intentionally targets all style elements regardless of the key to ensure\n // that creating a cache works inside of render of a React component\n\n Array.prototype.forEach.call(ssrStyles, function (node) {\n // we want to only move elements which have a space in the data-emotion attribute value\n // because that indicates that it is an Emotion 11 server-side rendered style elements\n // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector\n // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes)\n // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles\n // will not result in the Emotion 10 styles being destroyed\n var dataEmotionAttribute = node.getAttribute('data-emotion');\n if (dataEmotionAttribute.indexOf(' ') === -1) {\n return;\n }\n document.head.appendChild(node);\n node.setAttribute('data-s', '');\n });\n }\n var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe\n if (/[^a-z-]/.test(key)) {\n throw new Error(\"Emotion key must only contain lower case alphabetical characters and - but \\\"\" + key + \"\\\" was passed\");\n }\n }\n var inserted = {};\n var container;\n var nodesToHydrate = [];\n {\n container = options.container || document.head;\n Array.prototype.forEach.call(\n // this means we will ignore elements which don't have a space in them which\n // means that the style elements we're looking at are only Emotion 11 server-rendered style elements\n document.querySelectorAll(\"style[data-emotion^=\\\"\" + key + \" \\\"]\"), function (node) {\n var attrib = node.getAttribute(\"data-emotion\").split(' '); // $FlowFixMe\n\n for (var i = 1; i < attrib.length; i++) {\n inserted[attrib[i]] = true;\n }\n nodesToHydrate.push(node);\n });\n }\n var _insert;\n var omnipresentPlugins = [compat, removeLabel];\n if (process.env.NODE_ENV !== 'production') {\n omnipresentPlugins.push(createUnsafeSelectorsAlarm({\n get compat() {\n return cache.compat;\n }\n }), incorrectImportAlarm);\n }\n {\n var currentSheet;\n var finalizingPlugins = [stringify, process.env.NODE_ENV !== 'production' ? function (element) {\n if (!element.root) {\n if (element[\"return\"]) {\n currentSheet.insert(element[\"return\"]);\n } else if (element.value && element.type !== COMMENT) {\n // insert empty rule in non-production environments\n // so @emotion/jest can grab `key` from the (JS)DOM for caches without any rules inserted yet\n currentSheet.insert(element.value + \"{}\");\n }\n }\n } : rulesheet(function (rule) {\n currentSheet.insert(rule);\n })];\n var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));\n var stylis = function stylis(styles) {\n return serialize(compile(styles), serializer);\n };\n _insert = function insert(selector, serialized, sheet, shouldCache) {\n currentSheet = sheet;\n if (process.env.NODE_ENV !== 'production' && serialized.map !== undefined) {\n currentSheet = {\n insert: function insert(rule) {\n sheet.insert(rule + serialized.map);\n }\n };\n }\n stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n if (shouldCache) {\n cache.inserted[serialized.name] = true;\n }\n };\n }\n var cache = {\n key: key,\n sheet: new StyleSheet({\n key: key,\n container: container,\n nonce: options.nonce,\n speedy: options.speedy,\n prepend: options.prepend,\n insertionPoint: options.insertionPoint\n }),\n nonce: options.nonce,\n inserted: inserted,\n registered: {},\n insert: _insert\n };\n cache.sheet.hydrate(nodesToHydrate);\n return cache;\n};\nexport { createCache as default };","var isBrowser = \"object\" !== 'undefined';\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className] + \";\");\n } else {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar registerStyles = function registerStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n if (\n // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false ||\n // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n};\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n registerStyles(cache, serialized, isStringTag);\n var className = cache.key + \"-\" + serialized.name;\n if (cache.inserted[serialized.name] === undefined) {\n var current = serialized;\n do {\n cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n current = current.next;\n } while (current !== undefined);\n }\n};\nexport { getRegisteredStyles, insertStyles, registerStyles };","var unitlessKeys = {\n animationIterationCount: 1,\n aspectRatio: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\nexport { unitlessKeys as default };","import hashString from '@emotion/hash';\nimport unitless from '@emotion/unitless';\nimport memoize from '@emotion/memoize';\nvar ILLEGAL_ESCAPE_SEQUENCE_ERROR = \"You have illegal escape sequence in your template literal, most likely inside content's property value.\\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \\\"content: '\\\\00d7';\\\" should become \\\"content: '\\\\\\\\00d7';\\\".\\nYou can read more about this here:\\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\";\nvar UNDEFINED_AS_OBJECT_KEY_ERROR = \"You have passed in falsy value as style object's key (can happen when in example you pass unexported component as computed key).\";\nvar hyphenateRegex = /[A-Z]|^ms/g;\nvar animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;\nvar isCustomProperty = function isCustomProperty(property) {\n return property.charCodeAt(1) === 45;\n};\nvar isProcessableValue = function isProcessableValue(value) {\n return value != null && typeof value !== 'boolean';\n};\nvar processStyleName = /* #__PURE__ */memoize(function (styleName) {\n return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();\n});\nvar processStyleValue = function processStyleValue(key, value) {\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n if (typeof value === 'string') {\n return value.replace(animationRegex, function (match, p1, p2) {\n cursor = {\n name: p1,\n styles: p2,\n next: cursor\n };\n return p1;\n });\n }\n }\n }\n if (unitless[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {\n return value + 'px';\n }\n return value;\n};\nif (process.env.NODE_ENV !== 'production') {\n var contentValuePattern = /(var|attr|counters?|url|element|(((repeating-)?(linear|radial))|conic)-gradient)\\(|(no-)?(open|close)-quote/;\n var contentValues = ['normal', 'none', 'initial', 'inherit', 'unset'];\n var oldProcessStyleValue = processStyleValue;\n var msPattern = /^-ms-/;\n var hyphenPattern = /-(.)/g;\n var hyphenatedCache = {};\n processStyleValue = function processStyleValue(key, value) {\n if (key === 'content') {\n if (typeof value !== 'string' || contentValues.indexOf(value) === -1 && !contentValuePattern.test(value) && (value.charAt(0) !== value.charAt(value.length - 1) || value.charAt(0) !== '\"' && value.charAt(0) !== \"'\")) {\n throw new Error(\"You seem to be using a value for 'content' without quotes, try replacing it with `content: '\\\"\" + value + \"\\\"'`\");\n }\n }\n var processed = oldProcessStyleValue(key, value);\n if (processed !== '' && !isCustomProperty(key) && key.indexOf('-') !== -1 && hyphenatedCache[key] === undefined) {\n hyphenatedCache[key] = true;\n console.error(\"Using kebab-case for css properties in objects is not supported. Did you mean \" + key.replace(msPattern, 'ms-').replace(hyphenPattern, function (str, _char) {\n return _char.toUpperCase();\n }) + \"?\");\n }\n return processed;\n };\n}\nvar noComponentSelectorMessage = 'Component selectors can only be used in conjunction with ' + '@emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware ' + 'compiler transform.';\nfunction handleInterpolation(mergedProps, registered, interpolation) {\n if (interpolation == null) {\n return '';\n }\n if (interpolation.__emotion_styles !== undefined) {\n if (process.env.NODE_ENV !== 'production' && interpolation.toString() === 'NO_COMPONENT_SELECTOR') {\n throw new Error(noComponentSelectorMessage);\n }\n return interpolation;\n }\n switch (typeof interpolation) {\n case 'boolean':\n {\n return '';\n }\n case 'object':\n {\n if (interpolation.anim === 1) {\n cursor = {\n name: interpolation.name,\n styles: interpolation.styles,\n next: cursor\n };\n return interpolation.name;\n }\n if (interpolation.styles !== undefined) {\n var next = interpolation.next;\n if (next !== undefined) {\n // not the most efficient thing ever but this is a pretty rare case\n // and there will be very few iterations of this generally\n while (next !== undefined) {\n cursor = {\n name: next.name,\n styles: next.styles,\n next: cursor\n };\n next = next.next;\n }\n }\n var styles = interpolation.styles + \";\";\n if (process.env.NODE_ENV !== 'production' && interpolation.map !== undefined) {\n styles += interpolation.map;\n }\n return styles;\n }\n return createStringFromObject(mergedProps, registered, interpolation);\n }\n case 'function':\n {\n if (mergedProps !== undefined) {\n var previousCursor = cursor;\n var result = interpolation(mergedProps);\n cursor = previousCursor;\n return handleInterpolation(mergedProps, registered, result);\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('Functions that are interpolated in css calls will be stringified.\\n' + 'If you want to have a css call based on props, create a function that returns a css call like this\\n' + 'let dynamicStyle = (props) => css`color: ${props.color}`\\n' + 'It can be called directly with props or interpolated in a styled call like this\\n' + \"let SomeComponent = styled('div')`${dynamicStyle}`\");\n }\n break;\n }\n case 'string':\n if (process.env.NODE_ENV !== 'production') {\n var matched = [];\n var replaced = interpolation.replace(animationRegex, function (match, p1, p2) {\n var fakeVarName = \"animation\" + matched.length;\n matched.push(\"const \" + fakeVarName + \" = keyframes`\" + p2.replace(/^@keyframes animation-\\w+/, '') + \"`\");\n return \"${\" + fakeVarName + \"}\";\n });\n if (matched.length) {\n console.error('`keyframes` output got interpolated into plain string, please wrap it with `css`.\\n\\n' + 'Instead of doing this:\\n\\n' + [].concat(matched, [\"`\" + replaced + \"`\"]).join('\\n') + '\\n\\nYou should wrap it with `css` like this:\\n\\n' + (\"css`\" + replaced + \"`\"));\n }\n }\n break;\n } // finalize string values (regular strings and functions interpolated into css calls)\n\n if (registered == null) {\n return interpolation;\n }\n var cached = registered[interpolation];\n return cached !== undefined ? cached : interpolation;\n}\nfunction createStringFromObject(mergedProps, registered, obj) {\n var string = '';\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n string += handleInterpolation(mergedProps, registered, obj[i]) + \";\";\n }\n } else {\n for (var _key in obj) {\n var value = obj[_key];\n if (typeof value !== 'object') {\n if (registered != null && registered[value] !== undefined) {\n string += _key + \"{\" + registered[value] + \"}\";\n } else if (isProcessableValue(value)) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value) + \";\";\n }\n } else {\n if (_key === 'NO_COMPONENT_SELECTOR' && process.env.NODE_ENV !== 'production') {\n throw new Error(noComponentSelectorMessage);\n }\n if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {\n for (var _i = 0; _i < value.length; _i++) {\n if (isProcessableValue(value[_i])) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value[_i]) + \";\";\n }\n }\n } else {\n var interpolated = handleInterpolation(mergedProps, registered, value);\n switch (_key) {\n case 'animation':\n case 'animationName':\n {\n string += processStyleName(_key) + \":\" + interpolated + \";\";\n break;\n }\n default:\n {\n if (process.env.NODE_ENV !== 'production' && _key === 'undefined') {\n console.error(UNDEFINED_AS_OBJECT_KEY_ERROR);\n }\n string += _key + \"{\" + interpolated + \"}\";\n }\n }\n }\n }\n }\n }\n return string;\n}\nvar labelPattern = /label:\\s*([^\\s;\\n{]+)\\s*(;|$)/g;\nvar sourceMapPattern;\nif (process.env.NODE_ENV !== 'production') {\n sourceMapPattern = /\\/\\*#\\ssourceMappingURL=data:application\\/json;\\S+\\s+\\*\\//g;\n} // this is the cursor for keyframes\n// keyframes are stored on the SerializedStyles object as a linked list\n\nvar cursor;\nvar serializeStyles = function serializeStyles(args, registered, mergedProps) {\n if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) {\n return args[0];\n }\n var stringMode = true;\n var styles = '';\n cursor = undefined;\n var strings = args[0];\n if (strings == null || strings.raw === undefined) {\n stringMode = false;\n styles += handleInterpolation(mergedProps, registered, strings);\n } else {\n if (process.env.NODE_ENV !== 'production' && strings[0] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n styles += strings[0];\n } // we start at 1 since we've already handled the first arg\n\n for (var i = 1; i < args.length; i++) {\n styles += handleInterpolation(mergedProps, registered, args[i]);\n if (stringMode) {\n if (process.env.NODE_ENV !== 'production' && strings[i] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n styles += strings[i];\n }\n }\n var sourceMap;\n if (process.env.NODE_ENV !== 'production') {\n styles = styles.replace(sourceMapPattern, function (match) {\n sourceMap = match;\n return '';\n });\n } // using a global regex with .exec is stateful so lastIndex has to be reset each time\n\n labelPattern.lastIndex = 0;\n var identifierName = '';\n var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5\n\n while ((match = labelPattern.exec(styles)) !== null) {\n identifierName += '-' +\n // $FlowFixMe we know it's not null\n match[1];\n }\n var name = hashString(styles) + identifierName;\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe SerializedStyles type doesn't have toString property (and we don't want to add it)\n return {\n name: name,\n styles: styles,\n map: sourceMap,\n next: cursor,\n toString: function toString() {\n return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\";\n }\n };\n }\n return {\n name: name,\n styles: styles,\n next: cursor\n };\n};\nexport { serializeStyles };","/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k = /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^= /* k >>> r: */\n k >>> 24;\n h = /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^ /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h = /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n h ^= h >>> 13;\n h = /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\nexport { murmur2 as default };","import * as React from 'react';\nvar syncFallback = function syncFallback(create) {\n return create();\n};\nvar useInsertionEffect = React['useInsertion' + 'Effect'] ? React['useInsertion' + 'Effect'] : false;\nvar useInsertionEffectAlwaysWithSyncFallback = useInsertionEffect || syncFallback;\nvar useInsertionEffectWithLayoutFallback = useInsertionEffect || React.useLayoutEffect;\nexport { useInsertionEffectAlwaysWithSyncFallback, useInsertionEffectWithLayoutFallback };","import * as React from 'react';\nimport { useContext, forwardRef } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\nvar isBrowser = \"object\" !== 'undefined';\nvar hasOwnProperty = {}.hasOwnProperty;\nvar EmotionCacheContext = /* #__PURE__ */React.createContext(\n// we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n key: 'css'\n}) : null);\nif (process.env.NODE_ENV !== 'production') {\n EmotionCacheContext.displayName = 'EmotionCacheContext';\n}\nvar CacheProvider = EmotionCacheContext.Provider;\nvar __unsafe_useEmotionCache = function useEmotionCache() {\n return useContext(EmotionCacheContext);\n};\nvar withEmotionCache = function withEmotionCache(func) {\n // $FlowFixMe\n return /*#__PURE__*/forwardRef(function (props, ref) {\n // the cache will never be null in the browser\n var cache = useContext(EmotionCacheContext);\n return func(props, cache, ref);\n });\n};\nif (!isBrowser) {\n withEmotionCache = function withEmotionCache(func) {\n return function (props) {\n var cache = useContext(EmotionCacheContext);\n if (cache === null) {\n // yes, we're potentially creating this on every render\n // it doesn't actually matter though since it's only on the server\n // so there will only every be a single render\n // that could change in the future because of suspense and etc. but for now,\n // this works and i don't want to optimise for a future thing that we aren't sure about\n cache = createCache({\n key: 'css'\n });\n return /*#__PURE__*/React.createElement(EmotionCacheContext.Provider, {\n value: cache\n }, func(props, cache));\n } else {\n return func(props, cache);\n }\n };\n };\n}\nvar ThemeContext = /* #__PURE__ */React.createContext({});\nif (process.env.NODE_ENV !== 'production') {\n ThemeContext.displayName = 'EmotionThemeContext';\n}\nvar useTheme = function useTheme() {\n return React.useContext(ThemeContext);\n};\nvar getTheme = function getTheme(outerTheme, theme) {\n if (typeof theme === 'function') {\n var mergedTheme = theme(outerTheme);\n if (process.env.NODE_ENV !== 'production' && (mergedTheme == null || typeof mergedTheme !== 'object' || Array.isArray(mergedTheme))) {\n throw new Error('[ThemeProvider] Please return an object from your theme function, i.e. theme={() => ({})}!');\n }\n return mergedTheme;\n }\n if (process.env.NODE_ENV !== 'production' && (theme == null || typeof theme !== 'object' || Array.isArray(theme))) {\n throw new Error('[ThemeProvider] Please make your theme prop a plain object');\n }\n return _extends({}, outerTheme, theme);\n};\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n return weakMemoize(function (theme) {\n return getTheme(outerTheme, theme);\n });\n});\nvar ThemeProvider = function ThemeProvider(props) {\n var theme = React.useContext(ThemeContext);\n if (props.theme !== theme) {\n theme = createCacheWithTheme(theme)(props.theme);\n }\n return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n value: theme\n }, props.children);\n};\nfunction withTheme(Component) {\n var componentName = Component.displayName || Component.name || 'Component';\n var render = function render(props, ref) {\n var theme = React.useContext(ThemeContext);\n return /*#__PURE__*/React.createElement(Component, _extends({\n theme: theme,\n ref: ref\n }, props));\n }; // $FlowFixMe\n\n var WithTheme = /*#__PURE__*/React.forwardRef(render);\n WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n return hoistNonReactStatics(WithTheme, Component);\n}\nvar getLastPart = function getLastPart(functionName) {\n // The match may be something like 'Object.createEmotionProps' or\n // 'Loader.prototype.render'\n var parts = functionName.split('.');\n return parts[parts.length - 1];\n};\nvar getFunctionNameFromStackTraceLine = function getFunctionNameFromStackTraceLine(line) {\n // V8\n var match = /^\\s+at\\s+([A-Za-z0-9$.]+)\\s/.exec(line);\n if (match) return getLastPart(match[1]); // Safari / Firefox\n\n match = /^([A-Za-z0-9$.]+)@/.exec(line);\n if (match) return getLastPart(match[1]);\n return undefined;\n};\nvar internalReactFunctionNames = /* #__PURE__ */new Set(['renderWithHooks', 'processChild', 'finishClassComponent', 'renderToString']); // These identifiers come from error stacks, so they have to be valid JS\n// identifiers, thus we only need to replace what is a valid character for JS,\n// but not for CSS.\n\nvar sanitizeIdentifier = function sanitizeIdentifier(identifier) {\n return identifier.replace(/\\$/g, '-');\n};\nvar getLabelFromStackTrace = function getLabelFromStackTrace(stackTrace) {\n if (!stackTrace) return undefined;\n var lines = stackTrace.split('\\n');\n for (var i = 0; i < lines.length; i++) {\n var functionName = getFunctionNameFromStackTraceLine(lines[i]); // The first line of V8 stack traces is just \"Error\"\n\n if (!functionName) continue; // If we reach one of these, we have gone too far and should quit\n\n if (internalReactFunctionNames.has(functionName)) break; // The component name is the first function in the stack that starts with an\n // uppercase letter\n\n if (/^[A-Z]/.test(functionName)) return sanitizeIdentifier(functionName);\n }\n return undefined;\n};\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type, props) {\n if (process.env.NODE_ENV !== 'production' && typeof props.css === 'string' &&\n // check if there is a css declaration\n props.css.indexOf(':') !== -1) {\n throw new Error(\"Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/react' like this: css`\" + props.css + \"`\");\n }\n var newProps = {};\n for (var key in props) {\n if (hasOwnProperty.call(props, key)) {\n newProps[key] = props[key];\n }\n }\n newProps[typePropName] = type; // For performance, only call getLabelFromStackTrace in development and when\n // the label hasn't already been computed\n\n if (process.env.NODE_ENV !== 'production' && !!props.css && (typeof props.css !== 'object' || typeof props.css.name !== 'string' || props.css.name.indexOf('-') === -1)) {\n var label = getLabelFromStackTrace(new Error().stack);\n if (label) newProps[labelPropName] = label;\n }\n return newProps;\n};\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serialized = _ref.serialized,\n isStringTag = _ref.isStringTag;\n registerStyles(cache, serialized, isStringTag);\n useInsertionEffectAlwaysWithSyncFallback(function () {\n return insertStyles(cache, serialized, isStringTag);\n });\n return null;\n};\nvar Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {\n var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n // not passing the registered cache to serializeStyles because it would\n // make certain babel optimisations not possible\n\n if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n cssProp = cache.registered[cssProp];\n }\n var WrappedComponent = props[typePropName];\n var registeredStyles = [cssProp];\n var className = '';\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n var serialized = serializeStyles(registeredStyles, undefined, React.useContext(ThemeContext));\n if (process.env.NODE_ENV !== 'production' && serialized.name.indexOf('-') === -1) {\n var labelFromStack = props[labelPropName];\n if (labelFromStack) {\n serialized = serializeStyles([serialized, 'label:' + labelFromStack + ';']);\n }\n }\n className += cache.key + \"-\" + serialized.name;\n var newProps = {};\n for (var key in props) {\n if (hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName && (process.env.NODE_ENV === 'production' || key !== labelPropName)) {\n newProps[key] = props[key];\n }\n }\n newProps.ref = ref;\n newProps.className = className;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof WrappedComponent === 'string'\n }), /*#__PURE__*/React.createElement(WrappedComponent, newProps));\n});\nif (process.env.NODE_ENV !== 'production') {\n Emotion.displayName = 'EmotionCssPropInternal';\n}\nvar Emotion$1 = Emotion;\nexport { CacheProvider as C, Emotion$1 as E, ThemeContext as T, __unsafe_useEmotionCache as _, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwnProperty as h, isBrowser as i, useTheme as u, withEmotionCache as w };","import { h as hasOwnProperty, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext, i as isBrowser$1 } from './emotion-element-c39617d8.browser.esm.js';\nexport { C as CacheProvider, T as ThemeContext, a as ThemeProvider, _ as __unsafe_useEmotionCache, u as useTheme, w as withEmotionCache, b as withTheme } from './emotion-element-c39617d8.browser.esm.js';\nimport * as React from 'react';\nimport { insertStyles, registerStyles, getRegisteredStyles } from '@emotion/utils';\nimport { useInsertionEffectWithLayoutFallback, useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\nimport { serializeStyles } from '@emotion/serialize';\nimport '@emotion/cache';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport 'hoist-non-react-statics';\nvar pkg = {\n name: \"@emotion/react\",\n version: \"11.11.0\",\n main: \"dist/emotion-react.cjs.js\",\n module: \"dist/emotion-react.esm.js\",\n browser: {\n \"./dist/emotion-react.esm.js\": \"./dist/emotion-react.browser.esm.js\"\n },\n exports: {\n \".\": {\n module: {\n worker: \"./dist/emotion-react.worker.esm.js\",\n browser: \"./dist/emotion-react.browser.esm.js\",\n \"default\": \"./dist/emotion-react.esm.js\"\n },\n \"import\": \"./dist/emotion-react.cjs.mjs\",\n \"default\": \"./dist/emotion-react.cjs.js\"\n },\n \"./jsx-runtime\": {\n module: {\n worker: \"./jsx-runtime/dist/emotion-react-jsx-runtime.worker.esm.js\",\n browser: \"./jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js\",\n \"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.esm.js\"\n },\n \"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.mjs\",\n \"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.js\"\n },\n \"./_isolated-hnrs\": {\n module: {\n worker: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.worker.esm.js\",\n browser: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js\",\n \"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.esm.js\"\n },\n \"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.mjs\",\n \"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.js\"\n },\n \"./jsx-dev-runtime\": {\n module: {\n worker: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.worker.esm.js\",\n browser: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.esm.js\",\n \"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.esm.js\"\n },\n \"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.mjs\",\n \"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.js\"\n },\n \"./package.json\": \"./package.json\",\n \"./types/css-prop\": \"./types/css-prop.d.ts\",\n \"./macro\": {\n types: {\n \"import\": \"./macro.d.mts\",\n \"default\": \"./macro.d.ts\"\n },\n \"default\": \"./macro.js\"\n }\n },\n types: \"types/index.d.ts\",\n files: [\"src\", \"dist\", \"jsx-runtime\", \"jsx-dev-runtime\", \"_isolated-hnrs\", \"types/*.d.ts\", \"macro.*\"],\n sideEffects: false,\n author: \"Emotion Contributors\",\n license: \"MIT\",\n scripts: {\n \"test:typescript\": \"dtslint types\"\n },\n dependencies: {\n \"@babel/runtime\": \"^7.18.3\",\n \"@emotion/babel-plugin\": \"^11.11.0\",\n \"@emotion/cache\": \"^11.11.0\",\n \"@emotion/serialize\": \"^1.1.2\",\n \"@emotion/use-insertion-effect-with-fallbacks\": \"^1.0.1\",\n \"@emotion/utils\": \"^1.2.1\",\n \"@emotion/weak-memoize\": \"^0.3.1\",\n \"hoist-non-react-statics\": \"^3.3.1\"\n },\n peerDependencies: {\n react: \">=16.8.0\"\n },\n peerDependenciesMeta: {\n \"@types/react\": {\n optional: true\n }\n },\n devDependencies: {\n \"@definitelytyped/dtslint\": \"0.0.112\",\n \"@emotion/css\": \"11.11.0\",\n \"@emotion/css-prettifier\": \"1.1.3\",\n \"@emotion/server\": \"11.11.0\",\n \"@emotion/styled\": \"11.11.0\",\n \"html-tag-names\": \"^1.1.2\",\n react: \"16.14.0\",\n \"svg-tag-names\": \"^1.1.1\",\n typescript: \"^4.5.5\"\n },\n repository: \"https://github.com/emotion-js/emotion/tree/main/packages/react\",\n publishConfig: {\n access: \"public\"\n },\n \"umd:main\": \"dist/emotion-react.umd.min.js\",\n preconstruct: {\n entrypoints: [\"./index.js\", \"./jsx-runtime.js\", \"./jsx-dev-runtime.js\", \"./_isolated-hnrs.js\"],\n umdName: \"emotionReact\",\n exports: {\n envConditions: [\"browser\", \"worker\"],\n extra: {\n \"./types/css-prop\": \"./types/css-prop.d.ts\",\n \"./macro\": {\n types: {\n \"import\": \"./macro.d.mts\",\n \"default\": \"./macro.d.ts\"\n },\n \"default\": \"./macro.js\"\n }\n }\n }\n }\n};\nvar jsx = function jsx(type, props) {\n var args = arguments;\n if (props == null || !hasOwnProperty.call(props, 'css')) {\n // $FlowFixMe\n return React.createElement.apply(undefined, args);\n }\n var argsLength = args.length;\n var createElementArgArray = new Array(argsLength);\n createElementArgArray[0] = Emotion;\n createElementArgArray[1] = createEmotionProps(type, props);\n for (var i = 2; i < argsLength; i++) {\n createElementArgArray[i] = args[i];\n } // $FlowFixMe\n\n return React.createElement.apply(null, createElementArgArray);\n};\nvar warnedAboutCssPropForGlobal = false; // maintain place over rerenders.\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nvar Global = /* #__PURE__ */withEmotionCache(function (props, cache) {\n if (process.env.NODE_ENV !== 'production' && !warnedAboutCssPropForGlobal && (\n // check for className as well since the user is\n // probably using the custom createElement which\n // means it will be turned into a className prop\n // $FlowFixMe I don't really want to add it to the type since it shouldn't be used\n props.className || props.css)) {\n console.error(\"It looks like you're using the css prop on Global, did you mean to use the styles prop instead?\");\n warnedAboutCssPropForGlobal = true;\n }\n var styles = props.styles;\n var serialized = serializeStyles([styles], undefined, React.useContext(ThemeContext));\n if (!isBrowser$1) {\n var _ref;\n var serializedNames = serialized.name;\n var serializedStyles = serialized.styles;\n var next = serialized.next;\n while (next !== undefined) {\n serializedNames += ' ' + next.name;\n serializedStyles += next.styles;\n next = next.next;\n }\n var shouldCache = cache.compat === true;\n var rules = cache.insert(\"\", {\n name: serializedNames,\n styles: serializedStyles\n }, cache.sheet, shouldCache);\n if (shouldCache) {\n return null;\n }\n return /*#__PURE__*/React.createElement(\"style\", (_ref = {}, _ref[\"data-emotion\"] = cache.key + \"-global \" + serializedNames, _ref.dangerouslySetInnerHTML = {\n __html: rules\n }, _ref.nonce = cache.sheet.nonce, _ref));\n } // yes, i know these hooks are used conditionally\n // but it is based on a constant that will never change at runtime\n // it's effectively like having two implementations and switching them out\n // so it's not actually breaking anything\n\n var sheetRef = React.useRef();\n useInsertionEffectWithLayoutFallback(function () {\n var key = cache.key + \"-global\"; // use case of https://github.com/emotion-js/emotion/issues/2675\n\n var sheet = new cache.sheet.constructor({\n key: key,\n nonce: cache.sheet.nonce,\n container: cache.sheet.container,\n speedy: cache.sheet.isSpeedy\n });\n var rehydrating = false; // $FlowFixMe\n\n var node = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n if (cache.sheet.tags.length) {\n sheet.before = cache.sheet.tags[0];\n }\n if (node !== null) {\n rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other s\n\n node.setAttribute('data-emotion', key);\n sheet.hydrate([node]);\n }\n sheetRef.current = [sheet, rehydrating];\n return function () {\n sheet.flush();\n };\n }, [cache]);\n useInsertionEffectWithLayoutFallback(function () {\n var sheetRefCurrent = sheetRef.current;\n var sheet = sheetRefCurrent[0],\n rehydrating = sheetRefCurrent[1];\n if (rehydrating) {\n sheetRefCurrent[1] = false;\n return;\n }\n if (serialized.next !== undefined) {\n // insert keyframes\n insertStyles(cache, serialized.next, true);\n }\n if (sheet.tags.length) {\n // if this doesn't exist then it will be null so the style element will be appended\n var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n sheet.before = element;\n sheet.flush();\n }\n cache.insert(\"\", serialized, sheet, false);\n }, [cache, serialized.name]);\n return null;\n});\nif (process.env.NODE_ENV !== 'production') {\n Global.displayName = 'EmotionGlobal';\n}\nfunction css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return serializeStyles(args);\n}\nvar keyframes = function keyframes() {\n var insertable = css.apply(void 0, arguments);\n var name = \"animation-\" + insertable.name; // $FlowFixMe\n\n return {\n name: name,\n styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n anim: 1,\n toString: function toString() {\n return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n }\n };\n};\nvar classnames = function classnames(args) {\n var len = args.length;\n var i = 0;\n var cls = '';\n for (; i < len; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n switch (typeof arg) {\n case 'boolean':\n break;\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n if (process.env.NODE_ENV !== 'production' && arg.styles !== undefined && arg.name !== undefined) {\n console.error('You have passed styles created with `css` from `@emotion/react` package to the `cx`.\\n' + '`cx` is meant to compose class names (strings) so you should convert those styles to a class name by passing them to the `css` received from component.');\n }\n toAdd = '';\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n break;\n }\n default:\n {\n toAdd = arg;\n }\n }\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n return cls;\n};\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n if (registeredStyles.length < 2) {\n return className;\n }\n return rawClassName + css(registeredStyles);\n}\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serializedArr = _ref.serializedArr;\n useInsertionEffectAlwaysWithSyncFallback(function () {\n for (var i = 0; i < serializedArr.length; i++) {\n insertStyles(cache, serializedArr[i], false);\n }\n });\n return null;\n};\nvar ClassNames = /* #__PURE__ */withEmotionCache(function (props, cache) {\n var hasRendered = false;\n var serializedArr = [];\n var css = function css() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('css can only be used during render');\n }\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n var serialized = serializeStyles(args, cache.registered);\n serializedArr.push(serialized); // registration has to happen here as the result of this might get consumed by `cx`\n\n registerStyles(cache, serialized, false);\n return cache.key + \"-\" + serialized.name;\n };\n var cx = function cx() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('cx can only be used during render');\n }\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n return merge(cache.registered, css, classnames(args));\n };\n var content = {\n css: css,\n cx: cx,\n theme: React.useContext(ThemeContext)\n };\n var ele = props.children(content);\n hasRendered = true;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serializedArr: serializedArr\n }), ele);\n});\nif (process.env.NODE_ENV !== 'production') {\n ClassNames.displayName = 'EmotionClassNames';\n}\nif (process.env.NODE_ENV !== 'production') {\n var isBrowser = \"object\" !== 'undefined'; // #1727, #2905 for some reason Jest and Vitest evaluate modules twice if some consuming module gets mocked\n\n var isTestEnv = typeof jest !== 'undefined' || typeof vi !== 'undefined';\n if (isBrowser && !isTestEnv) {\n // globalThis has wide browser support - https://caniuse.com/?search=globalThis, Node.js 12 and later\n var globalContext =\n // $FlowIgnore\n typeof globalThis !== 'undefined' ? globalThis // eslint-disable-line no-undef\n : isBrowser ? window : global;\n var globalKey = \"__EMOTION_REACT_\" + pkg.version.split('.')[0] + \"__\";\n if (globalContext[globalKey]) {\n console.warn('You are loading @emotion/react when it is already loaded. Running ' + 'multiple instances may cause problems. This can happen if multiple ' + 'versions are used, or if multiple builds of the same version are ' + 'used.');\n }\n globalContext[globalKey] = true;\n }\n}\nexport { ClassNames, Global, jsx as createElement, css, jsx, keyframes };","export default {\n body: {\n margin: 0,\n padding: 0,\n },\n '.icon-link': {\n display: 'none',\n },\n '.with-overlay': {\n overflow: 'hidden',\n },\n}\n","export const centerAlign = {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n}\n\nexport const ghostButton = {\n p: 0,\n outline: 'none',\n background: 'transparent',\n border: 'none',\n ':hover': {\n cursor: 'pointer',\n },\n}\n","const em = px => `${px / 16}em`\nconst mountMedia = val => `@media screen and (max-width: ${em(val)})`\n\nexport const breakpoints = {\n mobile: 630,\n tablet: 920,\n desktop: 1120,\n}\n\nexport const media = {\n mobile: mountMedia(breakpoints.mobile),\n tablet: mountMedia(breakpoints.tablet),\n desktop: mountMedia(breakpoints.desktop),\n}\n","import * as mixins from '~utils/mixins'\nimport { media } from '~theme/breakpoints'\n\nexport const wrapper = {\n bg: 'header.bg',\n position: 'relative',\n zIndex: 1,\n borderBottom: t => `1px solid ${t.colors.border}`,\n}\n\nexport const innerContainer = {\n ...mixins.centerAlign,\n px: 4,\n position: 'relative',\n justifyContent: 'space-between',\n height: 80,\n}\n\nexport const menuIcon = {\n display: 'none',\n position: 'absolute',\n top: 'calc(100% + 15px)',\n left: 30,\n [media.tablet]: {\n display: 'block',\n },\n}\n\nexport const menuButton = {\n ...mixins.ghostButton,\n color: 'header.text',\n opacity: 0.5,\n cursor: 'pointer',\n}\n\nexport const headerButton = {\n ...mixins.centerAlign,\n outline: 'none',\n p: '12px',\n border: 'none',\n borderRadius: 9999,\n bg: 'header.button.bg',\n color: 'header.button.color',\n fontSize: 0,\n fontWeight: 600,\n cursor: 'pointer',\n}\n\nexport const editButton = {\n ...mixins.centerAlign,\n position: 'absolute',\n bottom: -40,\n right: 30,\n bg: 'transparent',\n color: 'muted',\n fontSize: 1,\n textDecoration: 'none',\n borderRadius: 'radius',\n}\n","function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = _objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\nimport React, { forwardRef } from 'react';\nvar ChevronDown = forwardRef(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 24 : _ref$size,\n rest = _objectWithoutProperties(_ref, [\"color\", \"size\"]);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n width: size,\n height: size,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: color,\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }, rest), /*#__PURE__*/React.createElement(\"polyline\", {\n points: \"6 9 12 15 18 9\"\n }));\n});\nChevronDown.displayName = 'ChevronDown';\nexport default ChevronDown;","function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = _objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\nimport React, { forwardRef } from 'react';\nvar ChevronUp = forwardRef(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 24 : _ref$size,\n rest = _objectWithoutProperties(_ref, [\"color\", \"size\"]);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n width: size,\n height: size,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: color,\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }, rest), /*#__PURE__*/React.createElement(\"polyline\", {\n points: \"18 15 12 9 6 15\"\n }));\n});\nChevronUp.displayName = 'ChevronUp';\nexport default ChevronUp;","function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = _objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\nimport React, { forwardRef } from 'react';\nvar Clipboard = forwardRef(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 24 : _ref$size,\n rest = _objectWithoutProperties(_ref, [\"color\", \"size\"]);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n width: size,\n height: size,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: color,\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: \"8\",\n y: \"2\",\n width: \"8\",\n height: \"4\",\n rx: \"1\",\n ry: \"1\"\n }));\n});\nClipboard.displayName = 'Clipboard';\nexport default Clipboard;","function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = _objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\nimport React, { forwardRef } from 'react';\nvar Code = forwardRef(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 24 : _ref$size,\n rest = _objectWithoutProperties(_ref, [\"color\", \"size\"]);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n width: size,\n height: size,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: color,\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }, rest), /*#__PURE__*/React.createElement(\"polyline\", {\n points: \"16 18 22 12 16 6\"\n }), /*#__PURE__*/React.createElement(\"polyline\", {\n points: \"8 6 2 12 8 18\"\n }));\n});\nCode.displayName = 'Code';\nexport default Code;","function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = _objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\nimport React, { forwardRef } from 'react';\nvar Edit2 = forwardRef(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 24 : _ref$size,\n rest = _objectWithoutProperties(_ref, [\"color\", \"size\"]);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n width: size,\n height: size,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: color,\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z\"\n }));\n});\nEdit2.displayName = 'Edit2';\nexport default Edit2;","function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = _objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\nimport React, { forwardRef } from 'react';\nvar GitHub = forwardRef(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 24 : _ref$size,\n rest = _objectWithoutProperties(_ref, [\"color\", \"size\"]);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n width: size,\n height: size,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: color,\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22\"\n }));\n});\nGitHub.displayName = 'GitHub';\nexport default GitHub;","function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = _objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\nimport React, { forwardRef } from 'react';\nvar Menu = forwardRef(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 24 : _ref$size,\n rest = _objectWithoutProperties(_ref, [\"color\", \"size\"]);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n width: size,\n height: size,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: color,\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }, rest), /*#__PURE__*/React.createElement(\"line\", {\n x1: \"3\",\n y1: \"12\",\n x2: \"21\",\n y2: \"12\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n x1: \"3\",\n y1: \"6\",\n x2: \"21\",\n y2: \"6\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n x1: \"3\",\n y1: \"18\",\n x2: \"21\",\n y2: \"18\"\n }));\n});\nMenu.displayName = 'Menu';\nexport default Menu;","function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = _objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\nimport React, { forwardRef } from 'react';\nvar Search = forwardRef(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 24 : _ref$size,\n rest = _objectWithoutProperties(_ref, [\"color\", \"size\"]);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n width: size,\n height: size,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: color,\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }, rest), /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"11\",\n cy: \"11\",\n r: \"8\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n x1: \"21\",\n y1: \"21\",\n x2: \"16.65\",\n y2: \"16.65\"\n }));\n});\nSearch.displayName = 'Search';\nexport default Search;","function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = _objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\nimport React, { forwardRef } from 'react';\nvar Sun = forwardRef(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 24 : _ref$size,\n rest = _objectWithoutProperties(_ref, [\"color\", \"size\"]);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n width: size,\n height: size,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: color,\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }, rest), /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"12\",\n cy: \"12\",\n r: \"5\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n x1: \"12\",\n y1: \"1\",\n x2: \"12\",\n y2: \"3\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n x1: \"12\",\n y1: \"21\",\n x2: \"12\",\n y2: \"23\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n x1: \"4.22\",\n y1: \"4.22\",\n x2: \"5.64\",\n y2: \"5.64\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n x1: \"18.36\",\n y1: \"18.36\",\n x2: \"19.78\",\n y2: \"19.78\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n x1: \"1\",\n y1: \"12\",\n x2: \"3\",\n y2: \"12\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n x1: \"21\",\n y1: \"12\",\n x2: \"23\",\n y2: \"12\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n x1: \"4.22\",\n y1: \"19.78\",\n x2: \"5.64\",\n y2: \"18.36\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n x1: \"18.36\",\n y1: \"5.64\",\n x2: \"19.78\",\n y2: \"4.22\"\n }));\n});\nSun.displayName = 'Sun';\nexport default Sun;","export { default as ChevronDown } from 'react-feather/dist/icons/chevron-down'\nexport { default as ChevronUp } from 'react-feather/dist/icons/chevron-up'\nexport { default as Clipboard } from 'react-feather/dist/icons/clipboard'\nexport { default as Code } from 'react-feather/dist/icons/code'\nexport { default as Edit } from 'react-feather/dist/icons/edit-2'\nexport { default as Github } from 'react-feather/dist/icons/github'\nexport { default as Menu } from 'react-feather/dist/icons/menu'\nexport { default as Search } from 'react-feather/dist/icons/search'\nexport { default as Sun } from 'react-feather/dist/icons/sun'\n","export const logo = {\n letterSpacing: '-0.02em',\n fontWeight: 600,\n fontSize: 4,\n}\n\nexport const link = {\n fontWeight: 600,\n color: 'header.text',\n textDecoration: 'none',\n ':hover': {\n color: 'primary',\n },\n}\n","import * as styles from \"gatsby-theme-docz/src/components/Logo/styles\"\n\n/** @jsx jsx */\nimport { Flex, jsx } from \"theme-ui\"\nimport { Link, useConfig } from \"docz\"\nimport logo from '../../../../img/logo.svg'\n\nexport const Logo = () => {\n const config = useConfig()\n return (\n \n \n
      \n \"That's\n Grafana Tanka\n {config.description}\n
      \n \n
      \n )\n}\n","/** @jsx jsx */\nimport { jsx, Box, Flex, useColorMode } from 'theme-ui'\nimport { useConfig, useCurrentDoc } from 'docz'\n\nimport * as styles from './styles'\nimport { Edit, Menu, Sun, Github } from '../Icons'\nimport { Logo } from '../Logo'\n\nexport const Header = props => {\n const { onOpen } = props\n const {\n repository,\n themeConfig: { showDarkModeSwitch, showMarkdownEditButton },\n } = useConfig()\n const { edit = true, ...doc } = useCurrentDoc()\n const [colorMode, setColorMode] = useColorMode()\n\n const toggleColorMode = () => {\n setColorMode(colorMode === 'light' ? 'dark' : 'light')\n }\n\n return (\n
      \n \n \n \n
      \n \n \n {repository && (\n \n \n \n \n \n )}\n {showDarkModeSwitch && (\n \n \n \n )}\n \n {showMarkdownEditButton && edit && doc.link && (\n \n \n Edit page\n \n )}\n
      \n
      \n )\n}\n","import { media } from '~theme/breakpoints'\n\nexport const global = {\n body: {\n overflow: 'hidden',\n },\n}\n\nconst HEADER_HEIGHT = 81\n\nexport const overlay = ({ open }) => ({\n zIndex: 999,\n position: 'fixed',\n top: HEADER_HEIGHT,\n right: 0,\n bottom: 0,\n left: 0,\n background: 'rgba(0,0,0,0.6)',\n transition: 'all .2s ease-out',\n visibility: open ? 'visible' : 'hidden',\n opacity: open ? 1 : 0,\n})\n\nexport const wrapper = ({ open }) => ({\n py: 4,\n px: 4,\n flexDirection: 'column',\n position: 'sticky',\n top: 0,\n zIndex: 1,\n minWidth: 0,\n maxHeight: '100vh',\n borderRight: t => `1px solid ${t.colors.border}`,\n overflow: 'auto',\n WebkitOverflowScrolling: 'touch',\n bg: 'sidebar.bg',\n\n [media.tablet]: {\n zIndex: 9999,\n display: 'block',\n position: 'fixed',\n top: HEADER_HEIGHT,\n left: 0,\n bottom: 0,\n width: 256,\n px: 4,\n bg: 'background',\n transition: 'transform .2s ease-out',\n transform: open ? 'translateX(0)' : 'translateX(-100%)',\n },\n})\n","export const wrapper = {\n mb: 3,\n display: 'inline-flex',\n alignItems: 'center',\n}\n\nexport const input = {\n outline: 'none',\n background: 'none',\n border: 'none',\n color: 'text',\n fontSize: 1,\n}\n\nexport const icon = {\n color: 'border',\n mr: 2,\n}\n","/** @jsx jsx */\nimport { jsx } from 'theme-ui'\n\nimport * as styles from './styles'\nimport { Search } from '../Icons'\n\nexport const NavSearch = props => {\n return (\n
      \n \n \n
      \n )\n}\n","export const link = {\n my: 2,\n display: 'block',\n color: 'sidebar.navGroup',\n textDecoration: 'none',\n fontSize: 2,\n '&.active': {\n color: 'sidebar.navLinkActive',\n },\n}\n\nexport const smallLink = {\n ...link,\n ml: 3,\n fontSize: 1,\n position: 'relative',\n color: 'sidebar.tocLink',\n '&.active': {\n color: 'sidebar.tocLinkActive',\n },\n '&.active::before': {\n content: '\"\"',\n position: 'absolute',\n display: 'block',\n top: '2px',\n left: -2,\n height: '1rem',\n backgroundColor: 'primary',\n transition: 'width 200ms ease 0s',\n width: '2px',\n borderRadius: 1,\n },\n}\n","/** @jsx jsx */\nimport { Fragment, forwardRef } from 'react'\nimport { jsx } from 'theme-ui'\nimport { Link } from 'gatsby'\nimport { useDocs, useCurrentDoc } from 'docz'\nimport { get } from 'lodash/fp'\n\nimport * as styles from './styles'\n\nconst getHeadings = (route, docs) => {\n const doc = docs.find(doc => doc.route === route)\n const headings = get('headings', doc)\n return headings ? headings.filter(heading => heading.depth === 2) : []\n}\n\nconst getCurrentHash = () => {\n if (typeof window === 'undefined') {\n return ''\n }\n return window.location ? decodeURI(window.location.hash) : ''\n}\n\nexport const NavLink = forwardRef(function NavLink({ item, ...props }, ref) {\n const docs = useDocs()\n const current = useCurrentDoc()\n\n if (item.hidden) {\n return null\n }\n\n const to = item.route\n const headings = docs && getHeadings(to, docs)\n const isCurrent = item.route === current.route\n const showHeadings = isCurrent && headings && headings.length > 0\n const currentHash = getCurrentHash()\n return (\n \n \n {showHeadings &&\n headings.map(heading => (\n \n {heading.value}\n \n ))}\n \n )\n})\n","export const wrapper = {\n my: 3,\n}\n\nexport const sublinkWrapper = {\n ml: 2,\n}\n\nexport const title = {\n mb: 1,\n fontSize: 2,\n fontWeight: 500,\n color: 'sidebar.navGroup',\n cursor: 'pointer',\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n}\n\nexport const chevron = ({ active }) => ({\n ml: 1,\n flexShrink: 0,\n alignSelf: 'baseline',\n transform: `rotateX(${active ? 180 : 0}deg)`,\n transformOrigin: 'center',\n transition: 'transform .3s ease-in-out',\n})\n","/** @jsx jsx */\nimport { jsx } from 'theme-ui'\nimport { useEffect, useState, useRef } from 'react'\nimport { useCurrentDoc } from 'docz'\n\nimport * as styles from './styles'\nimport { NavLink } from '../NavLink'\nimport { ChevronDown } from '../Icons'\n\nexport const NavGroup = ({ item, sidebarRef }) => {\n const currentDoc = useCurrentDoc()\n const currentDocRef = useRef()\n const { name, menu } = item\n const [subheadingsVisible, setShowsubheadings] = useState(\n currentDoc.menu === name\n )\n const toggleSubheadings = () => setShowsubheadings(!subheadingsVisible)\n useEffect(() => {\n if (sidebarRef.current && currentDocRef.current) {\n sidebarRef.current.scrollTo(0, currentDocRef.current.offsetTop)\n }\n }, [])\n return (\n
      \n
      \n {item.name}\n \n
      \n
      \n {menu &&\n subheadingsVisible &&\n menu.map(menu => {\n if (currentDoc.route === menu.route) {\n return (\n \n {menu.name}\n \n )\n }\n return (\n \n {menu.name}\n \n )\n })}\n
      \n
      \n )\n}\n","/** @jsx jsx */\nimport { Fragment, forwardRef, useState, useRef, useEffect } from 'react'\nimport { Global } from '@emotion/react'\nimport { jsx, Box } from 'theme-ui'\nimport { useMenus, useCurrentDoc } from 'docz'\n\nimport * as styles from './styles'\nimport { NavSearch } from '../NavSearch'\nimport { NavLink } from '../NavLink'\nimport { NavGroup } from '../NavGroup'\n\nexport const Sidebar = forwardRef(function Sidebar(props, ref) {\n const [query, setQuery] = useState('')\n const menus = useMenus({ query })\n const currentDoc = useCurrentDoc()\n const currentDocRef = useRef()\n const handleChange = ev => {\n setQuery(ev.target.value)\n }\n useEffect(() => {\n if (ref.current && currentDocRef.current) {\n ref.current.scrollTo(0, currentDocRef.current.offsetTop)\n }\n }, [])\n return (\n \n \n {props.open && }\n \n \n \n {menus &&\n menus.map(menu => {\n if (!menu.route)\n return \n if (menu.route === currentDoc.route) {\n return (\n \n {menu.name}\n \n )\n }\n return (\n \n {menu.name}\n \n )\n })}\n \n \n )\n})\n","import { media } from '~theme/breakpoints'\n\nexport const container = {\n backgroundColor: 'background',\n position: 'relative',\n maxWidth: 960,\n py: 5,\n px: 4,\n variant: 'styles.Container',\n [media.tablet]: {\n py: 4,\n px: 4,\n pt: 5,\n },\n}\n","/** @jsx jsx */\nimport { jsx, Container } from 'theme-ui'\n\nimport * as styles from './styles'\n\nexport const MainContainer = ({ children, ...rest }) => {\n return (\n \n {children}\n \n )\n}\n","import { media } from '~theme/breakpoints'\n\nexport const main = {\n display: 'flex',\n flexDirection: 'column',\n minHeight: '100vh',\n}\n\nexport const wrapper = {\n py: 0,\n flex: 1,\n display: 'grid',\n gridTemplateColumns: '250px minmax(0, 1fr)',\n minHeight: '100vh',\n [media.tablet]: {\n display: 'block',\n },\n}\n","/** @jsx jsx */\nimport { useRef, useState } from 'react'\nimport { jsx, Layout as BaseLayout, Main } from 'theme-ui'\nimport { Global } from '@emotion/react'\n\nimport global from '~theme/global'\nimport { Header } from '../Header'\nimport { Sidebar } from '../Sidebar'\nimport { MainContainer } from '../MainContainer'\nimport * as styles from './styles'\n\nexport const Layout = ({ children }) => {\n const [open, setOpen] = useState(false)\n const nav = useRef()\n\n return (\n div': { flex: '1 1 auto' } }} data-testid=\"layout\">\n \n
      \n
      setOpen(s => !s)} />\n
      \n setOpen(true)}\n onBlur={() => setOpen(false)}\n onClick={() => setOpen(false)}\n />\n {children}\n
      \n
      \n
      \n )\n}\n","import \"core-js/modules/es.regexp.flags.js\";\n/**\n * Prism: Lightweight, robust, elegant syntax highlighting\n *\n * @license MIT \n * @author Lea Verou \n * @namespace\n * @public\n */\n/**\n * prism-react-renderer:\n * This file has been modified to remove:\n * - globals and window dependency\n * - worker support\n * - highlightAll and other element dependent methods\n * - _.hooks helpers\n * - UMD/node-specific hacks\n * It has also been run through prettier\n */\n\nvar Prism = function () {\n // Private helper vars\n var lang = /(?:^|\\s)lang(?:uage)?-([\\w-]+)(?=\\s|$)/i;\n var uniqueId = 0;\n\n // The grammar object for plaintext\n var plainTextGrammar = {};\n var _ = {\n /**\n * A namespace for utility methods.\n *\n * All function in this namespace that are not explicitly marked as _public_ are for __internal use only__ and may\n * change or disappear at any time.\n *\n * @namespace\n * @memberof Prism\n */\n util: {\n encode: function encode(tokens) {\n if (tokens instanceof Token) {\n return new Token(tokens.type, encode(tokens.content), tokens.alias);\n } else if (Array.isArray(tokens)) {\n return tokens.map(encode);\n } else {\n return tokens.replace(/&/g, '&').replace(/} [visited]\n * @returns {T}\n * @template T\n */\n clone: function deepClone(o, visited) {\n visited = visited || {};\n var clone;\n var id;\n switch (_.util.type(o)) {\n case 'Object':\n id = _.util.objId(o);\n if (visited[id]) {\n return visited[id];\n }\n clone = /** @type {Record} */{};\n visited[id] = clone;\n for (var key in o) {\n if (o.hasOwnProperty(key)) {\n clone[key] = deepClone(o[key], visited);\n }\n }\n return (/** @type {any} */clone\n );\n case 'Array':\n id = _.util.objId(o);\n if (visited[id]) {\n return visited[id];\n }\n clone = [];\n visited[id] = clone;\n /** @type {Array} */ /** @type {any} */o.forEach(function (v, i) {\n clone[i] = deepClone(v, visited);\n });\n return (/** @type {any} */clone\n );\n default:\n return o;\n }\n },\n /**\n * Returns the Prism language of the given element set by a `language-xxxx` or `lang-xxxx` class.\n *\n * If no language is set for the element or the element is `null` or `undefined`, `none` will be returned.\n *\n * @param {Element} element\n * @returns {string}\n */\n getLanguage: function (element) {\n while (element) {\n var m = lang.exec(element.className);\n if (m) {\n return m[1].toLowerCase();\n }\n element = element.parentElement;\n }\n return 'none';\n },\n /**\n * Sets the Prism `language-xxxx` class of the given element.\n *\n * @param {Element} element\n * @param {string} language\n * @returns {void}\n */\n setLanguage: function (element, language) {\n // remove all `language-xxxx` classes\n // (this might leave behind a leading space)\n element.className = element.className.replace(RegExp(lang, 'gi'), '');\n\n // add the new `language-xxxx` class\n // (using `classList` will automatically clean up spaces for us)\n element.classList.add('language-' + language);\n },\n /**\n * Returns whether a given class is active for `element`.\n *\n * The class can be activated if `element` or one of its ancestors has the given class and it can be deactivated\n * if `element` or one of its ancestors has the negated version of the given class. The _negated version_ of the\n * given class is just the given class with a `no-` prefix.\n *\n * Whether the class is active is determined by the closest ancestor of `element` (where `element` itself is\n * closest ancestor) that has the given class or the negated version of it. If neither `element` nor any of its\n * ancestors have the given class or the negated version of it, then the default activation will be returned.\n *\n * In the paradoxical situation where the closest ancestor contains __both__ the given class and the negated\n * version of it, the class is considered active.\n *\n * @param {Element} element\n * @param {string} className\n * @param {boolean} [defaultActivation=false]\n * @returns {boolean}\n */\n isActive: function (element, className, defaultActivation) {\n var no = 'no-' + className;\n while (element) {\n var classList = element.classList;\n if (classList.contains(className)) {\n return true;\n }\n if (classList.contains(no)) {\n return false;\n }\n element = element.parentElement;\n }\n return !!defaultActivation;\n }\n },\n /**\n * This namespace contains all currently loaded languages and the some helper functions to create and modify languages.\n *\n * @namespace\n * @memberof Prism\n * @public\n */\n languages: {\n /**\n * The grammar for plain, unformatted text.\n */\n plain: plainTextGrammar,\n plaintext: plainTextGrammar,\n text: plainTextGrammar,\n txt: plainTextGrammar,\n /**\n * Creates a deep copy of the language with the given id and appends the given tokens.\n *\n * If a token in `redef` also appears in the copied language, then the existing token in the copied language\n * will be overwritten at its original position.\n *\n * ## Best practices\n *\n * Since the position of overwriting tokens (token in `redef` that overwrite tokens in the copied language)\n * doesn't matter, they can technically be in any order. However, this can be confusing to others that trying to\n * understand the language definition because, normally, the order of tokens matters in Prism grammars.\n *\n * Therefore, it is encouraged to order overwriting tokens according to the positions of the overwritten tokens.\n * Furthermore, all non-overwriting tokens should be placed after the overwriting ones.\n *\n * @param {string} id The id of the language to extend. This has to be a key in `Prism.languages`.\n * @param {Grammar} redef The new tokens to append.\n * @returns {Grammar} The new language created.\n * @public\n * @example\n * Prism.languages['css-with-colors'] = Prism.languages.extend('css', {\n * // Prism.languages.css already has a 'comment' token, so this token will overwrite CSS' 'comment' token\n * // at its original position\n * 'comment': { ... },\n * // CSS doesn't have a 'color' token, so this token will be appended\n * 'color': /\\b(?:red|green|blue)\\b/\n * });\n */\n extend: function (id, redef) {\n var lang = _.util.clone(_.languages[id]);\n for (var key in redef) {\n lang[key] = redef[key];\n }\n return lang;\n },\n /**\n * Inserts tokens _before_ another token in a language definition or any other grammar.\n *\n * ## Usage\n *\n * This helper method makes it easy to modify existing languages. For example, the CSS language definition\n * not only defines CSS highlighting for CSS documents, but also needs to define highlighting for CSS embedded\n * in HTML through ``\nconst INITIAL_IFRAME_CONTENT = ` ${CLEAR_PADDING}
      `\n\nconst IframeWrapper = ({ children, style }) => {\n const [containerHeight, setHeight] = useState()\n return (\n \n {children}\n {\n setHeight(height)\n }}\n />\n \n )\n}\n\nconst NormalWrapper = ({ children, style }) => {\n return (\n \n {children}\n \n )\n}\n\nexport const Wrapper = ({ children, content, useScoping, showingCode }) => {\n const {\n themeConfig: { useScopingInPlayground },\n } = useConfig()\n\n const Element =\n useScoping || useScopingInPlayground ? IframeWrapper : NormalWrapper\n\n return (\n \n {children}\n \n )\n}\n","import { useThemeUI } from 'theme-ui'\nimport { get, pipe, defaultTo } from 'lodash/fp'\n\nexport const themeProp = str => props => {\n return get(`theme.${str}`, props)\n}\n\nexport const usePrismTheme = () => {\n const { theme, colorMode } = useThemeUI()\n const getTheme = pipe(\n get('prismTheme'),\n defaultTo(get(`prism.${colorMode}`, theme))\n )\n return getTheme(theme)\n}\n","/** @jsx jsx */\nimport { jsx } from 'theme-ui'\nimport { useState } from 'react'\nimport { useConfig } from 'docz'\nimport { LiveProvider, LiveError, LivePreview, LiveEditor } from 'react-live'\nimport { Resizable } from 're-resizable'\nimport copy from 'copy-text-to-clipboard'\n\nimport { Wrapper } from './Wrapper'\nimport { usePrismTheme } from '~utils/theme'\nimport * as styles from './styles'\nimport * as Icons from '../Icons'\n\nconst getResizableProps = (width, setWidth) => ({\n minWidth: 260,\n maxWidth: '100%',\n size: {\n width: width,\n height: 'auto',\n },\n style: {\n margin: 0,\n marginRight: 'auto',\n },\n enable: {\n top: false,\n right: true,\n bottom: false,\n left: false,\n topRight: false,\n bottomRight: false,\n bottomLeft: false,\n topLeft: false,\n },\n onResizeStop: (e, direction, ref) => {\n setWidth(ref.style.width)\n },\n})\n\nconst transformCode = code => {\n if (code.startsWith('()') || code.startsWith('class')) return code\n return `${code}`\n}\n\nexport const Playground = ({ code, scope, language, useScoping = false }) => {\n const {\n themeConfig: { showPlaygroundEditor, showLiveError, showLivePreview },\n } = useConfig()\n\n // Makes sure scope is only given on mount to avoid infinite re-render on hot reloads\n const [scopeOnMount] = useState(scope)\n const theme = usePrismTheme()\n const [showingCode, setShowingCode] = useState(showPlaygroundEditor)\n const [width, setWidth] = useState('100%')\n const resizableProps = getResizableProps(width, setWidth)\n\n const copyCode = () => copy(code)\n const toggleCode = () => setShowingCode(s => !s)\n\n return (\n \n \n
      \n \n {showLivePreview && (\n \n )}\n \n
      \n \n \n
      \n
      \n {showingCode && (\n \n
      \n \n
      \n \n )}\n {showLiveError && (\n \n )}\n \n
      \n )\n}\n","import { breakpoints } from '~theme/breakpoints'\nimport * as mixins from '~utils/mixins'\n\nexport const container = {\n mt: 3,\n mb: 4,\n border: t => `1px solid ${t.colors.border}`,\n borderRadius: 'radius',\n overflow: 'hidden',\n bg: 'props.bg',\n color: 'props.text',\n fontSize: 3,\n}\n\nexport const content = {\n position: 'relative',\n display: 'flex',\n flexDirection: 'column',\n [`@media (min-width: ${breakpoints.tablet}px)`]: {\n flexWrap: 'nowrap',\n flexDirection: 'row',\n },\n}\n\nexport const line = {\n pt: 2,\n '& + &': {\n borderTop: t => `1px solid ${t.colors.border}`,\n },\n}\n\nconst column = {\n minWidth: 0,\n pb: 2,\n px: 3,\n '& ~ &': {\n bg: 'red',\n },\n}\n\nexport const propName = {\n ...column,\n color: 'props.highlight',\n}\n\nexport const propType = {\n ...column,\n color: 'props.text',\n}\n\nexport const defaultValue = {\n ...column,\n color: 'props.defaultValue',\n}\n\nexport const right = {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-end',\n px: 3,\n flex: 1,\n [`@media (max-width: ${breakpoints.tablet}px)`]: {\n position: 'absolute',\n top: 0,\n right: 0,\n },\n}\n\nexport const propRequired = {\n color: 'props.text',\n fontSize: 1,\n opacity: 0.5,\n}\n\nexport const openDescBtn = {\n ...mixins.ghostButton,\n mt: 0,\n ml: 3,\n color: 'props.defaultValue',\n}\n\nexport const description = {\n fontSize: 2,\n m: 0,\n py: 2,\n px: 3,\n borderTop: t => `1px solid ${t.colors.border}`,\n color: 'props.descriptionText',\n bg: 'props.descriptionBg',\n}\n","/** @jsx jsx */\nimport { useState } from 'react'\nimport { jsx } from 'theme-ui'\n\nimport { ChevronDown, ChevronUp } from '../Icons'\nimport * as styles from './styles'\n\nexport const getDefaultValue = ({ defaultValue, type, flowType }) => {\n const propType = flowType ? flowType : type\n if (!defaultValue || !defaultValue.value) return null\n if (defaultValue.value === \"''\") {\n return '[Empty string]'\n }\n if (propType && propType.name === 'string') {\n return defaultValue.value.replace(/\\'/g, '\"')\n }\n if (typeof defaultValue.value === 'object' && defaultValue.value.toString) {\n return defaultValue.value.toString()\n }\n return defaultValue.value\n}\n\nexport const Prop = ({ propName, prop, getPropType, isToggle }) => {\n const [showing, setShowing] = useState(isToggle || false)\n if (!prop.type && !prop.flowType) return null\n\n const toggle = () => setShowing(s => !s)\n return (\n
      \n
      \n
      \n {propName}\n
      \n
      \n {getPropType(prop)}\n
      \n {prop.defaultValue && (\n
      \n {getDefaultValue(prop)}\n
      \n )}\n
      \n {prop.required && (\n
      \n required\n
      \n )}\n {prop.description && (\n \n {showing ? : }\n \n )}\n
      \n
      \n {showing && prop.description && (\n
      \n {prop.description}\n
      \n )}\n
      \n )\n}\n\nexport const Props = ({ props, getPropType, isToggle }) => {\n const entries = Object.entries(props)\n\n return (\n
      \n {entries.map(([key, prop]) => (\n \n ))}\n
      \n )\n}\n","import { ChevronDown, ChevronUp } from \"gatsby-theme-docz/src/components/Icons\"\nimport React, { useState } from \"react\"\n\nimport ThemeStyles from \"gatsby-theme-docz/src/theme/styles\"\n/** @jsx jsx */\nimport { jsx } from \"theme-ui\"\n\nexport const Code = props => (\n \n {props.children}\n \n)\n\n// Smart codeblock: shows only first 25 lines, if longer an expand button\nexport const CodeBlock = props => {\n const lines = React.Children.toArray(props.children).reduce((n, c) => {\n if (c?.props?.className === \"vscode-highlight-line\") {\n return n + 1\n }\n return n\n }, 0)\n\n return (\n \n {lines > 20 ? {props.children} : props.children}\n \n )\n}\n\nexport const Pre = props => (\n \n)\n\n// Expandable codeblock\nconst LongCode = props => {\n const [toggled, setToggled] = useState(false)\n\n return (\n <>\n {toggled\n ? props.children\n : React.Children.map(props.children, (child, i) => {\n if (i < 20 * 2) return child\n })}\n setToggled(!toggled)}>\n \n )\n}\n\n// ExpandButton\nconst Expand = props => (\n \n \n {props.toggled ? : }\n Show {props.toggled ? \"less\" : \"more\"}\n \n \n)\n","/** @jsx jsx */\nimport { jsx } from \"theme-ui\"\nimport React from \"react\"\n\nimport * as headings from \"gatsby-theme-docz/src/components/Headings\"\nimport { Layout } from \"gatsby-theme-docz/src/components/Layout\"\nimport { Playground } from \"gatsby-theme-docz/src/components/Playground\"\nimport { Props } from \"gatsby-theme-docz/src/components/Props\"\nimport ThemeStyles from \"gatsby-theme-docz/src/theme/styles\"\n\nimport \"typeface-fira-mono\"\nimport \"typeface-source-sans-pro\"\n\nimport { Code, CodeBlock, Pre } from \"./codeblock\"\n\nconst localStyles = {\n backgroundLight: \"#2d37471f\",\n}\n\n// custom \"box\" (blockquote)\nconst Box = props => (\n \n {// remove the marginBottom from the last element\n React.Children.map(props.children, (child, i) =>\n i === React.Children.toArray(props.children).length - 1\n ? React.cloneElement(child, {\n style: { marginBottom: 0 },\n })\n : child\n )}\n \n)\n\nconst Table = props => (\n \n \n \n)\n\nconst inlineCode = props => (\n \n {props.children}\n \n)\n\nexport default {\n ...headings,\n playground: Playground,\n layout: Layout,\n props: Props,\n code: CodeBlock,\n pre: Pre,\n blockquote: Box,\n table: Table,\n inlineCode: inlineCode,\n}\n","/** @jsx jsx */\nimport { jsx } from 'theme-ui'\nimport { theme, useConfig, ComponentsProvider } from 'docz'\nimport { Styled, ThemeProvider } from 'theme-ui'\n\nimport defaultTheme from '~theme'\nimport components from '~components'\n\nconst Theme = ({ children }) => {\n const config = useConfig()\n return (\n \n \n {children}\n \n \n )\n}\n\nexport default theme(defaultTheme)(Theme)\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { Helmet } from 'react-helmet-async'\n\nimport { useDbQuery } from '../hooks/useDbQuery'\n\nconst SEO = ({ description, lang, meta, keywords, title: initialTitle }) => {\n const db = useDbQuery()\n const title = initialTitle || db.config.title\n const metaDescription = description || db.config.description\n\n return (\n 0\n ? {\n name: `keywords`,\n content: keywords.join(`, `),\n }\n : []\n )\n .concat(meta)}\n />\n )\n}\n\nSEO.defaultProps = {\n lang: `en`,\n meta: [],\n keywords: [],\n}\n\nSEO.propTypes = {\n description: PropTypes.string,\n lang: PropTypes.string,\n meta: PropTypes.array,\n keywords: PropTypes.arrayOf(PropTypes.string),\n title: PropTypes.string.isRequired,\n}\n\nexport default SEO\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { useComponents } from 'docz'\nimport { propEq, get } from 'lodash/fp'\nimport { MDXProvider } from '@mdx-js/react'\n\nimport { useDbQuery } from '../hooks/useDbQuery'\nimport Wrapper from '../wrapper'\nimport Theme from '../index'\nimport SEO from './Seo'\n\nconst Route = ({ children, entry, isTransclusion, ...defaultProps }) => {\n const components = useComponents()\n const NotFound = components.notFound\n const Layout = components.layout\n const props = { ...defaultProps, doc: entry }\n if (!entry && !isTransclusion) return \n return isTransclusion ? (\n children\n ) : (\n \n \n {children}\n \n \n )\n}\n\nconst findEntry = (db, ctx) => {\n const isIndex = ctx && ctx.frontmatter && ctx.frontmatter.route === '/'\n const eqIndex = propEq('value.route', '/')\n if (ctx && !ctx.entry && isIndex) return db.entries.find(eqIndex)\n const filepath = get('entry.filepath', ctx)\n return db.entries.find(propEq('value.filepath', filepath))\n}\n\nconst includesTransclusion = (db, props) => {\n const { entries } = db\n const filepath = get('_frontmatter.__filemeta.filename', props)\n return (\n !props.pageContext &&\n entries.includes(entries.find(propEq('value.filepath', filepath)))\n )\n}\n\nconst Layout = ({ children, ...defaultProps }) => {\n const { pageContext: ctx } = defaultProps\n const db = useDbQuery()\n const entry = findEntry(db, ctx)\n const isTransclusion = includesTransclusion(db, defaultProps)\n return (\n <>\n {entry && }\n \n \n {children}\n \n \n \n )\n}\n\nLayout.propTypes = {\n color: PropTypes.string,\n children: PropTypes.node.isRequired,\n}\n\nexport default Layout\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = _default;\nexports.routeThroughBrowserOrApp = exports.hashShouldBeFollowed = exports.pathIsNotHandledByApp = exports.urlsAreOnSameOrigin = exports.authorIsForcingNavigation = exports.anchorsTargetIsEquivalentToSelf = exports.findClosestAnchor = exports.navigationWasHandledElsewhere = exports.slashedPathname = exports.userIsForcingNavigation = void 0;\n\nvar _escapeStringRegexp = _interopRequireDefault(require(\"escape-string-regexp\"));\n\nvar _gatsby = require(\"gatsby\");\n\nvar userIsForcingNavigation = function userIsForcingNavigation(event) {\n return event.button !== 0 || event.altKey || event.ctrlKey || event.metaKey || event.shiftKey;\n}; // IE does not include leading slash in anchor.pathname\n\n\nexports.userIsForcingNavigation = userIsForcingNavigation;\n\nvar slashedPathname = function slashedPathname(pathname) {\n return pathname[0] === \"/\" ? pathname : \"/\" + pathname;\n};\n\nexports.slashedPathname = slashedPathname;\n\nvar navigationWasHandledElsewhere = function navigationWasHandledElsewhere(event) {\n return event.defaultPrevented;\n};\n\nexports.navigationWasHandledElsewhere = navigationWasHandledElsewhere;\n\nvar findClosestAnchor = function findClosestAnchor(node) {\n for (; node.parentNode; node = node.parentNode) {\n if (node.nodeName.toLowerCase() === \"a\") {\n return node;\n }\n }\n\n return null;\n};\n\nexports.findClosestAnchor = findClosestAnchor;\n\nvar anchorsTargetIsEquivalentToSelf = function anchorsTargetIsEquivalentToSelf(anchor) {\n return (\n /* If target attribute is not present it's treated as _self */\n anchor.hasAttribute(\"target\") === false ||\n /**\n * The browser defaults to _self, but, not all browsers set\n * a.target to the string value `_self` by default\n */\n\n /**\n * Assumption: some browsers use null/undefined for default\n * attribute values\n */\n anchor.target == null ||\n /**\n * Some browsers use the empty string to mean _self, check\n * for actual `_self`\n */\n [\"_self\", \"\"].includes(anchor.target) ||\n /**\n * As per https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-target\n */\n anchor.target === \"_parent\" && (!anchor.ownerDocument.defaultView.parent || // Assumption: This can be falsey\n anchor.ownerDocument.defaultView.parent === anchor.ownerDocument.defaultView) || anchor.target === \"_top\" && (!anchor.ownerDocument.defaultView.top || // Assumption: This can be falsey\n anchor.ownerDocument.defaultView.top === anchor.ownerDocument.defaultView)\n );\n};\n\nexports.anchorsTargetIsEquivalentToSelf = anchorsTargetIsEquivalentToSelf;\n\nvar authorIsForcingNavigation = function authorIsForcingNavigation(anchor) {\n return (\n /**\n * HTML5 attribute that informs the browser to handle the\n * href as a downloadable file; let the browser handle it\n */\n anchor.hasAttribute(\"download\") === true ||\n /**\n * Let the browser handle anything that doesn't look like a\n * target=\"_self\" anchor\n */\n anchorsTargetIsEquivalentToSelf(anchor) === false\n );\n}; // https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy\n\n\nexports.authorIsForcingNavigation = authorIsForcingNavigation;\n\nvar urlsAreOnSameOrigin = function urlsAreOnSameOrigin(origin, destination) {\n return origin.protocol === destination.protocol &&\n /* a.host includes both hostname and port in the expected format host:port */\n origin.host === destination.host;\n};\n\nexports.urlsAreOnSameOrigin = urlsAreOnSameOrigin;\n\nvar pathIsNotHandledByApp = function pathIsNotHandledByApp(destination, pathStartRegEx) {\n var pathFileExtensionRegEx = /^.*\\.((?!htm)[a-z0-9]{1,5})$/i;\n return (\n /**\n * For when pathPrefix is used in an app and there happens to be a link\n * pointing to the same domain but outside of the app's pathPrefix. For\n * example, a Gatsby app lives at https://example.com/myapp/, with the\n * pathPrefix set to `/myapp`. When adding an absolute link to the same\n * domain but outside of the /myapp path, for example, `` the plugin won't catch it and\n * will navigate to an external link instead of doing a pushState resulting\n * in `https://example.com/myapp/https://example.com/not-my-app`\n */\n pathStartRegEx.test(slashedPathname(destination.pathname)) === false ||\n /**\n * Don't catch links pointed at what look like file extensions (other than\n * .htm/html extensions).\n */\n destination.pathname.search(pathFileExtensionRegEx) !== -1\n );\n};\n\nexports.pathIsNotHandledByApp = pathIsNotHandledByApp;\n\nvar hashShouldBeFollowed = function hashShouldBeFollowed(origin, destination) {\n return destination.hash !== \"\" && (\n /**\n * Dynamically created anchor links (href=\"#my-anchor\") do not always\n * have pathname on IE\n */\n destination.pathname === \"\" ||\n /* Don't catch links pointed to the same page but with a hash. */\n destination.pathname === origin.pathname);\n};\n\nexports.hashShouldBeFollowed = hashShouldBeFollowed;\n\nvar routeThroughBrowserOrApp = function routeThroughBrowserOrApp(hrefHandler, pluginOptions) {\n return function (event) {\n if (window.___failedResources) return true;\n if (userIsForcingNavigation(event)) return true;\n if (navigationWasHandledElsewhere(event)) return true;\n var clickedAnchor = findClosestAnchor(event.target);\n if (clickedAnchor == null) return true;\n if (authorIsForcingNavigation(clickedAnchor)) return true; // IE clears the host value if the anchor href changed after creation, e.g.\n // in React. Creating a new anchor element to ensure host value is present\n\n var destination = document.createElement(\"a\"); // https://html.spec.whatwg.org/multipage/links.html#concept-hyperlink-url-set\n // If clickedAnchor has no href attribute like `example`, the href getter returns empty string.\n\n if (clickedAnchor.href !== \"\") {\n destination.href = clickedAnchor.href;\n }\n\n if (\"SVGAnimatedString\" in window && clickedAnchor.href instanceof SVGAnimatedString) {\n destination.href = clickedAnchor.href.animVal;\n } // In IE, the default port is included in the anchor host but excluded from\n // the location host. This affects the ability to directly compare\n // location host to anchor host. For example: http://example.com would\n // have a location.host of 'example.com' and an destination.host of\n // 'example.com:80' Creating anchor from the location.href to normalize the\n // host value.\n\n\n var origin = document.createElement(\"a\");\n origin.href = window.location.href;\n if (urlsAreOnSameOrigin(origin, destination) === false) return true; // Regex to test pathname against pathPrefix\n\n var pathStartRegEx = new RegExp(\"^\" + (0, _escapeStringRegexp.default)((0, _gatsby.withPrefix)(\"/\")));\n if (pathIsNotHandledByApp(destination, pathStartRegEx)) return true;\n if (hashShouldBeFollowed(origin, destination)) return true;\n\n if (pluginOptions.excludePattern) {\n var excludeRegex = new RegExp(pluginOptions.excludePattern);\n\n if (excludeRegex.test(destination.pathname)) {\n return true;\n }\n }\n\n event.preventDefault(); // See issue #8907: destination.pathname already includes pathPrefix added\n // by gatsby-transformer-remark but gatsby-link.navigate needs href without\n\n var destinationPathname = slashedPathname(destination.pathname).replace(pathStartRegEx, \"/\");\n hrefHandler(\"\" + destinationPathname + destination.search + destination.hash);\n return false;\n };\n};\n\nexports.routeThroughBrowserOrApp = routeThroughBrowserOrApp;\n\nfunction _default(root, pluginOptions, cb) {\n var clickHandler = routeThroughBrowserOrApp(cb, pluginOptions);\n root.addEventListener(\"click\", clickHandler);\n return function () {\n return root.removeEventListener(\"click\", clickHandler);\n };\n}","var convert = require('./convert'),\n func = convert('merge', require('../merge'));\n\nfunc.placeholder = require('./placeholder');\nmodule.exports = func;\n","var baseFlatten = require('./_baseFlatten'),\n baseIteratee = require('./_baseIteratee'),\n baseRest = require('./_baseRest'),\n baseUniq = require('./_baseUniq'),\n isArrayLikeObject = require('./isArrayLikeObject'),\n last = require('./last');\n\n/**\n * This method is like `_.union` except that it accepts `iteratee` which is\n * invoked for each element of each `arrays` to generate the criterion by\n * which uniqueness is computed. Result values are chosen from the first\n * array in which the value occurs. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of combined values.\n * @example\n *\n * _.unionBy([2.1], [1.2, 2.3], Math.floor);\n * // => [2.1, 1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.unionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }, { 'x': 2 }]\n */\nvar unionBy = baseRest(function(arrays) {\n var iteratee = last(arrays);\n if (isArrayLikeObject(iteratee)) {\n iteratee = undefined;\n }\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), baseIteratee(iteratee, 2));\n});\n\nmodule.exports = unionBy;\n","const set = require('regenerate')();\nset.addRange(0x700, 0x70D).addRange(0x70F, 0x74A).addRange(0x74D, 0x74F).addRange(0x860, 0x86A);\nmodule.exports = set;","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n","const set = require('regenerate')();\nset.addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB);\nmodule.exports = set;","const set = require('regenerate')(0x3037, 0xFF70, 0x1F200);\nset.addRange(0x3001, 0x3003).addRange(0x3008, 0x3011).addRange(0x3013, 0x301F).addRange(0x3030, 0x3035).addRange(0x303C, 0x303D).addRange(0x3041, 0x3096).addRange(0x3099, 0x30A0).addRange(0x30FB, 0x30FC).addRange(0xFE45, 0xFE46).addRange(0xFF61, 0xFF65).addRange(0xFF9E, 0xFF9F).addRange(0x1B001, 0x1B11F).addRange(0x1B150, 0x1B152);\nmodule.exports = set;","/** Used to map aliases to their real names. */\nexports.aliasToReal = {\n\n // Lodash aliases.\n 'each': 'forEach',\n 'eachRight': 'forEachRight',\n 'entries': 'toPairs',\n 'entriesIn': 'toPairsIn',\n 'extend': 'assignIn',\n 'extendAll': 'assignInAll',\n 'extendAllWith': 'assignInAllWith',\n 'extendWith': 'assignInWith',\n 'first': 'head',\n\n // Methods that are curried variants of others.\n 'conforms': 'conformsTo',\n 'matches': 'isMatch',\n 'property': 'get',\n\n // Ramda aliases.\n '__': 'placeholder',\n 'F': 'stubFalse',\n 'T': 'stubTrue',\n 'all': 'every',\n 'allPass': 'overEvery',\n 'always': 'constant',\n 'any': 'some',\n 'anyPass': 'overSome',\n 'apply': 'spread',\n 'assoc': 'set',\n 'assocPath': 'set',\n 'complement': 'negate',\n 'compose': 'flowRight',\n 'contains': 'includes',\n 'dissoc': 'unset',\n 'dissocPath': 'unset',\n 'dropLast': 'dropRight',\n 'dropLastWhile': 'dropRightWhile',\n 'equals': 'isEqual',\n 'identical': 'eq',\n 'indexBy': 'keyBy',\n 'init': 'initial',\n 'invertObj': 'invert',\n 'juxt': 'over',\n 'omitAll': 'omit',\n 'nAry': 'ary',\n 'path': 'get',\n 'pathEq': 'matchesProperty',\n 'pathOr': 'getOr',\n 'paths': 'at',\n 'pickAll': 'pick',\n 'pipe': 'flow',\n 'pluck': 'map',\n 'prop': 'get',\n 'propEq': 'matchesProperty',\n 'propOr': 'getOr',\n 'props': 'at',\n 'symmetricDifference': 'xor',\n 'symmetricDifferenceBy': 'xorBy',\n 'symmetricDifferenceWith': 'xorWith',\n 'takeLast': 'takeRight',\n 'takeLastWhile': 'takeRightWhile',\n 'unapply': 'rest',\n 'unnest': 'flatten',\n 'useWith': 'overArgs',\n 'where': 'conformsTo',\n 'whereEq': 'isMatch',\n 'zipObj': 'zipObject'\n};\n\n/** Used to map ary to method names. */\nexports.aryMethod = {\n '1': [\n 'assignAll', 'assignInAll', 'attempt', 'castArray', 'ceil', 'create',\n 'curry', 'curryRight', 'defaultsAll', 'defaultsDeepAll', 'floor', 'flow',\n 'flowRight', 'fromPairs', 'invert', 'iteratee', 'memoize', 'method', 'mergeAll',\n 'methodOf', 'mixin', 'nthArg', 'over', 'overEvery', 'overSome','rest', 'reverse',\n 'round', 'runInContext', 'spread', 'template', 'trim', 'trimEnd', 'trimStart',\n 'uniqueId', 'words', 'zipAll'\n ],\n '2': [\n 'add', 'after', 'ary', 'assign', 'assignAllWith', 'assignIn', 'assignInAllWith',\n 'at', 'before', 'bind', 'bindAll', 'bindKey', 'chunk', 'cloneDeepWith',\n 'cloneWith', 'concat', 'conformsTo', 'countBy', 'curryN', 'curryRightN',\n 'debounce', 'defaults', 'defaultsDeep', 'defaultTo', 'delay', 'difference',\n 'divide', 'drop', 'dropRight', 'dropRightWhile', 'dropWhile', 'endsWith', 'eq',\n 'every', 'filter', 'find', 'findIndex', 'findKey', 'findLast', 'findLastIndex',\n 'findLastKey', 'flatMap', 'flatMapDeep', 'flattenDepth', 'forEach',\n 'forEachRight', 'forIn', 'forInRight', 'forOwn', 'forOwnRight', 'get',\n 'groupBy', 'gt', 'gte', 'has', 'hasIn', 'includes', 'indexOf', 'intersection',\n 'invertBy', 'invoke', 'invokeMap', 'isEqual', 'isMatch', 'join', 'keyBy',\n 'lastIndexOf', 'lt', 'lte', 'map', 'mapKeys', 'mapValues', 'matchesProperty',\n 'maxBy', 'meanBy', 'merge', 'mergeAllWith', 'minBy', 'multiply', 'nth', 'omit',\n 'omitBy', 'overArgs', 'pad', 'padEnd', 'padStart', 'parseInt', 'partial',\n 'partialRight', 'partition', 'pick', 'pickBy', 'propertyOf', 'pull', 'pullAll',\n 'pullAt', 'random', 'range', 'rangeRight', 'rearg', 'reject', 'remove',\n 'repeat', 'restFrom', 'result', 'sampleSize', 'some', 'sortBy', 'sortedIndex',\n 'sortedIndexOf', 'sortedLastIndex', 'sortedLastIndexOf', 'sortedUniqBy',\n 'split', 'spreadFrom', 'startsWith', 'subtract', 'sumBy', 'take', 'takeRight',\n 'takeRightWhile', 'takeWhile', 'tap', 'throttle', 'thru', 'times', 'trimChars',\n 'trimCharsEnd', 'trimCharsStart', 'truncate', 'union', 'uniqBy', 'uniqWith',\n 'unset', 'unzipWith', 'without', 'wrap', 'xor', 'zip', 'zipObject',\n 'zipObjectDeep'\n ],\n '3': [\n 'assignInWith', 'assignWith', 'clamp', 'differenceBy', 'differenceWith',\n 'findFrom', 'findIndexFrom', 'findLastFrom', 'findLastIndexFrom', 'getOr',\n 'includesFrom', 'indexOfFrom', 'inRange', 'intersectionBy', 'intersectionWith',\n 'invokeArgs', 'invokeArgsMap', 'isEqualWith', 'isMatchWith', 'flatMapDepth',\n 'lastIndexOfFrom', 'mergeWith', 'orderBy', 'padChars', 'padCharsEnd',\n 'padCharsStart', 'pullAllBy', 'pullAllWith', 'rangeStep', 'rangeStepRight',\n 'reduce', 'reduceRight', 'replace', 'set', 'slice', 'sortedIndexBy',\n 'sortedLastIndexBy', 'transform', 'unionBy', 'unionWith', 'update', 'xorBy',\n 'xorWith', 'zipWith'\n ],\n '4': [\n 'fill', 'setWith', 'updateWith'\n ]\n};\n\n/** Used to map ary to rearg configs. */\nexports.aryRearg = {\n '2': [1, 0],\n '3': [2, 0, 1],\n '4': [3, 2, 0, 1]\n};\n\n/** Used to map method names to their iteratee ary. */\nexports.iterateeAry = {\n 'dropRightWhile': 1,\n 'dropWhile': 1,\n 'every': 1,\n 'filter': 1,\n 'find': 1,\n 'findFrom': 1,\n 'findIndex': 1,\n 'findIndexFrom': 1,\n 'findKey': 1,\n 'findLast': 1,\n 'findLastFrom': 1,\n 'findLastIndex': 1,\n 'findLastIndexFrom': 1,\n 'findLastKey': 1,\n 'flatMap': 1,\n 'flatMapDeep': 1,\n 'flatMapDepth': 1,\n 'forEach': 1,\n 'forEachRight': 1,\n 'forIn': 1,\n 'forInRight': 1,\n 'forOwn': 1,\n 'forOwnRight': 1,\n 'map': 1,\n 'mapKeys': 1,\n 'mapValues': 1,\n 'partition': 1,\n 'reduce': 2,\n 'reduceRight': 2,\n 'reject': 1,\n 'remove': 1,\n 'some': 1,\n 'takeRightWhile': 1,\n 'takeWhile': 1,\n 'times': 1,\n 'transform': 2\n};\n\n/** Used to map method names to iteratee rearg configs. */\nexports.iterateeRearg = {\n 'mapKeys': [1],\n 'reduceRight': [1, 0]\n};\n\n/** Used to map method names to rearg configs. */\nexports.methodRearg = {\n 'assignInAllWith': [1, 0],\n 'assignInWith': [1, 2, 0],\n 'assignAllWith': [1, 0],\n 'assignWith': [1, 2, 0],\n 'differenceBy': [1, 2, 0],\n 'differenceWith': [1, 2, 0],\n 'getOr': [2, 1, 0],\n 'intersectionBy': [1, 2, 0],\n 'intersectionWith': [1, 2, 0],\n 'isEqualWith': [1, 2, 0],\n 'isMatchWith': [2, 1, 0],\n 'mergeAllWith': [1, 0],\n 'mergeWith': [1, 2, 0],\n 'padChars': [2, 1, 0],\n 'padCharsEnd': [2, 1, 0],\n 'padCharsStart': [2, 1, 0],\n 'pullAllBy': [2, 1, 0],\n 'pullAllWith': [2, 1, 0],\n 'rangeStep': [1, 2, 0],\n 'rangeStepRight': [1, 2, 0],\n 'setWith': [3, 1, 2, 0],\n 'sortedIndexBy': [2, 1, 0],\n 'sortedLastIndexBy': [2, 1, 0],\n 'unionBy': [1, 2, 0],\n 'unionWith': [1, 2, 0],\n 'updateWith': [3, 1, 2, 0],\n 'xorBy': [1, 2, 0],\n 'xorWith': [1, 2, 0],\n 'zipWith': [1, 2, 0]\n};\n\n/** Used to map method names to spread configs. */\nexports.methodSpread = {\n 'assignAll': { 'start': 0 },\n 'assignAllWith': { 'start': 0 },\n 'assignInAll': { 'start': 0 },\n 'assignInAllWith': { 'start': 0 },\n 'defaultsAll': { 'start': 0 },\n 'defaultsDeepAll': { 'start': 0 },\n 'invokeArgs': { 'start': 2 },\n 'invokeArgsMap': { 'start': 2 },\n 'mergeAll': { 'start': 0 },\n 'mergeAllWith': { 'start': 0 },\n 'partial': { 'start': 1 },\n 'partialRight': { 'start': 1 },\n 'without': { 'start': 1 },\n 'zipAll': { 'start': 0 }\n};\n\n/** Used to identify methods which mutate arrays or objects. */\nexports.mutate = {\n 'array': {\n 'fill': true,\n 'pull': true,\n 'pullAll': true,\n 'pullAllBy': true,\n 'pullAllWith': true,\n 'pullAt': true,\n 'remove': true,\n 'reverse': true\n },\n 'object': {\n 'assign': true,\n 'assignAll': true,\n 'assignAllWith': true,\n 'assignIn': true,\n 'assignInAll': true,\n 'assignInAllWith': true,\n 'assignInWith': true,\n 'assignWith': true,\n 'defaults': true,\n 'defaultsAll': true,\n 'defaultsDeep': true,\n 'defaultsDeepAll': true,\n 'merge': true,\n 'mergeAll': true,\n 'mergeAllWith': true,\n 'mergeWith': true,\n },\n 'set': {\n 'set': true,\n 'setWith': true,\n 'unset': true,\n 'update': true,\n 'updateWith': true\n }\n};\n\n/** Used to map real names to their aliases. */\nexports.realToAlias = (function() {\n var hasOwnProperty = Object.prototype.hasOwnProperty,\n object = exports.aliasToReal,\n result = {};\n\n for (var key in object) {\n var value = object[key];\n if (hasOwnProperty.call(result, value)) {\n result[value].push(key);\n } else {\n result[value] = [key];\n }\n }\n return result;\n}());\n\n/** Used to map method names to other names. */\nexports.remap = {\n 'assignAll': 'assign',\n 'assignAllWith': 'assignWith',\n 'assignInAll': 'assignIn',\n 'assignInAllWith': 'assignInWith',\n 'curryN': 'curry',\n 'curryRightN': 'curryRight',\n 'defaultsAll': 'defaults',\n 'defaultsDeepAll': 'defaultsDeep',\n 'findFrom': 'find',\n 'findIndexFrom': 'findIndex',\n 'findLastFrom': 'findLast',\n 'findLastIndexFrom': 'findLastIndex',\n 'getOr': 'get',\n 'includesFrom': 'includes',\n 'indexOfFrom': 'indexOf',\n 'invokeArgs': 'invoke',\n 'invokeArgsMap': 'invokeMap',\n 'lastIndexOfFrom': 'lastIndexOf',\n 'mergeAll': 'merge',\n 'mergeAllWith': 'mergeWith',\n 'padChars': 'pad',\n 'padCharsEnd': 'padEnd',\n 'padCharsStart': 'padStart',\n 'propertyOf': 'get',\n 'rangeStep': 'range',\n 'rangeStepRight': 'rangeRight',\n 'restFrom': 'rest',\n 'spreadFrom': 'spread',\n 'trimChars': 'trim',\n 'trimCharsEnd': 'trimEnd',\n 'trimCharsStart': 'trimStart',\n 'zipAll': 'zip'\n};\n\n/** Used to track methods that skip fixing their arity. */\nexports.skipFixed = {\n 'castArray': true,\n 'flow': true,\n 'flowRight': true,\n 'iteratee': true,\n 'mixin': true,\n 'rearg': true,\n 'runInContext': true\n};\n\n/** Used to track methods that skip rearranging arguments. */\nexports.skipRearg = {\n 'add': true,\n 'assign': true,\n 'assignIn': true,\n 'bind': true,\n 'bindKey': true,\n 'concat': true,\n 'difference': true,\n 'divide': true,\n 'eq': true,\n 'gt': true,\n 'gte': true,\n 'isEqual': true,\n 'lt': true,\n 'lte': true,\n 'matchesProperty': true,\n 'merge': true,\n 'multiply': true,\n 'overArgs': true,\n 'partial': true,\n 'partialRight': true,\n 'propertyOf': true,\n 'random': true,\n 'range': true,\n 'rangeRight': true,\n 'subtract': true,\n 'zip': true,\n 'zipObject': true,\n 'zipObjectDeep': true\n};\n","const set = require('regenerate')();\nset.addRange(0x10500, 0x10527);\nmodule.exports = set;","var uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","const set = require('regenerate')(0x951, 0x1CD7, 0x1CD9, 0x1CE0);\nset.addRange(0x1CDC, 0x1CDD).addRange(0x11180, 0x111DF);\nmodule.exports = set;","var createCtor = require('./_createCtor'),\n root = require('./_root');\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_BIND_FLAG = 1;\n\n/**\n * Creates a function that wraps `func` to invoke it with the optional `this`\n * binding of `thisArg`.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\nfunction createBind(func, bitmask, thisArg) {\n var isBind = bitmask & WRAP_BIND_FLAG,\n Ctor = createCtor(func);\n\n function wrapper() {\n var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n return fn.apply(isBind ? thisArg : this, arguments);\n }\n return wrapper;\n}\n\nmodule.exports = createBind;\n","const set = require('regenerate')();\nset.addRange(0x1A20, 0x1A5E).addRange(0x1A60, 0x1A7C).addRange(0x1A7F, 0x1A89).addRange(0x1A90, 0x1A99).addRange(0x1AA0, 0x1AAD);\nmodule.exports = set;","/**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n}\n\nmodule.exports = safeGet;\n","var convert = require('./convert'),\n func = convert('unionBy', require('../unionBy'));\n\nfunc.placeholder = require('./placeholder');\nmodule.exports = func;\n","const set = require('regenerate')();\nset.addRange(0x1100, 0x11FF).addRange(0x302E, 0x302F).addRange(0x3131, 0x318E).addRange(0x3200, 0x321E).addRange(0x3260, 0x327E).addRange(0xA960, 0xA97C).addRange(0xAC00, 0xD7A3).addRange(0xD7B0, 0xD7C6).addRange(0xD7CB, 0xD7FB).addRange(0xFFA0, 0xFFBE).addRange(0xFFC2, 0xFFC7).addRange(0xFFCA, 0xFFCF).addRange(0xFFD2, 0xFFD7).addRange(0xFFDA, 0xFFDC);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x110D0, 0x110E8).addRange(0x110F0, 0x110F9);\nmodule.exports = set;","/*!\n * get-value \n *\n * Copyright (c) 2014-2015, Jon Schlinkert.\n * Licensed under the MIT License.\n */\n\nmodule.exports = function (obj, prop, a, b, c) {\n if (!isObject(obj) || !prop) {\n return obj;\n }\n prop = toString(prop);\n\n // allowing for multiple properties to be passed as\n // a string or array, but much faster (3-4x) than doing\n // `[].slice.call(arguments)`\n if (a) prop += '.' + toString(a);\n if (b) prop += '.' + toString(b);\n if (c) prop += '.' + toString(c);\n if (prop in obj) {\n return obj[prop];\n }\n var segs = prop.split('.');\n var len = segs.length;\n var i = -1;\n while (obj && ++i < len) {\n var key = segs[i];\n while (key[key.length - 1] === '\\\\') {\n key = key.slice(0, -1) + '.' + segs[++i];\n }\n obj = obj[key];\n }\n return obj;\n};\nfunction isObject(val) {\n return val !== null && (typeof val === 'object' || typeof val === 'function');\n}\nfunction toString(val) {\n if (!val) return '';\n if (Array.isArray(val)) {\n return val.join('.');\n }\n return val;\n}","const set = require('regenerate')();\nset.addRange(0x1780, 0x17DD).addRange(0x17E0, 0x17E9).addRange(0x17F0, 0x17F9).addRange(0x19E0, 0x19FF);\nmodule.exports = set;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n};\nvar _grayPercentage = require(\"gray-percentage\");\nvar _grayPercentage2 = _interopRequireDefault(_grayPercentage);\nvar _typographyBreakpointConstants = require(\"typography-breakpoint-constants\");\nvar _compassVerticalRhythm = require(\"compass-vertical-rhythm\");\nvar _compassVerticalRhythm2 = _interopRequireDefault(_compassVerticalRhythm);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nvar theme = {\n title: \"Moraga\",\n baseFontSize: \"18px\",\n baseLineHeight: 1.56,\n googleFonts: [{\n name: \"Source Sans Pro\",\n styles: [\"200\", \"400\", \"400i\", \"700\"]\n }],\n scaleRatio: 2.5,\n headerFontFamily: [\"Source Sans Pro\", \"sans-serif\"],\n bodyFontFamily: [\"Source Sans Pro\", \"sans-serif\"],\n headerColor: \"hsla(0,0%,0%,0.85)\",\n bodyColor: \"hsla(0,0%,0%,0.7)\",\n headerWeight: \"200\",\n bodyWeight: 400,\n boldWeight: 700,\n overrideStyles: function overrideStyles(_ref, options) {\n var scale = _ref.scale,\n rhythm = _ref.rhythm;\n var vr = (0, _compassVerticalRhythm2.default)({\n baseFontSize: \"16px\",\n baseLineHeight: \"24.88px\"\n });\n var styles = _defineProperty({\n \"h1 a,h2 a,h3 a,h4 a,h5 a,h6 a\": {\n fontWeight: options.headerWeight\n },\n a: {\n fontWeight: 400,\n color: \"#419eda\",\n textDecoration: \"none\"\n },\n \"a:hover\": {\n color: \"#2a6496\",\n textDecoration: \"underline\"\n },\n blockquote: _extends({}, scale(1 / 5), {\n color: (0, _grayPercentage2.default)(40),\n paddingLeft: rhythm(3 / 4),\n marginLeft: 0,\n borderLeft: rhythm(1 / 4) + \" solid \" + (0, _grayPercentage2.default)(87)\n })\n }, _typographyBreakpointConstants.TABLET_MEDIA_QUERY, {\n html: _extends({}, vr.establishBaseline()),\n blockquote: {\n marginLeft: rhythm(-3 / 4),\n marginRight: 0,\n paddingLeft: rhythm(1 / 2)\n },\n table: _extends({}, scale(-1 / 5))\n });\n return styles;\n }\n};\nexports.default = theme;","const set = require('regenerate')();\nset.addRange(0x10F00, 0x10F27);\nmodule.exports = set;","var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nmodule.exports = baseTrim;\n","const set = require('regenerate')(0x1107F);\nset.addRange(0x11000, 0x1104D).addRange(0x11052, 0x11075);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x10000, 0x1000B).addRange(0x1000D, 0x10026).addRange(0x10028, 0x1003A).addRange(0x1003C, 0x1003D).addRange(0x1003F, 0x1004D).addRange(0x10050, 0x1005D).addRange(0x10080, 0x100FA).addRange(0x10100, 0x10102).addRange(0x10107, 0x10133).addRange(0x10137, 0x1013F);\nmodule.exports = set;","var baseIndexOf = require('./_baseIndexOf');\n\n/**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludes(array, value) {\n var length = array == null ? 0 : array.length;\n return !!length && baseIndexOf(array, value, 0) > -1;\n}\n\nmodule.exports = arrayIncludes;\n","const set = require('regenerate')(0x1805);\nset.addRange(0x1802, 0x1803).addRange(0xA840, 0xA877);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x11EE0, 0x11EF8);\nmodule.exports = set;","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\nmodule.exports = toPlainObject;\n","const set = require('regenerate')(0xB7, 0x640, 0x7FA, 0xB55, 0xE46, 0xEC6, 0x180A, 0x1843, 0x1AA7, 0x1C36, 0x1C7B, 0x3005, 0xA015, 0xA60C, 0xA9CF, 0xA9E6, 0xAA70, 0xAADD, 0xFF70, 0x1135D, 0x11A98, 0x16FE3);\nset.addRange(0x2D0, 0x2D1).addRange(0x3031, 0x3035).addRange(0x309D, 0x309E).addRange(0x30FC, 0x30FE).addRange(0xAAF3, 0xAAF4).addRange(0x10781, 0x10782).addRange(0x115C6, 0x115C8).addRange(0x16B42, 0x16B43).addRange(0x16FE0, 0x16FE1).addRange(0x1E13C, 0x1E13D).addRange(0x1E944, 0x1E946);\nmodule.exports = set;","var documentAll = typeof document == 'object' && document.all;\n\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nvar IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined;\n\nmodule.exports = {\n all: documentAll,\n IS_HTMLDDA: IS_HTMLDDA\n};\n","const set = require('regenerate')();\nset.addRange(0x1BC00, 0x1BC6A).addRange(0x1BC70, 0x1BC7C).addRange(0x1BC80, 0x1BC88).addRange(0x1BC90, 0x1BC99).addRange(0x1BC9C, 0x1BC9F);\nmodule.exports = set;","var assignValue = require('./_assignValue'),\n baseAssignValue = require('./_baseAssignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nmodule.exports = copyObject;\n","var convert = require('./convert'),\n func = convert('kebabCase', require('../kebabCase'), require('./_falseOptions'));\n\nfunc.placeholder = require('./placeholder');\nmodule.exports = func;\n","const set = require('regenerate')();\nset.addRange(0x10FB0, 0x10FCB);\nmodule.exports = set;","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n","const set = require('regenerate')();\nset.addRange(0x103A0, 0x103C3).addRange(0x103C8, 0x103D5);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x16AD0, 0x16AED).addRange(0x16AF0, 0x16AF5);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x10860, 0x1087F);\nmodule.exports = set;","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m;\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var nBits = -7;\n var i = isLE ? nBytes - 1 : 0;\n var d = isLE ? -1 : 1;\n var s = buffer[offset + i];\n i += d;\n e = s & (1 << -nBits) - 1;\n s >>= -nBits;\n nBits += eLen;\n for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n m = e & (1 << -nBits) - 1;\n e >>= -nBits;\n nBits += mLen;\n for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n if (e === 0) {\n e = 1 - eBias;\n } else if (e === eMax) {\n return m ? NaN : (s ? -1 : 1) * Infinity;\n } else {\n m = m + Math.pow(2, mLen);\n e = e - eBias;\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen);\n};\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c;\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var rt = mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0;\n var i = isLE ? 0 : nBytes - 1;\n var d = isLE ? 1 : -1;\n var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;\n value = Math.abs(value);\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0;\n e = eMax;\n } else {\n e = Math.floor(Math.log(value) / Math.LN2);\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--;\n c *= 2;\n }\n if (e + eBias >= 1) {\n value += rt / c;\n } else {\n value += rt * Math.pow(2, 1 - eBias);\n }\n if (value * c >= 2) {\n e++;\n c /= 2;\n }\n if (e + eBias >= eMax) {\n m = 0;\n e = eMax;\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * Math.pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen);\n e = 0;\n }\n }\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n e = e << mLen | m;\n eLen += mLen;\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n buffer[offset + i - d] |= s * 128;\n};","const set = require('regenerate')(0x1039F);\nset.addRange(0x10380, 0x1039D);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x16F00, 0x16F4A).addRange(0x16F4F, 0x16F87).addRange(0x16F8F, 0x16F9F);\nmodule.exports = set;","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n","var e = require(\"convert-css-length\"),\n n = require(\"parse-unit\"),\n t = function (e) {\n return n(e)[1];\n },\n i = function (e) {\n return n(e)[0];\n },\n r = {\n baseFontSize: \"16px\",\n baseLineHeight: 1.5,\n rhythmUnit: \"rem\",\n defaultRhythmBorderWidth: \"1px\",\n defaultRhythmBorderStyle: \"solid\",\n roundToNearestHalfLine: !0,\n minLinePadding: \"2px\"\n },\n a = function (n, t) {\n var r,\n a = e(t.baseFontSize),\n o = i(a(n, \"px\")),\n s = i(t.baseLineHeightInPx),\n u = i(a(t.minLinePadding, \"px\"));\n return (r = t.roundToNearestHalfLine ? Math.ceil(2 * o / s) / 2 : Math.ceil(o / s)) * s - o < 2 * u && (r += t.roundToNearestHalfLine ? .5 : 1), r;\n },\n o = function (n) {\n var r = e(n.baseFontSize);\n return function (e, a, o) {\n null == e && (e = 1), null == a && (a = n.baseFontSize), null == o && (o = 0);\n var s = e * i(n.baseLineHeightInPx) - o + \"px\",\n u = r(s, n.rhythmUnit, a);\n return \"px\" === t(u) && (u = Math.floor(i(u)) + t(u)), parseFloat(i(u).toFixed(5)) + t(u);\n };\n };\nmodule.exports = function (n) {\n var s = JSON.parse(JSON.stringify(r)),\n u = Object.assign({}, s, n),\n h = e(u.baseFontSize);\n if (t(u.baseLineHeight)) {\n i(h(u.baseFontSize, \"px\"));\n u.baseLineHeightInPx = h(u.baseLineHeight, \"px\");\n } else u.baseLineHeightInPx = i(u.baseFontSize) * u.baseLineHeight + \"px\";\n return {\n rhythm: o(u),\n establishBaseline: function () {\n return function (n) {\n e(n.baseFontSize);\n return {\n fontSize: i(n.baseFontSize) / 16 * 100 + \"%\",\n lineHeight: n.baseLineHeight.toString()\n };\n }(u);\n },\n linesForFontSize: function (e) {\n return a(e, u);\n },\n adjustFontSizeTo: function (n, r, s) {\n return null == r && (r = \"auto\"), function (n, r, s, u) {\n null == s && (s = u.baseFontSize), \"%\" === t(n) && (n = i(u.baseFontSize) * (i(n) / 100) + \"px\");\n var h = e(u.baseFontSize);\n n = h(n, \"px\", s = h(s, \"px\"));\n var l = o(u);\n return \"auto\" === r && (r = a(n, u)), {\n fontSize: h(n, u.rhythmUnit, s),\n lineHeight: l(r, s)\n };\n }(n, r, s, u);\n }\n };\n};","const set = require('regenerate')();\nset.addRange(0x1000, 0x109F).addRange(0xA9E0, 0xA9FE).addRange(0xAA60, 0xAA7F);\nmodule.exports = set;","const set = require('regenerate')(0x483);\nset.addRange(0x10350, 0x1037A);\nmodule.exports = set;","/*! https://mths.be/he v1.2.0 by @mathias | MIT license */\n;\n(function (root) {\n // Detect free variables `exports`.\n var freeExports = typeof exports == 'object' && exports;\n\n // Detect free variable `module`.\n var freeModule = typeof module == 'object' && module && module.exports == freeExports && module;\n\n // Detect free variable `global`, from Node.js or Browserified code,\n // and use it as `root`.\n var freeGlobal = typeof global == 'object' && global;\n if (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal) {\n root = freeGlobal;\n }\n\n /*--------------------------------------------------------------------------*/\n\n // All astral symbols.\n var regexAstralSymbols = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n // All ASCII symbols (not just printable ASCII) except those listed in the\n // first column of the overrides table.\n // https://html.spec.whatwg.org/multipage/syntax.html#table-charref-overrides\n var regexAsciiWhitelist = /[\\x01-\\x7F]/g;\n // All BMP symbols that are not ASCII newlines, printable ASCII symbols, or\n // code points listed in the first column of the overrides table on\n // https://html.spec.whatwg.org/multipage/syntax.html#table-charref-overrides.\n var regexBmpWhitelist = /[\\x01-\\t\\x0B\\f\\x0E-\\x1F\\x7F\\x81\\x8D\\x8F\\x90\\x9D\\xA0-\\uFFFF]/g;\n var regexEncodeNonAscii = /<\\u20D2|=\\u20E5|>\\u20D2|\\u205F\\u200A|\\u219D\\u0338|\\u2202\\u0338|\\u2220\\u20D2|\\u2229\\uFE00|\\u222A\\uFE00|\\u223C\\u20D2|\\u223D\\u0331|\\u223E\\u0333|\\u2242\\u0338|\\u224B\\u0338|\\u224D\\u20D2|\\u224E\\u0338|\\u224F\\u0338|\\u2250\\u0338|\\u2261\\u20E5|\\u2264\\u20D2|\\u2265\\u20D2|\\u2266\\u0338|\\u2267\\u0338|\\u2268\\uFE00|\\u2269\\uFE00|\\u226A\\u0338|\\u226A\\u20D2|\\u226B\\u0338|\\u226B\\u20D2|\\u227F\\u0338|\\u2282\\u20D2|\\u2283\\u20D2|\\u228A\\uFE00|\\u228B\\uFE00|\\u228F\\u0338|\\u2290\\u0338|\\u2293\\uFE00|\\u2294\\uFE00|\\u22B4\\u20D2|\\u22B5\\u20D2|\\u22D8\\u0338|\\u22D9\\u0338|\\u22DA\\uFE00|\\u22DB\\uFE00|\\u22F5\\u0338|\\u22F9\\u0338|\\u2933\\u0338|\\u29CF\\u0338|\\u29D0\\u0338|\\u2A6D\\u0338|\\u2A70\\u0338|\\u2A7D\\u0338|\\u2A7E\\u0338|\\u2AA1\\u0338|\\u2AA2\\u0338|\\u2AAC\\uFE00|\\u2AAD\\uFE00|\\u2AAF\\u0338|\\u2AB0\\u0338|\\u2AC5\\u0338|\\u2AC6\\u0338|\\u2ACB\\uFE00|\\u2ACC\\uFE00|\\u2AFD\\u20E5|[\\xA0-\\u0113\\u0116-\\u0122\\u0124-\\u012B\\u012E-\\u014D\\u0150-\\u017E\\u0192\\u01B5\\u01F5\\u0237\\u02C6\\u02C7\\u02D8-\\u02DD\\u0311\\u0391-\\u03A1\\u03A3-\\u03A9\\u03B1-\\u03C9\\u03D1\\u03D2\\u03D5\\u03D6\\u03DC\\u03DD\\u03F0\\u03F1\\u03F5\\u03F6\\u0401-\\u040C\\u040E-\\u044F\\u0451-\\u045C\\u045E\\u045F\\u2002-\\u2005\\u2007-\\u2010\\u2013-\\u2016\\u2018-\\u201A\\u201C-\\u201E\\u2020-\\u2022\\u2025\\u2026\\u2030-\\u2035\\u2039\\u203A\\u203E\\u2041\\u2043\\u2044\\u204F\\u2057\\u205F-\\u2063\\u20AC\\u20DB\\u20DC\\u2102\\u2105\\u210A-\\u2113\\u2115-\\u211E\\u2122\\u2124\\u2127-\\u2129\\u212C\\u212D\\u212F-\\u2131\\u2133-\\u2138\\u2145-\\u2148\\u2153-\\u215E\\u2190-\\u219B\\u219D-\\u21A7\\u21A9-\\u21AE\\u21B0-\\u21B3\\u21B5-\\u21B7\\u21BA-\\u21DB\\u21DD\\u21E4\\u21E5\\u21F5\\u21FD-\\u2205\\u2207-\\u2209\\u220B\\u220C\\u220F-\\u2214\\u2216-\\u2218\\u221A\\u221D-\\u2238\\u223A-\\u2257\\u2259\\u225A\\u225C\\u225F-\\u2262\\u2264-\\u228B\\u228D-\\u229B\\u229D-\\u22A5\\u22A7-\\u22B0\\u22B2-\\u22BB\\u22BD-\\u22DB\\u22DE-\\u22E3\\u22E6-\\u22F7\\u22F9-\\u22FE\\u2305\\u2306\\u2308-\\u2310\\u2312\\u2313\\u2315\\u2316\\u231C-\\u231F\\u2322\\u2323\\u232D\\u232E\\u2336\\u233D\\u233F\\u237C\\u23B0\\u23B1\\u23B4-\\u23B6\\u23DC-\\u23DF\\u23E2\\u23E7\\u2423\\u24C8\\u2500\\u2502\\u250C\\u2510\\u2514\\u2518\\u251C\\u2524\\u252C\\u2534\\u253C\\u2550-\\u256C\\u2580\\u2584\\u2588\\u2591-\\u2593\\u25A1\\u25AA\\u25AB\\u25AD\\u25AE\\u25B1\\u25B3-\\u25B5\\u25B8\\u25B9\\u25BD-\\u25BF\\u25C2\\u25C3\\u25CA\\u25CB\\u25EC\\u25EF\\u25F8-\\u25FC\\u2605\\u2606\\u260E\\u2640\\u2642\\u2660\\u2663\\u2665\\u2666\\u266A\\u266D-\\u266F\\u2713\\u2717\\u2720\\u2736\\u2758\\u2772\\u2773\\u27C8\\u27C9\\u27E6-\\u27ED\\u27F5-\\u27FA\\u27FC\\u27FF\\u2902-\\u2905\\u290C-\\u2913\\u2916\\u2919-\\u2920\\u2923-\\u292A\\u2933\\u2935-\\u2939\\u293C\\u293D\\u2945\\u2948-\\u294B\\u294E-\\u2976\\u2978\\u2979\\u297B-\\u297F\\u2985\\u2986\\u298B-\\u2996\\u299A\\u299C\\u299D\\u29A4-\\u29B7\\u29B9\\u29BB\\u29BC\\u29BE-\\u29C5\\u29C9\\u29CD-\\u29D0\\u29DC-\\u29DE\\u29E3-\\u29E5\\u29EB\\u29F4\\u29F6\\u2A00-\\u2A02\\u2A04\\u2A06\\u2A0C\\u2A0D\\u2A10-\\u2A17\\u2A22-\\u2A27\\u2A29\\u2A2A\\u2A2D-\\u2A31\\u2A33-\\u2A3C\\u2A3F\\u2A40\\u2A42-\\u2A4D\\u2A50\\u2A53-\\u2A58\\u2A5A-\\u2A5D\\u2A5F\\u2A66\\u2A6A\\u2A6D-\\u2A75\\u2A77-\\u2A9A\\u2A9D-\\u2AA2\\u2AA4-\\u2AB0\\u2AB3-\\u2AC8\\u2ACB\\u2ACC\\u2ACF-\\u2ADB\\u2AE4\\u2AE6-\\u2AE9\\u2AEB-\\u2AF3\\u2AFD\\uFB00-\\uFB04]|\\uD835[\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDCCF\\uDD04\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDD6B]/g;\n var encodeMap = {\n '\\xAD': 'shy',\n '\\u200C': 'zwnj',\n '\\u200D': 'zwj',\n '\\u200E': 'lrm',\n '\\u2063': 'ic',\n '\\u2062': 'it',\n '\\u2061': 'af',\n '\\u200F': 'rlm',\n '\\u200B': 'ZeroWidthSpace',\n '\\u2060': 'NoBreak',\n '\\u0311': 'DownBreve',\n '\\u20DB': 'tdot',\n '\\u20DC': 'DotDot',\n '\\t': 'Tab',\n '\\n': 'NewLine',\n '\\u2008': 'puncsp',\n '\\u205F': 'MediumSpace',\n '\\u2009': 'thinsp',\n '\\u200A': 'hairsp',\n '\\u2004': 'emsp13',\n '\\u2002': 'ensp',\n '\\u2005': 'emsp14',\n '\\u2003': 'emsp',\n '\\u2007': 'numsp',\n '\\xA0': 'nbsp',\n '\\u205F\\u200A': 'ThickSpace',\n '\\u203E': 'oline',\n '_': 'lowbar',\n '\\u2010': 'dash',\n '\\u2013': 'ndash',\n '\\u2014': 'mdash',\n '\\u2015': 'horbar',\n ',': 'comma',\n ';': 'semi',\n '\\u204F': 'bsemi',\n ':': 'colon',\n '\\u2A74': 'Colone',\n '!': 'excl',\n '\\xA1': 'iexcl',\n '?': 'quest',\n '\\xBF': 'iquest',\n '.': 'period',\n '\\u2025': 'nldr',\n '\\u2026': 'mldr',\n '\\xB7': 'middot',\n '\\'': 'apos',\n '\\u2018': 'lsquo',\n '\\u2019': 'rsquo',\n '\\u201A': 'sbquo',\n '\\u2039': 'lsaquo',\n '\\u203A': 'rsaquo',\n '\"': 'quot',\n '\\u201C': 'ldquo',\n '\\u201D': 'rdquo',\n '\\u201E': 'bdquo',\n '\\xAB': 'laquo',\n '\\xBB': 'raquo',\n '(': 'lpar',\n ')': 'rpar',\n '[': 'lsqb',\n ']': 'rsqb',\n '{': 'lcub',\n '}': 'rcub',\n '\\u2308': 'lceil',\n '\\u2309': 'rceil',\n '\\u230A': 'lfloor',\n '\\u230B': 'rfloor',\n '\\u2985': 'lopar',\n '\\u2986': 'ropar',\n '\\u298B': 'lbrke',\n '\\u298C': 'rbrke',\n '\\u298D': 'lbrkslu',\n '\\u298E': 'rbrksld',\n '\\u298F': 'lbrksld',\n '\\u2990': 'rbrkslu',\n '\\u2991': 'langd',\n '\\u2992': 'rangd',\n '\\u2993': 'lparlt',\n '\\u2994': 'rpargt',\n '\\u2995': 'gtlPar',\n '\\u2996': 'ltrPar',\n '\\u27E6': 'lobrk',\n '\\u27E7': 'robrk',\n '\\u27E8': 'lang',\n '\\u27E9': 'rang',\n '\\u27EA': 'Lang',\n '\\u27EB': 'Rang',\n '\\u27EC': 'loang',\n '\\u27ED': 'roang',\n '\\u2772': 'lbbrk',\n '\\u2773': 'rbbrk',\n '\\u2016': 'Vert',\n '\\xA7': 'sect',\n '\\xB6': 'para',\n '@': 'commat',\n '*': 'ast',\n '/': 'sol',\n 'undefined': null,\n '&': 'amp',\n '#': 'num',\n '%': 'percnt',\n '\\u2030': 'permil',\n '\\u2031': 'pertenk',\n '\\u2020': 'dagger',\n '\\u2021': 'Dagger',\n '\\u2022': 'bull',\n '\\u2043': 'hybull',\n '\\u2032': 'prime',\n '\\u2033': 'Prime',\n '\\u2034': 'tprime',\n '\\u2057': 'qprime',\n '\\u2035': 'bprime',\n '\\u2041': 'caret',\n '`': 'grave',\n '\\xB4': 'acute',\n '\\u02DC': 'tilde',\n '^': 'Hat',\n '\\xAF': 'macr',\n '\\u02D8': 'breve',\n '\\u02D9': 'dot',\n '\\xA8': 'die',\n '\\u02DA': 'ring',\n '\\u02DD': 'dblac',\n '\\xB8': 'cedil',\n '\\u02DB': 'ogon',\n '\\u02C6': 'circ',\n '\\u02C7': 'caron',\n '\\xB0': 'deg',\n '\\xA9': 'copy',\n '\\xAE': 'reg',\n '\\u2117': 'copysr',\n '\\u2118': 'wp',\n '\\u211E': 'rx',\n '\\u2127': 'mho',\n '\\u2129': 'iiota',\n '\\u2190': 'larr',\n '\\u219A': 'nlarr',\n '\\u2192': 'rarr',\n '\\u219B': 'nrarr',\n '\\u2191': 'uarr',\n '\\u2193': 'darr',\n '\\u2194': 'harr',\n '\\u21AE': 'nharr',\n '\\u2195': 'varr',\n '\\u2196': 'nwarr',\n '\\u2197': 'nearr',\n '\\u2198': 'searr',\n '\\u2199': 'swarr',\n '\\u219D': 'rarrw',\n '\\u219D\\u0338': 'nrarrw',\n '\\u219E': 'Larr',\n '\\u219F': 'Uarr',\n '\\u21A0': 'Rarr',\n '\\u21A1': 'Darr',\n '\\u21A2': 'larrtl',\n '\\u21A3': 'rarrtl',\n '\\u21A4': 'mapstoleft',\n '\\u21A5': 'mapstoup',\n '\\u21A6': 'map',\n '\\u21A7': 'mapstodown',\n '\\u21A9': 'larrhk',\n '\\u21AA': 'rarrhk',\n '\\u21AB': 'larrlp',\n '\\u21AC': 'rarrlp',\n '\\u21AD': 'harrw',\n '\\u21B0': 'lsh',\n '\\u21B1': 'rsh',\n '\\u21B2': 'ldsh',\n '\\u21B3': 'rdsh',\n '\\u21B5': 'crarr',\n '\\u21B6': 'cularr',\n '\\u21B7': 'curarr',\n '\\u21BA': 'olarr',\n '\\u21BB': 'orarr',\n '\\u21BC': 'lharu',\n '\\u21BD': 'lhard',\n '\\u21BE': 'uharr',\n '\\u21BF': 'uharl',\n '\\u21C0': 'rharu',\n '\\u21C1': 'rhard',\n '\\u21C2': 'dharr',\n '\\u21C3': 'dharl',\n '\\u21C4': 'rlarr',\n '\\u21C5': 'udarr',\n '\\u21C6': 'lrarr',\n '\\u21C7': 'llarr',\n '\\u21C8': 'uuarr',\n '\\u21C9': 'rrarr',\n '\\u21CA': 'ddarr',\n '\\u21CB': 'lrhar',\n '\\u21CC': 'rlhar',\n '\\u21D0': 'lArr',\n '\\u21CD': 'nlArr',\n '\\u21D1': 'uArr',\n '\\u21D2': 'rArr',\n '\\u21CF': 'nrArr',\n '\\u21D3': 'dArr',\n '\\u21D4': 'iff',\n '\\u21CE': 'nhArr',\n '\\u21D5': 'vArr',\n '\\u21D6': 'nwArr',\n '\\u21D7': 'neArr',\n '\\u21D8': 'seArr',\n '\\u21D9': 'swArr',\n '\\u21DA': 'lAarr',\n '\\u21DB': 'rAarr',\n '\\u21DD': 'zigrarr',\n '\\u21E4': 'larrb',\n '\\u21E5': 'rarrb',\n '\\u21F5': 'duarr',\n '\\u21FD': 'loarr',\n '\\u21FE': 'roarr',\n '\\u21FF': 'hoarr',\n '\\u2200': 'forall',\n '\\u2201': 'comp',\n '\\u2202': 'part',\n '\\u2202\\u0338': 'npart',\n '\\u2203': 'exist',\n '\\u2204': 'nexist',\n '\\u2205': 'empty',\n '\\u2207': 'Del',\n '\\u2208': 'in',\n '\\u2209': 'notin',\n '\\u220B': 'ni',\n '\\u220C': 'notni',\n '\\u03F6': 'bepsi',\n '\\u220F': 'prod',\n '\\u2210': 'coprod',\n '\\u2211': 'sum',\n '+': 'plus',\n '\\xB1': 'pm',\n '\\xF7': 'div',\n '\\xD7': 'times',\n '<': 'lt',\n '\\u226E': 'nlt',\n '<\\u20D2': 'nvlt',\n '=': 'equals',\n '\\u2260': 'ne',\n '=\\u20E5': 'bne',\n '\\u2A75': 'Equal',\n '>': 'gt',\n '\\u226F': 'ngt',\n '>\\u20D2': 'nvgt',\n '\\xAC': 'not',\n '|': 'vert',\n '\\xA6': 'brvbar',\n '\\u2212': 'minus',\n '\\u2213': 'mp',\n '\\u2214': 'plusdo',\n '\\u2044': 'frasl',\n '\\u2216': 'setmn',\n '\\u2217': 'lowast',\n '\\u2218': 'compfn',\n '\\u221A': 'Sqrt',\n '\\u221D': 'prop',\n '\\u221E': 'infin',\n '\\u221F': 'angrt',\n '\\u2220': 'ang',\n '\\u2220\\u20D2': 'nang',\n '\\u2221': 'angmsd',\n '\\u2222': 'angsph',\n '\\u2223': 'mid',\n '\\u2224': 'nmid',\n '\\u2225': 'par',\n '\\u2226': 'npar',\n '\\u2227': 'and',\n '\\u2228': 'or',\n '\\u2229': 'cap',\n '\\u2229\\uFE00': 'caps',\n '\\u222A': 'cup',\n '\\u222A\\uFE00': 'cups',\n '\\u222B': 'int',\n '\\u222C': 'Int',\n '\\u222D': 'tint',\n '\\u2A0C': 'qint',\n '\\u222E': 'oint',\n '\\u222F': 'Conint',\n '\\u2230': 'Cconint',\n '\\u2231': 'cwint',\n '\\u2232': 'cwconint',\n '\\u2233': 'awconint',\n '\\u2234': 'there4',\n '\\u2235': 'becaus',\n '\\u2236': 'ratio',\n '\\u2237': 'Colon',\n '\\u2238': 'minusd',\n '\\u223A': 'mDDot',\n '\\u223B': 'homtht',\n '\\u223C': 'sim',\n '\\u2241': 'nsim',\n '\\u223C\\u20D2': 'nvsim',\n '\\u223D': 'bsim',\n '\\u223D\\u0331': 'race',\n '\\u223E': 'ac',\n '\\u223E\\u0333': 'acE',\n '\\u223F': 'acd',\n '\\u2240': 'wr',\n '\\u2242': 'esim',\n '\\u2242\\u0338': 'nesim',\n '\\u2243': 'sime',\n '\\u2244': 'nsime',\n '\\u2245': 'cong',\n '\\u2247': 'ncong',\n '\\u2246': 'simne',\n '\\u2248': 'ap',\n '\\u2249': 'nap',\n '\\u224A': 'ape',\n '\\u224B': 'apid',\n '\\u224B\\u0338': 'napid',\n '\\u224C': 'bcong',\n '\\u224D': 'CupCap',\n '\\u226D': 'NotCupCap',\n '\\u224D\\u20D2': 'nvap',\n '\\u224E': 'bump',\n '\\u224E\\u0338': 'nbump',\n '\\u224F': 'bumpe',\n '\\u224F\\u0338': 'nbumpe',\n '\\u2250': 'doteq',\n '\\u2250\\u0338': 'nedot',\n '\\u2251': 'eDot',\n '\\u2252': 'efDot',\n '\\u2253': 'erDot',\n '\\u2254': 'colone',\n '\\u2255': 'ecolon',\n '\\u2256': 'ecir',\n '\\u2257': 'cire',\n '\\u2259': 'wedgeq',\n '\\u225A': 'veeeq',\n '\\u225C': 'trie',\n '\\u225F': 'equest',\n '\\u2261': 'equiv',\n '\\u2262': 'nequiv',\n '\\u2261\\u20E5': 'bnequiv',\n '\\u2264': 'le',\n '\\u2270': 'nle',\n '\\u2264\\u20D2': 'nvle',\n '\\u2265': 'ge',\n '\\u2271': 'nge',\n '\\u2265\\u20D2': 'nvge',\n '\\u2266': 'lE',\n '\\u2266\\u0338': 'nlE',\n '\\u2267': 'gE',\n '\\u2267\\u0338': 'ngE',\n '\\u2268\\uFE00': 'lvnE',\n '\\u2268': 'lnE',\n '\\u2269': 'gnE',\n '\\u2269\\uFE00': 'gvnE',\n '\\u226A': 'll',\n '\\u226A\\u0338': 'nLtv',\n '\\u226A\\u20D2': 'nLt',\n '\\u226B': 'gg',\n '\\u226B\\u0338': 'nGtv',\n '\\u226B\\u20D2': 'nGt',\n '\\u226C': 'twixt',\n '\\u2272': 'lsim',\n '\\u2274': 'nlsim',\n '\\u2273': 'gsim',\n '\\u2275': 'ngsim',\n '\\u2276': 'lg',\n '\\u2278': 'ntlg',\n '\\u2277': 'gl',\n '\\u2279': 'ntgl',\n '\\u227A': 'pr',\n '\\u2280': 'npr',\n '\\u227B': 'sc',\n '\\u2281': 'nsc',\n '\\u227C': 'prcue',\n '\\u22E0': 'nprcue',\n '\\u227D': 'sccue',\n '\\u22E1': 'nsccue',\n '\\u227E': 'prsim',\n '\\u227F': 'scsim',\n '\\u227F\\u0338': 'NotSucceedsTilde',\n '\\u2282': 'sub',\n '\\u2284': 'nsub',\n '\\u2282\\u20D2': 'vnsub',\n '\\u2283': 'sup',\n '\\u2285': 'nsup',\n '\\u2283\\u20D2': 'vnsup',\n '\\u2286': 'sube',\n '\\u2288': 'nsube',\n '\\u2287': 'supe',\n '\\u2289': 'nsupe',\n '\\u228A\\uFE00': 'vsubne',\n '\\u228A': 'subne',\n '\\u228B\\uFE00': 'vsupne',\n '\\u228B': 'supne',\n '\\u228D': 'cupdot',\n '\\u228E': 'uplus',\n '\\u228F': 'sqsub',\n '\\u228F\\u0338': 'NotSquareSubset',\n '\\u2290': 'sqsup',\n '\\u2290\\u0338': 'NotSquareSuperset',\n '\\u2291': 'sqsube',\n '\\u22E2': 'nsqsube',\n '\\u2292': 'sqsupe',\n '\\u22E3': 'nsqsupe',\n '\\u2293': 'sqcap',\n '\\u2293\\uFE00': 'sqcaps',\n '\\u2294': 'sqcup',\n '\\u2294\\uFE00': 'sqcups',\n '\\u2295': 'oplus',\n '\\u2296': 'ominus',\n '\\u2297': 'otimes',\n '\\u2298': 'osol',\n '\\u2299': 'odot',\n '\\u229A': 'ocir',\n '\\u229B': 'oast',\n '\\u229D': 'odash',\n '\\u229E': 'plusb',\n '\\u229F': 'minusb',\n '\\u22A0': 'timesb',\n '\\u22A1': 'sdotb',\n '\\u22A2': 'vdash',\n '\\u22AC': 'nvdash',\n '\\u22A3': 'dashv',\n '\\u22A4': 'top',\n '\\u22A5': 'bot',\n '\\u22A7': 'models',\n '\\u22A8': 'vDash',\n '\\u22AD': 'nvDash',\n '\\u22A9': 'Vdash',\n '\\u22AE': 'nVdash',\n '\\u22AA': 'Vvdash',\n '\\u22AB': 'VDash',\n '\\u22AF': 'nVDash',\n '\\u22B0': 'prurel',\n '\\u22B2': 'vltri',\n '\\u22EA': 'nltri',\n '\\u22B3': 'vrtri',\n '\\u22EB': 'nrtri',\n '\\u22B4': 'ltrie',\n '\\u22EC': 'nltrie',\n '\\u22B4\\u20D2': 'nvltrie',\n '\\u22B5': 'rtrie',\n '\\u22ED': 'nrtrie',\n '\\u22B5\\u20D2': 'nvrtrie',\n '\\u22B6': 'origof',\n '\\u22B7': 'imof',\n '\\u22B8': 'mumap',\n '\\u22B9': 'hercon',\n '\\u22BA': 'intcal',\n '\\u22BB': 'veebar',\n '\\u22BD': 'barvee',\n '\\u22BE': 'angrtvb',\n '\\u22BF': 'lrtri',\n '\\u22C0': 'Wedge',\n '\\u22C1': 'Vee',\n '\\u22C2': 'xcap',\n '\\u22C3': 'xcup',\n '\\u22C4': 'diam',\n '\\u22C5': 'sdot',\n '\\u22C6': 'Star',\n '\\u22C7': 'divonx',\n '\\u22C8': 'bowtie',\n '\\u22C9': 'ltimes',\n '\\u22CA': 'rtimes',\n '\\u22CB': 'lthree',\n '\\u22CC': 'rthree',\n '\\u22CD': 'bsime',\n '\\u22CE': 'cuvee',\n '\\u22CF': 'cuwed',\n '\\u22D0': 'Sub',\n '\\u22D1': 'Sup',\n '\\u22D2': 'Cap',\n '\\u22D3': 'Cup',\n '\\u22D4': 'fork',\n '\\u22D5': 'epar',\n '\\u22D6': 'ltdot',\n '\\u22D7': 'gtdot',\n '\\u22D8': 'Ll',\n '\\u22D8\\u0338': 'nLl',\n '\\u22D9': 'Gg',\n '\\u22D9\\u0338': 'nGg',\n '\\u22DA\\uFE00': 'lesg',\n '\\u22DA': 'leg',\n '\\u22DB': 'gel',\n '\\u22DB\\uFE00': 'gesl',\n '\\u22DE': 'cuepr',\n '\\u22DF': 'cuesc',\n '\\u22E6': 'lnsim',\n '\\u22E7': 'gnsim',\n '\\u22E8': 'prnsim',\n '\\u22E9': 'scnsim',\n '\\u22EE': 'vellip',\n '\\u22EF': 'ctdot',\n '\\u22F0': 'utdot',\n '\\u22F1': 'dtdot',\n '\\u22F2': 'disin',\n '\\u22F3': 'isinsv',\n '\\u22F4': 'isins',\n '\\u22F5': 'isindot',\n '\\u22F5\\u0338': 'notindot',\n '\\u22F6': 'notinvc',\n '\\u22F7': 'notinvb',\n '\\u22F9': 'isinE',\n '\\u22F9\\u0338': 'notinE',\n '\\u22FA': 'nisd',\n '\\u22FB': 'xnis',\n '\\u22FC': 'nis',\n '\\u22FD': 'notnivc',\n '\\u22FE': 'notnivb',\n '\\u2305': 'barwed',\n '\\u2306': 'Barwed',\n '\\u230C': 'drcrop',\n '\\u230D': 'dlcrop',\n '\\u230E': 'urcrop',\n '\\u230F': 'ulcrop',\n '\\u2310': 'bnot',\n '\\u2312': 'profline',\n '\\u2313': 'profsurf',\n '\\u2315': 'telrec',\n '\\u2316': 'target',\n '\\u231C': 'ulcorn',\n '\\u231D': 'urcorn',\n '\\u231E': 'dlcorn',\n '\\u231F': 'drcorn',\n '\\u2322': 'frown',\n '\\u2323': 'smile',\n '\\u232D': 'cylcty',\n '\\u232E': 'profalar',\n '\\u2336': 'topbot',\n '\\u233D': 'ovbar',\n '\\u233F': 'solbar',\n '\\u237C': 'angzarr',\n '\\u23B0': 'lmoust',\n '\\u23B1': 'rmoust',\n '\\u23B4': 'tbrk',\n '\\u23B5': 'bbrk',\n '\\u23B6': 'bbrktbrk',\n '\\u23DC': 'OverParenthesis',\n '\\u23DD': 'UnderParenthesis',\n '\\u23DE': 'OverBrace',\n '\\u23DF': 'UnderBrace',\n '\\u23E2': 'trpezium',\n '\\u23E7': 'elinters',\n '\\u2423': 'blank',\n '\\u2500': 'boxh',\n '\\u2502': 'boxv',\n '\\u250C': 'boxdr',\n '\\u2510': 'boxdl',\n '\\u2514': 'boxur',\n '\\u2518': 'boxul',\n '\\u251C': 'boxvr',\n '\\u2524': 'boxvl',\n '\\u252C': 'boxhd',\n '\\u2534': 'boxhu',\n '\\u253C': 'boxvh',\n '\\u2550': 'boxH',\n '\\u2551': 'boxV',\n '\\u2552': 'boxdR',\n '\\u2553': 'boxDr',\n '\\u2554': 'boxDR',\n '\\u2555': 'boxdL',\n '\\u2556': 'boxDl',\n '\\u2557': 'boxDL',\n '\\u2558': 'boxuR',\n '\\u2559': 'boxUr',\n '\\u255A': 'boxUR',\n '\\u255B': 'boxuL',\n '\\u255C': 'boxUl',\n '\\u255D': 'boxUL',\n '\\u255E': 'boxvR',\n '\\u255F': 'boxVr',\n '\\u2560': 'boxVR',\n '\\u2561': 'boxvL',\n '\\u2562': 'boxVl',\n '\\u2563': 'boxVL',\n '\\u2564': 'boxHd',\n '\\u2565': 'boxhD',\n '\\u2566': 'boxHD',\n '\\u2567': 'boxHu',\n '\\u2568': 'boxhU',\n '\\u2569': 'boxHU',\n '\\u256A': 'boxvH',\n '\\u256B': 'boxVh',\n '\\u256C': 'boxVH',\n '\\u2580': 'uhblk',\n '\\u2584': 'lhblk',\n '\\u2588': 'block',\n '\\u2591': 'blk14',\n '\\u2592': 'blk12',\n '\\u2593': 'blk34',\n '\\u25A1': 'squ',\n '\\u25AA': 'squf',\n '\\u25AB': 'EmptyVerySmallSquare',\n '\\u25AD': 'rect',\n '\\u25AE': 'marker',\n '\\u25B1': 'fltns',\n '\\u25B3': 'xutri',\n '\\u25B4': 'utrif',\n '\\u25B5': 'utri',\n '\\u25B8': 'rtrif',\n '\\u25B9': 'rtri',\n '\\u25BD': 'xdtri',\n '\\u25BE': 'dtrif',\n '\\u25BF': 'dtri',\n '\\u25C2': 'ltrif',\n '\\u25C3': 'ltri',\n '\\u25CA': 'loz',\n '\\u25CB': 'cir',\n '\\u25EC': 'tridot',\n '\\u25EF': 'xcirc',\n '\\u25F8': 'ultri',\n '\\u25F9': 'urtri',\n '\\u25FA': 'lltri',\n '\\u25FB': 'EmptySmallSquare',\n '\\u25FC': 'FilledSmallSquare',\n '\\u2605': 'starf',\n '\\u2606': 'star',\n '\\u260E': 'phone',\n '\\u2640': 'female',\n '\\u2642': 'male',\n '\\u2660': 'spades',\n '\\u2663': 'clubs',\n '\\u2665': 'hearts',\n '\\u2666': 'diams',\n '\\u266A': 'sung',\n '\\u2713': 'check',\n '\\u2717': 'cross',\n '\\u2720': 'malt',\n '\\u2736': 'sext',\n '\\u2758': 'VerticalSeparator',\n '\\u27C8': 'bsolhsub',\n '\\u27C9': 'suphsol',\n '\\u27F5': 'xlarr',\n '\\u27F6': 'xrarr',\n '\\u27F7': 'xharr',\n '\\u27F8': 'xlArr',\n '\\u27F9': 'xrArr',\n '\\u27FA': 'xhArr',\n '\\u27FC': 'xmap',\n '\\u27FF': 'dzigrarr',\n '\\u2902': 'nvlArr',\n '\\u2903': 'nvrArr',\n '\\u2904': 'nvHarr',\n '\\u2905': 'Map',\n '\\u290C': 'lbarr',\n '\\u290D': 'rbarr',\n '\\u290E': 'lBarr',\n '\\u290F': 'rBarr',\n '\\u2910': 'RBarr',\n '\\u2911': 'DDotrahd',\n '\\u2912': 'UpArrowBar',\n '\\u2913': 'DownArrowBar',\n '\\u2916': 'Rarrtl',\n '\\u2919': 'latail',\n '\\u291A': 'ratail',\n '\\u291B': 'lAtail',\n '\\u291C': 'rAtail',\n '\\u291D': 'larrfs',\n '\\u291E': 'rarrfs',\n '\\u291F': 'larrbfs',\n '\\u2920': 'rarrbfs',\n '\\u2923': 'nwarhk',\n '\\u2924': 'nearhk',\n '\\u2925': 'searhk',\n '\\u2926': 'swarhk',\n '\\u2927': 'nwnear',\n '\\u2928': 'toea',\n '\\u2929': 'tosa',\n '\\u292A': 'swnwar',\n '\\u2933': 'rarrc',\n '\\u2933\\u0338': 'nrarrc',\n '\\u2935': 'cudarrr',\n '\\u2936': 'ldca',\n '\\u2937': 'rdca',\n '\\u2938': 'cudarrl',\n '\\u2939': 'larrpl',\n '\\u293C': 'curarrm',\n '\\u293D': 'cularrp',\n '\\u2945': 'rarrpl',\n '\\u2948': 'harrcir',\n '\\u2949': 'Uarrocir',\n '\\u294A': 'lurdshar',\n '\\u294B': 'ldrushar',\n '\\u294E': 'LeftRightVector',\n '\\u294F': 'RightUpDownVector',\n '\\u2950': 'DownLeftRightVector',\n '\\u2951': 'LeftUpDownVector',\n '\\u2952': 'LeftVectorBar',\n '\\u2953': 'RightVectorBar',\n '\\u2954': 'RightUpVectorBar',\n '\\u2955': 'RightDownVectorBar',\n '\\u2956': 'DownLeftVectorBar',\n '\\u2957': 'DownRightVectorBar',\n '\\u2958': 'LeftUpVectorBar',\n '\\u2959': 'LeftDownVectorBar',\n '\\u295A': 'LeftTeeVector',\n '\\u295B': 'RightTeeVector',\n '\\u295C': 'RightUpTeeVector',\n '\\u295D': 'RightDownTeeVector',\n '\\u295E': 'DownLeftTeeVector',\n '\\u295F': 'DownRightTeeVector',\n '\\u2960': 'LeftUpTeeVector',\n '\\u2961': 'LeftDownTeeVector',\n '\\u2962': 'lHar',\n '\\u2963': 'uHar',\n '\\u2964': 'rHar',\n '\\u2965': 'dHar',\n '\\u2966': 'luruhar',\n '\\u2967': 'ldrdhar',\n '\\u2968': 'ruluhar',\n '\\u2969': 'rdldhar',\n '\\u296A': 'lharul',\n '\\u296B': 'llhard',\n '\\u296C': 'rharul',\n '\\u296D': 'lrhard',\n '\\u296E': 'udhar',\n '\\u296F': 'duhar',\n '\\u2970': 'RoundImplies',\n '\\u2971': 'erarr',\n '\\u2972': 'simrarr',\n '\\u2973': 'larrsim',\n '\\u2974': 'rarrsim',\n '\\u2975': 'rarrap',\n '\\u2976': 'ltlarr',\n '\\u2978': 'gtrarr',\n '\\u2979': 'subrarr',\n '\\u297B': 'suplarr',\n '\\u297C': 'lfisht',\n '\\u297D': 'rfisht',\n '\\u297E': 'ufisht',\n '\\u297F': 'dfisht',\n '\\u299A': 'vzigzag',\n '\\u299C': 'vangrt',\n '\\u299D': 'angrtvbd',\n '\\u29A4': 'ange',\n '\\u29A5': 'range',\n '\\u29A6': 'dwangle',\n '\\u29A7': 'uwangle',\n '\\u29A8': 'angmsdaa',\n '\\u29A9': 'angmsdab',\n '\\u29AA': 'angmsdac',\n '\\u29AB': 'angmsdad',\n '\\u29AC': 'angmsdae',\n '\\u29AD': 'angmsdaf',\n '\\u29AE': 'angmsdag',\n '\\u29AF': 'angmsdah',\n '\\u29B0': 'bemptyv',\n '\\u29B1': 'demptyv',\n '\\u29B2': 'cemptyv',\n '\\u29B3': 'raemptyv',\n '\\u29B4': 'laemptyv',\n '\\u29B5': 'ohbar',\n '\\u29B6': 'omid',\n '\\u29B7': 'opar',\n '\\u29B9': 'operp',\n '\\u29BB': 'olcross',\n '\\u29BC': 'odsold',\n '\\u29BE': 'olcir',\n '\\u29BF': 'ofcir',\n '\\u29C0': 'olt',\n '\\u29C1': 'ogt',\n '\\u29C2': 'cirscir',\n '\\u29C3': 'cirE',\n '\\u29C4': 'solb',\n '\\u29C5': 'bsolb',\n '\\u29C9': 'boxbox',\n '\\u29CD': 'trisb',\n '\\u29CE': 'rtriltri',\n '\\u29CF': 'LeftTriangleBar',\n '\\u29CF\\u0338': 'NotLeftTriangleBar',\n '\\u29D0': 'RightTriangleBar',\n '\\u29D0\\u0338': 'NotRightTriangleBar',\n '\\u29DC': 'iinfin',\n '\\u29DD': 'infintie',\n '\\u29DE': 'nvinfin',\n '\\u29E3': 'eparsl',\n '\\u29E4': 'smeparsl',\n '\\u29E5': 'eqvparsl',\n '\\u29EB': 'lozf',\n '\\u29F4': 'RuleDelayed',\n '\\u29F6': 'dsol',\n '\\u2A00': 'xodot',\n '\\u2A01': 'xoplus',\n '\\u2A02': 'xotime',\n '\\u2A04': 'xuplus',\n '\\u2A06': 'xsqcup',\n '\\u2A0D': 'fpartint',\n '\\u2A10': 'cirfnint',\n '\\u2A11': 'awint',\n '\\u2A12': 'rppolint',\n '\\u2A13': 'scpolint',\n '\\u2A14': 'npolint',\n '\\u2A15': 'pointint',\n '\\u2A16': 'quatint',\n '\\u2A17': 'intlarhk',\n '\\u2A22': 'pluscir',\n '\\u2A23': 'plusacir',\n '\\u2A24': 'simplus',\n '\\u2A25': 'plusdu',\n '\\u2A26': 'plussim',\n '\\u2A27': 'plustwo',\n '\\u2A29': 'mcomma',\n '\\u2A2A': 'minusdu',\n '\\u2A2D': 'loplus',\n '\\u2A2E': 'roplus',\n '\\u2A2F': 'Cross',\n '\\u2A30': 'timesd',\n '\\u2A31': 'timesbar',\n '\\u2A33': 'smashp',\n '\\u2A34': 'lotimes',\n '\\u2A35': 'rotimes',\n '\\u2A36': 'otimesas',\n '\\u2A37': 'Otimes',\n '\\u2A38': 'odiv',\n '\\u2A39': 'triplus',\n '\\u2A3A': 'triminus',\n '\\u2A3B': 'tritime',\n '\\u2A3C': 'iprod',\n '\\u2A3F': 'amalg',\n '\\u2A40': 'capdot',\n '\\u2A42': 'ncup',\n '\\u2A43': 'ncap',\n '\\u2A44': 'capand',\n '\\u2A45': 'cupor',\n '\\u2A46': 'cupcap',\n '\\u2A47': 'capcup',\n '\\u2A48': 'cupbrcap',\n '\\u2A49': 'capbrcup',\n '\\u2A4A': 'cupcup',\n '\\u2A4B': 'capcap',\n '\\u2A4C': 'ccups',\n '\\u2A4D': 'ccaps',\n '\\u2A50': 'ccupssm',\n '\\u2A53': 'And',\n '\\u2A54': 'Or',\n '\\u2A55': 'andand',\n '\\u2A56': 'oror',\n '\\u2A57': 'orslope',\n '\\u2A58': 'andslope',\n '\\u2A5A': 'andv',\n '\\u2A5B': 'orv',\n '\\u2A5C': 'andd',\n '\\u2A5D': 'ord',\n '\\u2A5F': 'wedbar',\n '\\u2A66': 'sdote',\n '\\u2A6A': 'simdot',\n '\\u2A6D': 'congdot',\n '\\u2A6D\\u0338': 'ncongdot',\n '\\u2A6E': 'easter',\n '\\u2A6F': 'apacir',\n '\\u2A70': 'apE',\n '\\u2A70\\u0338': 'napE',\n '\\u2A71': 'eplus',\n '\\u2A72': 'pluse',\n '\\u2A73': 'Esim',\n '\\u2A77': 'eDDot',\n '\\u2A78': 'equivDD',\n '\\u2A79': 'ltcir',\n '\\u2A7A': 'gtcir',\n '\\u2A7B': 'ltquest',\n '\\u2A7C': 'gtquest',\n '\\u2A7D': 'les',\n '\\u2A7D\\u0338': 'nles',\n '\\u2A7E': 'ges',\n '\\u2A7E\\u0338': 'nges',\n '\\u2A7F': 'lesdot',\n '\\u2A80': 'gesdot',\n '\\u2A81': 'lesdoto',\n '\\u2A82': 'gesdoto',\n '\\u2A83': 'lesdotor',\n '\\u2A84': 'gesdotol',\n '\\u2A85': 'lap',\n '\\u2A86': 'gap',\n '\\u2A87': 'lne',\n '\\u2A88': 'gne',\n '\\u2A89': 'lnap',\n '\\u2A8A': 'gnap',\n '\\u2A8B': 'lEg',\n '\\u2A8C': 'gEl',\n '\\u2A8D': 'lsime',\n '\\u2A8E': 'gsime',\n '\\u2A8F': 'lsimg',\n '\\u2A90': 'gsiml',\n '\\u2A91': 'lgE',\n '\\u2A92': 'glE',\n '\\u2A93': 'lesges',\n '\\u2A94': 'gesles',\n '\\u2A95': 'els',\n '\\u2A96': 'egs',\n '\\u2A97': 'elsdot',\n '\\u2A98': 'egsdot',\n '\\u2A99': 'el',\n '\\u2A9A': 'eg',\n '\\u2A9D': 'siml',\n '\\u2A9E': 'simg',\n '\\u2A9F': 'simlE',\n '\\u2AA0': 'simgE',\n '\\u2AA1': 'LessLess',\n '\\u2AA1\\u0338': 'NotNestedLessLess',\n '\\u2AA2': 'GreaterGreater',\n '\\u2AA2\\u0338': 'NotNestedGreaterGreater',\n '\\u2AA4': 'glj',\n '\\u2AA5': 'gla',\n '\\u2AA6': 'ltcc',\n '\\u2AA7': 'gtcc',\n '\\u2AA8': 'lescc',\n '\\u2AA9': 'gescc',\n '\\u2AAA': 'smt',\n '\\u2AAB': 'lat',\n '\\u2AAC': 'smte',\n '\\u2AAC\\uFE00': 'smtes',\n '\\u2AAD': 'late',\n '\\u2AAD\\uFE00': 'lates',\n '\\u2AAE': 'bumpE',\n '\\u2AAF': 'pre',\n '\\u2AAF\\u0338': 'npre',\n '\\u2AB0': 'sce',\n '\\u2AB0\\u0338': 'nsce',\n '\\u2AB3': 'prE',\n '\\u2AB4': 'scE',\n '\\u2AB5': 'prnE',\n '\\u2AB6': 'scnE',\n '\\u2AB7': 'prap',\n '\\u2AB8': 'scap',\n '\\u2AB9': 'prnap',\n '\\u2ABA': 'scnap',\n '\\u2ABB': 'Pr',\n '\\u2ABC': 'Sc',\n '\\u2ABD': 'subdot',\n '\\u2ABE': 'supdot',\n '\\u2ABF': 'subplus',\n '\\u2AC0': 'supplus',\n '\\u2AC1': 'submult',\n '\\u2AC2': 'supmult',\n '\\u2AC3': 'subedot',\n '\\u2AC4': 'supedot',\n '\\u2AC5': 'subE',\n '\\u2AC5\\u0338': 'nsubE',\n '\\u2AC6': 'supE',\n '\\u2AC6\\u0338': 'nsupE',\n '\\u2AC7': 'subsim',\n '\\u2AC8': 'supsim',\n '\\u2ACB\\uFE00': 'vsubnE',\n '\\u2ACB': 'subnE',\n '\\u2ACC\\uFE00': 'vsupnE',\n '\\u2ACC': 'supnE',\n '\\u2ACF': 'csub',\n '\\u2AD0': 'csup',\n '\\u2AD1': 'csube',\n '\\u2AD2': 'csupe',\n '\\u2AD3': 'subsup',\n '\\u2AD4': 'supsub',\n '\\u2AD5': 'subsub',\n '\\u2AD6': 'supsup',\n '\\u2AD7': 'suphsub',\n '\\u2AD8': 'supdsub',\n '\\u2AD9': 'forkv',\n '\\u2ADA': 'topfork',\n '\\u2ADB': 'mlcp',\n '\\u2AE4': 'Dashv',\n '\\u2AE6': 'Vdashl',\n '\\u2AE7': 'Barv',\n '\\u2AE8': 'vBar',\n '\\u2AE9': 'vBarv',\n '\\u2AEB': 'Vbar',\n '\\u2AEC': 'Not',\n '\\u2AED': 'bNot',\n '\\u2AEE': 'rnmid',\n '\\u2AEF': 'cirmid',\n '\\u2AF0': 'midcir',\n '\\u2AF1': 'topcir',\n '\\u2AF2': 'nhpar',\n '\\u2AF3': 'parsim',\n '\\u2AFD': 'parsl',\n '\\u2AFD\\u20E5': 'nparsl',\n '\\u266D': 'flat',\n '\\u266E': 'natur',\n '\\u266F': 'sharp',\n '\\xA4': 'curren',\n '\\xA2': 'cent',\n '$': 'dollar',\n '\\xA3': 'pound',\n '\\xA5': 'yen',\n '\\u20AC': 'euro',\n '\\xB9': 'sup1',\n '\\xBD': 'half',\n '\\u2153': 'frac13',\n '\\xBC': 'frac14',\n '\\u2155': 'frac15',\n '\\u2159': 'frac16',\n '\\u215B': 'frac18',\n '\\xB2': 'sup2',\n '\\u2154': 'frac23',\n '\\u2156': 'frac25',\n '\\xB3': 'sup3',\n '\\xBE': 'frac34',\n '\\u2157': 'frac35',\n '\\u215C': 'frac38',\n '\\u2158': 'frac45',\n '\\u215A': 'frac56',\n '\\u215D': 'frac58',\n '\\u215E': 'frac78',\n '\\uD835\\uDCB6': 'ascr',\n '\\uD835\\uDD52': 'aopf',\n '\\uD835\\uDD1E': 'afr',\n '\\uD835\\uDD38': 'Aopf',\n '\\uD835\\uDD04': 'Afr',\n '\\uD835\\uDC9C': 'Ascr',\n '\\xAA': 'ordf',\n '\\xE1': 'aacute',\n '\\xC1': 'Aacute',\n '\\xE0': 'agrave',\n '\\xC0': 'Agrave',\n '\\u0103': 'abreve',\n '\\u0102': 'Abreve',\n '\\xE2': 'acirc',\n '\\xC2': 'Acirc',\n '\\xE5': 'aring',\n '\\xC5': 'angst',\n '\\xE4': 'auml',\n '\\xC4': 'Auml',\n '\\xE3': 'atilde',\n '\\xC3': 'Atilde',\n '\\u0105': 'aogon',\n '\\u0104': 'Aogon',\n '\\u0101': 'amacr',\n '\\u0100': 'Amacr',\n '\\xE6': 'aelig',\n '\\xC6': 'AElig',\n '\\uD835\\uDCB7': 'bscr',\n '\\uD835\\uDD53': 'bopf',\n '\\uD835\\uDD1F': 'bfr',\n '\\uD835\\uDD39': 'Bopf',\n '\\u212C': 'Bscr',\n '\\uD835\\uDD05': 'Bfr',\n '\\uD835\\uDD20': 'cfr',\n '\\uD835\\uDCB8': 'cscr',\n '\\uD835\\uDD54': 'copf',\n '\\u212D': 'Cfr',\n '\\uD835\\uDC9E': 'Cscr',\n '\\u2102': 'Copf',\n '\\u0107': 'cacute',\n '\\u0106': 'Cacute',\n '\\u0109': 'ccirc',\n '\\u0108': 'Ccirc',\n '\\u010D': 'ccaron',\n '\\u010C': 'Ccaron',\n '\\u010B': 'cdot',\n '\\u010A': 'Cdot',\n '\\xE7': 'ccedil',\n '\\xC7': 'Ccedil',\n '\\u2105': 'incare',\n '\\uD835\\uDD21': 'dfr',\n '\\u2146': 'dd',\n '\\uD835\\uDD55': 'dopf',\n '\\uD835\\uDCB9': 'dscr',\n '\\uD835\\uDC9F': 'Dscr',\n '\\uD835\\uDD07': 'Dfr',\n '\\u2145': 'DD',\n '\\uD835\\uDD3B': 'Dopf',\n '\\u010F': 'dcaron',\n '\\u010E': 'Dcaron',\n '\\u0111': 'dstrok',\n '\\u0110': 'Dstrok',\n '\\xF0': 'eth',\n '\\xD0': 'ETH',\n '\\u2147': 'ee',\n '\\u212F': 'escr',\n '\\uD835\\uDD22': 'efr',\n '\\uD835\\uDD56': 'eopf',\n '\\u2130': 'Escr',\n '\\uD835\\uDD08': 'Efr',\n '\\uD835\\uDD3C': 'Eopf',\n '\\xE9': 'eacute',\n '\\xC9': 'Eacute',\n '\\xE8': 'egrave',\n '\\xC8': 'Egrave',\n '\\xEA': 'ecirc',\n '\\xCA': 'Ecirc',\n '\\u011B': 'ecaron',\n '\\u011A': 'Ecaron',\n '\\xEB': 'euml',\n '\\xCB': 'Euml',\n '\\u0117': 'edot',\n '\\u0116': 'Edot',\n '\\u0119': 'eogon',\n '\\u0118': 'Eogon',\n '\\u0113': 'emacr',\n '\\u0112': 'Emacr',\n '\\uD835\\uDD23': 'ffr',\n '\\uD835\\uDD57': 'fopf',\n '\\uD835\\uDCBB': 'fscr',\n '\\uD835\\uDD09': 'Ffr',\n '\\uD835\\uDD3D': 'Fopf',\n '\\u2131': 'Fscr',\n '\\uFB00': 'fflig',\n '\\uFB03': 'ffilig',\n '\\uFB04': 'ffllig',\n '\\uFB01': 'filig',\n 'fj': 'fjlig',\n '\\uFB02': 'fllig',\n '\\u0192': 'fnof',\n '\\u210A': 'gscr',\n '\\uD835\\uDD58': 'gopf',\n '\\uD835\\uDD24': 'gfr',\n '\\uD835\\uDCA2': 'Gscr',\n '\\uD835\\uDD3E': 'Gopf',\n '\\uD835\\uDD0A': 'Gfr',\n '\\u01F5': 'gacute',\n '\\u011F': 'gbreve',\n '\\u011E': 'Gbreve',\n '\\u011D': 'gcirc',\n '\\u011C': 'Gcirc',\n '\\u0121': 'gdot',\n '\\u0120': 'Gdot',\n '\\u0122': 'Gcedil',\n '\\uD835\\uDD25': 'hfr',\n '\\u210E': 'planckh',\n '\\uD835\\uDCBD': 'hscr',\n '\\uD835\\uDD59': 'hopf',\n '\\u210B': 'Hscr',\n '\\u210C': 'Hfr',\n '\\u210D': 'Hopf',\n '\\u0125': 'hcirc',\n '\\u0124': 'Hcirc',\n '\\u210F': 'hbar',\n '\\u0127': 'hstrok',\n '\\u0126': 'Hstrok',\n '\\uD835\\uDD5A': 'iopf',\n '\\uD835\\uDD26': 'ifr',\n '\\uD835\\uDCBE': 'iscr',\n '\\u2148': 'ii',\n '\\uD835\\uDD40': 'Iopf',\n '\\u2110': 'Iscr',\n '\\u2111': 'Im',\n '\\xED': 'iacute',\n '\\xCD': 'Iacute',\n '\\xEC': 'igrave',\n '\\xCC': 'Igrave',\n '\\xEE': 'icirc',\n '\\xCE': 'Icirc',\n '\\xEF': 'iuml',\n '\\xCF': 'Iuml',\n '\\u0129': 'itilde',\n '\\u0128': 'Itilde',\n '\\u0130': 'Idot',\n '\\u012F': 'iogon',\n '\\u012E': 'Iogon',\n '\\u012B': 'imacr',\n '\\u012A': 'Imacr',\n '\\u0133': 'ijlig',\n '\\u0132': 'IJlig',\n '\\u0131': 'imath',\n '\\uD835\\uDCBF': 'jscr',\n '\\uD835\\uDD5B': 'jopf',\n '\\uD835\\uDD27': 'jfr',\n '\\uD835\\uDCA5': 'Jscr',\n '\\uD835\\uDD0D': 'Jfr',\n '\\uD835\\uDD41': 'Jopf',\n '\\u0135': 'jcirc',\n '\\u0134': 'Jcirc',\n '\\u0237': 'jmath',\n '\\uD835\\uDD5C': 'kopf',\n '\\uD835\\uDCC0': 'kscr',\n '\\uD835\\uDD28': 'kfr',\n '\\uD835\\uDCA6': 'Kscr',\n '\\uD835\\uDD42': 'Kopf',\n '\\uD835\\uDD0E': 'Kfr',\n '\\u0137': 'kcedil',\n '\\u0136': 'Kcedil',\n '\\uD835\\uDD29': 'lfr',\n '\\uD835\\uDCC1': 'lscr',\n '\\u2113': 'ell',\n '\\uD835\\uDD5D': 'lopf',\n '\\u2112': 'Lscr',\n '\\uD835\\uDD0F': 'Lfr',\n '\\uD835\\uDD43': 'Lopf',\n '\\u013A': 'lacute',\n '\\u0139': 'Lacute',\n '\\u013E': 'lcaron',\n '\\u013D': 'Lcaron',\n '\\u013C': 'lcedil',\n '\\u013B': 'Lcedil',\n '\\u0142': 'lstrok',\n '\\u0141': 'Lstrok',\n '\\u0140': 'lmidot',\n '\\u013F': 'Lmidot',\n '\\uD835\\uDD2A': 'mfr',\n '\\uD835\\uDD5E': 'mopf',\n '\\uD835\\uDCC2': 'mscr',\n '\\uD835\\uDD10': 'Mfr',\n '\\uD835\\uDD44': 'Mopf',\n '\\u2133': 'Mscr',\n '\\uD835\\uDD2B': 'nfr',\n '\\uD835\\uDD5F': 'nopf',\n '\\uD835\\uDCC3': 'nscr',\n '\\u2115': 'Nopf',\n '\\uD835\\uDCA9': 'Nscr',\n '\\uD835\\uDD11': 'Nfr',\n '\\u0144': 'nacute',\n '\\u0143': 'Nacute',\n '\\u0148': 'ncaron',\n '\\u0147': 'Ncaron',\n '\\xF1': 'ntilde',\n '\\xD1': 'Ntilde',\n '\\u0146': 'ncedil',\n '\\u0145': 'Ncedil',\n '\\u2116': 'numero',\n '\\u014B': 'eng',\n '\\u014A': 'ENG',\n '\\uD835\\uDD60': 'oopf',\n '\\uD835\\uDD2C': 'ofr',\n '\\u2134': 'oscr',\n '\\uD835\\uDCAA': 'Oscr',\n '\\uD835\\uDD12': 'Ofr',\n '\\uD835\\uDD46': 'Oopf',\n '\\xBA': 'ordm',\n '\\xF3': 'oacute',\n '\\xD3': 'Oacute',\n '\\xF2': 'ograve',\n '\\xD2': 'Ograve',\n '\\xF4': 'ocirc',\n '\\xD4': 'Ocirc',\n '\\xF6': 'ouml',\n '\\xD6': 'Ouml',\n '\\u0151': 'odblac',\n '\\u0150': 'Odblac',\n '\\xF5': 'otilde',\n '\\xD5': 'Otilde',\n '\\xF8': 'oslash',\n '\\xD8': 'Oslash',\n '\\u014D': 'omacr',\n '\\u014C': 'Omacr',\n '\\u0153': 'oelig',\n '\\u0152': 'OElig',\n '\\uD835\\uDD2D': 'pfr',\n '\\uD835\\uDCC5': 'pscr',\n '\\uD835\\uDD61': 'popf',\n '\\u2119': 'Popf',\n '\\uD835\\uDD13': 'Pfr',\n '\\uD835\\uDCAB': 'Pscr',\n '\\uD835\\uDD62': 'qopf',\n '\\uD835\\uDD2E': 'qfr',\n '\\uD835\\uDCC6': 'qscr',\n '\\uD835\\uDCAC': 'Qscr',\n '\\uD835\\uDD14': 'Qfr',\n '\\u211A': 'Qopf',\n '\\u0138': 'kgreen',\n '\\uD835\\uDD2F': 'rfr',\n '\\uD835\\uDD63': 'ropf',\n '\\uD835\\uDCC7': 'rscr',\n '\\u211B': 'Rscr',\n '\\u211C': 'Re',\n '\\u211D': 'Ropf',\n '\\u0155': 'racute',\n '\\u0154': 'Racute',\n '\\u0159': 'rcaron',\n '\\u0158': 'Rcaron',\n '\\u0157': 'rcedil',\n '\\u0156': 'Rcedil',\n '\\uD835\\uDD64': 'sopf',\n '\\uD835\\uDCC8': 'sscr',\n '\\uD835\\uDD30': 'sfr',\n '\\uD835\\uDD4A': 'Sopf',\n '\\uD835\\uDD16': 'Sfr',\n '\\uD835\\uDCAE': 'Sscr',\n '\\u24C8': 'oS',\n '\\u015B': 'sacute',\n '\\u015A': 'Sacute',\n '\\u015D': 'scirc',\n '\\u015C': 'Scirc',\n '\\u0161': 'scaron',\n '\\u0160': 'Scaron',\n '\\u015F': 'scedil',\n '\\u015E': 'Scedil',\n '\\xDF': 'szlig',\n '\\uD835\\uDD31': 'tfr',\n '\\uD835\\uDCC9': 'tscr',\n '\\uD835\\uDD65': 'topf',\n '\\uD835\\uDCAF': 'Tscr',\n '\\uD835\\uDD17': 'Tfr',\n '\\uD835\\uDD4B': 'Topf',\n '\\u0165': 'tcaron',\n '\\u0164': 'Tcaron',\n '\\u0163': 'tcedil',\n '\\u0162': 'Tcedil',\n '\\u2122': 'trade',\n '\\u0167': 'tstrok',\n '\\u0166': 'Tstrok',\n '\\uD835\\uDCCA': 'uscr',\n '\\uD835\\uDD66': 'uopf',\n '\\uD835\\uDD32': 'ufr',\n '\\uD835\\uDD4C': 'Uopf',\n '\\uD835\\uDD18': 'Ufr',\n '\\uD835\\uDCB0': 'Uscr',\n '\\xFA': 'uacute',\n '\\xDA': 'Uacute',\n '\\xF9': 'ugrave',\n '\\xD9': 'Ugrave',\n '\\u016D': 'ubreve',\n '\\u016C': 'Ubreve',\n '\\xFB': 'ucirc',\n '\\xDB': 'Ucirc',\n '\\u016F': 'uring',\n '\\u016E': 'Uring',\n '\\xFC': 'uuml',\n '\\xDC': 'Uuml',\n '\\u0171': 'udblac',\n '\\u0170': 'Udblac',\n '\\u0169': 'utilde',\n '\\u0168': 'Utilde',\n '\\u0173': 'uogon',\n '\\u0172': 'Uogon',\n '\\u016B': 'umacr',\n '\\u016A': 'Umacr',\n '\\uD835\\uDD33': 'vfr',\n '\\uD835\\uDD67': 'vopf',\n '\\uD835\\uDCCB': 'vscr',\n '\\uD835\\uDD19': 'Vfr',\n '\\uD835\\uDD4D': 'Vopf',\n '\\uD835\\uDCB1': 'Vscr',\n '\\uD835\\uDD68': 'wopf',\n '\\uD835\\uDCCC': 'wscr',\n '\\uD835\\uDD34': 'wfr',\n '\\uD835\\uDCB2': 'Wscr',\n '\\uD835\\uDD4E': 'Wopf',\n '\\uD835\\uDD1A': 'Wfr',\n '\\u0175': 'wcirc',\n '\\u0174': 'Wcirc',\n '\\uD835\\uDD35': 'xfr',\n '\\uD835\\uDCCD': 'xscr',\n '\\uD835\\uDD69': 'xopf',\n '\\uD835\\uDD4F': 'Xopf',\n '\\uD835\\uDD1B': 'Xfr',\n '\\uD835\\uDCB3': 'Xscr',\n '\\uD835\\uDD36': 'yfr',\n '\\uD835\\uDCCE': 'yscr',\n '\\uD835\\uDD6A': 'yopf',\n '\\uD835\\uDCB4': 'Yscr',\n '\\uD835\\uDD1C': 'Yfr',\n '\\uD835\\uDD50': 'Yopf',\n '\\xFD': 'yacute',\n '\\xDD': 'Yacute',\n '\\u0177': 'ycirc',\n '\\u0176': 'Ycirc',\n '\\xFF': 'yuml',\n '\\u0178': 'Yuml',\n '\\uD835\\uDCCF': 'zscr',\n '\\uD835\\uDD37': 'zfr',\n '\\uD835\\uDD6B': 'zopf',\n '\\u2128': 'Zfr',\n '\\u2124': 'Zopf',\n '\\uD835\\uDCB5': 'Zscr',\n '\\u017A': 'zacute',\n '\\u0179': 'Zacute',\n '\\u017E': 'zcaron',\n '\\u017D': 'Zcaron',\n '\\u017C': 'zdot',\n '\\u017B': 'Zdot',\n '\\u01B5': 'imped',\n '\\xFE': 'thorn',\n '\\xDE': 'THORN',\n '\\u0149': 'napos',\n '\\u03B1': 'alpha',\n '\\u0391': 'Alpha',\n '\\u03B2': 'beta',\n '\\u0392': 'Beta',\n '\\u03B3': 'gamma',\n '\\u0393': 'Gamma',\n '\\u03B4': 'delta',\n '\\u0394': 'Delta',\n '\\u03B5': 'epsi',\n '\\u03F5': 'epsiv',\n '\\u0395': 'Epsilon',\n '\\u03DD': 'gammad',\n '\\u03DC': 'Gammad',\n '\\u03B6': 'zeta',\n '\\u0396': 'Zeta',\n '\\u03B7': 'eta',\n '\\u0397': 'Eta',\n '\\u03B8': 'theta',\n '\\u03D1': 'thetav',\n '\\u0398': 'Theta',\n '\\u03B9': 'iota',\n '\\u0399': 'Iota',\n '\\u03BA': 'kappa',\n '\\u03F0': 'kappav',\n '\\u039A': 'Kappa',\n '\\u03BB': 'lambda',\n '\\u039B': 'Lambda',\n '\\u03BC': 'mu',\n '\\xB5': 'micro',\n '\\u039C': 'Mu',\n '\\u03BD': 'nu',\n '\\u039D': 'Nu',\n '\\u03BE': 'xi',\n '\\u039E': 'Xi',\n '\\u03BF': 'omicron',\n '\\u039F': 'Omicron',\n '\\u03C0': 'pi',\n '\\u03D6': 'piv',\n '\\u03A0': 'Pi',\n '\\u03C1': 'rho',\n '\\u03F1': 'rhov',\n '\\u03A1': 'Rho',\n '\\u03C3': 'sigma',\n '\\u03A3': 'Sigma',\n '\\u03C2': 'sigmaf',\n '\\u03C4': 'tau',\n '\\u03A4': 'Tau',\n '\\u03C5': 'upsi',\n '\\u03A5': 'Upsilon',\n '\\u03D2': 'Upsi',\n '\\u03C6': 'phi',\n '\\u03D5': 'phiv',\n '\\u03A6': 'Phi',\n '\\u03C7': 'chi',\n '\\u03A7': 'Chi',\n '\\u03C8': 'psi',\n '\\u03A8': 'Psi',\n '\\u03C9': 'omega',\n '\\u03A9': 'ohm',\n '\\u0430': 'acy',\n '\\u0410': 'Acy',\n '\\u0431': 'bcy',\n '\\u0411': 'Bcy',\n '\\u0432': 'vcy',\n '\\u0412': 'Vcy',\n '\\u0433': 'gcy',\n '\\u0413': 'Gcy',\n '\\u0453': 'gjcy',\n '\\u0403': 'GJcy',\n '\\u0434': 'dcy',\n '\\u0414': 'Dcy',\n '\\u0452': 'djcy',\n '\\u0402': 'DJcy',\n '\\u0435': 'iecy',\n '\\u0415': 'IEcy',\n '\\u0451': 'iocy',\n '\\u0401': 'IOcy',\n '\\u0454': 'jukcy',\n '\\u0404': 'Jukcy',\n '\\u0436': 'zhcy',\n '\\u0416': 'ZHcy',\n '\\u0437': 'zcy',\n '\\u0417': 'Zcy',\n '\\u0455': 'dscy',\n '\\u0405': 'DScy',\n '\\u0438': 'icy',\n '\\u0418': 'Icy',\n '\\u0456': 'iukcy',\n '\\u0406': 'Iukcy',\n '\\u0457': 'yicy',\n '\\u0407': 'YIcy',\n '\\u0439': 'jcy',\n '\\u0419': 'Jcy',\n '\\u0458': 'jsercy',\n '\\u0408': 'Jsercy',\n '\\u043A': 'kcy',\n '\\u041A': 'Kcy',\n '\\u045C': 'kjcy',\n '\\u040C': 'KJcy',\n '\\u043B': 'lcy',\n '\\u041B': 'Lcy',\n '\\u0459': 'ljcy',\n '\\u0409': 'LJcy',\n '\\u043C': 'mcy',\n '\\u041C': 'Mcy',\n '\\u043D': 'ncy',\n '\\u041D': 'Ncy',\n '\\u045A': 'njcy',\n '\\u040A': 'NJcy',\n '\\u043E': 'ocy',\n '\\u041E': 'Ocy',\n '\\u043F': 'pcy',\n '\\u041F': 'Pcy',\n '\\u0440': 'rcy',\n '\\u0420': 'Rcy',\n '\\u0441': 'scy',\n '\\u0421': 'Scy',\n '\\u0442': 'tcy',\n '\\u0422': 'Tcy',\n '\\u045B': 'tshcy',\n '\\u040B': 'TSHcy',\n '\\u0443': 'ucy',\n '\\u0423': 'Ucy',\n '\\u045E': 'ubrcy',\n '\\u040E': 'Ubrcy',\n '\\u0444': 'fcy',\n '\\u0424': 'Fcy',\n '\\u0445': 'khcy',\n '\\u0425': 'KHcy',\n '\\u0446': 'tscy',\n '\\u0426': 'TScy',\n '\\u0447': 'chcy',\n '\\u0427': 'CHcy',\n '\\u045F': 'dzcy',\n '\\u040F': 'DZcy',\n '\\u0448': 'shcy',\n '\\u0428': 'SHcy',\n '\\u0449': 'shchcy',\n '\\u0429': 'SHCHcy',\n '\\u044A': 'hardcy',\n '\\u042A': 'HARDcy',\n '\\u044B': 'ycy',\n '\\u042B': 'Ycy',\n '\\u044C': 'softcy',\n '\\u042C': 'SOFTcy',\n '\\u044D': 'ecy',\n '\\u042D': 'Ecy',\n '\\u044E': 'yucy',\n '\\u042E': 'YUcy',\n '\\u044F': 'yacy',\n '\\u042F': 'YAcy',\n '\\u2135': 'aleph',\n '\\u2136': 'beth',\n '\\u2137': 'gimel',\n '\\u2138': 'daleth'\n };\n var regexEscape = /[\"&'<>`]/g;\n var escapeMap = {\n '\"': '"',\n '&': '&',\n '\\'': ''',\n '<': '<',\n // See https://mathiasbynens.be/notes/ambiguous-ampersands: in HTML, the\n // following is not strictly necessary unless it’s part of a tag or an\n // unquoted attribute value. We’re only escaping it to support those\n // situations, and for XML support.\n '>': '>',\n // In Internet Explorer ≤ 8, the backtick character can be used\n // to break out of (un)quoted attribute values or HTML comments.\n // See http://html5sec.org/#102, http://html5sec.org/#108, and\n // http://html5sec.org/#133.\n '`': '`'\n };\n var regexInvalidEntity = /&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/;\n var regexInvalidRawCodePoint = /[\\0-\\x08\\x0B\\x0E-\\x1F\\x7F-\\x9F\\uFDD0-\\uFDEF\\uFFFE\\uFFFF]|[\\uD83F\\uD87F\\uD8BF\\uD8FF\\uD93F\\uD97F\\uD9BF\\uD9FF\\uDA3F\\uDA7F\\uDABF\\uDAFF\\uDB3F\\uDB7F\\uDBBF\\uDBFF][\\uDFFE\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/;\n var regexDecode = /&(CounterClockwiseContourIntegral|DoubleLongLeftRightArrow|ClockwiseContourIntegral|NotNestedGreaterGreater|NotSquareSupersetEqual|DiacriticalDoubleAcute|NotRightTriangleEqual|NotSucceedsSlantEqual|NotPrecedesSlantEqual|CloseCurlyDoubleQuote|NegativeVeryThinSpace|DoubleContourIntegral|FilledVerySmallSquare|CapitalDifferentialD|OpenCurlyDoubleQuote|EmptyVerySmallSquare|NestedGreaterGreater|DoubleLongRightArrow|NotLeftTriangleEqual|NotGreaterSlantEqual|ReverseUpEquilibrium|DoubleLeftRightArrow|NotSquareSubsetEqual|NotDoubleVerticalBar|RightArrowLeftArrow|NotGreaterFullEqual|NotRightTriangleBar|SquareSupersetEqual|DownLeftRightVector|DoubleLongLeftArrow|leftrightsquigarrow|LeftArrowRightArrow|NegativeMediumSpace|blacktriangleright|RightDownVectorBar|PrecedesSlantEqual|RightDoubleBracket|SucceedsSlantEqual|NotLeftTriangleBar|RightTriangleEqual|SquareIntersection|RightDownTeeVector|ReverseEquilibrium|NegativeThickSpace|longleftrightarrow|Longleftrightarrow|LongLeftRightArrow|DownRightTeeVector|DownRightVectorBar|GreaterSlantEqual|SquareSubsetEqual|LeftDownVectorBar|LeftDoubleBracket|VerticalSeparator|rightleftharpoons|NotGreaterGreater|NotSquareSuperset|blacktriangleleft|blacktriangledown|NegativeThinSpace|LeftDownTeeVector|NotLessSlantEqual|leftrightharpoons|DoubleUpDownArrow|DoubleVerticalBar|LeftTriangleEqual|FilledSmallSquare|twoheadrightarrow|NotNestedLessLess|DownLeftTeeVector|DownLeftVectorBar|RightAngleBracket|NotTildeFullEqual|NotReverseElement|RightUpDownVector|DiacriticalTilde|NotSucceedsTilde|circlearrowright|NotPrecedesEqual|rightharpoondown|DoubleRightArrow|NotSucceedsEqual|NonBreakingSpace|NotRightTriangle|LessEqualGreater|RightUpTeeVector|LeftAngleBracket|GreaterFullEqual|DownArrowUpArrow|RightUpVectorBar|twoheadleftarrow|GreaterEqualLess|downharpoonright|RightTriangleBar|ntrianglerighteq|NotSupersetEqual|LeftUpDownVector|DiacriticalAcute|rightrightarrows|vartriangleright|UpArrowDownArrow|DiacriticalGrave|UnderParenthesis|EmptySmallSquare|LeftUpVectorBar|leftrightarrows|DownRightVector|downharpoonleft|trianglerighteq|ShortRightArrow|OverParenthesis|DoubleLeftArrow|DoubleDownArrow|NotSquareSubset|bigtriangledown|ntrianglelefteq|UpperRightArrow|curvearrowright|vartriangleleft|NotLeftTriangle|nleftrightarrow|LowerRightArrow|NotHumpDownHump|NotGreaterTilde|rightthreetimes|LeftUpTeeVector|NotGreaterEqual|straightepsilon|LeftTriangleBar|rightsquigarrow|ContourIntegral|rightleftarrows|CloseCurlyQuote|RightDownVector|LeftRightVector|nLeftrightarrow|leftharpoondown|circlearrowleft|SquareSuperset|OpenCurlyQuote|hookrightarrow|HorizontalLine|DiacriticalDot|NotLessGreater|ntriangleright|DoubleRightTee|InvisibleComma|InvisibleTimes|LowerLeftArrow|DownLeftVector|NotSubsetEqual|curvearrowleft|trianglelefteq|NotVerticalBar|TildeFullEqual|downdownarrows|NotGreaterLess|RightTeeVector|ZeroWidthSpace|looparrowright|LongRightArrow|doublebarwedge|ShortLeftArrow|ShortDownArrow|RightVectorBar|GreaterGreater|ReverseElement|rightharpoonup|LessSlantEqual|leftthreetimes|upharpoonright|rightarrowtail|LeftDownVector|Longrightarrow|NestedLessLess|UpperLeftArrow|nshortparallel|leftleftarrows|leftrightarrow|Leftrightarrow|LeftRightArrow|longrightarrow|upharpoonleft|RightArrowBar|ApplyFunction|LeftTeeVector|leftarrowtail|NotEqualTilde|varsubsetneqq|varsupsetneqq|RightTeeArrow|SucceedsEqual|SucceedsTilde|LeftVectorBar|SupersetEqual|hookleftarrow|DifferentialD|VerticalTilde|VeryThinSpace|blacktriangle|bigtriangleup|LessFullEqual|divideontimes|leftharpoonup|UpEquilibrium|ntriangleleft|RightTriangle|measuredangle|shortparallel|longleftarrow|Longleftarrow|LongLeftArrow|DoubleLeftTee|Poincareplane|PrecedesEqual|triangleright|DoubleUpArrow|RightUpVector|fallingdotseq|looparrowleft|PrecedesTilde|NotTildeEqual|NotTildeTilde|smallsetminus|Proportional|triangleleft|triangledown|UnderBracket|NotHumpEqual|exponentiale|ExponentialE|NotLessTilde|HilbertSpace|RightCeiling|blacklozenge|varsupsetneq|HumpDownHump|GreaterEqual|VerticalLine|LeftTeeArrow|NotLessEqual|DownTeeArrow|LeftTriangle|varsubsetneq|Intersection|NotCongruent|DownArrowBar|LeftUpVector|LeftArrowBar|risingdotseq|GreaterTilde|RoundImplies|SquareSubset|ShortUpArrow|NotSuperset|quaternions|precnapprox|backepsilon|preccurlyeq|OverBracket|blacksquare|MediumSpace|VerticalBar|circledcirc|circleddash|CircleMinus|CircleTimes|LessGreater|curlyeqprec|curlyeqsucc|diamondsuit|UpDownArrow|Updownarrow|RuleDelayed|Rrightarrow|updownarrow|RightVector|nRightarrow|nrightarrow|eqslantless|LeftCeiling|Equilibrium|SmallCircle|expectation|NotSucceeds|thickapprox|GreaterLess|SquareUnion|NotPrecedes|NotLessLess|straightphi|succnapprox|succcurlyeq|SubsetEqual|sqsupseteq|Proportion|Laplacetrf|ImaginaryI|supsetneqq|NotGreater|gtreqqless|NotElement|ThickSpace|TildeEqual|TildeTilde|Fouriertrf|rmoustache|EqualTilde|eqslantgtr|UnderBrace|LeftVector|UpArrowBar|nLeftarrow|nsubseteqq|subsetneqq|nsupseteqq|nleftarrow|succapprox|lessapprox|UpTeeArrow|upuparrows|curlywedge|lesseqqgtr|varepsilon|varnothing|RightFloor|complement|CirclePlus|sqsubseteq|Lleftarrow|circledast|RightArrow|Rightarrow|rightarrow|lmoustache|Bernoullis|precapprox|mapstoleft|mapstodown|longmapsto|dotsquare|downarrow|DoubleDot|nsubseteq|supsetneq|leftarrow|nsupseteq|subsetneq|ThinSpace|ngeqslant|subseteqq|HumpEqual|NotSubset|triangleq|NotCupCap|lesseqgtr|heartsuit|TripleDot|Leftarrow|Coproduct|Congruent|varpropto|complexes|gvertneqq|LeftArrow|LessTilde|supseteqq|MinusPlus|CircleDot|nleqslant|NotExists|gtreqless|nparallel|UnionPlus|LeftFloor|checkmark|CenterDot|centerdot|Mellintrf|gtrapprox|bigotimes|OverBrace|spadesuit|therefore|pitchfork|rationals|PlusMinus|Backslash|Therefore|DownBreve|backsimeq|backprime|DownArrow|nshortmid|Downarrow|lvertneqq|eqvparsl|imagline|imagpart|infintie|integers|Integral|intercal|LessLess|Uarrocir|intlarhk|sqsupset|angmsdaf|sqsubset|llcorner|vartheta|cupbrcap|lnapprox|Superset|SuchThat|succnsim|succneqq|angmsdag|biguplus|curlyvee|trpezium|Succeeds|NotTilde|bigwedge|angmsdah|angrtvbd|triminus|cwconint|fpartint|lrcorner|smeparsl|subseteq|urcorner|lurdshar|laemptyv|DDotrahd|approxeq|ldrushar|awconint|mapstoup|backcong|shortmid|triangle|geqslant|gesdotol|timesbar|circledR|circledS|setminus|multimap|naturals|scpolint|ncongdot|RightTee|boxminus|gnapprox|boxtimes|andslope|thicksim|angmsdaa|varsigma|cirfnint|rtriltri|angmsdab|rppolint|angmsdac|barwedge|drbkarow|clubsuit|thetasym|bsolhsub|capbrcup|dzigrarr|doteqdot|DotEqual|dotminus|UnderBar|NotEqual|realpart|otimesas|ulcorner|hksearow|hkswarow|parallel|PartialD|elinters|emptyset|plusacir|bbrktbrk|angmsdad|pointint|bigoplus|angmsdae|Precedes|bigsqcup|varkappa|notindot|supseteq|precneqq|precnsim|profalar|profline|profsurf|leqslant|lesdotor|raemptyv|subplus|notnivb|notnivc|subrarr|zigrarr|vzigzag|submult|subedot|Element|between|cirscir|larrbfs|larrsim|lotimes|lbrksld|lbrkslu|lozenge|ldrdhar|dbkarow|bigcirc|epsilon|simrarr|simplus|ltquest|Epsilon|luruhar|gtquest|maltese|npolint|eqcolon|npreceq|bigodot|ddagger|gtrless|bnequiv|harrcir|ddotseq|equivDD|backsim|demptyv|nsqsube|nsqsupe|Upsilon|nsubset|upsilon|minusdu|nsucceq|swarrow|nsupset|coloneq|searrow|boxplus|napprox|natural|asympeq|alefsym|congdot|nearrow|bigstar|diamond|supplus|tritime|LeftTee|nvinfin|triplus|NewLine|nvltrie|nvrtrie|nwarrow|nexists|Diamond|ruluhar|Implies|supmult|angzarr|suplarr|suphsub|questeq|because|digamma|Because|olcross|bemptyv|omicron|Omicron|rotimes|NoBreak|intprod|angrtvb|orderof|uwangle|suphsol|lesdoto|orslope|DownTee|realine|cudarrl|rdldhar|OverBar|supedot|lessdot|supdsub|topfork|succsim|rbrkslu|rbrksld|pertenk|cudarrr|isindot|planckh|lessgtr|pluscir|gesdoto|plussim|plustwo|lesssim|cularrp|rarrsim|Cayleys|notinva|notinvb|notinvc|UpArrow|Uparrow|uparrow|NotLess|dwangle|precsim|Product|curarrm|Cconint|dotplus|rarrbfs|ccupssm|Cedilla|cemptyv|notniva|quatint|frac35|frac38|frac45|frac56|frac58|frac78|tridot|xoplus|gacute|gammad|Gammad|lfisht|lfloor|bigcup|sqsupe|gbreve|Gbreve|lharul|sqsube|sqcups|Gcedil|apacir|llhard|lmidot|Lmidot|lmoust|andand|sqcaps|approx|Abreve|spades|circeq|tprime|divide|topcir|Assign|topbot|gesdot|divonx|xuplus|timesd|gesles|atilde|solbar|SOFTcy|loplus|timesb|lowast|lowbar|dlcorn|dlcrop|softcy|dollar|lparlt|thksim|lrhard|Atilde|lsaquo|smashp|bigvee|thinsp|wreath|bkarow|lsquor|lstrok|Lstrok|lthree|ltimes|ltlarr|DotDot|simdot|ltrPar|weierp|xsqcup|angmsd|sigmav|sigmaf|zeetrf|Zcaron|zcaron|mapsto|vsupne|thetav|cirmid|marker|mcomma|Zacute|vsubnE|there4|gtlPar|vsubne|bottom|gtrarr|SHCHcy|shchcy|midast|midcir|middot|minusb|minusd|gtrdot|bowtie|sfrown|mnplus|models|colone|seswar|Colone|mstpos|searhk|gtrsim|nacute|Nacute|boxbox|telrec|hairsp|Tcedil|nbumpe|scnsim|ncaron|Ncaron|ncedil|Ncedil|hamilt|Scedil|nearhk|hardcy|HARDcy|tcedil|Tcaron|commat|nequiv|nesear|tcaron|target|hearts|nexist|varrho|scedil|Scaron|scaron|hellip|Sacute|sacute|hercon|swnwar|compfn|rtimes|rthree|rsquor|rsaquo|zacute|wedgeq|homtht|barvee|barwed|Barwed|rpargt|horbar|conint|swarhk|roplus|nltrie|hslash|hstrok|Hstrok|rmoust|Conint|bprime|hybull|hyphen|iacute|Iacute|supsup|supsub|supsim|varphi|coprod|brvbar|agrave|Supset|supset|igrave|Igrave|notinE|Agrave|iiiint|iinfin|copysr|wedbar|Verbar|vangrt|becaus|incare|verbar|inodot|bullet|drcorn|intcal|drcrop|cularr|vellip|Utilde|bumpeq|cupcap|dstrok|Dstrok|CupCap|cupcup|cupdot|eacute|Eacute|supdot|iquest|easter|ecaron|Ecaron|ecolon|isinsv|utilde|itilde|Itilde|curarr|succeq|Bumpeq|cacute|ulcrop|nparsl|Cacute|nprcue|egrave|Egrave|nrarrc|nrarrw|subsup|subsub|nrtrie|jsercy|nsccue|Jsercy|kappav|kcedil|Kcedil|subsim|ulcorn|nsimeq|egsdot|veebar|kgreen|capand|elsdot|Subset|subset|curren|aacute|lacute|Lacute|emptyv|ntilde|Ntilde|lagran|lambda|Lambda|capcap|Ugrave|langle|subdot|emsp13|numero|emsp14|nvdash|nvDash|nVdash|nVDash|ugrave|ufisht|nvHarr|larrfs|nvlArr|larrhk|larrlp|larrpl|nvrArr|Udblac|nwarhk|larrtl|nwnear|oacute|Oacute|latail|lAtail|sstarf|lbrace|odblac|Odblac|lbrack|udblac|odsold|eparsl|lcaron|Lcaron|ograve|Ograve|lcedil|Lcedil|Aacute|ssmile|ssetmn|squarf|ldquor|capcup|ominus|cylcty|rharul|eqcirc|dagger|rfloor|rfisht|Dagger|daleth|equals|origof|capdot|equest|dcaron|Dcaron|rdquor|oslash|Oslash|otilde|Otilde|otimes|Otimes|urcrop|Ubreve|ubreve|Yacute|Uacute|uacute|Rcedil|rcedil|urcorn|parsim|Rcaron|Vdashl|rcaron|Tstrok|percnt|period|permil|Exists|yacute|rbrack|rbrace|phmmat|ccaron|Ccaron|planck|ccedil|plankv|tstrok|female|plusdo|plusdu|ffilig|plusmn|ffllig|Ccedil|rAtail|dfisht|bernou|ratail|Rarrtl|rarrtl|angsph|rarrpl|rarrlp|rarrhk|xwedge|xotime|forall|ForAll|Vvdash|vsupnE|preceq|bigcap|frac12|frac13|frac14|primes|rarrfs|prnsim|frac15|Square|frac16|square|lesdot|frac18|frac23|propto|prurel|rarrap|rangle|puncsp|frac25|Racute|qprime|racute|lesges|frac34|abreve|AElig|eqsim|utdot|setmn|urtri|Equal|Uring|seArr|uring|searr|dashv|Dashv|mumap|nabla|iogon|Iogon|sdote|sdotb|scsim|napid|napos|equiv|natur|Acirc|dblac|erarr|nbump|iprod|erDot|ucirc|awint|esdot|angrt|ncong|isinE|scnap|Scirc|scirc|ndash|isins|Ubrcy|nearr|neArr|isinv|nedot|ubrcy|acute|Ycirc|iukcy|Iukcy|xutri|nesim|caret|jcirc|Jcirc|caron|twixt|ddarr|sccue|exist|jmath|sbquo|ngeqq|angst|ccaps|lceil|ngsim|UpTee|delta|Delta|rtrif|nharr|nhArr|nhpar|rtrie|jukcy|Jukcy|kappa|rsquo|Kappa|nlarr|nlArr|TSHcy|rrarr|aogon|Aogon|fflig|xrarr|tshcy|ccirc|nleqq|filig|upsih|nless|dharl|nlsim|fjlig|ropar|nltri|dharr|robrk|roarr|fllig|fltns|roang|rnmid|subnE|subne|lAarr|trisb|Ccirc|acirc|ccups|blank|VDash|forkv|Vdash|langd|cedil|blk12|blk14|laquo|strns|diams|notin|vDash|larrb|blk34|block|disin|uplus|vdash|vBarv|aelig|starf|Wedge|check|xrArr|lates|lbarr|lBarr|notni|lbbrk|bcong|frasl|lbrke|frown|vrtri|vprop|vnsup|gamma|Gamma|wedge|xodot|bdquo|srarr|doteq|ldquo|boxdl|boxdL|gcirc|Gcirc|boxDl|boxDL|boxdr|boxdR|boxDr|TRADE|trade|rlhar|boxDR|vnsub|npart|vltri|rlarr|boxhd|boxhD|nprec|gescc|nrarr|nrArr|boxHd|boxHD|boxhu|boxhU|nrtri|boxHu|clubs|boxHU|times|colon|Colon|gimel|xlArr|Tilde|nsime|tilde|nsmid|nspar|THORN|thorn|xlarr|nsube|nsubE|thkap|xhArr|comma|nsucc|boxul|boxuL|nsupe|nsupE|gneqq|gnsim|boxUl|boxUL|grave|boxur|boxuR|boxUr|boxUR|lescc|angle|bepsi|boxvh|varpi|boxvH|numsp|Theta|gsime|gsiml|theta|boxVh|boxVH|boxvl|gtcir|gtdot|boxvL|boxVl|boxVL|crarr|cross|Cross|nvsim|boxvr|nwarr|nwArr|sqsup|dtdot|Uogon|lhard|lharu|dtrif|ocirc|Ocirc|lhblk|duarr|odash|sqsub|Hacek|sqcup|llarr|duhar|oelig|OElig|ofcir|boxvR|uogon|lltri|boxVr|csube|uuarr|ohbar|csupe|ctdot|olarr|olcir|harrw|oline|sqcap|omacr|Omacr|omega|Omega|boxVR|aleph|lneqq|lnsim|loang|loarr|rharu|lobrk|hcirc|operp|oplus|rhard|Hcirc|orarr|Union|order|ecirc|Ecirc|cuepr|szlig|cuesc|breve|reals|eDDot|Breve|hoarr|lopar|utrif|rdquo|Umacr|umacr|efDot|swArr|ultri|alpha|rceil|ovbar|swarr|Wcirc|wcirc|smtes|smile|bsemi|lrarr|aring|parsl|lrhar|bsime|uhblk|lrtri|cupor|Aring|uharr|uharl|slarr|rbrke|bsolb|lsime|rbbrk|RBarr|lsimg|phone|rBarr|rbarr|icirc|lsquo|Icirc|emacr|Emacr|ratio|simne|plusb|simlE|simgE|simeq|pluse|ltcir|ltdot|empty|xharr|xdtri|iexcl|Alpha|ltrie|rarrw|pound|ltrif|xcirc|bumpe|prcue|bumpE|asymp|amacr|cuvee|Sigma|sigma|iiint|udhar|iiota|ijlig|IJlig|supnE|imacr|Imacr|prime|Prime|image|prnap|eogon|Eogon|rarrc|mdash|mDDot|cuwed|imath|supne|imped|Amacr|udarr|prsim|micro|rarrb|cwint|raquo|infin|eplus|range|rangd|Ucirc|radic|minus|amalg|veeeq|rAarr|epsiv|ycirc|quest|sharp|quot|zwnj|Qscr|race|qscr|Qopf|qopf|qint|rang|Rang|Zscr|zscr|Zopf|zopf|rarr|rArr|Rarr|Pscr|pscr|prop|prod|prnE|prec|ZHcy|zhcy|prap|Zeta|zeta|Popf|popf|Zdot|plus|zdot|Yuml|yuml|phiv|YUcy|yucy|Yscr|yscr|perp|Yopf|yopf|part|para|YIcy|Ouml|rcub|yicy|YAcy|rdca|ouml|osol|Oscr|rdsh|yacy|real|oscr|xvee|andd|rect|andv|Xscr|oror|ordm|ordf|xscr|ange|aopf|Aopf|rHar|Xopf|opar|Oopf|xopf|xnis|rhov|oopf|omid|xmap|oint|apid|apos|ogon|ascr|Ascr|odot|odiv|xcup|xcap|ocir|oast|nvlt|nvle|nvgt|nvge|nvap|Wscr|wscr|auml|ntlg|ntgl|nsup|nsub|nsim|Nscr|nscr|nsce|Wopf|ring|npre|wopf|npar|Auml|Barv|bbrk|Nopf|nopf|nmid|nLtv|beta|ropf|Ropf|Beta|beth|nles|rpar|nleq|bnot|bNot|nldr|NJcy|rscr|Rscr|Vscr|vscr|rsqb|njcy|bopf|nisd|Bopf|rtri|Vopf|nGtv|ngtr|vopf|boxh|boxH|boxv|nges|ngeq|boxV|bscr|scap|Bscr|bsim|Vert|vert|bsol|bull|bump|caps|cdot|ncup|scnE|ncap|nbsp|napE|Cdot|cent|sdot|Vbar|nang|vBar|chcy|Mscr|mscr|sect|semi|CHcy|Mopf|mopf|sext|circ|cire|mldr|mlcp|cirE|comp|shcy|SHcy|vArr|varr|cong|copf|Copf|copy|COPY|malt|male|macr|lvnE|cscr|ltri|sime|ltcc|simg|Cscr|siml|csub|Uuml|lsqb|lsim|uuml|csup|Lscr|lscr|utri|smid|lpar|cups|smte|lozf|darr|Lopf|Uscr|solb|lopf|sopf|Sopf|lneq|uscr|spar|dArr|lnap|Darr|dash|Sqrt|LJcy|ljcy|lHar|dHar|Upsi|upsi|diam|lesg|djcy|DJcy|leqq|dopf|Dopf|dscr|Dscr|dscy|ldsh|ldca|squf|DScy|sscr|Sscr|dsol|lcub|late|star|Star|Uopf|Larr|lArr|larr|uopf|dtri|dzcy|sube|subE|Lang|lang|Kscr|kscr|Kopf|kopf|KJcy|kjcy|KHcy|khcy|DZcy|ecir|edot|eDot|Jscr|jscr|succ|Jopf|jopf|Edot|uHar|emsp|ensp|Iuml|iuml|eopf|isin|Iscr|iscr|Eopf|epar|sung|epsi|escr|sup1|sup2|sup3|Iota|iota|supe|supE|Iopf|iopf|IOcy|iocy|Escr|esim|Esim|imof|Uarr|QUOT|uArr|uarr|euml|IEcy|iecy|Idot|Euml|euro|excl|Hscr|hscr|Hopf|hopf|TScy|tscy|Tscr|hbar|tscr|flat|tbrk|fnof|hArr|harr|half|fopf|Fopf|tdot|gvnE|fork|trie|gtcc|fscr|Fscr|gdot|gsim|Gscr|gscr|Gopf|gopf|gneq|Gdot|tosa|gnap|Topf|topf|geqq|toea|GJcy|gjcy|tint|gesl|mid|Sfr|ggg|top|ges|gla|glE|glj|geq|gne|gEl|gel|gnE|Gcy|gcy|gap|Tfr|tfr|Tcy|tcy|Hat|Tau|Ffr|tau|Tab|hfr|Hfr|ffr|Fcy|fcy|icy|Icy|iff|ETH|eth|ifr|Ifr|Eta|eta|int|Int|Sup|sup|ucy|Ucy|Sum|sum|jcy|ENG|ufr|Ufr|eng|Jcy|jfr|els|ell|egs|Efr|efr|Jfr|uml|kcy|Kcy|Ecy|ecy|kfr|Kfr|lap|Sub|sub|lat|lcy|Lcy|leg|Dot|dot|lEg|leq|les|squ|div|die|lfr|Lfr|lgE|Dfr|dfr|Del|deg|Dcy|dcy|lne|lnE|sol|loz|smt|Cup|lrm|cup|lsh|Lsh|sim|shy|map|Map|mcy|Mcy|mfr|Mfr|mho|gfr|Gfr|sfr|cir|Chi|chi|nap|Cfr|vcy|Vcy|cfr|Scy|scy|ncy|Ncy|vee|Vee|Cap|cap|nfr|scE|sce|Nfr|nge|ngE|nGg|vfr|Vfr|ngt|bot|nGt|nis|niv|Rsh|rsh|nle|nlE|bne|Bfr|bfr|nLl|nlt|nLt|Bcy|bcy|not|Not|rlm|wfr|Wfr|npr|nsc|num|ocy|ast|Ocy|ofr|xfr|Xfr|Ofr|ogt|ohm|apE|olt|Rho|ape|rho|Rfr|rfr|ord|REG|ang|reg|orv|And|and|AMP|Rcy|amp|Afr|ycy|Ycy|yen|yfr|Yfr|rcy|par|pcy|Pcy|pfr|Pfr|phi|Phi|afr|Acy|acy|zcy|Zcy|piv|acE|acd|zfr|Zfr|pre|prE|psi|Psi|qfr|Qfr|zwj|Or|ge|Gg|gt|gg|el|oS|lt|Lt|LT|Re|lg|gl|eg|ne|Im|it|le|DD|wp|wr|nu|Nu|dd|lE|Sc|sc|pi|Pi|ee|af|ll|Ll|rx|gE|xi|pm|Xi|ic|pr|Pr|in|ni|mp|mu|ac|Mu|or|ap|Gt|GT|ii);|&(Aacute|Agrave|Atilde|Ccedil|Eacute|Egrave|Iacute|Igrave|Ntilde|Oacute|Ograve|Oslash|Otilde|Uacute|Ugrave|Yacute|aacute|agrave|atilde|brvbar|ccedil|curren|divide|eacute|egrave|frac12|frac14|frac34|iacute|igrave|iquest|middot|ntilde|oacute|ograve|oslash|otilde|plusmn|uacute|ugrave|yacute|AElig|Acirc|Aring|Ecirc|Icirc|Ocirc|THORN|Ucirc|acirc|acute|aelig|aring|cedil|ecirc|icirc|iexcl|laquo|micro|ocirc|pound|raquo|szlig|thorn|times|ucirc|Auml|COPY|Euml|Iuml|Ouml|QUOT|Uuml|auml|cent|copy|euml|iuml|macr|nbsp|ordf|ordm|ouml|para|quot|sect|sup1|sup2|sup3|uuml|yuml|AMP|ETH|REG|amp|deg|eth|not|reg|shy|uml|yen|GT|LT|gt|lt)(?!;)([=a-zA-Z0-9]?)|&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+)/g;\n var decodeMap = {\n 'aacute': '\\xE1',\n 'Aacute': '\\xC1',\n 'abreve': '\\u0103',\n 'Abreve': '\\u0102',\n 'ac': '\\u223E',\n 'acd': '\\u223F',\n 'acE': '\\u223E\\u0333',\n 'acirc': '\\xE2',\n 'Acirc': '\\xC2',\n 'acute': '\\xB4',\n 'acy': '\\u0430',\n 'Acy': '\\u0410',\n 'aelig': '\\xE6',\n 'AElig': '\\xC6',\n 'af': '\\u2061',\n 'afr': '\\uD835\\uDD1E',\n 'Afr': '\\uD835\\uDD04',\n 'agrave': '\\xE0',\n 'Agrave': '\\xC0',\n 'alefsym': '\\u2135',\n 'aleph': '\\u2135',\n 'alpha': '\\u03B1',\n 'Alpha': '\\u0391',\n 'amacr': '\\u0101',\n 'Amacr': '\\u0100',\n 'amalg': '\\u2A3F',\n 'amp': '&',\n 'AMP': '&',\n 'and': '\\u2227',\n 'And': '\\u2A53',\n 'andand': '\\u2A55',\n 'andd': '\\u2A5C',\n 'andslope': '\\u2A58',\n 'andv': '\\u2A5A',\n 'ang': '\\u2220',\n 'ange': '\\u29A4',\n 'angle': '\\u2220',\n 'angmsd': '\\u2221',\n 'angmsdaa': '\\u29A8',\n 'angmsdab': '\\u29A9',\n 'angmsdac': '\\u29AA',\n 'angmsdad': '\\u29AB',\n 'angmsdae': '\\u29AC',\n 'angmsdaf': '\\u29AD',\n 'angmsdag': '\\u29AE',\n 'angmsdah': '\\u29AF',\n 'angrt': '\\u221F',\n 'angrtvb': '\\u22BE',\n 'angrtvbd': '\\u299D',\n 'angsph': '\\u2222',\n 'angst': '\\xC5',\n 'angzarr': '\\u237C',\n 'aogon': '\\u0105',\n 'Aogon': '\\u0104',\n 'aopf': '\\uD835\\uDD52',\n 'Aopf': '\\uD835\\uDD38',\n 'ap': '\\u2248',\n 'apacir': '\\u2A6F',\n 'ape': '\\u224A',\n 'apE': '\\u2A70',\n 'apid': '\\u224B',\n 'apos': '\\'',\n 'ApplyFunction': '\\u2061',\n 'approx': '\\u2248',\n 'approxeq': '\\u224A',\n 'aring': '\\xE5',\n 'Aring': '\\xC5',\n 'ascr': '\\uD835\\uDCB6',\n 'Ascr': '\\uD835\\uDC9C',\n 'Assign': '\\u2254',\n 'ast': '*',\n 'asymp': '\\u2248',\n 'asympeq': '\\u224D',\n 'atilde': '\\xE3',\n 'Atilde': '\\xC3',\n 'auml': '\\xE4',\n 'Auml': '\\xC4',\n 'awconint': '\\u2233',\n 'awint': '\\u2A11',\n 'backcong': '\\u224C',\n 'backepsilon': '\\u03F6',\n 'backprime': '\\u2035',\n 'backsim': '\\u223D',\n 'backsimeq': '\\u22CD',\n 'Backslash': '\\u2216',\n 'Barv': '\\u2AE7',\n 'barvee': '\\u22BD',\n 'barwed': '\\u2305',\n 'Barwed': '\\u2306',\n 'barwedge': '\\u2305',\n 'bbrk': '\\u23B5',\n 'bbrktbrk': '\\u23B6',\n 'bcong': '\\u224C',\n 'bcy': '\\u0431',\n 'Bcy': '\\u0411',\n 'bdquo': '\\u201E',\n 'becaus': '\\u2235',\n 'because': '\\u2235',\n 'Because': '\\u2235',\n 'bemptyv': '\\u29B0',\n 'bepsi': '\\u03F6',\n 'bernou': '\\u212C',\n 'Bernoullis': '\\u212C',\n 'beta': '\\u03B2',\n 'Beta': '\\u0392',\n 'beth': '\\u2136',\n 'between': '\\u226C',\n 'bfr': '\\uD835\\uDD1F',\n 'Bfr': '\\uD835\\uDD05',\n 'bigcap': '\\u22C2',\n 'bigcirc': '\\u25EF',\n 'bigcup': '\\u22C3',\n 'bigodot': '\\u2A00',\n 'bigoplus': '\\u2A01',\n 'bigotimes': '\\u2A02',\n 'bigsqcup': '\\u2A06',\n 'bigstar': '\\u2605',\n 'bigtriangledown': '\\u25BD',\n 'bigtriangleup': '\\u25B3',\n 'biguplus': '\\u2A04',\n 'bigvee': '\\u22C1',\n 'bigwedge': '\\u22C0',\n 'bkarow': '\\u290D',\n 'blacklozenge': '\\u29EB',\n 'blacksquare': '\\u25AA',\n 'blacktriangle': '\\u25B4',\n 'blacktriangledown': '\\u25BE',\n 'blacktriangleleft': '\\u25C2',\n 'blacktriangleright': '\\u25B8',\n 'blank': '\\u2423',\n 'blk12': '\\u2592',\n 'blk14': '\\u2591',\n 'blk34': '\\u2593',\n 'block': '\\u2588',\n 'bne': '=\\u20E5',\n 'bnequiv': '\\u2261\\u20E5',\n 'bnot': '\\u2310',\n 'bNot': '\\u2AED',\n 'bopf': '\\uD835\\uDD53',\n 'Bopf': '\\uD835\\uDD39',\n 'bot': '\\u22A5',\n 'bottom': '\\u22A5',\n 'bowtie': '\\u22C8',\n 'boxbox': '\\u29C9',\n 'boxdl': '\\u2510',\n 'boxdL': '\\u2555',\n 'boxDl': '\\u2556',\n 'boxDL': '\\u2557',\n 'boxdr': '\\u250C',\n 'boxdR': '\\u2552',\n 'boxDr': '\\u2553',\n 'boxDR': '\\u2554',\n 'boxh': '\\u2500',\n 'boxH': '\\u2550',\n 'boxhd': '\\u252C',\n 'boxhD': '\\u2565',\n 'boxHd': '\\u2564',\n 'boxHD': '\\u2566',\n 'boxhu': '\\u2534',\n 'boxhU': '\\u2568',\n 'boxHu': '\\u2567',\n 'boxHU': '\\u2569',\n 'boxminus': '\\u229F',\n 'boxplus': '\\u229E',\n 'boxtimes': '\\u22A0',\n 'boxul': '\\u2518',\n 'boxuL': '\\u255B',\n 'boxUl': '\\u255C',\n 'boxUL': '\\u255D',\n 'boxur': '\\u2514',\n 'boxuR': '\\u2558',\n 'boxUr': '\\u2559',\n 'boxUR': '\\u255A',\n 'boxv': '\\u2502',\n 'boxV': '\\u2551',\n 'boxvh': '\\u253C',\n 'boxvH': '\\u256A',\n 'boxVh': '\\u256B',\n 'boxVH': '\\u256C',\n 'boxvl': '\\u2524',\n 'boxvL': '\\u2561',\n 'boxVl': '\\u2562',\n 'boxVL': '\\u2563',\n 'boxvr': '\\u251C',\n 'boxvR': '\\u255E',\n 'boxVr': '\\u255F',\n 'boxVR': '\\u2560',\n 'bprime': '\\u2035',\n 'breve': '\\u02D8',\n 'Breve': '\\u02D8',\n 'brvbar': '\\xA6',\n 'bscr': '\\uD835\\uDCB7',\n 'Bscr': '\\u212C',\n 'bsemi': '\\u204F',\n 'bsim': '\\u223D',\n 'bsime': '\\u22CD',\n 'bsol': '\\\\',\n 'bsolb': '\\u29C5',\n 'bsolhsub': '\\u27C8',\n 'bull': '\\u2022',\n 'bullet': '\\u2022',\n 'bump': '\\u224E',\n 'bumpe': '\\u224F',\n 'bumpE': '\\u2AAE',\n 'bumpeq': '\\u224F',\n 'Bumpeq': '\\u224E',\n 'cacute': '\\u0107',\n 'Cacute': '\\u0106',\n 'cap': '\\u2229',\n 'Cap': '\\u22D2',\n 'capand': '\\u2A44',\n 'capbrcup': '\\u2A49',\n 'capcap': '\\u2A4B',\n 'capcup': '\\u2A47',\n 'capdot': '\\u2A40',\n 'CapitalDifferentialD': '\\u2145',\n 'caps': '\\u2229\\uFE00',\n 'caret': '\\u2041',\n 'caron': '\\u02C7',\n 'Cayleys': '\\u212D',\n 'ccaps': '\\u2A4D',\n 'ccaron': '\\u010D',\n 'Ccaron': '\\u010C',\n 'ccedil': '\\xE7',\n 'Ccedil': '\\xC7',\n 'ccirc': '\\u0109',\n 'Ccirc': '\\u0108',\n 'Cconint': '\\u2230',\n 'ccups': '\\u2A4C',\n 'ccupssm': '\\u2A50',\n 'cdot': '\\u010B',\n 'Cdot': '\\u010A',\n 'cedil': '\\xB8',\n 'Cedilla': '\\xB8',\n 'cemptyv': '\\u29B2',\n 'cent': '\\xA2',\n 'centerdot': '\\xB7',\n 'CenterDot': '\\xB7',\n 'cfr': '\\uD835\\uDD20',\n 'Cfr': '\\u212D',\n 'chcy': '\\u0447',\n 'CHcy': '\\u0427',\n 'check': '\\u2713',\n 'checkmark': '\\u2713',\n 'chi': '\\u03C7',\n 'Chi': '\\u03A7',\n 'cir': '\\u25CB',\n 'circ': '\\u02C6',\n 'circeq': '\\u2257',\n 'circlearrowleft': '\\u21BA',\n 'circlearrowright': '\\u21BB',\n 'circledast': '\\u229B',\n 'circledcirc': '\\u229A',\n 'circleddash': '\\u229D',\n 'CircleDot': '\\u2299',\n 'circledR': '\\xAE',\n 'circledS': '\\u24C8',\n 'CircleMinus': '\\u2296',\n 'CirclePlus': '\\u2295',\n 'CircleTimes': '\\u2297',\n 'cire': '\\u2257',\n 'cirE': '\\u29C3',\n 'cirfnint': '\\u2A10',\n 'cirmid': '\\u2AEF',\n 'cirscir': '\\u29C2',\n 'ClockwiseContourIntegral': '\\u2232',\n 'CloseCurlyDoubleQuote': '\\u201D',\n 'CloseCurlyQuote': '\\u2019',\n 'clubs': '\\u2663',\n 'clubsuit': '\\u2663',\n 'colon': ':',\n 'Colon': '\\u2237',\n 'colone': '\\u2254',\n 'Colone': '\\u2A74',\n 'coloneq': '\\u2254',\n 'comma': ',',\n 'commat': '@',\n 'comp': '\\u2201',\n 'compfn': '\\u2218',\n 'complement': '\\u2201',\n 'complexes': '\\u2102',\n 'cong': '\\u2245',\n 'congdot': '\\u2A6D',\n 'Congruent': '\\u2261',\n 'conint': '\\u222E',\n 'Conint': '\\u222F',\n 'ContourIntegral': '\\u222E',\n 'copf': '\\uD835\\uDD54',\n 'Copf': '\\u2102',\n 'coprod': '\\u2210',\n 'Coproduct': '\\u2210',\n 'copy': '\\xA9',\n 'COPY': '\\xA9',\n 'copysr': '\\u2117',\n 'CounterClockwiseContourIntegral': '\\u2233',\n 'crarr': '\\u21B5',\n 'cross': '\\u2717',\n 'Cross': '\\u2A2F',\n 'cscr': '\\uD835\\uDCB8',\n 'Cscr': '\\uD835\\uDC9E',\n 'csub': '\\u2ACF',\n 'csube': '\\u2AD1',\n 'csup': '\\u2AD0',\n 'csupe': '\\u2AD2',\n 'ctdot': '\\u22EF',\n 'cudarrl': '\\u2938',\n 'cudarrr': '\\u2935',\n 'cuepr': '\\u22DE',\n 'cuesc': '\\u22DF',\n 'cularr': '\\u21B6',\n 'cularrp': '\\u293D',\n 'cup': '\\u222A',\n 'Cup': '\\u22D3',\n 'cupbrcap': '\\u2A48',\n 'cupcap': '\\u2A46',\n 'CupCap': '\\u224D',\n 'cupcup': '\\u2A4A',\n 'cupdot': '\\u228D',\n 'cupor': '\\u2A45',\n 'cups': '\\u222A\\uFE00',\n 'curarr': '\\u21B7',\n 'curarrm': '\\u293C',\n 'curlyeqprec': '\\u22DE',\n 'curlyeqsucc': '\\u22DF',\n 'curlyvee': '\\u22CE',\n 'curlywedge': '\\u22CF',\n 'curren': '\\xA4',\n 'curvearrowleft': '\\u21B6',\n 'curvearrowright': '\\u21B7',\n 'cuvee': '\\u22CE',\n 'cuwed': '\\u22CF',\n 'cwconint': '\\u2232',\n 'cwint': '\\u2231',\n 'cylcty': '\\u232D',\n 'dagger': '\\u2020',\n 'Dagger': '\\u2021',\n 'daleth': '\\u2138',\n 'darr': '\\u2193',\n 'dArr': '\\u21D3',\n 'Darr': '\\u21A1',\n 'dash': '\\u2010',\n 'dashv': '\\u22A3',\n 'Dashv': '\\u2AE4',\n 'dbkarow': '\\u290F',\n 'dblac': '\\u02DD',\n 'dcaron': '\\u010F',\n 'Dcaron': '\\u010E',\n 'dcy': '\\u0434',\n 'Dcy': '\\u0414',\n 'dd': '\\u2146',\n 'DD': '\\u2145',\n 'ddagger': '\\u2021',\n 'ddarr': '\\u21CA',\n 'DDotrahd': '\\u2911',\n 'ddotseq': '\\u2A77',\n 'deg': '\\xB0',\n 'Del': '\\u2207',\n 'delta': '\\u03B4',\n 'Delta': '\\u0394',\n 'demptyv': '\\u29B1',\n 'dfisht': '\\u297F',\n 'dfr': '\\uD835\\uDD21',\n 'Dfr': '\\uD835\\uDD07',\n 'dHar': '\\u2965',\n 'dharl': '\\u21C3',\n 'dharr': '\\u21C2',\n 'DiacriticalAcute': '\\xB4',\n 'DiacriticalDot': '\\u02D9',\n 'DiacriticalDoubleAcute': '\\u02DD',\n 'DiacriticalGrave': '`',\n 'DiacriticalTilde': '\\u02DC',\n 'diam': '\\u22C4',\n 'diamond': '\\u22C4',\n 'Diamond': '\\u22C4',\n 'diamondsuit': '\\u2666',\n 'diams': '\\u2666',\n 'die': '\\xA8',\n 'DifferentialD': '\\u2146',\n 'digamma': '\\u03DD',\n 'disin': '\\u22F2',\n 'div': '\\xF7',\n 'divide': '\\xF7',\n 'divideontimes': '\\u22C7',\n 'divonx': '\\u22C7',\n 'djcy': '\\u0452',\n 'DJcy': '\\u0402',\n 'dlcorn': '\\u231E',\n 'dlcrop': '\\u230D',\n 'dollar': '$',\n 'dopf': '\\uD835\\uDD55',\n 'Dopf': '\\uD835\\uDD3B',\n 'dot': '\\u02D9',\n 'Dot': '\\xA8',\n 'DotDot': '\\u20DC',\n 'doteq': '\\u2250',\n 'doteqdot': '\\u2251',\n 'DotEqual': '\\u2250',\n 'dotminus': '\\u2238',\n 'dotplus': '\\u2214',\n 'dotsquare': '\\u22A1',\n 'doublebarwedge': '\\u2306',\n 'DoubleContourIntegral': '\\u222F',\n 'DoubleDot': '\\xA8',\n 'DoubleDownArrow': '\\u21D3',\n 'DoubleLeftArrow': '\\u21D0',\n 'DoubleLeftRightArrow': '\\u21D4',\n 'DoubleLeftTee': '\\u2AE4',\n 'DoubleLongLeftArrow': '\\u27F8',\n 'DoubleLongLeftRightArrow': '\\u27FA',\n 'DoubleLongRightArrow': '\\u27F9',\n 'DoubleRightArrow': '\\u21D2',\n 'DoubleRightTee': '\\u22A8',\n 'DoubleUpArrow': '\\u21D1',\n 'DoubleUpDownArrow': '\\u21D5',\n 'DoubleVerticalBar': '\\u2225',\n 'downarrow': '\\u2193',\n 'Downarrow': '\\u21D3',\n 'DownArrow': '\\u2193',\n 'DownArrowBar': '\\u2913',\n 'DownArrowUpArrow': '\\u21F5',\n 'DownBreve': '\\u0311',\n 'downdownarrows': '\\u21CA',\n 'downharpoonleft': '\\u21C3',\n 'downharpoonright': '\\u21C2',\n 'DownLeftRightVector': '\\u2950',\n 'DownLeftTeeVector': '\\u295E',\n 'DownLeftVector': '\\u21BD',\n 'DownLeftVectorBar': '\\u2956',\n 'DownRightTeeVector': '\\u295F',\n 'DownRightVector': '\\u21C1',\n 'DownRightVectorBar': '\\u2957',\n 'DownTee': '\\u22A4',\n 'DownTeeArrow': '\\u21A7',\n 'drbkarow': '\\u2910',\n 'drcorn': '\\u231F',\n 'drcrop': '\\u230C',\n 'dscr': '\\uD835\\uDCB9',\n 'Dscr': '\\uD835\\uDC9F',\n 'dscy': '\\u0455',\n 'DScy': '\\u0405',\n 'dsol': '\\u29F6',\n 'dstrok': '\\u0111',\n 'Dstrok': '\\u0110',\n 'dtdot': '\\u22F1',\n 'dtri': '\\u25BF',\n 'dtrif': '\\u25BE',\n 'duarr': '\\u21F5',\n 'duhar': '\\u296F',\n 'dwangle': '\\u29A6',\n 'dzcy': '\\u045F',\n 'DZcy': '\\u040F',\n 'dzigrarr': '\\u27FF',\n 'eacute': '\\xE9',\n 'Eacute': '\\xC9',\n 'easter': '\\u2A6E',\n 'ecaron': '\\u011B',\n 'Ecaron': '\\u011A',\n 'ecir': '\\u2256',\n 'ecirc': '\\xEA',\n 'Ecirc': '\\xCA',\n 'ecolon': '\\u2255',\n 'ecy': '\\u044D',\n 'Ecy': '\\u042D',\n 'eDDot': '\\u2A77',\n 'edot': '\\u0117',\n 'eDot': '\\u2251',\n 'Edot': '\\u0116',\n 'ee': '\\u2147',\n 'efDot': '\\u2252',\n 'efr': '\\uD835\\uDD22',\n 'Efr': '\\uD835\\uDD08',\n 'eg': '\\u2A9A',\n 'egrave': '\\xE8',\n 'Egrave': '\\xC8',\n 'egs': '\\u2A96',\n 'egsdot': '\\u2A98',\n 'el': '\\u2A99',\n 'Element': '\\u2208',\n 'elinters': '\\u23E7',\n 'ell': '\\u2113',\n 'els': '\\u2A95',\n 'elsdot': '\\u2A97',\n 'emacr': '\\u0113',\n 'Emacr': '\\u0112',\n 'empty': '\\u2205',\n 'emptyset': '\\u2205',\n 'EmptySmallSquare': '\\u25FB',\n 'emptyv': '\\u2205',\n 'EmptyVerySmallSquare': '\\u25AB',\n 'emsp': '\\u2003',\n 'emsp13': '\\u2004',\n 'emsp14': '\\u2005',\n 'eng': '\\u014B',\n 'ENG': '\\u014A',\n 'ensp': '\\u2002',\n 'eogon': '\\u0119',\n 'Eogon': '\\u0118',\n 'eopf': '\\uD835\\uDD56',\n 'Eopf': '\\uD835\\uDD3C',\n 'epar': '\\u22D5',\n 'eparsl': '\\u29E3',\n 'eplus': '\\u2A71',\n 'epsi': '\\u03B5',\n 'epsilon': '\\u03B5',\n 'Epsilon': '\\u0395',\n 'epsiv': '\\u03F5',\n 'eqcirc': '\\u2256',\n 'eqcolon': '\\u2255',\n 'eqsim': '\\u2242',\n 'eqslantgtr': '\\u2A96',\n 'eqslantless': '\\u2A95',\n 'Equal': '\\u2A75',\n 'equals': '=',\n 'EqualTilde': '\\u2242',\n 'equest': '\\u225F',\n 'Equilibrium': '\\u21CC',\n 'equiv': '\\u2261',\n 'equivDD': '\\u2A78',\n 'eqvparsl': '\\u29E5',\n 'erarr': '\\u2971',\n 'erDot': '\\u2253',\n 'escr': '\\u212F',\n 'Escr': '\\u2130',\n 'esdot': '\\u2250',\n 'esim': '\\u2242',\n 'Esim': '\\u2A73',\n 'eta': '\\u03B7',\n 'Eta': '\\u0397',\n 'eth': '\\xF0',\n 'ETH': '\\xD0',\n 'euml': '\\xEB',\n 'Euml': '\\xCB',\n 'euro': '\\u20AC',\n 'excl': '!',\n 'exist': '\\u2203',\n 'Exists': '\\u2203',\n 'expectation': '\\u2130',\n 'exponentiale': '\\u2147',\n 'ExponentialE': '\\u2147',\n 'fallingdotseq': '\\u2252',\n 'fcy': '\\u0444',\n 'Fcy': '\\u0424',\n 'female': '\\u2640',\n 'ffilig': '\\uFB03',\n 'fflig': '\\uFB00',\n 'ffllig': '\\uFB04',\n 'ffr': '\\uD835\\uDD23',\n 'Ffr': '\\uD835\\uDD09',\n 'filig': '\\uFB01',\n 'FilledSmallSquare': '\\u25FC',\n 'FilledVerySmallSquare': '\\u25AA',\n 'fjlig': 'fj',\n 'flat': '\\u266D',\n 'fllig': '\\uFB02',\n 'fltns': '\\u25B1',\n 'fnof': '\\u0192',\n 'fopf': '\\uD835\\uDD57',\n 'Fopf': '\\uD835\\uDD3D',\n 'forall': '\\u2200',\n 'ForAll': '\\u2200',\n 'fork': '\\u22D4',\n 'forkv': '\\u2AD9',\n 'Fouriertrf': '\\u2131',\n 'fpartint': '\\u2A0D',\n 'frac12': '\\xBD',\n 'frac13': '\\u2153',\n 'frac14': '\\xBC',\n 'frac15': '\\u2155',\n 'frac16': '\\u2159',\n 'frac18': '\\u215B',\n 'frac23': '\\u2154',\n 'frac25': '\\u2156',\n 'frac34': '\\xBE',\n 'frac35': '\\u2157',\n 'frac38': '\\u215C',\n 'frac45': '\\u2158',\n 'frac56': '\\u215A',\n 'frac58': '\\u215D',\n 'frac78': '\\u215E',\n 'frasl': '\\u2044',\n 'frown': '\\u2322',\n 'fscr': '\\uD835\\uDCBB',\n 'Fscr': '\\u2131',\n 'gacute': '\\u01F5',\n 'gamma': '\\u03B3',\n 'Gamma': '\\u0393',\n 'gammad': '\\u03DD',\n 'Gammad': '\\u03DC',\n 'gap': '\\u2A86',\n 'gbreve': '\\u011F',\n 'Gbreve': '\\u011E',\n 'Gcedil': '\\u0122',\n 'gcirc': '\\u011D',\n 'Gcirc': '\\u011C',\n 'gcy': '\\u0433',\n 'Gcy': '\\u0413',\n 'gdot': '\\u0121',\n 'Gdot': '\\u0120',\n 'ge': '\\u2265',\n 'gE': '\\u2267',\n 'gel': '\\u22DB',\n 'gEl': '\\u2A8C',\n 'geq': '\\u2265',\n 'geqq': '\\u2267',\n 'geqslant': '\\u2A7E',\n 'ges': '\\u2A7E',\n 'gescc': '\\u2AA9',\n 'gesdot': '\\u2A80',\n 'gesdoto': '\\u2A82',\n 'gesdotol': '\\u2A84',\n 'gesl': '\\u22DB\\uFE00',\n 'gesles': '\\u2A94',\n 'gfr': '\\uD835\\uDD24',\n 'Gfr': '\\uD835\\uDD0A',\n 'gg': '\\u226B',\n 'Gg': '\\u22D9',\n 'ggg': '\\u22D9',\n 'gimel': '\\u2137',\n 'gjcy': '\\u0453',\n 'GJcy': '\\u0403',\n 'gl': '\\u2277',\n 'gla': '\\u2AA5',\n 'glE': '\\u2A92',\n 'glj': '\\u2AA4',\n 'gnap': '\\u2A8A',\n 'gnapprox': '\\u2A8A',\n 'gne': '\\u2A88',\n 'gnE': '\\u2269',\n 'gneq': '\\u2A88',\n 'gneqq': '\\u2269',\n 'gnsim': '\\u22E7',\n 'gopf': '\\uD835\\uDD58',\n 'Gopf': '\\uD835\\uDD3E',\n 'grave': '`',\n 'GreaterEqual': '\\u2265',\n 'GreaterEqualLess': '\\u22DB',\n 'GreaterFullEqual': '\\u2267',\n 'GreaterGreater': '\\u2AA2',\n 'GreaterLess': '\\u2277',\n 'GreaterSlantEqual': '\\u2A7E',\n 'GreaterTilde': '\\u2273',\n 'gscr': '\\u210A',\n 'Gscr': '\\uD835\\uDCA2',\n 'gsim': '\\u2273',\n 'gsime': '\\u2A8E',\n 'gsiml': '\\u2A90',\n 'gt': '>',\n 'Gt': '\\u226B',\n 'GT': '>',\n 'gtcc': '\\u2AA7',\n 'gtcir': '\\u2A7A',\n 'gtdot': '\\u22D7',\n 'gtlPar': '\\u2995',\n 'gtquest': '\\u2A7C',\n 'gtrapprox': '\\u2A86',\n 'gtrarr': '\\u2978',\n 'gtrdot': '\\u22D7',\n 'gtreqless': '\\u22DB',\n 'gtreqqless': '\\u2A8C',\n 'gtrless': '\\u2277',\n 'gtrsim': '\\u2273',\n 'gvertneqq': '\\u2269\\uFE00',\n 'gvnE': '\\u2269\\uFE00',\n 'Hacek': '\\u02C7',\n 'hairsp': '\\u200A',\n 'half': '\\xBD',\n 'hamilt': '\\u210B',\n 'hardcy': '\\u044A',\n 'HARDcy': '\\u042A',\n 'harr': '\\u2194',\n 'hArr': '\\u21D4',\n 'harrcir': '\\u2948',\n 'harrw': '\\u21AD',\n 'Hat': '^',\n 'hbar': '\\u210F',\n 'hcirc': '\\u0125',\n 'Hcirc': '\\u0124',\n 'hearts': '\\u2665',\n 'heartsuit': '\\u2665',\n 'hellip': '\\u2026',\n 'hercon': '\\u22B9',\n 'hfr': '\\uD835\\uDD25',\n 'Hfr': '\\u210C',\n 'HilbertSpace': '\\u210B',\n 'hksearow': '\\u2925',\n 'hkswarow': '\\u2926',\n 'hoarr': '\\u21FF',\n 'homtht': '\\u223B',\n 'hookleftarrow': '\\u21A9',\n 'hookrightarrow': '\\u21AA',\n 'hopf': '\\uD835\\uDD59',\n 'Hopf': '\\u210D',\n 'horbar': '\\u2015',\n 'HorizontalLine': '\\u2500',\n 'hscr': '\\uD835\\uDCBD',\n 'Hscr': '\\u210B',\n 'hslash': '\\u210F',\n 'hstrok': '\\u0127',\n 'Hstrok': '\\u0126',\n 'HumpDownHump': '\\u224E',\n 'HumpEqual': '\\u224F',\n 'hybull': '\\u2043',\n 'hyphen': '\\u2010',\n 'iacute': '\\xED',\n 'Iacute': '\\xCD',\n 'ic': '\\u2063',\n 'icirc': '\\xEE',\n 'Icirc': '\\xCE',\n 'icy': '\\u0438',\n 'Icy': '\\u0418',\n 'Idot': '\\u0130',\n 'iecy': '\\u0435',\n 'IEcy': '\\u0415',\n 'iexcl': '\\xA1',\n 'iff': '\\u21D4',\n 'ifr': '\\uD835\\uDD26',\n 'Ifr': '\\u2111',\n 'igrave': '\\xEC',\n 'Igrave': '\\xCC',\n 'ii': '\\u2148',\n 'iiiint': '\\u2A0C',\n 'iiint': '\\u222D',\n 'iinfin': '\\u29DC',\n 'iiota': '\\u2129',\n 'ijlig': '\\u0133',\n 'IJlig': '\\u0132',\n 'Im': '\\u2111',\n 'imacr': '\\u012B',\n 'Imacr': '\\u012A',\n 'image': '\\u2111',\n 'ImaginaryI': '\\u2148',\n 'imagline': '\\u2110',\n 'imagpart': '\\u2111',\n 'imath': '\\u0131',\n 'imof': '\\u22B7',\n 'imped': '\\u01B5',\n 'Implies': '\\u21D2',\n 'in': '\\u2208',\n 'incare': '\\u2105',\n 'infin': '\\u221E',\n 'infintie': '\\u29DD',\n 'inodot': '\\u0131',\n 'int': '\\u222B',\n 'Int': '\\u222C',\n 'intcal': '\\u22BA',\n 'integers': '\\u2124',\n 'Integral': '\\u222B',\n 'intercal': '\\u22BA',\n 'Intersection': '\\u22C2',\n 'intlarhk': '\\u2A17',\n 'intprod': '\\u2A3C',\n 'InvisibleComma': '\\u2063',\n 'InvisibleTimes': '\\u2062',\n 'iocy': '\\u0451',\n 'IOcy': '\\u0401',\n 'iogon': '\\u012F',\n 'Iogon': '\\u012E',\n 'iopf': '\\uD835\\uDD5A',\n 'Iopf': '\\uD835\\uDD40',\n 'iota': '\\u03B9',\n 'Iota': '\\u0399',\n 'iprod': '\\u2A3C',\n 'iquest': '\\xBF',\n 'iscr': '\\uD835\\uDCBE',\n 'Iscr': '\\u2110',\n 'isin': '\\u2208',\n 'isindot': '\\u22F5',\n 'isinE': '\\u22F9',\n 'isins': '\\u22F4',\n 'isinsv': '\\u22F3',\n 'isinv': '\\u2208',\n 'it': '\\u2062',\n 'itilde': '\\u0129',\n 'Itilde': '\\u0128',\n 'iukcy': '\\u0456',\n 'Iukcy': '\\u0406',\n 'iuml': '\\xEF',\n 'Iuml': '\\xCF',\n 'jcirc': '\\u0135',\n 'Jcirc': '\\u0134',\n 'jcy': '\\u0439',\n 'Jcy': '\\u0419',\n 'jfr': '\\uD835\\uDD27',\n 'Jfr': '\\uD835\\uDD0D',\n 'jmath': '\\u0237',\n 'jopf': '\\uD835\\uDD5B',\n 'Jopf': '\\uD835\\uDD41',\n 'jscr': '\\uD835\\uDCBF',\n 'Jscr': '\\uD835\\uDCA5',\n 'jsercy': '\\u0458',\n 'Jsercy': '\\u0408',\n 'jukcy': '\\u0454',\n 'Jukcy': '\\u0404',\n 'kappa': '\\u03BA',\n 'Kappa': '\\u039A',\n 'kappav': '\\u03F0',\n 'kcedil': '\\u0137',\n 'Kcedil': '\\u0136',\n 'kcy': '\\u043A',\n 'Kcy': '\\u041A',\n 'kfr': '\\uD835\\uDD28',\n 'Kfr': '\\uD835\\uDD0E',\n 'kgreen': '\\u0138',\n 'khcy': '\\u0445',\n 'KHcy': '\\u0425',\n 'kjcy': '\\u045C',\n 'KJcy': '\\u040C',\n 'kopf': '\\uD835\\uDD5C',\n 'Kopf': '\\uD835\\uDD42',\n 'kscr': '\\uD835\\uDCC0',\n 'Kscr': '\\uD835\\uDCA6',\n 'lAarr': '\\u21DA',\n 'lacute': '\\u013A',\n 'Lacute': '\\u0139',\n 'laemptyv': '\\u29B4',\n 'lagran': '\\u2112',\n 'lambda': '\\u03BB',\n 'Lambda': '\\u039B',\n 'lang': '\\u27E8',\n 'Lang': '\\u27EA',\n 'langd': '\\u2991',\n 'langle': '\\u27E8',\n 'lap': '\\u2A85',\n 'Laplacetrf': '\\u2112',\n 'laquo': '\\xAB',\n 'larr': '\\u2190',\n 'lArr': '\\u21D0',\n 'Larr': '\\u219E',\n 'larrb': '\\u21E4',\n 'larrbfs': '\\u291F',\n 'larrfs': '\\u291D',\n 'larrhk': '\\u21A9',\n 'larrlp': '\\u21AB',\n 'larrpl': '\\u2939',\n 'larrsim': '\\u2973',\n 'larrtl': '\\u21A2',\n 'lat': '\\u2AAB',\n 'latail': '\\u2919',\n 'lAtail': '\\u291B',\n 'late': '\\u2AAD',\n 'lates': '\\u2AAD\\uFE00',\n 'lbarr': '\\u290C',\n 'lBarr': '\\u290E',\n 'lbbrk': '\\u2772',\n 'lbrace': '{',\n 'lbrack': '[',\n 'lbrke': '\\u298B',\n 'lbrksld': '\\u298F',\n 'lbrkslu': '\\u298D',\n 'lcaron': '\\u013E',\n 'Lcaron': '\\u013D',\n 'lcedil': '\\u013C',\n 'Lcedil': '\\u013B',\n 'lceil': '\\u2308',\n 'lcub': '{',\n 'lcy': '\\u043B',\n 'Lcy': '\\u041B',\n 'ldca': '\\u2936',\n 'ldquo': '\\u201C',\n 'ldquor': '\\u201E',\n 'ldrdhar': '\\u2967',\n 'ldrushar': '\\u294B',\n 'ldsh': '\\u21B2',\n 'le': '\\u2264',\n 'lE': '\\u2266',\n 'LeftAngleBracket': '\\u27E8',\n 'leftarrow': '\\u2190',\n 'Leftarrow': '\\u21D0',\n 'LeftArrow': '\\u2190',\n 'LeftArrowBar': '\\u21E4',\n 'LeftArrowRightArrow': '\\u21C6',\n 'leftarrowtail': '\\u21A2',\n 'LeftCeiling': '\\u2308',\n 'LeftDoubleBracket': '\\u27E6',\n 'LeftDownTeeVector': '\\u2961',\n 'LeftDownVector': '\\u21C3',\n 'LeftDownVectorBar': '\\u2959',\n 'LeftFloor': '\\u230A',\n 'leftharpoondown': '\\u21BD',\n 'leftharpoonup': '\\u21BC',\n 'leftleftarrows': '\\u21C7',\n 'leftrightarrow': '\\u2194',\n 'Leftrightarrow': '\\u21D4',\n 'LeftRightArrow': '\\u2194',\n 'leftrightarrows': '\\u21C6',\n 'leftrightharpoons': '\\u21CB',\n 'leftrightsquigarrow': '\\u21AD',\n 'LeftRightVector': '\\u294E',\n 'LeftTee': '\\u22A3',\n 'LeftTeeArrow': '\\u21A4',\n 'LeftTeeVector': '\\u295A',\n 'leftthreetimes': '\\u22CB',\n 'LeftTriangle': '\\u22B2',\n 'LeftTriangleBar': '\\u29CF',\n 'LeftTriangleEqual': '\\u22B4',\n 'LeftUpDownVector': '\\u2951',\n 'LeftUpTeeVector': '\\u2960',\n 'LeftUpVector': '\\u21BF',\n 'LeftUpVectorBar': '\\u2958',\n 'LeftVector': '\\u21BC',\n 'LeftVectorBar': '\\u2952',\n 'leg': '\\u22DA',\n 'lEg': '\\u2A8B',\n 'leq': '\\u2264',\n 'leqq': '\\u2266',\n 'leqslant': '\\u2A7D',\n 'les': '\\u2A7D',\n 'lescc': '\\u2AA8',\n 'lesdot': '\\u2A7F',\n 'lesdoto': '\\u2A81',\n 'lesdotor': '\\u2A83',\n 'lesg': '\\u22DA\\uFE00',\n 'lesges': '\\u2A93',\n 'lessapprox': '\\u2A85',\n 'lessdot': '\\u22D6',\n 'lesseqgtr': '\\u22DA',\n 'lesseqqgtr': '\\u2A8B',\n 'LessEqualGreater': '\\u22DA',\n 'LessFullEqual': '\\u2266',\n 'LessGreater': '\\u2276',\n 'lessgtr': '\\u2276',\n 'LessLess': '\\u2AA1',\n 'lesssim': '\\u2272',\n 'LessSlantEqual': '\\u2A7D',\n 'LessTilde': '\\u2272',\n 'lfisht': '\\u297C',\n 'lfloor': '\\u230A',\n 'lfr': '\\uD835\\uDD29',\n 'Lfr': '\\uD835\\uDD0F',\n 'lg': '\\u2276',\n 'lgE': '\\u2A91',\n 'lHar': '\\u2962',\n 'lhard': '\\u21BD',\n 'lharu': '\\u21BC',\n 'lharul': '\\u296A',\n 'lhblk': '\\u2584',\n 'ljcy': '\\u0459',\n 'LJcy': '\\u0409',\n 'll': '\\u226A',\n 'Ll': '\\u22D8',\n 'llarr': '\\u21C7',\n 'llcorner': '\\u231E',\n 'Lleftarrow': '\\u21DA',\n 'llhard': '\\u296B',\n 'lltri': '\\u25FA',\n 'lmidot': '\\u0140',\n 'Lmidot': '\\u013F',\n 'lmoust': '\\u23B0',\n 'lmoustache': '\\u23B0',\n 'lnap': '\\u2A89',\n 'lnapprox': '\\u2A89',\n 'lne': '\\u2A87',\n 'lnE': '\\u2268',\n 'lneq': '\\u2A87',\n 'lneqq': '\\u2268',\n 'lnsim': '\\u22E6',\n 'loang': '\\u27EC',\n 'loarr': '\\u21FD',\n 'lobrk': '\\u27E6',\n 'longleftarrow': '\\u27F5',\n 'Longleftarrow': '\\u27F8',\n 'LongLeftArrow': '\\u27F5',\n 'longleftrightarrow': '\\u27F7',\n 'Longleftrightarrow': '\\u27FA',\n 'LongLeftRightArrow': '\\u27F7',\n 'longmapsto': '\\u27FC',\n 'longrightarrow': '\\u27F6',\n 'Longrightarrow': '\\u27F9',\n 'LongRightArrow': '\\u27F6',\n 'looparrowleft': '\\u21AB',\n 'looparrowright': '\\u21AC',\n 'lopar': '\\u2985',\n 'lopf': '\\uD835\\uDD5D',\n 'Lopf': '\\uD835\\uDD43',\n 'loplus': '\\u2A2D',\n 'lotimes': '\\u2A34',\n 'lowast': '\\u2217',\n 'lowbar': '_',\n 'LowerLeftArrow': '\\u2199',\n 'LowerRightArrow': '\\u2198',\n 'loz': '\\u25CA',\n 'lozenge': '\\u25CA',\n 'lozf': '\\u29EB',\n 'lpar': '(',\n 'lparlt': '\\u2993',\n 'lrarr': '\\u21C6',\n 'lrcorner': '\\u231F',\n 'lrhar': '\\u21CB',\n 'lrhard': '\\u296D',\n 'lrm': '\\u200E',\n 'lrtri': '\\u22BF',\n 'lsaquo': '\\u2039',\n 'lscr': '\\uD835\\uDCC1',\n 'Lscr': '\\u2112',\n 'lsh': '\\u21B0',\n 'Lsh': '\\u21B0',\n 'lsim': '\\u2272',\n 'lsime': '\\u2A8D',\n 'lsimg': '\\u2A8F',\n 'lsqb': '[',\n 'lsquo': '\\u2018',\n 'lsquor': '\\u201A',\n 'lstrok': '\\u0142',\n 'Lstrok': '\\u0141',\n 'lt': '<',\n 'Lt': '\\u226A',\n 'LT': '<',\n 'ltcc': '\\u2AA6',\n 'ltcir': '\\u2A79',\n 'ltdot': '\\u22D6',\n 'lthree': '\\u22CB',\n 'ltimes': '\\u22C9',\n 'ltlarr': '\\u2976',\n 'ltquest': '\\u2A7B',\n 'ltri': '\\u25C3',\n 'ltrie': '\\u22B4',\n 'ltrif': '\\u25C2',\n 'ltrPar': '\\u2996',\n 'lurdshar': '\\u294A',\n 'luruhar': '\\u2966',\n 'lvertneqq': '\\u2268\\uFE00',\n 'lvnE': '\\u2268\\uFE00',\n 'macr': '\\xAF',\n 'male': '\\u2642',\n 'malt': '\\u2720',\n 'maltese': '\\u2720',\n 'map': '\\u21A6',\n 'Map': '\\u2905',\n 'mapsto': '\\u21A6',\n 'mapstodown': '\\u21A7',\n 'mapstoleft': '\\u21A4',\n 'mapstoup': '\\u21A5',\n 'marker': '\\u25AE',\n 'mcomma': '\\u2A29',\n 'mcy': '\\u043C',\n 'Mcy': '\\u041C',\n 'mdash': '\\u2014',\n 'mDDot': '\\u223A',\n 'measuredangle': '\\u2221',\n 'MediumSpace': '\\u205F',\n 'Mellintrf': '\\u2133',\n 'mfr': '\\uD835\\uDD2A',\n 'Mfr': '\\uD835\\uDD10',\n 'mho': '\\u2127',\n 'micro': '\\xB5',\n 'mid': '\\u2223',\n 'midast': '*',\n 'midcir': '\\u2AF0',\n 'middot': '\\xB7',\n 'minus': '\\u2212',\n 'minusb': '\\u229F',\n 'minusd': '\\u2238',\n 'minusdu': '\\u2A2A',\n 'MinusPlus': '\\u2213',\n 'mlcp': '\\u2ADB',\n 'mldr': '\\u2026',\n 'mnplus': '\\u2213',\n 'models': '\\u22A7',\n 'mopf': '\\uD835\\uDD5E',\n 'Mopf': '\\uD835\\uDD44',\n 'mp': '\\u2213',\n 'mscr': '\\uD835\\uDCC2',\n 'Mscr': '\\u2133',\n 'mstpos': '\\u223E',\n 'mu': '\\u03BC',\n 'Mu': '\\u039C',\n 'multimap': '\\u22B8',\n 'mumap': '\\u22B8',\n 'nabla': '\\u2207',\n 'nacute': '\\u0144',\n 'Nacute': '\\u0143',\n 'nang': '\\u2220\\u20D2',\n 'nap': '\\u2249',\n 'napE': '\\u2A70\\u0338',\n 'napid': '\\u224B\\u0338',\n 'napos': '\\u0149',\n 'napprox': '\\u2249',\n 'natur': '\\u266E',\n 'natural': '\\u266E',\n 'naturals': '\\u2115',\n 'nbsp': '\\xA0',\n 'nbump': '\\u224E\\u0338',\n 'nbumpe': '\\u224F\\u0338',\n 'ncap': '\\u2A43',\n 'ncaron': '\\u0148',\n 'Ncaron': '\\u0147',\n 'ncedil': '\\u0146',\n 'Ncedil': '\\u0145',\n 'ncong': '\\u2247',\n 'ncongdot': '\\u2A6D\\u0338',\n 'ncup': '\\u2A42',\n 'ncy': '\\u043D',\n 'Ncy': '\\u041D',\n 'ndash': '\\u2013',\n 'ne': '\\u2260',\n 'nearhk': '\\u2924',\n 'nearr': '\\u2197',\n 'neArr': '\\u21D7',\n 'nearrow': '\\u2197',\n 'nedot': '\\u2250\\u0338',\n 'NegativeMediumSpace': '\\u200B',\n 'NegativeThickSpace': '\\u200B',\n 'NegativeThinSpace': '\\u200B',\n 'NegativeVeryThinSpace': '\\u200B',\n 'nequiv': '\\u2262',\n 'nesear': '\\u2928',\n 'nesim': '\\u2242\\u0338',\n 'NestedGreaterGreater': '\\u226B',\n 'NestedLessLess': '\\u226A',\n 'NewLine': '\\n',\n 'nexist': '\\u2204',\n 'nexists': '\\u2204',\n 'nfr': '\\uD835\\uDD2B',\n 'Nfr': '\\uD835\\uDD11',\n 'nge': '\\u2271',\n 'ngE': '\\u2267\\u0338',\n 'ngeq': '\\u2271',\n 'ngeqq': '\\u2267\\u0338',\n 'ngeqslant': '\\u2A7E\\u0338',\n 'nges': '\\u2A7E\\u0338',\n 'nGg': '\\u22D9\\u0338',\n 'ngsim': '\\u2275',\n 'ngt': '\\u226F',\n 'nGt': '\\u226B\\u20D2',\n 'ngtr': '\\u226F',\n 'nGtv': '\\u226B\\u0338',\n 'nharr': '\\u21AE',\n 'nhArr': '\\u21CE',\n 'nhpar': '\\u2AF2',\n 'ni': '\\u220B',\n 'nis': '\\u22FC',\n 'nisd': '\\u22FA',\n 'niv': '\\u220B',\n 'njcy': '\\u045A',\n 'NJcy': '\\u040A',\n 'nlarr': '\\u219A',\n 'nlArr': '\\u21CD',\n 'nldr': '\\u2025',\n 'nle': '\\u2270',\n 'nlE': '\\u2266\\u0338',\n 'nleftarrow': '\\u219A',\n 'nLeftarrow': '\\u21CD',\n 'nleftrightarrow': '\\u21AE',\n 'nLeftrightarrow': '\\u21CE',\n 'nleq': '\\u2270',\n 'nleqq': '\\u2266\\u0338',\n 'nleqslant': '\\u2A7D\\u0338',\n 'nles': '\\u2A7D\\u0338',\n 'nless': '\\u226E',\n 'nLl': '\\u22D8\\u0338',\n 'nlsim': '\\u2274',\n 'nlt': '\\u226E',\n 'nLt': '\\u226A\\u20D2',\n 'nltri': '\\u22EA',\n 'nltrie': '\\u22EC',\n 'nLtv': '\\u226A\\u0338',\n 'nmid': '\\u2224',\n 'NoBreak': '\\u2060',\n 'NonBreakingSpace': '\\xA0',\n 'nopf': '\\uD835\\uDD5F',\n 'Nopf': '\\u2115',\n 'not': '\\xAC',\n 'Not': '\\u2AEC',\n 'NotCongruent': '\\u2262',\n 'NotCupCap': '\\u226D',\n 'NotDoubleVerticalBar': '\\u2226',\n 'NotElement': '\\u2209',\n 'NotEqual': '\\u2260',\n 'NotEqualTilde': '\\u2242\\u0338',\n 'NotExists': '\\u2204',\n 'NotGreater': '\\u226F',\n 'NotGreaterEqual': '\\u2271',\n 'NotGreaterFullEqual': '\\u2267\\u0338',\n 'NotGreaterGreater': '\\u226B\\u0338',\n 'NotGreaterLess': '\\u2279',\n 'NotGreaterSlantEqual': '\\u2A7E\\u0338',\n 'NotGreaterTilde': '\\u2275',\n 'NotHumpDownHump': '\\u224E\\u0338',\n 'NotHumpEqual': '\\u224F\\u0338',\n 'notin': '\\u2209',\n 'notindot': '\\u22F5\\u0338',\n 'notinE': '\\u22F9\\u0338',\n 'notinva': '\\u2209',\n 'notinvb': '\\u22F7',\n 'notinvc': '\\u22F6',\n 'NotLeftTriangle': '\\u22EA',\n 'NotLeftTriangleBar': '\\u29CF\\u0338',\n 'NotLeftTriangleEqual': '\\u22EC',\n 'NotLess': '\\u226E',\n 'NotLessEqual': '\\u2270',\n 'NotLessGreater': '\\u2278',\n 'NotLessLess': '\\u226A\\u0338',\n 'NotLessSlantEqual': '\\u2A7D\\u0338',\n 'NotLessTilde': '\\u2274',\n 'NotNestedGreaterGreater': '\\u2AA2\\u0338',\n 'NotNestedLessLess': '\\u2AA1\\u0338',\n 'notni': '\\u220C',\n 'notniva': '\\u220C',\n 'notnivb': '\\u22FE',\n 'notnivc': '\\u22FD',\n 'NotPrecedes': '\\u2280',\n 'NotPrecedesEqual': '\\u2AAF\\u0338',\n 'NotPrecedesSlantEqual': '\\u22E0',\n 'NotReverseElement': '\\u220C',\n 'NotRightTriangle': '\\u22EB',\n 'NotRightTriangleBar': '\\u29D0\\u0338',\n 'NotRightTriangleEqual': '\\u22ED',\n 'NotSquareSubset': '\\u228F\\u0338',\n 'NotSquareSubsetEqual': '\\u22E2',\n 'NotSquareSuperset': '\\u2290\\u0338',\n 'NotSquareSupersetEqual': '\\u22E3',\n 'NotSubset': '\\u2282\\u20D2',\n 'NotSubsetEqual': '\\u2288',\n 'NotSucceeds': '\\u2281',\n 'NotSucceedsEqual': '\\u2AB0\\u0338',\n 'NotSucceedsSlantEqual': '\\u22E1',\n 'NotSucceedsTilde': '\\u227F\\u0338',\n 'NotSuperset': '\\u2283\\u20D2',\n 'NotSupersetEqual': '\\u2289',\n 'NotTilde': '\\u2241',\n 'NotTildeEqual': '\\u2244',\n 'NotTildeFullEqual': '\\u2247',\n 'NotTildeTilde': '\\u2249',\n 'NotVerticalBar': '\\u2224',\n 'npar': '\\u2226',\n 'nparallel': '\\u2226',\n 'nparsl': '\\u2AFD\\u20E5',\n 'npart': '\\u2202\\u0338',\n 'npolint': '\\u2A14',\n 'npr': '\\u2280',\n 'nprcue': '\\u22E0',\n 'npre': '\\u2AAF\\u0338',\n 'nprec': '\\u2280',\n 'npreceq': '\\u2AAF\\u0338',\n 'nrarr': '\\u219B',\n 'nrArr': '\\u21CF',\n 'nrarrc': '\\u2933\\u0338',\n 'nrarrw': '\\u219D\\u0338',\n 'nrightarrow': '\\u219B',\n 'nRightarrow': '\\u21CF',\n 'nrtri': '\\u22EB',\n 'nrtrie': '\\u22ED',\n 'nsc': '\\u2281',\n 'nsccue': '\\u22E1',\n 'nsce': '\\u2AB0\\u0338',\n 'nscr': '\\uD835\\uDCC3',\n 'Nscr': '\\uD835\\uDCA9',\n 'nshortmid': '\\u2224',\n 'nshortparallel': '\\u2226',\n 'nsim': '\\u2241',\n 'nsime': '\\u2244',\n 'nsimeq': '\\u2244',\n 'nsmid': '\\u2224',\n 'nspar': '\\u2226',\n 'nsqsube': '\\u22E2',\n 'nsqsupe': '\\u22E3',\n 'nsub': '\\u2284',\n 'nsube': '\\u2288',\n 'nsubE': '\\u2AC5\\u0338',\n 'nsubset': '\\u2282\\u20D2',\n 'nsubseteq': '\\u2288',\n 'nsubseteqq': '\\u2AC5\\u0338',\n 'nsucc': '\\u2281',\n 'nsucceq': '\\u2AB0\\u0338',\n 'nsup': '\\u2285',\n 'nsupe': '\\u2289',\n 'nsupE': '\\u2AC6\\u0338',\n 'nsupset': '\\u2283\\u20D2',\n 'nsupseteq': '\\u2289',\n 'nsupseteqq': '\\u2AC6\\u0338',\n 'ntgl': '\\u2279',\n 'ntilde': '\\xF1',\n 'Ntilde': '\\xD1',\n 'ntlg': '\\u2278',\n 'ntriangleleft': '\\u22EA',\n 'ntrianglelefteq': '\\u22EC',\n 'ntriangleright': '\\u22EB',\n 'ntrianglerighteq': '\\u22ED',\n 'nu': '\\u03BD',\n 'Nu': '\\u039D',\n 'num': '#',\n 'numero': '\\u2116',\n 'numsp': '\\u2007',\n 'nvap': '\\u224D\\u20D2',\n 'nvdash': '\\u22AC',\n 'nvDash': '\\u22AD',\n 'nVdash': '\\u22AE',\n 'nVDash': '\\u22AF',\n 'nvge': '\\u2265\\u20D2',\n 'nvgt': '>\\u20D2',\n 'nvHarr': '\\u2904',\n 'nvinfin': '\\u29DE',\n 'nvlArr': '\\u2902',\n 'nvle': '\\u2264\\u20D2',\n 'nvlt': '<\\u20D2',\n 'nvltrie': '\\u22B4\\u20D2',\n 'nvrArr': '\\u2903',\n 'nvrtrie': '\\u22B5\\u20D2',\n 'nvsim': '\\u223C\\u20D2',\n 'nwarhk': '\\u2923',\n 'nwarr': '\\u2196',\n 'nwArr': '\\u21D6',\n 'nwarrow': '\\u2196',\n 'nwnear': '\\u2927',\n 'oacute': '\\xF3',\n 'Oacute': '\\xD3',\n 'oast': '\\u229B',\n 'ocir': '\\u229A',\n 'ocirc': '\\xF4',\n 'Ocirc': '\\xD4',\n 'ocy': '\\u043E',\n 'Ocy': '\\u041E',\n 'odash': '\\u229D',\n 'odblac': '\\u0151',\n 'Odblac': '\\u0150',\n 'odiv': '\\u2A38',\n 'odot': '\\u2299',\n 'odsold': '\\u29BC',\n 'oelig': '\\u0153',\n 'OElig': '\\u0152',\n 'ofcir': '\\u29BF',\n 'ofr': '\\uD835\\uDD2C',\n 'Ofr': '\\uD835\\uDD12',\n 'ogon': '\\u02DB',\n 'ograve': '\\xF2',\n 'Ograve': '\\xD2',\n 'ogt': '\\u29C1',\n 'ohbar': '\\u29B5',\n 'ohm': '\\u03A9',\n 'oint': '\\u222E',\n 'olarr': '\\u21BA',\n 'olcir': '\\u29BE',\n 'olcross': '\\u29BB',\n 'oline': '\\u203E',\n 'olt': '\\u29C0',\n 'omacr': '\\u014D',\n 'Omacr': '\\u014C',\n 'omega': '\\u03C9',\n 'Omega': '\\u03A9',\n 'omicron': '\\u03BF',\n 'Omicron': '\\u039F',\n 'omid': '\\u29B6',\n 'ominus': '\\u2296',\n 'oopf': '\\uD835\\uDD60',\n 'Oopf': '\\uD835\\uDD46',\n 'opar': '\\u29B7',\n 'OpenCurlyDoubleQuote': '\\u201C',\n 'OpenCurlyQuote': '\\u2018',\n 'operp': '\\u29B9',\n 'oplus': '\\u2295',\n 'or': '\\u2228',\n 'Or': '\\u2A54',\n 'orarr': '\\u21BB',\n 'ord': '\\u2A5D',\n 'order': '\\u2134',\n 'orderof': '\\u2134',\n 'ordf': '\\xAA',\n 'ordm': '\\xBA',\n 'origof': '\\u22B6',\n 'oror': '\\u2A56',\n 'orslope': '\\u2A57',\n 'orv': '\\u2A5B',\n 'oS': '\\u24C8',\n 'oscr': '\\u2134',\n 'Oscr': '\\uD835\\uDCAA',\n 'oslash': '\\xF8',\n 'Oslash': '\\xD8',\n 'osol': '\\u2298',\n 'otilde': '\\xF5',\n 'Otilde': '\\xD5',\n 'otimes': '\\u2297',\n 'Otimes': '\\u2A37',\n 'otimesas': '\\u2A36',\n 'ouml': '\\xF6',\n 'Ouml': '\\xD6',\n 'ovbar': '\\u233D',\n 'OverBar': '\\u203E',\n 'OverBrace': '\\u23DE',\n 'OverBracket': '\\u23B4',\n 'OverParenthesis': '\\u23DC',\n 'par': '\\u2225',\n 'para': '\\xB6',\n 'parallel': '\\u2225',\n 'parsim': '\\u2AF3',\n 'parsl': '\\u2AFD',\n 'part': '\\u2202',\n 'PartialD': '\\u2202',\n 'pcy': '\\u043F',\n 'Pcy': '\\u041F',\n 'percnt': '%',\n 'period': '.',\n 'permil': '\\u2030',\n 'perp': '\\u22A5',\n 'pertenk': '\\u2031',\n 'pfr': '\\uD835\\uDD2D',\n 'Pfr': '\\uD835\\uDD13',\n 'phi': '\\u03C6',\n 'Phi': '\\u03A6',\n 'phiv': '\\u03D5',\n 'phmmat': '\\u2133',\n 'phone': '\\u260E',\n 'pi': '\\u03C0',\n 'Pi': '\\u03A0',\n 'pitchfork': '\\u22D4',\n 'piv': '\\u03D6',\n 'planck': '\\u210F',\n 'planckh': '\\u210E',\n 'plankv': '\\u210F',\n 'plus': '+',\n 'plusacir': '\\u2A23',\n 'plusb': '\\u229E',\n 'pluscir': '\\u2A22',\n 'plusdo': '\\u2214',\n 'plusdu': '\\u2A25',\n 'pluse': '\\u2A72',\n 'PlusMinus': '\\xB1',\n 'plusmn': '\\xB1',\n 'plussim': '\\u2A26',\n 'plustwo': '\\u2A27',\n 'pm': '\\xB1',\n 'Poincareplane': '\\u210C',\n 'pointint': '\\u2A15',\n 'popf': '\\uD835\\uDD61',\n 'Popf': '\\u2119',\n 'pound': '\\xA3',\n 'pr': '\\u227A',\n 'Pr': '\\u2ABB',\n 'prap': '\\u2AB7',\n 'prcue': '\\u227C',\n 'pre': '\\u2AAF',\n 'prE': '\\u2AB3',\n 'prec': '\\u227A',\n 'precapprox': '\\u2AB7',\n 'preccurlyeq': '\\u227C',\n 'Precedes': '\\u227A',\n 'PrecedesEqual': '\\u2AAF',\n 'PrecedesSlantEqual': '\\u227C',\n 'PrecedesTilde': '\\u227E',\n 'preceq': '\\u2AAF',\n 'precnapprox': '\\u2AB9',\n 'precneqq': '\\u2AB5',\n 'precnsim': '\\u22E8',\n 'precsim': '\\u227E',\n 'prime': '\\u2032',\n 'Prime': '\\u2033',\n 'primes': '\\u2119',\n 'prnap': '\\u2AB9',\n 'prnE': '\\u2AB5',\n 'prnsim': '\\u22E8',\n 'prod': '\\u220F',\n 'Product': '\\u220F',\n 'profalar': '\\u232E',\n 'profline': '\\u2312',\n 'profsurf': '\\u2313',\n 'prop': '\\u221D',\n 'Proportion': '\\u2237',\n 'Proportional': '\\u221D',\n 'propto': '\\u221D',\n 'prsim': '\\u227E',\n 'prurel': '\\u22B0',\n 'pscr': '\\uD835\\uDCC5',\n 'Pscr': '\\uD835\\uDCAB',\n 'psi': '\\u03C8',\n 'Psi': '\\u03A8',\n 'puncsp': '\\u2008',\n 'qfr': '\\uD835\\uDD2E',\n 'Qfr': '\\uD835\\uDD14',\n 'qint': '\\u2A0C',\n 'qopf': '\\uD835\\uDD62',\n 'Qopf': '\\u211A',\n 'qprime': '\\u2057',\n 'qscr': '\\uD835\\uDCC6',\n 'Qscr': '\\uD835\\uDCAC',\n 'quaternions': '\\u210D',\n 'quatint': '\\u2A16',\n 'quest': '?',\n 'questeq': '\\u225F',\n 'quot': '\"',\n 'QUOT': '\"',\n 'rAarr': '\\u21DB',\n 'race': '\\u223D\\u0331',\n 'racute': '\\u0155',\n 'Racute': '\\u0154',\n 'radic': '\\u221A',\n 'raemptyv': '\\u29B3',\n 'rang': '\\u27E9',\n 'Rang': '\\u27EB',\n 'rangd': '\\u2992',\n 'range': '\\u29A5',\n 'rangle': '\\u27E9',\n 'raquo': '\\xBB',\n 'rarr': '\\u2192',\n 'rArr': '\\u21D2',\n 'Rarr': '\\u21A0',\n 'rarrap': '\\u2975',\n 'rarrb': '\\u21E5',\n 'rarrbfs': '\\u2920',\n 'rarrc': '\\u2933',\n 'rarrfs': '\\u291E',\n 'rarrhk': '\\u21AA',\n 'rarrlp': '\\u21AC',\n 'rarrpl': '\\u2945',\n 'rarrsim': '\\u2974',\n 'rarrtl': '\\u21A3',\n 'Rarrtl': '\\u2916',\n 'rarrw': '\\u219D',\n 'ratail': '\\u291A',\n 'rAtail': '\\u291C',\n 'ratio': '\\u2236',\n 'rationals': '\\u211A',\n 'rbarr': '\\u290D',\n 'rBarr': '\\u290F',\n 'RBarr': '\\u2910',\n 'rbbrk': '\\u2773',\n 'rbrace': '}',\n 'rbrack': ']',\n 'rbrke': '\\u298C',\n 'rbrksld': '\\u298E',\n 'rbrkslu': '\\u2990',\n 'rcaron': '\\u0159',\n 'Rcaron': '\\u0158',\n 'rcedil': '\\u0157',\n 'Rcedil': '\\u0156',\n 'rceil': '\\u2309',\n 'rcub': '}',\n 'rcy': '\\u0440',\n 'Rcy': '\\u0420',\n 'rdca': '\\u2937',\n 'rdldhar': '\\u2969',\n 'rdquo': '\\u201D',\n 'rdquor': '\\u201D',\n 'rdsh': '\\u21B3',\n 'Re': '\\u211C',\n 'real': '\\u211C',\n 'realine': '\\u211B',\n 'realpart': '\\u211C',\n 'reals': '\\u211D',\n 'rect': '\\u25AD',\n 'reg': '\\xAE',\n 'REG': '\\xAE',\n 'ReverseElement': '\\u220B',\n 'ReverseEquilibrium': '\\u21CB',\n 'ReverseUpEquilibrium': '\\u296F',\n 'rfisht': '\\u297D',\n 'rfloor': '\\u230B',\n 'rfr': '\\uD835\\uDD2F',\n 'Rfr': '\\u211C',\n 'rHar': '\\u2964',\n 'rhard': '\\u21C1',\n 'rharu': '\\u21C0',\n 'rharul': '\\u296C',\n 'rho': '\\u03C1',\n 'Rho': '\\u03A1',\n 'rhov': '\\u03F1',\n 'RightAngleBracket': '\\u27E9',\n 'rightarrow': '\\u2192',\n 'Rightarrow': '\\u21D2',\n 'RightArrow': '\\u2192',\n 'RightArrowBar': '\\u21E5',\n 'RightArrowLeftArrow': '\\u21C4',\n 'rightarrowtail': '\\u21A3',\n 'RightCeiling': '\\u2309',\n 'RightDoubleBracket': '\\u27E7',\n 'RightDownTeeVector': '\\u295D',\n 'RightDownVector': '\\u21C2',\n 'RightDownVectorBar': '\\u2955',\n 'RightFloor': '\\u230B',\n 'rightharpoondown': '\\u21C1',\n 'rightharpoonup': '\\u21C0',\n 'rightleftarrows': '\\u21C4',\n 'rightleftharpoons': '\\u21CC',\n 'rightrightarrows': '\\u21C9',\n 'rightsquigarrow': '\\u219D',\n 'RightTee': '\\u22A2',\n 'RightTeeArrow': '\\u21A6',\n 'RightTeeVector': '\\u295B',\n 'rightthreetimes': '\\u22CC',\n 'RightTriangle': '\\u22B3',\n 'RightTriangleBar': '\\u29D0',\n 'RightTriangleEqual': '\\u22B5',\n 'RightUpDownVector': '\\u294F',\n 'RightUpTeeVector': '\\u295C',\n 'RightUpVector': '\\u21BE',\n 'RightUpVectorBar': '\\u2954',\n 'RightVector': '\\u21C0',\n 'RightVectorBar': '\\u2953',\n 'ring': '\\u02DA',\n 'risingdotseq': '\\u2253',\n 'rlarr': '\\u21C4',\n 'rlhar': '\\u21CC',\n 'rlm': '\\u200F',\n 'rmoust': '\\u23B1',\n 'rmoustache': '\\u23B1',\n 'rnmid': '\\u2AEE',\n 'roang': '\\u27ED',\n 'roarr': '\\u21FE',\n 'robrk': '\\u27E7',\n 'ropar': '\\u2986',\n 'ropf': '\\uD835\\uDD63',\n 'Ropf': '\\u211D',\n 'roplus': '\\u2A2E',\n 'rotimes': '\\u2A35',\n 'RoundImplies': '\\u2970',\n 'rpar': ')',\n 'rpargt': '\\u2994',\n 'rppolint': '\\u2A12',\n 'rrarr': '\\u21C9',\n 'Rrightarrow': '\\u21DB',\n 'rsaquo': '\\u203A',\n 'rscr': '\\uD835\\uDCC7',\n 'Rscr': '\\u211B',\n 'rsh': '\\u21B1',\n 'Rsh': '\\u21B1',\n 'rsqb': ']',\n 'rsquo': '\\u2019',\n 'rsquor': '\\u2019',\n 'rthree': '\\u22CC',\n 'rtimes': '\\u22CA',\n 'rtri': '\\u25B9',\n 'rtrie': '\\u22B5',\n 'rtrif': '\\u25B8',\n 'rtriltri': '\\u29CE',\n 'RuleDelayed': '\\u29F4',\n 'ruluhar': '\\u2968',\n 'rx': '\\u211E',\n 'sacute': '\\u015B',\n 'Sacute': '\\u015A',\n 'sbquo': '\\u201A',\n 'sc': '\\u227B',\n 'Sc': '\\u2ABC',\n 'scap': '\\u2AB8',\n 'scaron': '\\u0161',\n 'Scaron': '\\u0160',\n 'sccue': '\\u227D',\n 'sce': '\\u2AB0',\n 'scE': '\\u2AB4',\n 'scedil': '\\u015F',\n 'Scedil': '\\u015E',\n 'scirc': '\\u015D',\n 'Scirc': '\\u015C',\n 'scnap': '\\u2ABA',\n 'scnE': '\\u2AB6',\n 'scnsim': '\\u22E9',\n 'scpolint': '\\u2A13',\n 'scsim': '\\u227F',\n 'scy': '\\u0441',\n 'Scy': '\\u0421',\n 'sdot': '\\u22C5',\n 'sdotb': '\\u22A1',\n 'sdote': '\\u2A66',\n 'searhk': '\\u2925',\n 'searr': '\\u2198',\n 'seArr': '\\u21D8',\n 'searrow': '\\u2198',\n 'sect': '\\xA7',\n 'semi': ';',\n 'seswar': '\\u2929',\n 'setminus': '\\u2216',\n 'setmn': '\\u2216',\n 'sext': '\\u2736',\n 'sfr': '\\uD835\\uDD30',\n 'Sfr': '\\uD835\\uDD16',\n 'sfrown': '\\u2322',\n 'sharp': '\\u266F',\n 'shchcy': '\\u0449',\n 'SHCHcy': '\\u0429',\n 'shcy': '\\u0448',\n 'SHcy': '\\u0428',\n 'ShortDownArrow': '\\u2193',\n 'ShortLeftArrow': '\\u2190',\n 'shortmid': '\\u2223',\n 'shortparallel': '\\u2225',\n 'ShortRightArrow': '\\u2192',\n 'ShortUpArrow': '\\u2191',\n 'shy': '\\xAD',\n 'sigma': '\\u03C3',\n 'Sigma': '\\u03A3',\n 'sigmaf': '\\u03C2',\n 'sigmav': '\\u03C2',\n 'sim': '\\u223C',\n 'simdot': '\\u2A6A',\n 'sime': '\\u2243',\n 'simeq': '\\u2243',\n 'simg': '\\u2A9E',\n 'simgE': '\\u2AA0',\n 'siml': '\\u2A9D',\n 'simlE': '\\u2A9F',\n 'simne': '\\u2246',\n 'simplus': '\\u2A24',\n 'simrarr': '\\u2972',\n 'slarr': '\\u2190',\n 'SmallCircle': '\\u2218',\n 'smallsetminus': '\\u2216',\n 'smashp': '\\u2A33',\n 'smeparsl': '\\u29E4',\n 'smid': '\\u2223',\n 'smile': '\\u2323',\n 'smt': '\\u2AAA',\n 'smte': '\\u2AAC',\n 'smtes': '\\u2AAC\\uFE00',\n 'softcy': '\\u044C',\n 'SOFTcy': '\\u042C',\n 'sol': '/',\n 'solb': '\\u29C4',\n 'solbar': '\\u233F',\n 'sopf': '\\uD835\\uDD64',\n 'Sopf': '\\uD835\\uDD4A',\n 'spades': '\\u2660',\n 'spadesuit': '\\u2660',\n 'spar': '\\u2225',\n 'sqcap': '\\u2293',\n 'sqcaps': '\\u2293\\uFE00',\n 'sqcup': '\\u2294',\n 'sqcups': '\\u2294\\uFE00',\n 'Sqrt': '\\u221A',\n 'sqsub': '\\u228F',\n 'sqsube': '\\u2291',\n 'sqsubset': '\\u228F',\n 'sqsubseteq': '\\u2291',\n 'sqsup': '\\u2290',\n 'sqsupe': '\\u2292',\n 'sqsupset': '\\u2290',\n 'sqsupseteq': '\\u2292',\n 'squ': '\\u25A1',\n 'square': '\\u25A1',\n 'Square': '\\u25A1',\n 'SquareIntersection': '\\u2293',\n 'SquareSubset': '\\u228F',\n 'SquareSubsetEqual': '\\u2291',\n 'SquareSuperset': '\\u2290',\n 'SquareSupersetEqual': '\\u2292',\n 'SquareUnion': '\\u2294',\n 'squarf': '\\u25AA',\n 'squf': '\\u25AA',\n 'srarr': '\\u2192',\n 'sscr': '\\uD835\\uDCC8',\n 'Sscr': '\\uD835\\uDCAE',\n 'ssetmn': '\\u2216',\n 'ssmile': '\\u2323',\n 'sstarf': '\\u22C6',\n 'star': '\\u2606',\n 'Star': '\\u22C6',\n 'starf': '\\u2605',\n 'straightepsilon': '\\u03F5',\n 'straightphi': '\\u03D5',\n 'strns': '\\xAF',\n 'sub': '\\u2282',\n 'Sub': '\\u22D0',\n 'subdot': '\\u2ABD',\n 'sube': '\\u2286',\n 'subE': '\\u2AC5',\n 'subedot': '\\u2AC3',\n 'submult': '\\u2AC1',\n 'subne': '\\u228A',\n 'subnE': '\\u2ACB',\n 'subplus': '\\u2ABF',\n 'subrarr': '\\u2979',\n 'subset': '\\u2282',\n 'Subset': '\\u22D0',\n 'subseteq': '\\u2286',\n 'subseteqq': '\\u2AC5',\n 'SubsetEqual': '\\u2286',\n 'subsetneq': '\\u228A',\n 'subsetneqq': '\\u2ACB',\n 'subsim': '\\u2AC7',\n 'subsub': '\\u2AD5',\n 'subsup': '\\u2AD3',\n 'succ': '\\u227B',\n 'succapprox': '\\u2AB8',\n 'succcurlyeq': '\\u227D',\n 'Succeeds': '\\u227B',\n 'SucceedsEqual': '\\u2AB0',\n 'SucceedsSlantEqual': '\\u227D',\n 'SucceedsTilde': '\\u227F',\n 'succeq': '\\u2AB0',\n 'succnapprox': '\\u2ABA',\n 'succneqq': '\\u2AB6',\n 'succnsim': '\\u22E9',\n 'succsim': '\\u227F',\n 'SuchThat': '\\u220B',\n 'sum': '\\u2211',\n 'Sum': '\\u2211',\n 'sung': '\\u266A',\n 'sup': '\\u2283',\n 'Sup': '\\u22D1',\n 'sup1': '\\xB9',\n 'sup2': '\\xB2',\n 'sup3': '\\xB3',\n 'supdot': '\\u2ABE',\n 'supdsub': '\\u2AD8',\n 'supe': '\\u2287',\n 'supE': '\\u2AC6',\n 'supedot': '\\u2AC4',\n 'Superset': '\\u2283',\n 'SupersetEqual': '\\u2287',\n 'suphsol': '\\u27C9',\n 'suphsub': '\\u2AD7',\n 'suplarr': '\\u297B',\n 'supmult': '\\u2AC2',\n 'supne': '\\u228B',\n 'supnE': '\\u2ACC',\n 'supplus': '\\u2AC0',\n 'supset': '\\u2283',\n 'Supset': '\\u22D1',\n 'supseteq': '\\u2287',\n 'supseteqq': '\\u2AC6',\n 'supsetneq': '\\u228B',\n 'supsetneqq': '\\u2ACC',\n 'supsim': '\\u2AC8',\n 'supsub': '\\u2AD4',\n 'supsup': '\\u2AD6',\n 'swarhk': '\\u2926',\n 'swarr': '\\u2199',\n 'swArr': '\\u21D9',\n 'swarrow': '\\u2199',\n 'swnwar': '\\u292A',\n 'szlig': '\\xDF',\n 'Tab': '\\t',\n 'target': '\\u2316',\n 'tau': '\\u03C4',\n 'Tau': '\\u03A4',\n 'tbrk': '\\u23B4',\n 'tcaron': '\\u0165',\n 'Tcaron': '\\u0164',\n 'tcedil': '\\u0163',\n 'Tcedil': '\\u0162',\n 'tcy': '\\u0442',\n 'Tcy': '\\u0422',\n 'tdot': '\\u20DB',\n 'telrec': '\\u2315',\n 'tfr': '\\uD835\\uDD31',\n 'Tfr': '\\uD835\\uDD17',\n 'there4': '\\u2234',\n 'therefore': '\\u2234',\n 'Therefore': '\\u2234',\n 'theta': '\\u03B8',\n 'Theta': '\\u0398',\n 'thetasym': '\\u03D1',\n 'thetav': '\\u03D1',\n 'thickapprox': '\\u2248',\n 'thicksim': '\\u223C',\n 'ThickSpace': '\\u205F\\u200A',\n 'thinsp': '\\u2009',\n 'ThinSpace': '\\u2009',\n 'thkap': '\\u2248',\n 'thksim': '\\u223C',\n 'thorn': '\\xFE',\n 'THORN': '\\xDE',\n 'tilde': '\\u02DC',\n 'Tilde': '\\u223C',\n 'TildeEqual': '\\u2243',\n 'TildeFullEqual': '\\u2245',\n 'TildeTilde': '\\u2248',\n 'times': '\\xD7',\n 'timesb': '\\u22A0',\n 'timesbar': '\\u2A31',\n 'timesd': '\\u2A30',\n 'tint': '\\u222D',\n 'toea': '\\u2928',\n 'top': '\\u22A4',\n 'topbot': '\\u2336',\n 'topcir': '\\u2AF1',\n 'topf': '\\uD835\\uDD65',\n 'Topf': '\\uD835\\uDD4B',\n 'topfork': '\\u2ADA',\n 'tosa': '\\u2929',\n 'tprime': '\\u2034',\n 'trade': '\\u2122',\n 'TRADE': '\\u2122',\n 'triangle': '\\u25B5',\n 'triangledown': '\\u25BF',\n 'triangleleft': '\\u25C3',\n 'trianglelefteq': '\\u22B4',\n 'triangleq': '\\u225C',\n 'triangleright': '\\u25B9',\n 'trianglerighteq': '\\u22B5',\n 'tridot': '\\u25EC',\n 'trie': '\\u225C',\n 'triminus': '\\u2A3A',\n 'TripleDot': '\\u20DB',\n 'triplus': '\\u2A39',\n 'trisb': '\\u29CD',\n 'tritime': '\\u2A3B',\n 'trpezium': '\\u23E2',\n 'tscr': '\\uD835\\uDCC9',\n 'Tscr': '\\uD835\\uDCAF',\n 'tscy': '\\u0446',\n 'TScy': '\\u0426',\n 'tshcy': '\\u045B',\n 'TSHcy': '\\u040B',\n 'tstrok': '\\u0167',\n 'Tstrok': '\\u0166',\n 'twixt': '\\u226C',\n 'twoheadleftarrow': '\\u219E',\n 'twoheadrightarrow': '\\u21A0',\n 'uacute': '\\xFA',\n 'Uacute': '\\xDA',\n 'uarr': '\\u2191',\n 'uArr': '\\u21D1',\n 'Uarr': '\\u219F',\n 'Uarrocir': '\\u2949',\n 'ubrcy': '\\u045E',\n 'Ubrcy': '\\u040E',\n 'ubreve': '\\u016D',\n 'Ubreve': '\\u016C',\n 'ucirc': '\\xFB',\n 'Ucirc': '\\xDB',\n 'ucy': '\\u0443',\n 'Ucy': '\\u0423',\n 'udarr': '\\u21C5',\n 'udblac': '\\u0171',\n 'Udblac': '\\u0170',\n 'udhar': '\\u296E',\n 'ufisht': '\\u297E',\n 'ufr': '\\uD835\\uDD32',\n 'Ufr': '\\uD835\\uDD18',\n 'ugrave': '\\xF9',\n 'Ugrave': '\\xD9',\n 'uHar': '\\u2963',\n 'uharl': '\\u21BF',\n 'uharr': '\\u21BE',\n 'uhblk': '\\u2580',\n 'ulcorn': '\\u231C',\n 'ulcorner': '\\u231C',\n 'ulcrop': '\\u230F',\n 'ultri': '\\u25F8',\n 'umacr': '\\u016B',\n 'Umacr': '\\u016A',\n 'uml': '\\xA8',\n 'UnderBar': '_',\n 'UnderBrace': '\\u23DF',\n 'UnderBracket': '\\u23B5',\n 'UnderParenthesis': '\\u23DD',\n 'Union': '\\u22C3',\n 'UnionPlus': '\\u228E',\n 'uogon': '\\u0173',\n 'Uogon': '\\u0172',\n 'uopf': '\\uD835\\uDD66',\n 'Uopf': '\\uD835\\uDD4C',\n 'uparrow': '\\u2191',\n 'Uparrow': '\\u21D1',\n 'UpArrow': '\\u2191',\n 'UpArrowBar': '\\u2912',\n 'UpArrowDownArrow': '\\u21C5',\n 'updownarrow': '\\u2195',\n 'Updownarrow': '\\u21D5',\n 'UpDownArrow': '\\u2195',\n 'UpEquilibrium': '\\u296E',\n 'upharpoonleft': '\\u21BF',\n 'upharpoonright': '\\u21BE',\n 'uplus': '\\u228E',\n 'UpperLeftArrow': '\\u2196',\n 'UpperRightArrow': '\\u2197',\n 'upsi': '\\u03C5',\n 'Upsi': '\\u03D2',\n 'upsih': '\\u03D2',\n 'upsilon': '\\u03C5',\n 'Upsilon': '\\u03A5',\n 'UpTee': '\\u22A5',\n 'UpTeeArrow': '\\u21A5',\n 'upuparrows': '\\u21C8',\n 'urcorn': '\\u231D',\n 'urcorner': '\\u231D',\n 'urcrop': '\\u230E',\n 'uring': '\\u016F',\n 'Uring': '\\u016E',\n 'urtri': '\\u25F9',\n 'uscr': '\\uD835\\uDCCA',\n 'Uscr': '\\uD835\\uDCB0',\n 'utdot': '\\u22F0',\n 'utilde': '\\u0169',\n 'Utilde': '\\u0168',\n 'utri': '\\u25B5',\n 'utrif': '\\u25B4',\n 'uuarr': '\\u21C8',\n 'uuml': '\\xFC',\n 'Uuml': '\\xDC',\n 'uwangle': '\\u29A7',\n 'vangrt': '\\u299C',\n 'varepsilon': '\\u03F5',\n 'varkappa': '\\u03F0',\n 'varnothing': '\\u2205',\n 'varphi': '\\u03D5',\n 'varpi': '\\u03D6',\n 'varpropto': '\\u221D',\n 'varr': '\\u2195',\n 'vArr': '\\u21D5',\n 'varrho': '\\u03F1',\n 'varsigma': '\\u03C2',\n 'varsubsetneq': '\\u228A\\uFE00',\n 'varsubsetneqq': '\\u2ACB\\uFE00',\n 'varsupsetneq': '\\u228B\\uFE00',\n 'varsupsetneqq': '\\u2ACC\\uFE00',\n 'vartheta': '\\u03D1',\n 'vartriangleleft': '\\u22B2',\n 'vartriangleright': '\\u22B3',\n 'vBar': '\\u2AE8',\n 'Vbar': '\\u2AEB',\n 'vBarv': '\\u2AE9',\n 'vcy': '\\u0432',\n 'Vcy': '\\u0412',\n 'vdash': '\\u22A2',\n 'vDash': '\\u22A8',\n 'Vdash': '\\u22A9',\n 'VDash': '\\u22AB',\n 'Vdashl': '\\u2AE6',\n 'vee': '\\u2228',\n 'Vee': '\\u22C1',\n 'veebar': '\\u22BB',\n 'veeeq': '\\u225A',\n 'vellip': '\\u22EE',\n 'verbar': '|',\n 'Verbar': '\\u2016',\n 'vert': '|',\n 'Vert': '\\u2016',\n 'VerticalBar': '\\u2223',\n 'VerticalLine': '|',\n 'VerticalSeparator': '\\u2758',\n 'VerticalTilde': '\\u2240',\n 'VeryThinSpace': '\\u200A',\n 'vfr': '\\uD835\\uDD33',\n 'Vfr': '\\uD835\\uDD19',\n 'vltri': '\\u22B2',\n 'vnsub': '\\u2282\\u20D2',\n 'vnsup': '\\u2283\\u20D2',\n 'vopf': '\\uD835\\uDD67',\n 'Vopf': '\\uD835\\uDD4D',\n 'vprop': '\\u221D',\n 'vrtri': '\\u22B3',\n 'vscr': '\\uD835\\uDCCB',\n 'Vscr': '\\uD835\\uDCB1',\n 'vsubne': '\\u228A\\uFE00',\n 'vsubnE': '\\u2ACB\\uFE00',\n 'vsupne': '\\u228B\\uFE00',\n 'vsupnE': '\\u2ACC\\uFE00',\n 'Vvdash': '\\u22AA',\n 'vzigzag': '\\u299A',\n 'wcirc': '\\u0175',\n 'Wcirc': '\\u0174',\n 'wedbar': '\\u2A5F',\n 'wedge': '\\u2227',\n 'Wedge': '\\u22C0',\n 'wedgeq': '\\u2259',\n 'weierp': '\\u2118',\n 'wfr': '\\uD835\\uDD34',\n 'Wfr': '\\uD835\\uDD1A',\n 'wopf': '\\uD835\\uDD68',\n 'Wopf': '\\uD835\\uDD4E',\n 'wp': '\\u2118',\n 'wr': '\\u2240',\n 'wreath': '\\u2240',\n 'wscr': '\\uD835\\uDCCC',\n 'Wscr': '\\uD835\\uDCB2',\n 'xcap': '\\u22C2',\n 'xcirc': '\\u25EF',\n 'xcup': '\\u22C3',\n 'xdtri': '\\u25BD',\n 'xfr': '\\uD835\\uDD35',\n 'Xfr': '\\uD835\\uDD1B',\n 'xharr': '\\u27F7',\n 'xhArr': '\\u27FA',\n 'xi': '\\u03BE',\n 'Xi': '\\u039E',\n 'xlarr': '\\u27F5',\n 'xlArr': '\\u27F8',\n 'xmap': '\\u27FC',\n 'xnis': '\\u22FB',\n 'xodot': '\\u2A00',\n 'xopf': '\\uD835\\uDD69',\n 'Xopf': '\\uD835\\uDD4F',\n 'xoplus': '\\u2A01',\n 'xotime': '\\u2A02',\n 'xrarr': '\\u27F6',\n 'xrArr': '\\u27F9',\n 'xscr': '\\uD835\\uDCCD',\n 'Xscr': '\\uD835\\uDCB3',\n 'xsqcup': '\\u2A06',\n 'xuplus': '\\u2A04',\n 'xutri': '\\u25B3',\n 'xvee': '\\u22C1',\n 'xwedge': '\\u22C0',\n 'yacute': '\\xFD',\n 'Yacute': '\\xDD',\n 'yacy': '\\u044F',\n 'YAcy': '\\u042F',\n 'ycirc': '\\u0177',\n 'Ycirc': '\\u0176',\n 'ycy': '\\u044B',\n 'Ycy': '\\u042B',\n 'yen': '\\xA5',\n 'yfr': '\\uD835\\uDD36',\n 'Yfr': '\\uD835\\uDD1C',\n 'yicy': '\\u0457',\n 'YIcy': '\\u0407',\n 'yopf': '\\uD835\\uDD6A',\n 'Yopf': '\\uD835\\uDD50',\n 'yscr': '\\uD835\\uDCCE',\n 'Yscr': '\\uD835\\uDCB4',\n 'yucy': '\\u044E',\n 'YUcy': '\\u042E',\n 'yuml': '\\xFF',\n 'Yuml': '\\u0178',\n 'zacute': '\\u017A',\n 'Zacute': '\\u0179',\n 'zcaron': '\\u017E',\n 'Zcaron': '\\u017D',\n 'zcy': '\\u0437',\n 'Zcy': '\\u0417',\n 'zdot': '\\u017C',\n 'Zdot': '\\u017B',\n 'zeetrf': '\\u2128',\n 'ZeroWidthSpace': '\\u200B',\n 'zeta': '\\u03B6',\n 'Zeta': '\\u0396',\n 'zfr': '\\uD835\\uDD37',\n 'Zfr': '\\u2128',\n 'zhcy': '\\u0436',\n 'ZHcy': '\\u0416',\n 'zigrarr': '\\u21DD',\n 'zopf': '\\uD835\\uDD6B',\n 'Zopf': '\\u2124',\n 'zscr': '\\uD835\\uDCCF',\n 'Zscr': '\\uD835\\uDCB5',\n 'zwj': '\\u200D',\n 'zwnj': '\\u200C'\n };\n var decodeMapLegacy = {\n 'aacute': '\\xE1',\n 'Aacute': '\\xC1',\n 'acirc': '\\xE2',\n 'Acirc': '\\xC2',\n 'acute': '\\xB4',\n 'aelig': '\\xE6',\n 'AElig': '\\xC6',\n 'agrave': '\\xE0',\n 'Agrave': '\\xC0',\n 'amp': '&',\n 'AMP': '&',\n 'aring': '\\xE5',\n 'Aring': '\\xC5',\n 'atilde': '\\xE3',\n 'Atilde': '\\xC3',\n 'auml': '\\xE4',\n 'Auml': '\\xC4',\n 'brvbar': '\\xA6',\n 'ccedil': '\\xE7',\n 'Ccedil': '\\xC7',\n 'cedil': '\\xB8',\n 'cent': '\\xA2',\n 'copy': '\\xA9',\n 'COPY': '\\xA9',\n 'curren': '\\xA4',\n 'deg': '\\xB0',\n 'divide': '\\xF7',\n 'eacute': '\\xE9',\n 'Eacute': '\\xC9',\n 'ecirc': '\\xEA',\n 'Ecirc': '\\xCA',\n 'egrave': '\\xE8',\n 'Egrave': '\\xC8',\n 'eth': '\\xF0',\n 'ETH': '\\xD0',\n 'euml': '\\xEB',\n 'Euml': '\\xCB',\n 'frac12': '\\xBD',\n 'frac14': '\\xBC',\n 'frac34': '\\xBE',\n 'gt': '>',\n 'GT': '>',\n 'iacute': '\\xED',\n 'Iacute': '\\xCD',\n 'icirc': '\\xEE',\n 'Icirc': '\\xCE',\n 'iexcl': '\\xA1',\n 'igrave': '\\xEC',\n 'Igrave': '\\xCC',\n 'iquest': '\\xBF',\n 'iuml': '\\xEF',\n 'Iuml': '\\xCF',\n 'laquo': '\\xAB',\n 'lt': '<',\n 'LT': '<',\n 'macr': '\\xAF',\n 'micro': '\\xB5',\n 'middot': '\\xB7',\n 'nbsp': '\\xA0',\n 'not': '\\xAC',\n 'ntilde': '\\xF1',\n 'Ntilde': '\\xD1',\n 'oacute': '\\xF3',\n 'Oacute': '\\xD3',\n 'ocirc': '\\xF4',\n 'Ocirc': '\\xD4',\n 'ograve': '\\xF2',\n 'Ograve': '\\xD2',\n 'ordf': '\\xAA',\n 'ordm': '\\xBA',\n 'oslash': '\\xF8',\n 'Oslash': '\\xD8',\n 'otilde': '\\xF5',\n 'Otilde': '\\xD5',\n 'ouml': '\\xF6',\n 'Ouml': '\\xD6',\n 'para': '\\xB6',\n 'plusmn': '\\xB1',\n 'pound': '\\xA3',\n 'quot': '\"',\n 'QUOT': '\"',\n 'raquo': '\\xBB',\n 'reg': '\\xAE',\n 'REG': '\\xAE',\n 'sect': '\\xA7',\n 'shy': '\\xAD',\n 'sup1': '\\xB9',\n 'sup2': '\\xB2',\n 'sup3': '\\xB3',\n 'szlig': '\\xDF',\n 'thorn': '\\xFE',\n 'THORN': '\\xDE',\n 'times': '\\xD7',\n 'uacute': '\\xFA',\n 'Uacute': '\\xDA',\n 'ucirc': '\\xFB',\n 'Ucirc': '\\xDB',\n 'ugrave': '\\xF9',\n 'Ugrave': '\\xD9',\n 'uml': '\\xA8',\n 'uuml': '\\xFC',\n 'Uuml': '\\xDC',\n 'yacute': '\\xFD',\n 'Yacute': '\\xDD',\n 'yen': '\\xA5',\n 'yuml': '\\xFF'\n };\n var decodeMapNumeric = {\n '0': '\\uFFFD',\n '128': '\\u20AC',\n '130': '\\u201A',\n '131': '\\u0192',\n '132': '\\u201E',\n '133': '\\u2026',\n '134': '\\u2020',\n '135': '\\u2021',\n '136': '\\u02C6',\n '137': '\\u2030',\n '138': '\\u0160',\n '139': '\\u2039',\n '140': '\\u0152',\n '142': '\\u017D',\n '145': '\\u2018',\n '146': '\\u2019',\n '147': '\\u201C',\n '148': '\\u201D',\n '149': '\\u2022',\n '150': '\\u2013',\n '151': '\\u2014',\n '152': '\\u02DC',\n '153': '\\u2122',\n '154': '\\u0161',\n '155': '\\u203A',\n '156': '\\u0153',\n '158': '\\u017E',\n '159': '\\u0178'\n };\n var invalidReferenceCodePoints = [1, 2, 3, 4, 5, 6, 7, 8, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 64976, 64977, 64978, 64979, 64980, 64981, 64982, 64983, 64984, 64985, 64986, 64987, 64988, 64989, 64990, 64991, 64992, 64993, 64994, 64995, 64996, 64997, 64998, 64999, 65000, 65001, 65002, 65003, 65004, 65005, 65006, 65007, 65534, 65535, 131070, 131071, 196606, 196607, 262142, 262143, 327678, 327679, 393214, 393215, 458750, 458751, 524286, 524287, 589822, 589823, 655358, 655359, 720894, 720895, 786430, 786431, 851966, 851967, 917502, 917503, 983038, 983039, 1048574, 1048575, 1114110, 1114111];\n\n /*--------------------------------------------------------------------------*/\n\n var stringFromCharCode = String.fromCharCode;\n var object = {};\n var hasOwnProperty = object.hasOwnProperty;\n var has = function (object, propertyName) {\n return hasOwnProperty.call(object, propertyName);\n };\n var contains = function (array, value) {\n var index = -1;\n var length = array.length;\n while (++index < length) {\n if (array[index] == value) {\n return true;\n }\n }\n return false;\n };\n var merge = function (options, defaults) {\n if (!options) {\n return defaults;\n }\n var result = {};\n var key;\n for (key in defaults) {\n // A `hasOwnProperty` check is not needed here, since only recognized\n // option names are used anyway. Any others are ignored.\n result[key] = has(options, key) ? options[key] : defaults[key];\n }\n return result;\n };\n\n // Modified version of `ucs2encode`; see https://mths.be/punycode.\n var codePointToSymbol = function (codePoint, strict) {\n var output = '';\n if (codePoint >= 0xD800 && codePoint <= 0xDFFF || codePoint > 0x10FFFF) {\n // See issue #4:\n // “Otherwise, if the number is in the range 0xD800 to 0xDFFF or is\n // greater than 0x10FFFF, then this is a parse error. Return a U+FFFD\n // REPLACEMENT CHARACTER.”\n if (strict) {\n parseError('character reference outside the permissible Unicode range');\n }\n return '\\uFFFD';\n }\n if (has(decodeMapNumeric, codePoint)) {\n if (strict) {\n parseError('disallowed character reference');\n }\n return decodeMapNumeric[codePoint];\n }\n if (strict && contains(invalidReferenceCodePoints, codePoint)) {\n parseError('disallowed character reference');\n }\n if (codePoint > 0xFFFF) {\n codePoint -= 0x10000;\n output += stringFromCharCode(codePoint >>> 10 & 0x3FF | 0xD800);\n codePoint = 0xDC00 | codePoint & 0x3FF;\n }\n output += stringFromCharCode(codePoint);\n return output;\n };\n var hexEscape = function (codePoint) {\n return '&#x' + codePoint.toString(16).toUpperCase() + ';';\n };\n var decEscape = function (codePoint) {\n return '&#' + codePoint + ';';\n };\n var parseError = function (message) {\n throw Error('Parse error: ' + message);\n };\n\n /*--------------------------------------------------------------------------*/\n\n var encode = function (string, options) {\n options = merge(options, encode.options);\n var strict = options.strict;\n if (strict && regexInvalidRawCodePoint.test(string)) {\n parseError('forbidden code point');\n }\n var encodeEverything = options.encodeEverything;\n var useNamedReferences = options.useNamedReferences;\n var allowUnsafeSymbols = options.allowUnsafeSymbols;\n var escapeCodePoint = options.decimal ? decEscape : hexEscape;\n var escapeBmpSymbol = function (symbol) {\n return escapeCodePoint(symbol.charCodeAt(0));\n };\n if (encodeEverything) {\n // Encode ASCII symbols.\n string = string.replace(regexAsciiWhitelist, function (symbol) {\n // Use named references if requested & possible.\n if (useNamedReferences && has(encodeMap, symbol)) {\n return '&' + encodeMap[symbol] + ';';\n }\n return escapeBmpSymbol(symbol);\n });\n // Shorten a few escapes that represent two symbols, of which at least one\n // is within the ASCII range.\n if (useNamedReferences) {\n string = string.replace(/>\\u20D2/g, '>⃒').replace(/<\\u20D2/g, '<⃒').replace(/fj/g, 'fj');\n }\n // Encode non-ASCII symbols.\n if (useNamedReferences) {\n // Encode non-ASCII symbols that can be replaced with a named reference.\n string = string.replace(regexEncodeNonAscii, function (string) {\n // Note: there is no need to check `has(encodeMap, string)` here.\n return '&' + encodeMap[string] + ';';\n });\n }\n // Note: any remaining non-ASCII symbols are handled outside of the `if`.\n } else if (useNamedReferences) {\n // Apply named character references.\n // Encode `<>\"'&` using named character references.\n if (!allowUnsafeSymbols) {\n string = string.replace(regexEscape, function (string) {\n return '&' + encodeMap[string] + ';'; // no need to check `has()` here\n });\n }\n // Shorten escapes that represent two symbols, of which at least one is\n // `<>\"'&`.\n string = string.replace(/>\\u20D2/g, '>⃒').replace(/<\\u20D2/g, '<⃒');\n // Encode non-ASCII symbols that can be replaced with a named reference.\n string = string.replace(regexEncodeNonAscii, function (string) {\n // Note: there is no need to check `has(encodeMap, string)` here.\n return '&' + encodeMap[string] + ';';\n });\n } else if (!allowUnsafeSymbols) {\n // Encode `<>\"'&` using hexadecimal escapes, now that they’re not handled\n // using named character references.\n string = string.replace(regexEscape, escapeBmpSymbol);\n }\n return string\n // Encode astral symbols.\n .replace(regexAstralSymbols, function ($0) {\n // https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n var high = $0.charCodeAt(0);\n var low = $0.charCodeAt(1);\n var codePoint = (high - 0xD800) * 0x400 + low - 0xDC00 + 0x10000;\n return escapeCodePoint(codePoint);\n })\n // Encode any remaining BMP symbols that are not printable ASCII symbols\n // using a hexadecimal escape.\n .replace(regexBmpWhitelist, escapeBmpSymbol);\n };\n // Expose default options (so they can be overridden globally).\n encode.options = {\n 'allowUnsafeSymbols': false,\n 'encodeEverything': false,\n 'strict': false,\n 'useNamedReferences': false,\n 'decimal': false\n };\n var decode = function (html, options) {\n options = merge(options, decode.options);\n var strict = options.strict;\n if (strict && regexInvalidEntity.test(html)) {\n parseError('malformed character reference');\n }\n return html.replace(regexDecode, function ($0, $1, $2, $3, $4, $5, $6, $7, $8) {\n var codePoint;\n var semicolon;\n var decDigits;\n var hexDigits;\n var reference;\n var next;\n if ($1) {\n reference = $1;\n // Note: there is no need to check `has(decodeMap, reference)`.\n return decodeMap[reference];\n }\n if ($2) {\n // Decode named character references without trailing `;`, e.g. `&`.\n // This is only a parse error if it gets converted to `&`, or if it is\n // followed by `=` in an attribute context.\n reference = $2;\n next = $3;\n if (next && options.isAttributeValue) {\n if (strict && next == '=') {\n parseError('`&` did not start a character reference');\n }\n return $0;\n } else {\n if (strict) {\n parseError('named character reference was not terminated by a semicolon');\n }\n // Note: there is no need to check `has(decodeMapLegacy, reference)`.\n return decodeMapLegacy[reference] + (next || '');\n }\n }\n if ($4) {\n // Decode decimal escapes, e.g. `𝌆`.\n decDigits = $4;\n semicolon = $5;\n if (strict && !semicolon) {\n parseError('character reference was not terminated by a semicolon');\n }\n codePoint = parseInt(decDigits, 10);\n return codePointToSymbol(codePoint, strict);\n }\n if ($6) {\n // Decode hexadecimal escapes, e.g. `𝌆`.\n hexDigits = $6;\n semicolon = $7;\n if (strict && !semicolon) {\n parseError('character reference was not terminated by a semicolon');\n }\n codePoint = parseInt(hexDigits, 16);\n return codePointToSymbol(codePoint, strict);\n }\n\n // If we’re still here, `if ($7)` is implied; it’s an ambiguous\n // ampersand for sure. https://mths.be/notes/ambiguous-ampersands\n if (strict) {\n parseError('named character reference was not terminated by a semicolon');\n }\n return $0;\n });\n };\n // Expose default options (so they can be overridden globally).\n decode.options = {\n 'isAttributeValue': false,\n 'strict': false\n };\n var escape = function (string) {\n return string.replace(regexEscape, function ($0) {\n // Note: there is no need to check `has(escapeMap, $0)` here.\n return escapeMap[$0];\n });\n };\n\n /*--------------------------------------------------------------------------*/\n\n var he = {\n 'version': '1.2.0',\n 'encode': encode,\n 'decode': decode,\n 'escape': escape,\n 'unescape': decode\n };\n\n // Some AMD build optimizers, like r.js, check for specific condition patterns\n // like the following:\n if (typeof define == 'function' && typeof define.amd == 'object' && define.amd) {\n define(function () {\n return he;\n });\n } else if (freeExports && !freeExports.nodeType) {\n if (freeModule) {\n // in Node.js, io.js, or RingoJS v0.8.0+\n freeModule.exports = he;\n } else {\n // in Narwhal or RingoJS v0.7.0-\n for (var key in he) {\n has(he, key) && (freeExports[key] = he[key]);\n }\n }\n } else {\n // in Rhino or a web browser\n root.he = he;\n }\n})(this);","const set = require('regenerate')(0xB9, 0x19DA, 0x2070, 0x2189, 0x2CFD);\nset.addRange(0xB2, 0xB3).addRange(0xBC, 0xBE).addRange(0x9F4, 0x9F9).addRange(0xB72, 0xB77).addRange(0xBF0, 0xBF2).addRange(0xC78, 0xC7E).addRange(0xD58, 0xD5E).addRange(0xD70, 0xD78).addRange(0xF2A, 0xF33).addRange(0x1369, 0x137C).addRange(0x17F0, 0x17F9).addRange(0x2074, 0x2079).addRange(0x2080, 0x2089).addRange(0x2150, 0x215F).addRange(0x2460, 0x249B).addRange(0x24EA, 0x24FF).addRange(0x2776, 0x2793).addRange(0x3192, 0x3195).addRange(0x3220, 0x3229).addRange(0x3248, 0x324F).addRange(0x3251, 0x325F).addRange(0x3280, 0x3289).addRange(0x32B1, 0x32BF).addRange(0xA830, 0xA835).addRange(0x10107, 0x10133).addRange(0x10175, 0x10178).addRange(0x1018A, 0x1018B).addRange(0x102E1, 0x102FB).addRange(0x10320, 0x10323).addRange(0x10858, 0x1085F).addRange(0x10879, 0x1087F).addRange(0x108A7, 0x108AF).addRange(0x108FB, 0x108FF).addRange(0x10916, 0x1091B).addRange(0x109BC, 0x109BD).addRange(0x109C0, 0x109CF).addRange(0x109D2, 0x109FF).addRange(0x10A40, 0x10A48).addRange(0x10A7D, 0x10A7E).addRange(0x10A9D, 0x10A9F).addRange(0x10AEB, 0x10AEF).addRange(0x10B58, 0x10B5F).addRange(0x10B78, 0x10B7F).addRange(0x10BA9, 0x10BAF).addRange(0x10CFA, 0x10CFF).addRange(0x10E60, 0x10E7E).addRange(0x10F1D, 0x10F26).addRange(0x10F51, 0x10F54).addRange(0x10FC5, 0x10FCB).addRange(0x11052, 0x11065).addRange(0x111E1, 0x111F4);\nset.addRange(0x1173A, 0x1173B).addRange(0x118EA, 0x118F2).addRange(0x11C5A, 0x11C6C).addRange(0x11FC0, 0x11FD4).addRange(0x16B5B, 0x16B61).addRange(0x16E80, 0x16E96).addRange(0x1D2E0, 0x1D2F3).addRange(0x1D360, 0x1D378).addRange(0x1E8C7, 0x1E8CF).addRange(0x1EC71, 0x1ECAB).addRange(0x1ECAD, 0x1ECAF).addRange(0x1ECB1, 0x1ECB4).addRange(0x1ED01, 0x1ED2D).addRange(0x1ED2F, 0x1ED3D).addRange(0x1F100, 0x1F10C);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x10B40, 0x10B55).addRange(0x10B58, 0x10B5F);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x10107, 0x10133).addRange(0x10600, 0x10736).addRange(0x10740, 0x10755).addRange(0x10760, 0x10767);\nmodule.exports = set;","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","const set = require('regenerate')();\nset.addRange(0x10330, 0x1034A);\nmodule.exports = set;","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n","var Stack = require('./_Stack'),\n baseIsEqual = require('./_baseIsEqual');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\nmodule.exports = baseIsMatch;\n","const set = require('regenerate')();\nset.addRange(0x2800, 0x28FF);\nmodule.exports = set;","const set = require('regenerate')(0xFA11, 0xFA1F, 0xFA21);\nset.addRange(0x3400, 0x4DBF).addRange(0x4E00, 0x9FFF).addRange(0xFA0E, 0xFA0F).addRange(0xFA13, 0xFA14).addRange(0xFA23, 0xFA24).addRange(0xFA27, 0xFA29).addRange(0x20000, 0x2A6DF).addRange(0x2A700, 0x2B738).addRange(0x2B740, 0x2B81D).addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x30000, 0x3134A);\nmodule.exports = set;","const preferDefault = m => (m && m.default) || m\n\nif (process.env.BUILD_STAGE === `develop`) {\n module.exports = preferDefault(require(`./public-page-renderer-dev`))\n} else if (process.env.BUILD_STAGE === `build-javascript`) {\n module.exports = preferDefault(require(`./public-page-renderer-prod`))\n} else {\n module.exports = () => null\n}\n","const set = require('regenerate')(0x1093F);\nset.addRange(0x10920, 0x10939);\nmodule.exports = set;","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","const set = require('regenerate')();\nset.addRange(0x10B60, 0x10B72).addRange(0x10B78, 0x10B7F);\nmodule.exports = set;","function capitalize(string, opts) {\n opts = normalizeOptions(opts);\n if (!opts.preserve) {\n string = string.toLowerCase();\n }\n return string.charAt(0).toUpperCase() + string.substring(1);\n}\n\n// a QUOTE character immediately followed by a word character\nvar QUOTE = /['\"`’]/;\nvar WORD = /[0-9a-zA-Z\\u00C0-\\u017F\\u0400-\\u04FF]/;\ncapitalize.words = function (string, opts) {\n opts = normalizeOptions(opts);\n if (!opts.preserve) {\n string = string.toLowerCase();\n }\n var startOfWord = 0;\n var nonWord = /[^0-9a-zA-Z\\u00C0-\\u017F\\u0400-\\u04FF]+|$/g;\n var match;\n var out = \"\";\n var count = 0;\n while (match = nonWord.exec(string)) {\n var sep = match[0];\n var sepStart = nonWord.lastIndex - sep.length;\n if (QUOTE.test(string[sepStart]) && WORD.test(string[sepStart + 1])) {\n // don't capitalize after an embedded quote\n continue;\n }\n var word = string.substring(startOfWord, nonWord.lastIndex - sep.length);\n if (QUOTE.test(word[0])) {\n // strip leading quote\n out += word[0];\n word = word.substring(1);\n }\n if (typeof opts.skipWord === 'function' && opts.skipWord(word, count)) {\n out += word;\n } else {\n out += capitalize(word, opts);\n }\n out += sep;\n startOfWord = nonWord.lastIndex;\n count++;\n if (startOfWord == string.length) {\n break;\n }\n }\n return out;\n};\nfunction normalizeOptions(opts) {\n if (!opts) {\n return {\n preserve: false\n };\n }\n if (typeof opts === 'boolean') {\n return {\n preserve: opts\n };\n }\n if (opts.skipWord instanceof RegExp) {\n const rgx = opts.skipWord;\n opts.skipWord = function (word, position) {\n return position > 0 && rgx.test(word);\n };\n }\n return opts || {};\n}\nmodule.exports = capitalize;","const set = require('regenerate')();\nset.addRange(0xA880, 0xA8C5).addRange(0xA8CE, 0xA8D9);\nmodule.exports = set;","const set = require('regenerate')(0x20, 0x85, 0xA0, 0x1680, 0x202F, 0x205F, 0x3000);\nset.addRange(0x9, 0xD).addRange(0x2000, 0x200A).addRange(0x2028, 0x2029);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x1D800, 0x1DA8B).addRange(0x1DA9B, 0x1DA9F).addRange(0x1DAA1, 0x1DAAF);\nmodule.exports = set;","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeysIn = require('./_baseKeysIn'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;\n","/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n","const set = require('regenerate')(0x61F, 0x640);\nset.addRange(0x1E900, 0x1E94B).addRange(0x1E950, 0x1E959).addRange(0x1E95E, 0x1E95F);\nmodule.exports = set;","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n","const set = require('regenerate')(0xB9C, 0xBD0, 0xBD7, 0x11FFF);\nset.addRange(0xB82, 0xB83).addRange(0xB85, 0xB8A).addRange(0xB8E, 0xB90).addRange(0xB92, 0xB95).addRange(0xB99, 0xB9A).addRange(0xB9E, 0xB9F).addRange(0xBA3, 0xBA4).addRange(0xBA8, 0xBAA).addRange(0xBAE, 0xBB9).addRange(0xBBE, 0xBC2).addRange(0xBC6, 0xBC8).addRange(0xBCA, 0xBCD).addRange(0xBE6, 0xBFA).addRange(0x11FC0, 0x11FF1);\nmodule.exports = set;","var convert = require('./convert'),\n func = convert('set', require('../set'));\n\nfunc.placeholder = require('./placeholder');\nmodule.exports = func;\n","var eq = require('./eq'),\n isArrayLike = require('./isArrayLike'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject');\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n","var baseGet = require('./_baseGet');\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\n","const set = require('regenerate')(0x23, 0x2A, 0x200D, 0x20E3, 0xFE0F);\nset.addRange(0x30, 0x39).addRange(0x1F1E6, 0x1F1FF).addRange(0x1F3FB, 0x1F3FF).addRange(0x1F9B0, 0x1F9B3).addRange(0xE0020, 0xE007F);\nmodule.exports = set;","const set = require('regenerate')(0x1093F);\nset.addRange(0x10920, 0x10939);\nmodule.exports = set;","const set = require('regenerate')(0x640);\nset.addRange(0x10AC0, 0x10AE6).addRange(0x10AEB, 0x10AF6);\nmodule.exports = set;","const set = require('regenerate')(0x16FE0);\nset.addRange(0x17000, 0x187F7).addRange(0x18800, 0x18AFF).addRange(0x18D00, 0x18D08);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x11700, 0x1171A).addRange(0x1171D, 0x1172B).addRange(0x11730, 0x11746);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x1E290, 0x1E2AE);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x1950, 0x196D).addRange(0x1970, 0x1974);\nmodule.exports = set;","var convert = require('./convert'),\n func = convert('defaultTo', require('../defaultTo'));\n\nfunc.placeholder = require('./placeholder');\nmodule.exports = func;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var baseAssignValue = require('./_baseAssignValue'),\n baseForOwn = require('./_baseForOwn'),\n baseIteratee = require('./_baseIteratee');\n\n/**\n * Creates an object with the same keys as `object` and values generated\n * by running each own enumerable string keyed property of `object` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, key, object).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns the new mapped object.\n * @see _.mapKeys\n * @example\n *\n * var users = {\n * 'fred': { 'user': 'fred', 'age': 40 },\n * 'pebbles': { 'user': 'pebbles', 'age': 1 }\n * };\n *\n * _.mapValues(users, function(o) { return o.age; });\n * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n *\n * // The `_.property` iteratee shorthand.\n * _.mapValues(users, 'age');\n * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n */\nfunction mapValues(object, iteratee) {\n var result = {};\n iteratee = baseIteratee(iteratee, 3);\n\n baseForOwn(object, function(value, key, object) {\n baseAssignValue(result, key, iteratee(value, key, object));\n });\n return result;\n}\n\nmodule.exports = mapValues;\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _gatsby = require(\"gatsby\");\n\nvar _getManifestPathname = _interopRequireDefault(require(\"./get-manifest-pathname\"));\n\n/* global __MANIFEST_PLUGIN_HAS_LOCALISATION__ */\n// when we don't have localisation in our manifest, we tree shake everything away\nif (__MANIFEST_PLUGIN_HAS_LOCALISATION__) {\n exports.onRouteUpdate = function (_ref, pluginOptions) {\n var location = _ref.location;\n var localize = pluginOptions.localize;\n var manifestFilename = (0, _getManifestPathname.default)(location.pathname, localize);\n var manifestEl = document.head.querySelector(\"link[rel=\\\"manifest\\\"]\");\n\n if (manifestEl) {\n manifestEl.setAttribute(\"href\", (0, _gatsby.withPrefix)(manifestFilename));\n }\n };\n}","/*\n Why commonjs and not ES imports/exports?\n\n This module is used to alias `create-react-context` package, but drop the the actual implementation part\n because Gatsby requires version of react that has implementatoin baked in.\n \n Package source is using ES modules:\n - https://github.com/jamiebuilds/create-react-context/blob/v0.3.0/src/index.js\n \n But to build this package `babel-plugin-add-module-exports` is used ( https://www.npmjs.com/package/babel-plugin-add-module-exports).\n Which result in both `module.exports` and `exports.default` being set to same thing.\n\n We don't use that babel plugin so we only have `exports.default`.\n\n This cause problems in various 3rd party react components that rely on `module.exports` being set.\n See https://github.com/gatsbyjs/gatsby/issues/23645 for example of it.\n \n Instead of adding same babel plugin we mimic output here. Adding babel plugin just for this would:\n a) unnecesairly slow down compilation for all other files (if we just apply it everywhere)\n b) or complicate babel-loader configuration with overwrite specifically for this file\n*/\n\nconst { createContext } = require(`react`)\n\nmodule.exports = createContext\nmodule.exports.default = createContext\n","const set = require('regenerate')();\nset.addRange(0x10B60, 0x10B72).addRange(0x10B78, 0x10B7F);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x3E2, 0x3EF).addRange(0x2C80, 0x2CF3).addRange(0x2CF9, 0x2CFF).addRange(0x102E0, 0x102FB);\nmodule.exports = set;","var arrayPush = require('./_arrayPush'),\n getPrototype = require('./_getPrototype'),\n getSymbols = require('./_getSymbols'),\n stubArray = require('./stubArray');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n return result;\n};\n\nmodule.exports = getSymbolsIn;\n","var toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","const set = require('regenerate')(0x2028);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x10F70, 0x10F89);\nmodule.exports = set;","const set = require('regenerate')(0x1258, 0x12C0);\nset.addRange(0x1200, 0x1248).addRange(0x124A, 0x124D).addRange(0x1250, 0x1256).addRange(0x125A, 0x125D).addRange(0x1260, 0x1288).addRange(0x128A, 0x128D).addRange(0x1290, 0x12B0).addRange(0x12B2, 0x12B5).addRange(0x12B8, 0x12BE).addRange(0x12C2, 0x12C5).addRange(0x12C8, 0x12D6).addRange(0x12D8, 0x1310).addRange(0x1312, 0x1315).addRange(0x1318, 0x135A).addRange(0x135D, 0x137C).addRange(0x1380, 0x1399).addRange(0x2D80, 0x2D96).addRange(0x2DA0, 0x2DA6).addRange(0x2DA8, 0x2DAE).addRange(0x2DB0, 0x2DB6).addRange(0x2DB8, 0x2DBE).addRange(0x2DC0, 0x2DC6).addRange(0x2DC8, 0x2DCE).addRange(0x2DD0, 0x2DD6).addRange(0x2DD8, 0x2DDE).addRange(0xAB01, 0xAB06).addRange(0xAB09, 0xAB0E).addRange(0xAB11, 0xAB16).addRange(0xAB20, 0xAB26).addRange(0xAB28, 0xAB2E).addRange(0x1E7E0, 0x1E7E6).addRange(0x1E7E8, 0x1E7EB).addRange(0x1E7ED, 0x1E7EE).addRange(0x1E7F0, 0x1E7FE);\nmodule.exports = set;","var convert = require('./convert'),\n func = convert('matchesProperty', require('../matchesProperty'));\n\nfunc.placeholder = require('./placeholder');\nmodule.exports = func;\n","const set = require('regenerate')(0x2A, 0x2C, 0x5C, 0xA1, 0xA7, 0xBF, 0x37E, 0x387, 0x589, 0x5C0, 0x5C3, 0x5C6, 0x61B, 0x6D4, 0x85E, 0x970, 0x9FD, 0xA76, 0xAF0, 0xC77, 0xC84, 0xDF4, 0xE4F, 0xF14, 0xF85, 0x10FB, 0x166E, 0x1CD3, 0x2053, 0x2D70, 0x2E0B, 0x2E1B, 0x2E41, 0x303D, 0x30FB, 0xA673, 0xA67E, 0xA8FC, 0xA95F, 0xABEB, 0xFE19, 0xFE30, 0xFE68, 0xFF0A, 0xFF0C, 0xFF3C, 0xFF61, 0x1039F, 0x103D0, 0x1056F, 0x10857, 0x1091F, 0x1093F, 0x10A7F, 0x111CD, 0x111DB, 0x112A9, 0x1145D, 0x114C6, 0x116B9, 0x1183B, 0x119E2, 0x11FFF, 0x16AF5, 0x16B44, 0x16FE2, 0x1BC9F);\nset.addRange(0x21, 0x23).addRange(0x25, 0x27).addRange(0x2E, 0x2F).addRange(0x3A, 0x3B).addRange(0x3F, 0x40).addRange(0xB6, 0xB7).addRange(0x55A, 0x55F).addRange(0x5F3, 0x5F4).addRange(0x609, 0x60A).addRange(0x60C, 0x60D).addRange(0x61D, 0x61F).addRange(0x66A, 0x66D).addRange(0x700, 0x70D).addRange(0x7F7, 0x7F9).addRange(0x830, 0x83E).addRange(0x964, 0x965).addRange(0xE5A, 0xE5B).addRange(0xF04, 0xF12).addRange(0xFD0, 0xFD4).addRange(0xFD9, 0xFDA).addRange(0x104A, 0x104F).addRange(0x1360, 0x1368).addRange(0x16EB, 0x16ED).addRange(0x1735, 0x1736).addRange(0x17D4, 0x17D6).addRange(0x17D8, 0x17DA).addRange(0x1800, 0x1805).addRange(0x1807, 0x180A).addRange(0x1944, 0x1945).addRange(0x1A1E, 0x1A1F).addRange(0x1AA0, 0x1AA6).addRange(0x1AA8, 0x1AAD).addRange(0x1B5A, 0x1B60).addRange(0x1B7D, 0x1B7E).addRange(0x1BFC, 0x1BFF).addRange(0x1C3B, 0x1C3F).addRange(0x1C7E, 0x1C7F).addRange(0x1CC0, 0x1CC7).addRange(0x2016, 0x2017).addRange(0x2020, 0x2027).addRange(0x2030, 0x2038).addRange(0x203B, 0x203E).addRange(0x2041, 0x2043).addRange(0x2047, 0x2051).addRange(0x2055, 0x205E).addRange(0x2CF9, 0x2CFC).addRange(0x2CFE, 0x2CFF).addRange(0x2E00, 0x2E01).addRange(0x2E06, 0x2E08).addRange(0x2E0E, 0x2E16).addRange(0x2E18, 0x2E19);\nset.addRange(0x2E1E, 0x2E1F).addRange(0x2E2A, 0x2E2E).addRange(0x2E30, 0x2E39).addRange(0x2E3C, 0x2E3F).addRange(0x2E43, 0x2E4F).addRange(0x2E52, 0x2E54).addRange(0x3001, 0x3003).addRange(0xA4FE, 0xA4FF).addRange(0xA60D, 0xA60F).addRange(0xA6F2, 0xA6F7).addRange(0xA874, 0xA877).addRange(0xA8CE, 0xA8CF).addRange(0xA8F8, 0xA8FA).addRange(0xA92E, 0xA92F).addRange(0xA9C1, 0xA9CD).addRange(0xA9DE, 0xA9DF).addRange(0xAA5C, 0xAA5F).addRange(0xAADE, 0xAADF).addRange(0xAAF0, 0xAAF1).addRange(0xFE10, 0xFE16).addRange(0xFE45, 0xFE46).addRange(0xFE49, 0xFE4C).addRange(0xFE50, 0xFE52).addRange(0xFE54, 0xFE57).addRange(0xFE5F, 0xFE61).addRange(0xFE6A, 0xFE6B).addRange(0xFF01, 0xFF03).addRange(0xFF05, 0xFF07).addRange(0xFF0E, 0xFF0F).addRange(0xFF1A, 0xFF1B).addRange(0xFF1F, 0xFF20).addRange(0xFF64, 0xFF65).addRange(0x10100, 0x10102).addRange(0x10A50, 0x10A58).addRange(0x10AF0, 0x10AF6).addRange(0x10B39, 0x10B3F).addRange(0x10B99, 0x10B9C).addRange(0x10F55, 0x10F59).addRange(0x10F86, 0x10F89).addRange(0x11047, 0x1104D).addRange(0x110BB, 0x110BC).addRange(0x110BE, 0x110C1).addRange(0x11140, 0x11143).addRange(0x11174, 0x11175).addRange(0x111C5, 0x111C8).addRange(0x111DD, 0x111DF).addRange(0x11238, 0x1123D).addRange(0x1144B, 0x1144F).addRange(0x1145A, 0x1145B).addRange(0x115C1, 0x115D7).addRange(0x11641, 0x11643);\nset.addRange(0x11660, 0x1166C).addRange(0x1173C, 0x1173E).addRange(0x11944, 0x11946).addRange(0x11A3F, 0x11A46).addRange(0x11A9A, 0x11A9C).addRange(0x11A9E, 0x11AA2).addRange(0x11C41, 0x11C45).addRange(0x11C70, 0x11C71).addRange(0x11EF7, 0x11EF8).addRange(0x12470, 0x12474).addRange(0x12FF1, 0x12FF2).addRange(0x16A6E, 0x16A6F).addRange(0x16B37, 0x16B3B).addRange(0x16E97, 0x16E9A).addRange(0x1DA87, 0x1DA8B).addRange(0x1E95E, 0x1E95F);\nmodule.exports = set;","import * as React from 'react'\n /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsxRuntime classic */\n/* @jsx mdx */\nimport DefaultLayout from \"/home/runner/work/tanka/tanka/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nexport const _frontmatter = {};\nconst layoutProps = {\n _frontmatter\n};\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n components,\n ...props\n}) {\n return \n\n\n

      {`On macOS, Jsonnet Bundler is best installed using `}{`brew`}{`:`}

      \n
      {`$ brew install jsonnet-bundler`}
      \n

      {`This downloads the most recent version of Jsonnet Bundler and installs it.`}

      {`\n`}{`Also, Jsonnet Bundler is automatically kept up to date as part of `}{`brew upgrade`}{`.`}

      \n\n \n
      ;\n}\n;\nMDXContent.isMDXComponent = true;\n ","const set = require('regenerate')(0x38C, 0x5BE, 0x5C0, 0x5C3, 0x5C6, 0x61B, 0x6DE, 0x6E9, 0x710, 0x7B1, 0x81A, 0x824, 0x828, 0x85E, 0x93B, 0x9B2, 0x9BD, 0x9CE, 0xA03, 0xA5E, 0xA76, 0xA83, 0xAC9, 0xAD0, 0xAF9, 0xB3D, 0xB40, 0xB83, 0xB9C, 0xBBF, 0xBD0, 0xC3D, 0xC5D, 0xD3D, 0xDBD, 0xE84, 0xEA5, 0xEBD, 0xEC6, 0xF36, 0xF38, 0xF7F, 0xF85, 0x1031, 0x1038, 0x10C7, 0x10CD, 0x1258, 0x12C0, 0x1715, 0x17B6, 0x18AA, 0x1940, 0x1A57, 0x1A61, 0x1B3B, 0x1BAA, 0x1BE7, 0x1BEE, 0x1CD3, 0x1CE1, 0x1CFA, 0x1F59, 0x1F5B, 0x1F5D, 0x2D27, 0x2D2D, 0xA673, 0xA7D3, 0xAA4D, 0xAAB1, 0xAAC0, 0xAAC2, 0xFB1D, 0xFB3E, 0xFDCF, 0x101A0, 0x10808, 0x1083C, 0x1093F, 0x10EAD, 0x11000, 0x11075, 0x1112C, 0x11235, 0x11288, 0x1133D, 0x1133F, 0x11350, 0x11445, 0x1145D, 0x114B9, 0x114BE, 0x114C1, 0x115BE, 0x1163E, 0x116AC, 0x116B6, 0x11726, 0x11838, 0x1183B, 0x11909, 0x1193D, 0x11A00, 0x11A50, 0x11A97, 0x11C3E, 0x11CA9, 0x11CB1, 0x11CB4, 0x11D46, 0x11D96, 0x11D98, 0x11FB0, 0x16AF5, 0x1BC9C, 0x1BC9F, 0x1D166, 0x1D245, 0x1D4A2, 0x1D4BB, 0x1D546, 0x1E2FF, 0x1E94B, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E, 0x1F7F0);\nset.addRange(0x20, 0x7E).addRange(0xA0, 0xAC).addRange(0xAE, 0x2FF).addRange(0x370, 0x377).addRange(0x37A, 0x37F).addRange(0x384, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x482).addRange(0x48A, 0x52F).addRange(0x531, 0x556).addRange(0x559, 0x58A).addRange(0x58D, 0x58F).addRange(0x5D0, 0x5EA).addRange(0x5EF, 0x5F4).addRange(0x606, 0x60F).addRange(0x61D, 0x64A).addRange(0x660, 0x66F).addRange(0x671, 0x6D5).addRange(0x6E5, 0x6E6).addRange(0x6EE, 0x70D).addRange(0x712, 0x72F).addRange(0x74D, 0x7A5).addRange(0x7C0, 0x7EA).addRange(0x7F4, 0x7FA).addRange(0x7FE, 0x815).addRange(0x830, 0x83E).addRange(0x840, 0x858).addRange(0x860, 0x86A).addRange(0x870, 0x88E).addRange(0x8A0, 0x8C9).addRange(0x903, 0x939).addRange(0x93D, 0x940).addRange(0x949, 0x94C).addRange(0x94E, 0x950).addRange(0x958, 0x961).addRange(0x964, 0x980).addRange(0x982, 0x983).addRange(0x985, 0x98C).addRange(0x98F, 0x990).addRange(0x993, 0x9A8).addRange(0x9AA, 0x9B0).addRange(0x9B6, 0x9B9).addRange(0x9BF, 0x9C0).addRange(0x9C7, 0x9C8).addRange(0x9CB, 0x9CC).addRange(0x9DC, 0x9DD).addRange(0x9DF, 0x9E1).addRange(0x9E6, 0x9FD).addRange(0xA05, 0xA0A).addRange(0xA0F, 0xA10).addRange(0xA13, 0xA28);\nset.addRange(0xA2A, 0xA30).addRange(0xA32, 0xA33).addRange(0xA35, 0xA36).addRange(0xA38, 0xA39).addRange(0xA3E, 0xA40).addRange(0xA59, 0xA5C).addRange(0xA66, 0xA6F).addRange(0xA72, 0xA74).addRange(0xA85, 0xA8D).addRange(0xA8F, 0xA91).addRange(0xA93, 0xAA8).addRange(0xAAA, 0xAB0).addRange(0xAB2, 0xAB3).addRange(0xAB5, 0xAB9).addRange(0xABD, 0xAC0).addRange(0xACB, 0xACC).addRange(0xAE0, 0xAE1).addRange(0xAE6, 0xAF1).addRange(0xB02, 0xB03).addRange(0xB05, 0xB0C).addRange(0xB0F, 0xB10).addRange(0xB13, 0xB28).addRange(0xB2A, 0xB30).addRange(0xB32, 0xB33).addRange(0xB35, 0xB39).addRange(0xB47, 0xB48).addRange(0xB4B, 0xB4C).addRange(0xB5C, 0xB5D).addRange(0xB5F, 0xB61).addRange(0xB66, 0xB77).addRange(0xB85, 0xB8A).addRange(0xB8E, 0xB90).addRange(0xB92, 0xB95).addRange(0xB99, 0xB9A).addRange(0xB9E, 0xB9F).addRange(0xBA3, 0xBA4).addRange(0xBA8, 0xBAA).addRange(0xBAE, 0xBB9).addRange(0xBC1, 0xBC2).addRange(0xBC6, 0xBC8).addRange(0xBCA, 0xBCC).addRange(0xBE6, 0xBFA).addRange(0xC01, 0xC03).addRange(0xC05, 0xC0C).addRange(0xC0E, 0xC10).addRange(0xC12, 0xC28).addRange(0xC2A, 0xC39).addRange(0xC41, 0xC44).addRange(0xC58, 0xC5A).addRange(0xC60, 0xC61).addRange(0xC66, 0xC6F);\nset.addRange(0xC77, 0xC80).addRange(0xC82, 0xC8C).addRange(0xC8E, 0xC90).addRange(0xC92, 0xCA8).addRange(0xCAA, 0xCB3).addRange(0xCB5, 0xCB9).addRange(0xCBD, 0xCBE).addRange(0xCC0, 0xCC1).addRange(0xCC3, 0xCC4).addRange(0xCC7, 0xCC8).addRange(0xCCA, 0xCCB).addRange(0xCDD, 0xCDE).addRange(0xCE0, 0xCE1).addRange(0xCE6, 0xCEF).addRange(0xCF1, 0xCF2).addRange(0xD02, 0xD0C).addRange(0xD0E, 0xD10).addRange(0xD12, 0xD3A).addRange(0xD3F, 0xD40).addRange(0xD46, 0xD48).addRange(0xD4A, 0xD4C).addRange(0xD4E, 0xD4F).addRange(0xD54, 0xD56).addRange(0xD58, 0xD61).addRange(0xD66, 0xD7F).addRange(0xD82, 0xD83).addRange(0xD85, 0xD96).addRange(0xD9A, 0xDB1).addRange(0xDB3, 0xDBB).addRange(0xDC0, 0xDC6).addRange(0xDD0, 0xDD1).addRange(0xDD8, 0xDDE).addRange(0xDE6, 0xDEF).addRange(0xDF2, 0xDF4).addRange(0xE01, 0xE30).addRange(0xE32, 0xE33).addRange(0xE3F, 0xE46).addRange(0xE4F, 0xE5B).addRange(0xE81, 0xE82).addRange(0xE86, 0xE8A).addRange(0xE8C, 0xEA3).addRange(0xEA7, 0xEB0).addRange(0xEB2, 0xEB3).addRange(0xEC0, 0xEC4).addRange(0xED0, 0xED9).addRange(0xEDC, 0xEDF).addRange(0xF00, 0xF17).addRange(0xF1A, 0xF34).addRange(0xF3A, 0xF47).addRange(0xF49, 0xF6C).addRange(0xF88, 0xF8C);\nset.addRange(0xFBE, 0xFC5).addRange(0xFC7, 0xFCC).addRange(0xFCE, 0xFDA).addRange(0x1000, 0x102C).addRange(0x103B, 0x103C).addRange(0x103F, 0x1057).addRange(0x105A, 0x105D).addRange(0x1061, 0x1070).addRange(0x1075, 0x1081).addRange(0x1083, 0x1084).addRange(0x1087, 0x108C).addRange(0x108E, 0x109C).addRange(0x109E, 0x10C5).addRange(0x10D0, 0x1248).addRange(0x124A, 0x124D).addRange(0x1250, 0x1256).addRange(0x125A, 0x125D).addRange(0x1260, 0x1288).addRange(0x128A, 0x128D).addRange(0x1290, 0x12B0).addRange(0x12B2, 0x12B5).addRange(0x12B8, 0x12BE).addRange(0x12C2, 0x12C5).addRange(0x12C8, 0x12D6).addRange(0x12D8, 0x1310).addRange(0x1312, 0x1315).addRange(0x1318, 0x135A).addRange(0x1360, 0x137C).addRange(0x1380, 0x1399).addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0x1400, 0x169C).addRange(0x16A0, 0x16F8).addRange(0x1700, 0x1711).addRange(0x171F, 0x1731).addRange(0x1734, 0x1736).addRange(0x1740, 0x1751).addRange(0x1760, 0x176C).addRange(0x176E, 0x1770).addRange(0x1780, 0x17B3).addRange(0x17BE, 0x17C5).addRange(0x17C7, 0x17C8).addRange(0x17D4, 0x17DC).addRange(0x17E0, 0x17E9).addRange(0x17F0, 0x17F9).addRange(0x1800, 0x180A).addRange(0x1810, 0x1819).addRange(0x1820, 0x1878).addRange(0x1880, 0x1884).addRange(0x1887, 0x18A8).addRange(0x18B0, 0x18F5);\nset.addRange(0x1900, 0x191E).addRange(0x1923, 0x1926).addRange(0x1929, 0x192B).addRange(0x1930, 0x1931).addRange(0x1933, 0x1938).addRange(0x1944, 0x196D).addRange(0x1970, 0x1974).addRange(0x1980, 0x19AB).addRange(0x19B0, 0x19C9).addRange(0x19D0, 0x19DA).addRange(0x19DE, 0x1A16).addRange(0x1A19, 0x1A1A).addRange(0x1A1E, 0x1A55).addRange(0x1A63, 0x1A64).addRange(0x1A6D, 0x1A72).addRange(0x1A80, 0x1A89).addRange(0x1A90, 0x1A99).addRange(0x1AA0, 0x1AAD).addRange(0x1B04, 0x1B33).addRange(0x1B3D, 0x1B41).addRange(0x1B43, 0x1B4C).addRange(0x1B50, 0x1B6A).addRange(0x1B74, 0x1B7E).addRange(0x1B82, 0x1BA1).addRange(0x1BA6, 0x1BA7).addRange(0x1BAE, 0x1BE5).addRange(0x1BEA, 0x1BEC).addRange(0x1BF2, 0x1BF3).addRange(0x1BFC, 0x1C2B).addRange(0x1C34, 0x1C35).addRange(0x1C3B, 0x1C49).addRange(0x1C4D, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CC7).addRange(0x1CE9, 0x1CEC).addRange(0x1CEE, 0x1CF3).addRange(0x1CF5, 0x1CF7).addRange(0x1D00, 0x1DBF).addRange(0x1E00, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D).addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FC4).addRange(0x1FC6, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FDD, 0x1FEF).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFE);\nset.addRange(0x2000, 0x200A).addRange(0x2010, 0x2027).addRange(0x202F, 0x205F).addRange(0x2070, 0x2071).addRange(0x2074, 0x208E).addRange(0x2090, 0x209C).addRange(0x20A0, 0x20C0).addRange(0x2100, 0x218B).addRange(0x2190, 0x2426).addRange(0x2440, 0x244A).addRange(0x2460, 0x2B73).addRange(0x2B76, 0x2B95).addRange(0x2B97, 0x2CEE).addRange(0x2CF2, 0x2CF3).addRange(0x2CF9, 0x2D25).addRange(0x2D30, 0x2D67).addRange(0x2D6F, 0x2D70).addRange(0x2D80, 0x2D96).addRange(0x2DA0, 0x2DA6).addRange(0x2DA8, 0x2DAE).addRange(0x2DB0, 0x2DB6).addRange(0x2DB8, 0x2DBE).addRange(0x2DC0, 0x2DC6).addRange(0x2DC8, 0x2DCE).addRange(0x2DD0, 0x2DD6).addRange(0x2DD8, 0x2DDE).addRange(0x2E00, 0x2E5D).addRange(0x2E80, 0x2E99).addRange(0x2E9B, 0x2EF3).addRange(0x2F00, 0x2FD5).addRange(0x2FF0, 0x2FFB).addRange(0x3000, 0x3029).addRange(0x3030, 0x303F).addRange(0x3041, 0x3096).addRange(0x309B, 0x30FF).addRange(0x3105, 0x312F).addRange(0x3131, 0x318E).addRange(0x3190, 0x31E3).addRange(0x31F0, 0x321E).addRange(0x3220, 0xA48C).addRange(0xA490, 0xA4C6).addRange(0xA4D0, 0xA62B).addRange(0xA640, 0xA66E).addRange(0xA67E, 0xA69D).addRange(0xA6A0, 0xA6EF).addRange(0xA6F2, 0xA6F7).addRange(0xA700, 0xA7CA).addRange(0xA7D0, 0xA7D1).addRange(0xA7D5, 0xA7D9).addRange(0xA7F2, 0xA801).addRange(0xA803, 0xA805);\nset.addRange(0xA807, 0xA80A).addRange(0xA80C, 0xA824).addRange(0xA827, 0xA82B).addRange(0xA830, 0xA839).addRange(0xA840, 0xA877).addRange(0xA880, 0xA8C3).addRange(0xA8CE, 0xA8D9).addRange(0xA8F2, 0xA8FE).addRange(0xA900, 0xA925).addRange(0xA92E, 0xA946).addRange(0xA952, 0xA953).addRange(0xA95F, 0xA97C).addRange(0xA983, 0xA9B2).addRange(0xA9B4, 0xA9B5).addRange(0xA9BA, 0xA9BB).addRange(0xA9BE, 0xA9CD).addRange(0xA9CF, 0xA9D9).addRange(0xA9DE, 0xA9E4).addRange(0xA9E6, 0xA9FE).addRange(0xAA00, 0xAA28).addRange(0xAA2F, 0xAA30).addRange(0xAA33, 0xAA34).addRange(0xAA40, 0xAA42).addRange(0xAA44, 0xAA4B).addRange(0xAA50, 0xAA59).addRange(0xAA5C, 0xAA7B).addRange(0xAA7D, 0xAAAF).addRange(0xAAB5, 0xAAB6).addRange(0xAAB9, 0xAABD).addRange(0xAADB, 0xAAEB).addRange(0xAAEE, 0xAAF5).addRange(0xAB01, 0xAB06).addRange(0xAB09, 0xAB0E).addRange(0xAB11, 0xAB16).addRange(0xAB20, 0xAB26).addRange(0xAB28, 0xAB2E).addRange(0xAB30, 0xAB6B).addRange(0xAB70, 0xABE4).addRange(0xABE6, 0xABE7).addRange(0xABE9, 0xABEC).addRange(0xABF0, 0xABF9).addRange(0xAC00, 0xD7A3).addRange(0xD7B0, 0xD7C6).addRange(0xD7CB, 0xD7FB).addRange(0xF900, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFB1F, 0xFB36).addRange(0xFB38, 0xFB3C).addRange(0xFB40, 0xFB41);\nset.addRange(0xFB43, 0xFB44).addRange(0xFB46, 0xFBC2).addRange(0xFBD3, 0xFD8F).addRange(0xFD92, 0xFDC7).addRange(0xFDF0, 0xFDFF).addRange(0xFE10, 0xFE19).addRange(0xFE30, 0xFE52).addRange(0xFE54, 0xFE66).addRange(0xFE68, 0xFE6B).addRange(0xFE70, 0xFE74).addRange(0xFE76, 0xFEFC).addRange(0xFF01, 0xFF9D).addRange(0xFFA0, 0xFFBE).addRange(0xFFC2, 0xFFC7).addRange(0xFFCA, 0xFFCF).addRange(0xFFD2, 0xFFD7).addRange(0xFFDA, 0xFFDC).addRange(0xFFE0, 0xFFE6).addRange(0xFFE8, 0xFFEE).addRange(0xFFFC, 0xFFFD).addRange(0x10000, 0x1000B).addRange(0x1000D, 0x10026).addRange(0x10028, 0x1003A).addRange(0x1003C, 0x1003D).addRange(0x1003F, 0x1004D).addRange(0x10050, 0x1005D).addRange(0x10080, 0x100FA).addRange(0x10100, 0x10102).addRange(0x10107, 0x10133).addRange(0x10137, 0x1018E).addRange(0x10190, 0x1019C).addRange(0x101D0, 0x101FC).addRange(0x10280, 0x1029C).addRange(0x102A0, 0x102D0).addRange(0x102E1, 0x102FB).addRange(0x10300, 0x10323).addRange(0x1032D, 0x1034A).addRange(0x10350, 0x10375).addRange(0x10380, 0x1039D).addRange(0x1039F, 0x103C3).addRange(0x103C8, 0x103D5).addRange(0x10400, 0x1049D).addRange(0x104A0, 0x104A9).addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB).addRange(0x10500, 0x10527).addRange(0x10530, 0x10563).addRange(0x1056F, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595);\nset.addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10600, 0x10736).addRange(0x10740, 0x10755).addRange(0x10760, 0x10767).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10800, 0x10805).addRange(0x1080A, 0x10835).addRange(0x10837, 0x10838).addRange(0x1083F, 0x10855).addRange(0x10857, 0x1089E).addRange(0x108A7, 0x108AF).addRange(0x108E0, 0x108F2).addRange(0x108F4, 0x108F5).addRange(0x108FB, 0x1091B).addRange(0x1091F, 0x10939).addRange(0x10980, 0x109B7).addRange(0x109BC, 0x109CF).addRange(0x109D2, 0x10A00).addRange(0x10A10, 0x10A13).addRange(0x10A15, 0x10A17).addRange(0x10A19, 0x10A35).addRange(0x10A40, 0x10A48).addRange(0x10A50, 0x10A58).addRange(0x10A60, 0x10A9F).addRange(0x10AC0, 0x10AE4).addRange(0x10AEB, 0x10AF6).addRange(0x10B00, 0x10B35).addRange(0x10B39, 0x10B55).addRange(0x10B58, 0x10B72).addRange(0x10B78, 0x10B91).addRange(0x10B99, 0x10B9C).addRange(0x10BA9, 0x10BAF).addRange(0x10C00, 0x10C48).addRange(0x10C80, 0x10CB2).addRange(0x10CC0, 0x10CF2).addRange(0x10CFA, 0x10D23).addRange(0x10D30, 0x10D39).addRange(0x10E60, 0x10E7E).addRange(0x10E80, 0x10EA9).addRange(0x10EB0, 0x10EB1).addRange(0x10F00, 0x10F27).addRange(0x10F30, 0x10F45).addRange(0x10F51, 0x10F59).addRange(0x10F70, 0x10F81).addRange(0x10F86, 0x10F89).addRange(0x10FB0, 0x10FCB);\nset.addRange(0x10FE0, 0x10FF6).addRange(0x11002, 0x11037).addRange(0x11047, 0x1104D).addRange(0x11052, 0x1106F).addRange(0x11071, 0x11072).addRange(0x11082, 0x110B2).addRange(0x110B7, 0x110B8).addRange(0x110BB, 0x110BC).addRange(0x110BE, 0x110C1).addRange(0x110D0, 0x110E8).addRange(0x110F0, 0x110F9).addRange(0x11103, 0x11126).addRange(0x11136, 0x11147).addRange(0x11150, 0x11172).addRange(0x11174, 0x11176).addRange(0x11182, 0x111B5).addRange(0x111BF, 0x111C8).addRange(0x111CD, 0x111CE).addRange(0x111D0, 0x111DF).addRange(0x111E1, 0x111F4).addRange(0x11200, 0x11211).addRange(0x11213, 0x1122E).addRange(0x11232, 0x11233).addRange(0x11238, 0x1123D).addRange(0x11280, 0x11286).addRange(0x1128A, 0x1128D).addRange(0x1128F, 0x1129D).addRange(0x1129F, 0x112A9).addRange(0x112B0, 0x112DE).addRange(0x112E0, 0x112E2).addRange(0x112F0, 0x112F9).addRange(0x11302, 0x11303).addRange(0x11305, 0x1130C).addRange(0x1130F, 0x11310).addRange(0x11313, 0x11328).addRange(0x1132A, 0x11330).addRange(0x11332, 0x11333).addRange(0x11335, 0x11339).addRange(0x11341, 0x11344).addRange(0x11347, 0x11348).addRange(0x1134B, 0x1134D).addRange(0x1135D, 0x11363).addRange(0x11400, 0x11437).addRange(0x11440, 0x11441).addRange(0x11447, 0x1145B).addRange(0x1145F, 0x11461).addRange(0x11480, 0x114AF).addRange(0x114B1, 0x114B2).addRange(0x114BB, 0x114BC).addRange(0x114C4, 0x114C7).addRange(0x114D0, 0x114D9);\nset.addRange(0x11580, 0x115AE).addRange(0x115B0, 0x115B1).addRange(0x115B8, 0x115BB).addRange(0x115C1, 0x115DB).addRange(0x11600, 0x11632).addRange(0x1163B, 0x1163C).addRange(0x11641, 0x11644).addRange(0x11650, 0x11659).addRange(0x11660, 0x1166C).addRange(0x11680, 0x116AA).addRange(0x116AE, 0x116AF).addRange(0x116B8, 0x116B9).addRange(0x116C0, 0x116C9).addRange(0x11700, 0x1171A).addRange(0x11720, 0x11721).addRange(0x11730, 0x11746).addRange(0x11800, 0x1182E).addRange(0x118A0, 0x118F2).addRange(0x118FF, 0x11906).addRange(0x1190C, 0x11913).addRange(0x11915, 0x11916).addRange(0x11918, 0x1192F).addRange(0x11931, 0x11935).addRange(0x11937, 0x11938).addRange(0x1193F, 0x11942).addRange(0x11944, 0x11946).addRange(0x11950, 0x11959).addRange(0x119A0, 0x119A7).addRange(0x119AA, 0x119D3).addRange(0x119DC, 0x119DF).addRange(0x119E1, 0x119E4).addRange(0x11A0B, 0x11A32).addRange(0x11A39, 0x11A3A).addRange(0x11A3F, 0x11A46).addRange(0x11A57, 0x11A58).addRange(0x11A5C, 0x11A89).addRange(0x11A9A, 0x11AA2).addRange(0x11AB0, 0x11AF8).addRange(0x11C00, 0x11C08).addRange(0x11C0A, 0x11C2F).addRange(0x11C40, 0x11C45).addRange(0x11C50, 0x11C6C).addRange(0x11C70, 0x11C8F).addRange(0x11D00, 0x11D06).addRange(0x11D08, 0x11D09).addRange(0x11D0B, 0x11D30).addRange(0x11D50, 0x11D59).addRange(0x11D60, 0x11D65).addRange(0x11D67, 0x11D68).addRange(0x11D6A, 0x11D8E).addRange(0x11D93, 0x11D94);\nset.addRange(0x11DA0, 0x11DA9).addRange(0x11EE0, 0x11EF2).addRange(0x11EF5, 0x11EF8).addRange(0x11FC0, 0x11FF1).addRange(0x11FFF, 0x12399).addRange(0x12400, 0x1246E).addRange(0x12470, 0x12474).addRange(0x12480, 0x12543).addRange(0x12F90, 0x12FF2).addRange(0x13000, 0x1342E).addRange(0x14400, 0x14646).addRange(0x16800, 0x16A38).addRange(0x16A40, 0x16A5E).addRange(0x16A60, 0x16A69).addRange(0x16A6E, 0x16ABE).addRange(0x16AC0, 0x16AC9).addRange(0x16AD0, 0x16AED).addRange(0x16B00, 0x16B2F).addRange(0x16B37, 0x16B45).addRange(0x16B50, 0x16B59).addRange(0x16B5B, 0x16B61).addRange(0x16B63, 0x16B77).addRange(0x16B7D, 0x16B8F).addRange(0x16E40, 0x16E9A).addRange(0x16F00, 0x16F4A).addRange(0x16F50, 0x16F87).addRange(0x16F93, 0x16F9F).addRange(0x16FE0, 0x16FE3).addRange(0x16FF0, 0x16FF1).addRange(0x17000, 0x187F7).addRange(0x18800, 0x18CD5).addRange(0x18D00, 0x18D08).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE).addRange(0x1B000, 0x1B122).addRange(0x1B150, 0x1B152).addRange(0x1B164, 0x1B167).addRange(0x1B170, 0x1B2FB).addRange(0x1BC00, 0x1BC6A).addRange(0x1BC70, 0x1BC7C).addRange(0x1BC80, 0x1BC88).addRange(0x1BC90, 0x1BC99).addRange(0x1CF50, 0x1CFC3).addRange(0x1D000, 0x1D0F5).addRange(0x1D100, 0x1D126).addRange(0x1D129, 0x1D164).addRange(0x1D16A, 0x1D16D).addRange(0x1D183, 0x1D184).addRange(0x1D18C, 0x1D1A9).addRange(0x1D1AE, 0x1D1EA);\nset.addRange(0x1D200, 0x1D241).addRange(0x1D2E0, 0x1D2F3).addRange(0x1D300, 0x1D356).addRange(0x1D360, 0x1D378).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D7CB).addRange(0x1D7CE, 0x1D9FF).addRange(0x1DA37, 0x1DA3A).addRange(0x1DA6D, 0x1DA74).addRange(0x1DA76, 0x1DA83).addRange(0x1DA85, 0x1DA8B).addRange(0x1DF00, 0x1DF1E).addRange(0x1E100, 0x1E12C).addRange(0x1E137, 0x1E13D).addRange(0x1E140, 0x1E149).addRange(0x1E14E, 0x1E14F).addRange(0x1E290, 0x1E2AD).addRange(0x1E2C0, 0x1E2EB).addRange(0x1E2F0, 0x1E2F9).addRange(0x1E7E0, 0x1E7E6).addRange(0x1E7E8, 0x1E7EB).addRange(0x1E7ED, 0x1E7EE).addRange(0x1E7F0, 0x1E7FE).addRange(0x1E800, 0x1E8C4).addRange(0x1E8C7, 0x1E8CF).addRange(0x1E900, 0x1E943).addRange(0x1E950, 0x1E959).addRange(0x1E95E, 0x1E95F).addRange(0x1EC71, 0x1ECB4).addRange(0x1ED01, 0x1ED3D).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F);\nset.addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72).addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89).addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x1EEF0, 0x1EEF1).addRange(0x1F000, 0x1F02B).addRange(0x1F030, 0x1F093).addRange(0x1F0A0, 0x1F0AE).addRange(0x1F0B1, 0x1F0BF).addRange(0x1F0C1, 0x1F0CF).addRange(0x1F0D1, 0x1F0F5).addRange(0x1F100, 0x1F1AD).addRange(0x1F1E6, 0x1F202).addRange(0x1F210, 0x1F23B).addRange(0x1F240, 0x1F248).addRange(0x1F250, 0x1F251).addRange(0x1F260, 0x1F265).addRange(0x1F300, 0x1F6D7).addRange(0x1F6DD, 0x1F6EC).addRange(0x1F6F0, 0x1F6FC).addRange(0x1F700, 0x1F773).addRange(0x1F780, 0x1F7D8).addRange(0x1F7E0, 0x1F7EB).addRange(0x1F800, 0x1F80B).addRange(0x1F810, 0x1F847).addRange(0x1F850, 0x1F859).addRange(0x1F860, 0x1F887).addRange(0x1F890, 0x1F8AD).addRange(0x1F8B0, 0x1F8B1).addRange(0x1F900, 0x1FA53).addRange(0x1FA60, 0x1FA6D).addRange(0x1FA70, 0x1FA74).addRange(0x1FA78, 0x1FA7C).addRange(0x1FA80, 0x1FA86).addRange(0x1FA90, 0x1FAAC).addRange(0x1FAB0, 0x1FABA).addRange(0x1FAC0, 0x1FAC5).addRange(0x1FAD0, 0x1FAD9).addRange(0x1FAE0, 0x1FAE7).addRange(0x1FAF0, 0x1FAF6).addRange(0x1FB00, 0x1FB92).addRange(0x1FB94, 0x1FBCA).addRange(0x1FBF0, 0x1FBF9).addRange(0x20000, 0x2A6DF);\nset.addRange(0x2A700, 0x2B738).addRange(0x2B740, 0x2B81D).addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x2F800, 0x2FA1D).addRange(0x30000, 0x3134A);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x11480, 0x114C7).addRange(0x114D0, 0x114D9);\nmodule.exports = set;","const set = require('regenerate')(0xAD0);\nset.addRange(0x951, 0x952).addRange(0x964, 0x965).addRange(0xA81, 0xA83).addRange(0xA85, 0xA8D).addRange(0xA8F, 0xA91).addRange(0xA93, 0xAA8).addRange(0xAAA, 0xAB0).addRange(0xAB2, 0xAB3).addRange(0xAB5, 0xAB9).addRange(0xABC, 0xAC5).addRange(0xAC7, 0xAC9).addRange(0xACB, 0xACD).addRange(0xAE0, 0xAE3).addRange(0xAE6, 0xAF1).addRange(0xAF9, 0xAFF).addRange(0xA830, 0xA839);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x10F00, 0x10F27);\nmodule.exports = set;","var SetCache = require('./_SetCache'),\n arraySome = require('./_arraySome'),\n cacheHas = require('./_cacheHas');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalArrays;\n","'use strict';\n\nconst propertyToValueAliases = require('./data/mappings.js');\nconst matchPropertyValue = function (property, value) {\n const aliasToValue = propertyToValueAliases.get(property);\n if (!aliasToValue) {\n throw new Error(\"Unknown property `\".concat(property, \"`.\"));\n }\n const canonicalValue = aliasToValue.get(value);\n if (canonicalValue) {\n return canonicalValue;\n }\n throw new Error(\"Unknown value `\".concat(value, \"` for property `\").concat(property, \"`.\"));\n};\nmodule.exports = matchPropertyValue;","import React from \"react\"\n\nconst Highlight = ({ title, children }) => (\n \n

      {title}

      \n {children}\n \n)\n\nexport const Highlights = ({ elems }) => (\n \n {Object.keys(elems).map(k => (\n \n {elems[k]}\n \n ))}\n \n)\n","var Symbol = require('./_Symbol');\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\nmodule.exports = cloneSymbol;\n","const set = require('regenerate')(0x2B, 0x7C, 0x7E, 0xAC, 0xB1, 0xD7, 0xF7, 0x3F6, 0x2044, 0x2052, 0x2118, 0x214B, 0x21A0, 0x21A3, 0x21A6, 0x21AE, 0x21D2, 0x21D4, 0x237C, 0x25B7, 0x25C1, 0x266F, 0xFB29, 0xFE62, 0xFF0B, 0xFF5C, 0xFF5E, 0xFFE2, 0x1D6C1, 0x1D6DB, 0x1D6FB, 0x1D715, 0x1D735, 0x1D74F, 0x1D76F, 0x1D789, 0x1D7A9, 0x1D7C3);\nset.addRange(0x3C, 0x3E).addRange(0x606, 0x608).addRange(0x207A, 0x207C).addRange(0x208A, 0x208C).addRange(0x2140, 0x2144).addRange(0x2190, 0x2194).addRange(0x219A, 0x219B).addRange(0x21CE, 0x21CF).addRange(0x21F4, 0x22FF).addRange(0x2320, 0x2321).addRange(0x239B, 0x23B3).addRange(0x23DC, 0x23E1).addRange(0x25F8, 0x25FF).addRange(0x27C0, 0x27C4).addRange(0x27C7, 0x27E5).addRange(0x27F0, 0x27FF).addRange(0x2900, 0x2982).addRange(0x2999, 0x29D7).addRange(0x29DC, 0x29FB).addRange(0x29FE, 0x2AFF).addRange(0x2B30, 0x2B44).addRange(0x2B47, 0x2B4C).addRange(0xFE64, 0xFE66).addRange(0xFF1C, 0xFF1E).addRange(0xFFE9, 0xFFEC).addRange(0x1EEF0, 0x1EEF1);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x1980, 0x19AB).addRange(0x19B0, 0x19C9).addRange(0x19D0, 0x19DA).addRange(0x19DE, 0x19DF);\nmodule.exports = set;","'use strict';\n\nvar matchOperatorsRe = /[|\\\\{}()[\\]^$+*?.]/g;\nmodule.exports = function (str) {\n if (typeof str !== 'string') {\n throw new TypeError('Expected a string');\n }\n return str.replace(matchOperatorsRe, '\\\\$&');\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.codeRenderer = codeRenderer;\nexports[\"default\"] = createRenderer;\nvar _marked = _interopRequireDefault(require(\"marked\"));\nvar _he = _interopRequireDefault(require(\"he\"));\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nfunction codeRenderer(tracker, options) {\n function CodeComponent(props) {\n var children;\n try {\n // eslint-disable-next-line react/no-danger-with-children\n children = options.createElement('code', {\n className: \"language-\".concat(props.language),\n dangerouslySetInnerHTML: options.highlight ? {\n __html: options.highlight(props.language, props.code)\n } : null\n }, options.highlight ? null : props.code);\n } catch (e) {\n // eslint-disable-next-line\n console.warn(\"\".concat(props.language, \" is not supported by your defined highlighter.\"));\n children = options.createElement('code', null, props.code);\n }\n return options.createElement('pre', null, children);\n }\n return function (code, language) {\n // eslint-disable-next-line no-plusplus, no-param-reassign\n var elementId = tracker.nextElementId++; // eslint-disable-next-line no-param-reassign\n\n tracker.elements[elementId] = options.createElement(options.elements && options.elements.code || CodeComponent, {\n key: elementId,\n code: code,\n language: language\n });\n tracker.tree.push(tracker.elements[elementId]);\n return \"{{\".concat(elementId, \"}}\");\n };\n}\nfunction createRenderer(tracker, options) {\n var overrides = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var renderer = new _marked[\"default\"].Renderer();\n function getTocPosition(toc, level) {\n var currentLevel = toc.children; // eslint-disable-next-line no-constant-condition\n\n while (true) {\n if (!currentLevel.length || currentLevel[currentLevel.length - 1].level === level) {\n return currentLevel;\n }\n currentLevel = currentLevel[currentLevel.length - 1].children;\n }\n }\n function populateInlineContent() {\n var content = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var contentArray = content.split(/(\\{\\{.*?\\}\\})/);\n var extractedElements = contentArray.map(function (text) {\n var elementIdMatch = text.match(/\\{\\{(.*)\\}\\}/);\n if (elementIdMatch) {\n tracker.tree.splice(tracker.tree.indexOf(tracker.elements[elementIdMatch[1]]), 1);\n return tracker.elements[elementIdMatch[1]];\n }\n if (text !== '') {\n return _he[\"default\"].decode(text);\n }\n return null;\n });\n return extractedElements;\n }\n function addElement(tag) {\n var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var children = arguments.length > 2 ? arguments[2] : undefined;\n var type = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : tag;\n // eslint-disable-next-line no-plusplus, no-param-reassign\n var elementId = tracker.nextElementId++;\n var inlineContent = null;\n var elementType = options.elements && options.elements[type];\n if (children) {\n inlineContent = Array.isArray(children) ? children.map(populateInlineContent) : populateInlineContent(children);\n } // eslint-disable-next-line no-param-reassign\n\n tracker.elements[elementId] = options.createElement(elementType || tag, Object.assign({\n key: elementId\n }, props, elementType ? {\n context: tracker.context\n } : {}), inlineContent);\n tracker.tree.push(tracker.elements[elementId]);\n return \"{{\".concat(elementId, \"}}\");\n }\n renderer.code = overrides.code || codeRenderer(tracker, options);\n renderer.html = overrides.html || function (html) {\n // eslint-disable-next-line no-plusplus, no-param-reassign\n var elementId = tracker.nextElementId++;\n tracker.tree.push(options.createElement('div', {\n key: elementId,\n dangerouslySetInnerHTML: {\n __html: html\n }\n }));\n };\n renderer.paragraph = overrides.paragraph || function (text) {\n return addElement('p', null, text);\n };\n renderer.blockquote = overrides.blockquote || function (text) {\n return addElement('blockquote', null, text);\n };\n renderer.link = overrides.link || function (href, title, text) {\n return addElement('a', {\n href: href,\n title: title\n }, text);\n };\n renderer.br = overrides.br || function () {\n return addElement('br');\n };\n renderer.hr = overrides.hr || function () {\n return addElement('hr');\n };\n renderer.strong = overrides.strong || function (text) {\n return addElement('strong', null, text);\n };\n renderer.del = overrides.del || function (text) {\n return addElement('del', null, text);\n };\n renderer.em = overrides.em || function (text) {\n return addElement('em', null, text);\n };\n renderer.heading = overrides.heading || function (text, level) {\n // eslint-disable-next-line no-param-reassign\n tracker.currentId = tracker.currentId.slice(0, level - 1);\n tracker.currentId.push(text.replace(/\\s/g, '-').toLowerCase());\n var id = tracker.currentId.join('-');\n var lastToc = tracker.toc[tracker.toc.length - 1];\n if (!lastToc || lastToc.level > level) {\n tracker.toc.push({\n id: id,\n title: text,\n level: level,\n children: []\n });\n } else {\n var tocPosition = getTocPosition(lastToc, level);\n tocPosition.push({\n id: id,\n title: text,\n level: level,\n children: []\n });\n }\n return addElement(\"h\".concat(level), {\n id: id\n }, text);\n };\n renderer.list = overrides.list || function (body, ordered) {\n return addElement(ordered ? 'ol' : 'ul', null, body);\n };\n renderer.listitem = overrides.listitem || function (text) {\n return addElement('li', null, text);\n };\n renderer.table = overrides.table || function (header, body) {\n return addElement('table', null, [addElement('thead', null, header), addElement('tbody', null, body)]);\n };\n renderer.thead = overrides.thead || function (content) {\n return addElement('thead', null, content);\n };\n renderer.tbody = overrides.tbody || function (content) {\n return addElement('tbody', null, content);\n };\n renderer.tablerow = overrides.tablerow || function (content) {\n return addElement('tr', null, content);\n };\n renderer.tablecell = overrides.tablecell || function (content, flag) {\n var tag = flag.header ? 'th' : 'td';\n return addElement(tag, {\n className: flag.align ? \"text-\".concat(flag.align) : undefined\n }, content);\n };\n renderer.codespan = overrides.codespan || function (text) {\n return addElement('code', null, text, 'codespan');\n };\n renderer.image = overrides.image || function (href, title, text) {\n return addElement('img', {\n src: href,\n alt: text\n });\n };\n return renderer;\n}","const set = require('regenerate')(0x11D3A);\nset.addRange(0x11D00, 0x11D06).addRange(0x11D08, 0x11D09).addRange(0x11D0B, 0x11D36).addRange(0x11D3C, 0x11D3D).addRange(0x11D3F, 0x11D47).addRange(0x11D50, 0x11D59);\nmodule.exports = set;","const set = require('regenerate')(0x10C7, 0x10CD, 0x2D27, 0x2D2D);\nset.addRange(0x10A0, 0x10C5).addRange(0x10D0, 0x10FF).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x2D00, 0x2D25);\nmodule.exports = set;","var constant = require('./constant'),\n defineProperty = require('./_defineProperty'),\n identity = require('./identity');\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nmodule.exports = baseSetToString;\n","const set = require('regenerate')(0x20, 0x85);\nset.addRange(0x9, 0xD).addRange(0x200E, 0x200F).addRange(0x2028, 0x2029);\nmodule.exports = set;","'use strict';\n\nconst generate = require('regjsgen').generate;\nconst parse = require('regjsparser').parse;\nconst regenerate = require('regenerate');\nconst unicodeMatchProperty = require('unicode-match-property-ecmascript');\nconst unicodeMatchPropertyValue = require('unicode-match-property-value-ecmascript');\nconst iuMappings = require('./data/iu-mappings.js');\nconst ESCAPE_SETS = require('./data/character-class-escape-sets.js');\n\n// Prepare a Regenerate set containing all code points, used for negative\n// character classes (if any).\nconst UNICODE_SET = regenerate().addRange(0x0, 0x10FFFF);\n// Without the `u` flag, the range stops at 0xFFFF.\n// https://mths.be/es6#sec-pattern-semantics\nconst BMP_SET = regenerate().addRange(0x0, 0xFFFF);\n\n// Prepare a Regenerate set containing all code points that are supposed to be\n// matched by `/./u`. https://mths.be/es6#sec-atom\nconst DOT_SET_UNICODE = UNICODE_SET.clone() // all Unicode code points\n.remove(\n// minus `LineTerminator`s (https://mths.be/es6#sec-line-terminators):\n0x000A,\n// Line Feed \n0x000D,\n// Carriage Return \n0x2028,\n// Line Separator \n0x2029 // Paragraph Separator \n);\n\nconst getCharacterClassEscapeSet = (character, unicode, ignoreCase) => {\n if (unicode) {\n if (ignoreCase) {\n return ESCAPE_SETS.UNICODE_IGNORE_CASE.get(character);\n }\n return ESCAPE_SETS.UNICODE.get(character);\n }\n return ESCAPE_SETS.REGULAR.get(character);\n};\nconst getUnicodeDotSet = dotAll => {\n return dotAll ? UNICODE_SET : DOT_SET_UNICODE;\n};\nconst getUnicodePropertyValueSet = (property, value) => {\n const path = value ? \"\".concat(property, \"/\").concat(value) : \"Binary_Property/\".concat(property);\n try {\n return require(\"regenerate-unicode-properties/\".concat(path, \".js\"));\n } catch (exception) {\n throw new Error(\"Failed to recognize value `\".concat(value, \"` for property \") + \"`\".concat(property, \"`.\"));\n }\n};\nconst handleLoneUnicodePropertyNameOrValue = value => {\n // It could be a `General_Category` value or a binary property.\n // Note: `unicodeMatchPropertyValue` throws on invalid values.\n try {\n const property = 'General_Category';\n const category = unicodeMatchPropertyValue(property, value);\n return getUnicodePropertyValueSet(property, category);\n } catch (exception) {}\n // It’s not a `General_Category` value, so check if it’s a binary\n // property. Note: `unicodeMatchProperty` throws on invalid properties.\n const property = unicodeMatchProperty(value);\n return getUnicodePropertyValueSet(property);\n};\nconst getUnicodePropertyEscapeSet = (value, isNegative) => {\n const parts = value.split('=');\n const firstPart = parts[0];\n let set;\n if (parts.length == 1) {\n set = handleLoneUnicodePropertyNameOrValue(firstPart);\n } else {\n // The pattern consists of two parts, i.e. `Property=Value`.\n const property = unicodeMatchProperty(firstPart);\n const value = unicodeMatchPropertyValue(property, parts[1]);\n set = getUnicodePropertyValueSet(property, value);\n }\n if (isNegative) {\n return UNICODE_SET.clone().remove(set);\n }\n return set.clone();\n};\n\n// Given a range of code points, add any case-folded code points in that range\n// to a set.\nregenerate.prototype.iuAddRange = function (min, max) {\n const $this = this;\n do {\n const folded = caseFold(min);\n if (folded) {\n $this.add(folded);\n }\n } while (++min <= max);\n return $this;\n};\nconst update = (item, pattern) => {\n let tree = parse(pattern, config.useUnicodeFlag ? 'u' : '');\n switch (tree.type) {\n case 'characterClass':\n case 'group':\n case 'value':\n // No wrapping needed.\n break;\n default:\n // Wrap the pattern in a non-capturing group.\n tree = wrap(tree, pattern);\n }\n Object.assign(item, tree);\n};\nconst wrap = (tree, pattern) => {\n // Wrap the pattern in a non-capturing group.\n return {\n 'type': 'group',\n 'behavior': 'ignore',\n 'body': [tree],\n 'raw': \"(?:\".concat(pattern, \")\")\n };\n};\nconst caseFold = codePoint => {\n return iuMappings.get(codePoint) || false;\n};\nconst processCharacterClass = (characterClassItem, regenerateOptions) => {\n const set = regenerate();\n for (const item of characterClassItem.body) {\n switch (item.type) {\n case 'value':\n set.add(item.codePoint);\n if (config.ignoreCase && config.unicode && !config.useUnicodeFlag) {\n const folded = caseFold(item.codePoint);\n if (folded) {\n set.add(folded);\n }\n }\n break;\n case 'characterClassRange':\n const min = item.min.codePoint;\n const max = item.max.codePoint;\n set.addRange(min, max);\n if (config.ignoreCase && config.unicode && !config.useUnicodeFlag) {\n set.iuAddRange(min, max);\n }\n break;\n case 'characterClassEscape':\n set.add(getCharacterClassEscapeSet(item.value, config.unicode, config.ignoreCase));\n break;\n case 'unicodePropertyEscape':\n set.add(getUnicodePropertyEscapeSet(item.value, item.negative));\n break;\n // The `default` clause is only here as a safeguard; it should never be\n // reached. Code coverage tools should ignore it.\n /* istanbul ignore next */\n default:\n throw new Error(\"Unknown term type: \".concat(item.type));\n }\n }\n if (characterClassItem.negative) {\n update(characterClassItem, \"(?!\".concat(set.toString(regenerateOptions), \")[\\\\s\\\\S]\"));\n } else {\n update(characterClassItem, set.toString(regenerateOptions));\n }\n return characterClassItem;\n};\nconst updateNamedReference = (item, index) => {\n delete item.name;\n item.matchIndex = index;\n};\nconst assertNoUnmatchedReferences = groups => {\n const unmatchedReferencesNames = Object.keys(groups.unmatchedReferences);\n if (unmatchedReferencesNames.length > 0) {\n throw new Error(\"Unknown group names: \".concat(unmatchedReferencesNames));\n }\n};\nconst processTerm = (item, regenerateOptions, groups) => {\n switch (item.type) {\n case 'dot':\n if (config.useDotAllFlag) {\n break;\n } else if (config.unicode) {\n update(item, getUnicodeDotSet(config.dotAll).toString(regenerateOptions));\n } else if (config.dotAll) {\n // TODO: consider changing this at the regenerate level.\n update(item, '[\\\\s\\\\S]');\n }\n break;\n case 'characterClass':\n item = processCharacterClass(item, regenerateOptions);\n break;\n case 'unicodePropertyEscape':\n if (config.unicodePropertyEscape) {\n update(item, getUnicodePropertyEscapeSet(item.value, item.negative).toString(regenerateOptions));\n }\n break;\n case 'characterClassEscape':\n update(item, getCharacterClassEscapeSet(item.value, config.unicode, config.ignoreCase).toString(regenerateOptions));\n break;\n case 'group':\n if (item.behavior == 'normal') {\n groups.lastIndex++;\n }\n if (item.name && config.namedGroup) {\n const name = item.name.value;\n if (groups.names[name]) {\n throw new Error(\"Multiple groups with the same name (\".concat(name, \") are not allowed.\"));\n }\n const index = groups.lastIndex;\n delete item.name;\n groups.names[name] = index;\n if (groups.onNamedGroup) {\n groups.onNamedGroup.call(null, name, index);\n }\n if (groups.unmatchedReferences[name]) {\n groups.unmatchedReferences[name].forEach(reference => {\n updateNamedReference(reference, index);\n });\n delete groups.unmatchedReferences[name];\n }\n }\n /* falls through */\n case 'alternative':\n case 'disjunction':\n case 'quantifier':\n item.body = item.body.map(term => {\n return processTerm(term, regenerateOptions, groups);\n });\n break;\n case 'value':\n const codePoint = item.codePoint;\n const set = regenerate(codePoint);\n if (config.ignoreCase && config.unicode && !config.useUnicodeFlag) {\n const folded = caseFold(codePoint);\n if (folded) {\n set.add(folded);\n }\n }\n update(item, set.toString(regenerateOptions));\n break;\n case 'reference':\n if (item.name) {\n const name = item.name.value;\n const index = groups.names[name];\n if (index) {\n updateNamedReference(item, index);\n break;\n }\n if (!groups.unmatchedReferences[name]) {\n groups.unmatchedReferences[name] = [];\n }\n // Keep track of references used before the corresponding group.\n groups.unmatchedReferences[name].push(item);\n }\n break;\n case 'anchor':\n case 'empty':\n case 'group':\n // Nothing to do here.\n break;\n // The `default` clause is only here as a safeguard; it should never be\n // reached. Code coverage tools should ignore it.\n /* istanbul ignore next */\n default:\n throw new Error(\"Unknown term type: \".concat(item.type));\n }\n return item;\n};\nconst config = {\n 'ignoreCase': false,\n 'unicode': false,\n 'dotAll': false,\n 'useDotAllFlag': false,\n 'useUnicodeFlag': false,\n 'unicodePropertyEscape': false,\n 'namedGroup': false\n};\nconst rewritePattern = (pattern, flags, options) => {\n config.unicode = flags && flags.includes('u');\n const regjsparserFeatures = {\n 'unicodePropertyEscape': config.unicode,\n 'namedGroups': true,\n 'lookbehind': options && options.lookbehind\n };\n config.ignoreCase = flags && flags.includes('i');\n const supportDotAllFlag = options && options.dotAllFlag;\n config.dotAll = supportDotAllFlag && flags && flags.includes('s');\n config.namedGroup = options && options.namedGroup;\n config.useDotAllFlag = options && options.useDotAllFlag;\n config.useUnicodeFlag = options && options.useUnicodeFlag;\n config.unicodePropertyEscape = options && options.unicodePropertyEscape;\n if (supportDotAllFlag && config.useDotAllFlag) {\n throw new Error('`useDotAllFlag` and `dotAllFlag` cannot both be true!');\n }\n const regenerateOptions = {\n 'hasUnicodeFlag': config.useUnicodeFlag,\n 'bmpOnly': !config.unicode\n };\n const groups = {\n 'onNamedGroup': options && options.onNamedGroup,\n 'lastIndex': 0,\n 'names': Object.create(null),\n // { [name]: index }\n 'unmatchedReferences': Object.create(null) // { [name]: Array }\n };\n\n const tree = parse(pattern, flags, regjsparserFeatures);\n // Note: `processTerm` mutates `tree` and `groups`.\n processTerm(tree, regenerateOptions, groups);\n assertNoUnmatchedReferences(groups);\n return generate(tree);\n};\nmodule.exports = rewritePattern;","const set = require('regenerate')();\nset.addRange(0x800, 0x82D).addRange(0x830, 0x83E);\nmodule.exports = set;","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n","function _extends() {\n module.exports = _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _extends.apply(this, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","/**\n * Gets the first element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @alias first\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the first element of `array`.\n * @example\n *\n * _.head([1, 2, 3]);\n * // => 1\n *\n * _.head([]);\n * // => undefined\n */\nfunction head(array) {\n return (array && array.length) ? array[0] : undefined;\n}\n\nmodule.exports = head;\n","module.exports = new Map([['General_Category', new Map([['C', 'Other'], ['Cc', 'Control'], ['cntrl', 'Control'], ['Cf', 'Format'], ['Cn', 'Unassigned'], ['Co', 'Private_Use'], ['Cs', 'Surrogate'], ['L', 'Letter'], ['LC', 'Cased_Letter'], ['Ll', 'Lowercase_Letter'], ['Lm', 'Modifier_Letter'], ['Lo', 'Other_Letter'], ['Lt', 'Titlecase_Letter'], ['Lu', 'Uppercase_Letter'], ['M', 'Mark'], ['Combining_Mark', 'Mark'], ['Mc', 'Spacing_Mark'], ['Me', 'Enclosing_Mark'], ['Mn', 'Nonspacing_Mark'], ['N', 'Number'], ['Nd', 'Decimal_Number'], ['digit', 'Decimal_Number'], ['Nl', 'Letter_Number'], ['No', 'Other_Number'], ['P', 'Punctuation'], ['punct', 'Punctuation'], ['Pc', 'Connector_Punctuation'], ['Pd', 'Dash_Punctuation'], ['Pe', 'Close_Punctuation'], ['Pf', 'Final_Punctuation'], ['Pi', 'Initial_Punctuation'], ['Po', 'Other_Punctuation'], ['Ps', 'Open_Punctuation'], ['S', 'Symbol'], ['Sc', 'Currency_Symbol'], ['Sk', 'Modifier_Symbol'], ['Sm', 'Math_Symbol'], ['So', 'Other_Symbol'], ['Z', 'Separator'], ['Zl', 'Line_Separator'], ['Zp', 'Paragraph_Separator'], ['Zs', 'Space_Separator'], ['Other', 'Other'], ['Control', 'Control'], ['Format', 'Format'], ['Unassigned', 'Unassigned'], ['Private_Use', 'Private_Use'], ['Surrogate', 'Surrogate'], ['Letter', 'Letter'], ['Cased_Letter', 'Cased_Letter'], ['Lowercase_Letter', 'Lowercase_Letter'], ['Modifier_Letter', 'Modifier_Letter'], ['Other_Letter', 'Other_Letter'], ['Titlecase_Letter', 'Titlecase_Letter'], ['Uppercase_Letter', 'Uppercase_Letter'], ['Mark', 'Mark'], ['Spacing_Mark', 'Spacing_Mark'], ['Enclosing_Mark', 'Enclosing_Mark'], ['Nonspacing_Mark', 'Nonspacing_Mark'], ['Number', 'Number'], ['Decimal_Number', 'Decimal_Number'], ['Letter_Number', 'Letter_Number'], ['Other_Number', 'Other_Number'], ['Punctuation', 'Punctuation'], ['Connector_Punctuation', 'Connector_Punctuation'], ['Dash_Punctuation', 'Dash_Punctuation'], ['Close_Punctuation', 'Close_Punctuation'], ['Final_Punctuation', 'Final_Punctuation'], ['Initial_Punctuation', 'Initial_Punctuation'], ['Other_Punctuation', 'Other_Punctuation'], ['Open_Punctuation', 'Open_Punctuation'], ['Symbol', 'Symbol'], ['Currency_Symbol', 'Currency_Symbol'], ['Modifier_Symbol', 'Modifier_Symbol'], ['Math_Symbol', 'Math_Symbol'], ['Other_Symbol', 'Other_Symbol'], ['Separator', 'Separator'], ['Line_Separator', 'Line_Separator'], ['Paragraph_Separator', 'Paragraph_Separator'], ['Space_Separator', 'Space_Separator']])], ['Script', new Map([['Adlm', 'Adlam'], ['Aghb', 'Caucasian_Albanian'], ['Ahom', 'Ahom'], ['Arab', 'Arabic'], ['Armi', 'Imperial_Aramaic'], ['Armn', 'Armenian'], ['Avst', 'Avestan'], ['Bali', 'Balinese'], ['Bamu', 'Bamum'], ['Bass', 'Bassa_Vah'], ['Batk', 'Batak'], ['Beng', 'Bengali'], ['Bhks', 'Bhaiksuki'], ['Bopo', 'Bopomofo'], ['Brah', 'Brahmi'], ['Brai', 'Braille'], ['Bugi', 'Buginese'], ['Buhd', 'Buhid'], ['Cakm', 'Chakma'], ['Cans', 'Canadian_Aboriginal'], ['Cari', 'Carian'], ['Cham', 'Cham'], ['Cher', 'Cherokee'], ['Chrs', 'Chorasmian'], ['Copt', 'Coptic'], ['Qaac', 'Coptic'], ['Cpmn', 'Cypro_Minoan'], ['Cprt', 'Cypriot'], ['Cyrl', 'Cyrillic'], ['Deva', 'Devanagari'], ['Diak', 'Dives_Akuru'], ['Dogr', 'Dogra'], ['Dsrt', 'Deseret'], ['Dupl', 'Duployan'], ['Egyp', 'Egyptian_Hieroglyphs'], ['Elba', 'Elbasan'], ['Elym', 'Elymaic'], ['Ethi', 'Ethiopic'], ['Geor', 'Georgian'], ['Glag', 'Glagolitic'], ['Gong', 'Gunjala_Gondi'], ['Gonm', 'Masaram_Gondi'], ['Goth', 'Gothic'], ['Gran', 'Grantha'], ['Grek', 'Greek'], ['Gujr', 'Gujarati'], ['Guru', 'Gurmukhi'], ['Hang', 'Hangul'], ['Hani', 'Han'], ['Hano', 'Hanunoo'], ['Hatr', 'Hatran'], ['Hebr', 'Hebrew'], ['Hira', 'Hiragana'], ['Hluw', 'Anatolian_Hieroglyphs'], ['Hmng', 'Pahawh_Hmong'], ['Hmnp', 'Nyiakeng_Puachue_Hmong'], ['Hrkt', 'Katakana_Or_Hiragana'], ['Hung', 'Old_Hungarian'], ['Ital', 'Old_Italic'], ['Java', 'Javanese'], ['Kali', 'Kayah_Li'], ['Kana', 'Katakana'], ['Kawi', 'Kawi'], ['Khar', 'Kharoshthi'], ['Khmr', 'Khmer'], ['Khoj', 'Khojki'], ['Kits', 'Khitan_Small_Script'], ['Knda', 'Kannada'], ['Kthi', 'Kaithi'], ['Lana', 'Tai_Tham'], ['Laoo', 'Lao'], ['Latn', 'Latin'], ['Lepc', 'Lepcha'], ['Limb', 'Limbu'], ['Lina', 'Linear_A'], ['Linb', 'Linear_B'], ['Lisu', 'Lisu'], ['Lyci', 'Lycian'], ['Lydi', 'Lydian'], ['Mahj', 'Mahajani'], ['Maka', 'Makasar'], ['Mand', 'Mandaic'], ['Mani', 'Manichaean'], ['Marc', 'Marchen'], ['Medf', 'Medefaidrin'], ['Mend', 'Mende_Kikakui'], ['Merc', 'Meroitic_Cursive'], ['Mero', 'Meroitic_Hieroglyphs'], ['Mlym', 'Malayalam'], ['Modi', 'Modi'], ['Mong', 'Mongolian'], ['Mroo', 'Mro'], ['Mtei', 'Meetei_Mayek'], ['Mult', 'Multani'], ['Mymr', 'Myanmar'], ['Nagm', 'Nag_Mundari'], ['Nand', 'Nandinagari'], ['Narb', 'Old_North_Arabian'], ['Nbat', 'Nabataean'], ['Newa', 'Newa'], ['Nkoo', 'Nko'], ['Nshu', 'Nushu'], ['Ogam', 'Ogham'], ['Olck', 'Ol_Chiki'], ['Orkh', 'Old_Turkic'], ['Orya', 'Oriya'], ['Osge', 'Osage'], ['Osma', 'Osmanya'], ['Ougr', 'Old_Uyghur'], ['Palm', 'Palmyrene'], ['Pauc', 'Pau_Cin_Hau'], ['Perm', 'Old_Permic'], ['Phag', 'Phags_Pa'], ['Phli', 'Inscriptional_Pahlavi'], ['Phlp', 'Psalter_Pahlavi'], ['Phnx', 'Phoenician'], ['Plrd', 'Miao'], ['Prti', 'Inscriptional_Parthian'], ['Rjng', 'Rejang'], ['Rohg', 'Hanifi_Rohingya'], ['Runr', 'Runic'], ['Samr', 'Samaritan'], ['Sarb', 'Old_South_Arabian'], ['Saur', 'Saurashtra'], ['Sgnw', 'SignWriting'], ['Shaw', 'Shavian'], ['Shrd', 'Sharada'], ['Sidd', 'Siddham'], ['Sind', 'Khudawadi'], ['Sinh', 'Sinhala'], ['Sogd', 'Sogdian'], ['Sogo', 'Old_Sogdian'], ['Sora', 'Sora_Sompeng'], ['Soyo', 'Soyombo'], ['Sund', 'Sundanese'], ['Sylo', 'Syloti_Nagri'], ['Syrc', 'Syriac'], ['Tagb', 'Tagbanwa'], ['Takr', 'Takri'], ['Tale', 'Tai_Le'], ['Talu', 'New_Tai_Lue'], ['Taml', 'Tamil'], ['Tang', 'Tangut'], ['Tavt', 'Tai_Viet'], ['Telu', 'Telugu'], ['Tfng', 'Tifinagh'], ['Tglg', 'Tagalog'], ['Thaa', 'Thaana'], ['Thai', 'Thai'], ['Tibt', 'Tibetan'], ['Tirh', 'Tirhuta'], ['Tnsa', 'Tangsa'], ['Toto', 'Toto'], ['Ugar', 'Ugaritic'], ['Vaii', 'Vai'], ['Vith', 'Vithkuqi'], ['Wara', 'Warang_Citi'], ['Wcho', 'Wancho'], ['Xpeo', 'Old_Persian'], ['Xsux', 'Cuneiform'], ['Yezi', 'Yezidi'], ['Yiii', 'Yi'], ['Zanb', 'Zanabazar_Square'], ['Zinh', 'Inherited'], ['Qaai', 'Inherited'], ['Zyyy', 'Common'], ['Zzzz', 'Unknown'], ['Adlam', 'Adlam'], ['Caucasian_Albanian', 'Caucasian_Albanian'], ['Arabic', 'Arabic'], ['Imperial_Aramaic', 'Imperial_Aramaic'], ['Armenian', 'Armenian'], ['Avestan', 'Avestan'], ['Balinese', 'Balinese'], ['Bamum', 'Bamum'], ['Bassa_Vah', 'Bassa_Vah'], ['Batak', 'Batak'], ['Bengali', 'Bengali'], ['Bhaiksuki', 'Bhaiksuki'], ['Bopomofo', 'Bopomofo'], ['Brahmi', 'Brahmi'], ['Braille', 'Braille'], ['Buginese', 'Buginese'], ['Buhid', 'Buhid'], ['Chakma', 'Chakma'], ['Canadian_Aboriginal', 'Canadian_Aboriginal'], ['Carian', 'Carian'], ['Cherokee', 'Cherokee'], ['Chorasmian', 'Chorasmian'], ['Coptic', 'Coptic'], ['Cypro_Minoan', 'Cypro_Minoan'], ['Cypriot', 'Cypriot'], ['Cyrillic', 'Cyrillic'], ['Devanagari', 'Devanagari'], ['Dives_Akuru', 'Dives_Akuru'], ['Dogra', 'Dogra'], ['Deseret', 'Deseret'], ['Duployan', 'Duployan'], ['Egyptian_Hieroglyphs', 'Egyptian_Hieroglyphs'], ['Elbasan', 'Elbasan'], ['Elymaic', 'Elymaic'], ['Ethiopic', 'Ethiopic'], ['Georgian', 'Georgian'], ['Glagolitic', 'Glagolitic'], ['Gunjala_Gondi', 'Gunjala_Gondi'], ['Masaram_Gondi', 'Masaram_Gondi'], ['Gothic', 'Gothic'], ['Grantha', 'Grantha'], ['Greek', 'Greek'], ['Gujarati', 'Gujarati'], ['Gurmukhi', 'Gurmukhi'], ['Hangul', 'Hangul'], ['Han', 'Han'], ['Hanunoo', 'Hanunoo'], ['Hatran', 'Hatran'], ['Hebrew', 'Hebrew'], ['Hiragana', 'Hiragana'], ['Anatolian_Hieroglyphs', 'Anatolian_Hieroglyphs'], ['Pahawh_Hmong', 'Pahawh_Hmong'], ['Nyiakeng_Puachue_Hmong', 'Nyiakeng_Puachue_Hmong'], ['Katakana_Or_Hiragana', 'Katakana_Or_Hiragana'], ['Old_Hungarian', 'Old_Hungarian'], ['Old_Italic', 'Old_Italic'], ['Javanese', 'Javanese'], ['Kayah_Li', 'Kayah_Li'], ['Katakana', 'Katakana'], ['Kharoshthi', 'Kharoshthi'], ['Khmer', 'Khmer'], ['Khojki', 'Khojki'], ['Khitan_Small_Script', 'Khitan_Small_Script'], ['Kannada', 'Kannada'], ['Kaithi', 'Kaithi'], ['Tai_Tham', 'Tai_Tham'], ['Lao', 'Lao'], ['Latin', 'Latin'], ['Lepcha', 'Lepcha'], ['Limbu', 'Limbu'], ['Linear_A', 'Linear_A'], ['Linear_B', 'Linear_B'], ['Lycian', 'Lycian'], ['Lydian', 'Lydian'], ['Mahajani', 'Mahajani'], ['Makasar', 'Makasar'], ['Mandaic', 'Mandaic'], ['Manichaean', 'Manichaean'], ['Marchen', 'Marchen'], ['Medefaidrin', 'Medefaidrin'], ['Mende_Kikakui', 'Mende_Kikakui'], ['Meroitic_Cursive', 'Meroitic_Cursive'], ['Meroitic_Hieroglyphs', 'Meroitic_Hieroglyphs'], ['Malayalam', 'Malayalam'], ['Mongolian', 'Mongolian'], ['Mro', 'Mro'], ['Meetei_Mayek', 'Meetei_Mayek'], ['Multani', 'Multani'], ['Myanmar', 'Myanmar'], ['Nag_Mundari', 'Nag_Mundari'], ['Nandinagari', 'Nandinagari'], ['Old_North_Arabian', 'Old_North_Arabian'], ['Nabataean', 'Nabataean'], ['Nko', 'Nko'], ['Nushu', 'Nushu'], ['Ogham', 'Ogham'], ['Ol_Chiki', 'Ol_Chiki'], ['Old_Turkic', 'Old_Turkic'], ['Oriya', 'Oriya'], ['Osage', 'Osage'], ['Osmanya', 'Osmanya'], ['Old_Uyghur', 'Old_Uyghur'], ['Palmyrene', 'Palmyrene'], ['Pau_Cin_Hau', 'Pau_Cin_Hau'], ['Old_Permic', 'Old_Permic'], ['Phags_Pa', 'Phags_Pa'], ['Inscriptional_Pahlavi', 'Inscriptional_Pahlavi'], ['Psalter_Pahlavi', 'Psalter_Pahlavi'], ['Phoenician', 'Phoenician'], ['Miao', 'Miao'], ['Inscriptional_Parthian', 'Inscriptional_Parthian'], ['Rejang', 'Rejang'], ['Hanifi_Rohingya', 'Hanifi_Rohingya'], ['Runic', 'Runic'], ['Samaritan', 'Samaritan'], ['Old_South_Arabian', 'Old_South_Arabian'], ['Saurashtra', 'Saurashtra'], ['SignWriting', 'SignWriting'], ['Shavian', 'Shavian'], ['Sharada', 'Sharada'], ['Siddham', 'Siddham'], ['Khudawadi', 'Khudawadi'], ['Sinhala', 'Sinhala'], ['Sogdian', 'Sogdian'], ['Old_Sogdian', 'Old_Sogdian'], ['Sora_Sompeng', 'Sora_Sompeng'], ['Soyombo', 'Soyombo'], ['Sundanese', 'Sundanese'], ['Syloti_Nagri', 'Syloti_Nagri'], ['Syriac', 'Syriac'], ['Tagbanwa', 'Tagbanwa'], ['Takri', 'Takri'], ['Tai_Le', 'Tai_Le'], ['New_Tai_Lue', 'New_Tai_Lue'], ['Tamil', 'Tamil'], ['Tangut', 'Tangut'], ['Tai_Viet', 'Tai_Viet'], ['Telugu', 'Telugu'], ['Tifinagh', 'Tifinagh'], ['Tagalog', 'Tagalog'], ['Thaana', 'Thaana'], ['Tibetan', 'Tibetan'], ['Tirhuta', 'Tirhuta'], ['Tangsa', 'Tangsa'], ['Ugaritic', 'Ugaritic'], ['Vai', 'Vai'], ['Vithkuqi', 'Vithkuqi'], ['Warang_Citi', 'Warang_Citi'], ['Wancho', 'Wancho'], ['Old_Persian', 'Old_Persian'], ['Cuneiform', 'Cuneiform'], ['Yezidi', 'Yezidi'], ['Yi', 'Yi'], ['Zanabazar_Square', 'Zanabazar_Square'], ['Inherited', 'Inherited'], ['Common', 'Common'], ['Unknown', 'Unknown']])], ['Script_Extensions', new Map([['Adlm', 'Adlam'], ['Aghb', 'Caucasian_Albanian'], ['Ahom', 'Ahom'], ['Arab', 'Arabic'], ['Armi', 'Imperial_Aramaic'], ['Armn', 'Armenian'], ['Avst', 'Avestan'], ['Bali', 'Balinese'], ['Bamu', 'Bamum'], ['Bass', 'Bassa_Vah'], ['Batk', 'Batak'], ['Beng', 'Bengali'], ['Bhks', 'Bhaiksuki'], ['Bopo', 'Bopomofo'], ['Brah', 'Brahmi'], ['Brai', 'Braille'], ['Bugi', 'Buginese'], ['Buhd', 'Buhid'], ['Cakm', 'Chakma'], ['Cans', 'Canadian_Aboriginal'], ['Cari', 'Carian'], ['Cham', 'Cham'], ['Cher', 'Cherokee'], ['Chrs', 'Chorasmian'], ['Copt', 'Coptic'], ['Qaac', 'Coptic'], ['Cpmn', 'Cypro_Minoan'], ['Cprt', 'Cypriot'], ['Cyrl', 'Cyrillic'], ['Deva', 'Devanagari'], ['Diak', 'Dives_Akuru'], ['Dogr', 'Dogra'], ['Dsrt', 'Deseret'], ['Dupl', 'Duployan'], ['Egyp', 'Egyptian_Hieroglyphs'], ['Elba', 'Elbasan'], ['Elym', 'Elymaic'], ['Ethi', 'Ethiopic'], ['Geor', 'Georgian'], ['Glag', 'Glagolitic'], ['Gong', 'Gunjala_Gondi'], ['Gonm', 'Masaram_Gondi'], ['Goth', 'Gothic'], ['Gran', 'Grantha'], ['Grek', 'Greek'], ['Gujr', 'Gujarati'], ['Guru', 'Gurmukhi'], ['Hang', 'Hangul'], ['Hani', 'Han'], ['Hano', 'Hanunoo'], ['Hatr', 'Hatran'], ['Hebr', 'Hebrew'], ['Hira', 'Hiragana'], ['Hluw', 'Anatolian_Hieroglyphs'], ['Hmng', 'Pahawh_Hmong'], ['Hmnp', 'Nyiakeng_Puachue_Hmong'], ['Hrkt', 'Katakana_Or_Hiragana'], ['Hung', 'Old_Hungarian'], ['Ital', 'Old_Italic'], ['Java', 'Javanese'], ['Kali', 'Kayah_Li'], ['Kana', 'Katakana'], ['Kawi', 'Kawi'], ['Khar', 'Kharoshthi'], ['Khmr', 'Khmer'], ['Khoj', 'Khojki'], ['Kits', 'Khitan_Small_Script'], ['Knda', 'Kannada'], ['Kthi', 'Kaithi'], ['Lana', 'Tai_Tham'], ['Laoo', 'Lao'], ['Latn', 'Latin'], ['Lepc', 'Lepcha'], ['Limb', 'Limbu'], ['Lina', 'Linear_A'], ['Linb', 'Linear_B'], ['Lisu', 'Lisu'], ['Lyci', 'Lycian'], ['Lydi', 'Lydian'], ['Mahj', 'Mahajani'], ['Maka', 'Makasar'], ['Mand', 'Mandaic'], ['Mani', 'Manichaean'], ['Marc', 'Marchen'], ['Medf', 'Medefaidrin'], ['Mend', 'Mende_Kikakui'], ['Merc', 'Meroitic_Cursive'], ['Mero', 'Meroitic_Hieroglyphs'], ['Mlym', 'Malayalam'], ['Modi', 'Modi'], ['Mong', 'Mongolian'], ['Mroo', 'Mro'], ['Mtei', 'Meetei_Mayek'], ['Mult', 'Multani'], ['Mymr', 'Myanmar'], ['Nagm', 'Nag_Mundari'], ['Nand', 'Nandinagari'], ['Narb', 'Old_North_Arabian'], ['Nbat', 'Nabataean'], ['Newa', 'Newa'], ['Nkoo', 'Nko'], ['Nshu', 'Nushu'], ['Ogam', 'Ogham'], ['Olck', 'Ol_Chiki'], ['Orkh', 'Old_Turkic'], ['Orya', 'Oriya'], ['Osge', 'Osage'], ['Osma', 'Osmanya'], ['Ougr', 'Old_Uyghur'], ['Palm', 'Palmyrene'], ['Pauc', 'Pau_Cin_Hau'], ['Perm', 'Old_Permic'], ['Phag', 'Phags_Pa'], ['Phli', 'Inscriptional_Pahlavi'], ['Phlp', 'Psalter_Pahlavi'], ['Phnx', 'Phoenician'], ['Plrd', 'Miao'], ['Prti', 'Inscriptional_Parthian'], ['Rjng', 'Rejang'], ['Rohg', 'Hanifi_Rohingya'], ['Runr', 'Runic'], ['Samr', 'Samaritan'], ['Sarb', 'Old_South_Arabian'], ['Saur', 'Saurashtra'], ['Sgnw', 'SignWriting'], ['Shaw', 'Shavian'], ['Shrd', 'Sharada'], ['Sidd', 'Siddham'], ['Sind', 'Khudawadi'], ['Sinh', 'Sinhala'], ['Sogd', 'Sogdian'], ['Sogo', 'Old_Sogdian'], ['Sora', 'Sora_Sompeng'], ['Soyo', 'Soyombo'], ['Sund', 'Sundanese'], ['Sylo', 'Syloti_Nagri'], ['Syrc', 'Syriac'], ['Tagb', 'Tagbanwa'], ['Takr', 'Takri'], ['Tale', 'Tai_Le'], ['Talu', 'New_Tai_Lue'], ['Taml', 'Tamil'], ['Tang', 'Tangut'], ['Tavt', 'Tai_Viet'], ['Telu', 'Telugu'], ['Tfng', 'Tifinagh'], ['Tglg', 'Tagalog'], ['Thaa', 'Thaana'], ['Thai', 'Thai'], ['Tibt', 'Tibetan'], ['Tirh', 'Tirhuta'], ['Tnsa', 'Tangsa'], ['Toto', 'Toto'], ['Ugar', 'Ugaritic'], ['Vaii', 'Vai'], ['Vith', 'Vithkuqi'], ['Wara', 'Warang_Citi'], ['Wcho', 'Wancho'], ['Xpeo', 'Old_Persian'], ['Xsux', 'Cuneiform'], ['Yezi', 'Yezidi'], ['Yiii', 'Yi'], ['Zanb', 'Zanabazar_Square'], ['Zinh', 'Inherited'], ['Qaai', 'Inherited'], ['Zyyy', 'Common'], ['Zzzz', 'Unknown'], ['Adlam', 'Adlam'], ['Caucasian_Albanian', 'Caucasian_Albanian'], ['Arabic', 'Arabic'], ['Imperial_Aramaic', 'Imperial_Aramaic'], ['Armenian', 'Armenian'], ['Avestan', 'Avestan'], ['Balinese', 'Balinese'], ['Bamum', 'Bamum'], ['Bassa_Vah', 'Bassa_Vah'], ['Batak', 'Batak'], ['Bengali', 'Bengali'], ['Bhaiksuki', 'Bhaiksuki'], ['Bopomofo', 'Bopomofo'], ['Brahmi', 'Brahmi'], ['Braille', 'Braille'], ['Buginese', 'Buginese'], ['Buhid', 'Buhid'], ['Chakma', 'Chakma'], ['Canadian_Aboriginal', 'Canadian_Aboriginal'], ['Carian', 'Carian'], ['Cherokee', 'Cherokee'], ['Chorasmian', 'Chorasmian'], ['Coptic', 'Coptic'], ['Cypro_Minoan', 'Cypro_Minoan'], ['Cypriot', 'Cypriot'], ['Cyrillic', 'Cyrillic'], ['Devanagari', 'Devanagari'], ['Dives_Akuru', 'Dives_Akuru'], ['Dogra', 'Dogra'], ['Deseret', 'Deseret'], ['Duployan', 'Duployan'], ['Egyptian_Hieroglyphs', 'Egyptian_Hieroglyphs'], ['Elbasan', 'Elbasan'], ['Elymaic', 'Elymaic'], ['Ethiopic', 'Ethiopic'], ['Georgian', 'Georgian'], ['Glagolitic', 'Glagolitic'], ['Gunjala_Gondi', 'Gunjala_Gondi'], ['Masaram_Gondi', 'Masaram_Gondi'], ['Gothic', 'Gothic'], ['Grantha', 'Grantha'], ['Greek', 'Greek'], ['Gujarati', 'Gujarati'], ['Gurmukhi', 'Gurmukhi'], ['Hangul', 'Hangul'], ['Han', 'Han'], ['Hanunoo', 'Hanunoo'], ['Hatran', 'Hatran'], ['Hebrew', 'Hebrew'], ['Hiragana', 'Hiragana'], ['Anatolian_Hieroglyphs', 'Anatolian_Hieroglyphs'], ['Pahawh_Hmong', 'Pahawh_Hmong'], ['Nyiakeng_Puachue_Hmong', 'Nyiakeng_Puachue_Hmong'], ['Katakana_Or_Hiragana', 'Katakana_Or_Hiragana'], ['Old_Hungarian', 'Old_Hungarian'], ['Old_Italic', 'Old_Italic'], ['Javanese', 'Javanese'], ['Kayah_Li', 'Kayah_Li'], ['Katakana', 'Katakana'], ['Kharoshthi', 'Kharoshthi'], ['Khmer', 'Khmer'], ['Khojki', 'Khojki'], ['Khitan_Small_Script', 'Khitan_Small_Script'], ['Kannada', 'Kannada'], ['Kaithi', 'Kaithi'], ['Tai_Tham', 'Tai_Tham'], ['Lao', 'Lao'], ['Latin', 'Latin'], ['Lepcha', 'Lepcha'], ['Limbu', 'Limbu'], ['Linear_A', 'Linear_A'], ['Linear_B', 'Linear_B'], ['Lycian', 'Lycian'], ['Lydian', 'Lydian'], ['Mahajani', 'Mahajani'], ['Makasar', 'Makasar'], ['Mandaic', 'Mandaic'], ['Manichaean', 'Manichaean'], ['Marchen', 'Marchen'], ['Medefaidrin', 'Medefaidrin'], ['Mende_Kikakui', 'Mende_Kikakui'], ['Meroitic_Cursive', 'Meroitic_Cursive'], ['Meroitic_Hieroglyphs', 'Meroitic_Hieroglyphs'], ['Malayalam', 'Malayalam'], ['Mongolian', 'Mongolian'], ['Mro', 'Mro'], ['Meetei_Mayek', 'Meetei_Mayek'], ['Multani', 'Multani'], ['Myanmar', 'Myanmar'], ['Nag_Mundari', 'Nag_Mundari'], ['Nandinagari', 'Nandinagari'], ['Old_North_Arabian', 'Old_North_Arabian'], ['Nabataean', 'Nabataean'], ['Nko', 'Nko'], ['Nushu', 'Nushu'], ['Ogham', 'Ogham'], ['Ol_Chiki', 'Ol_Chiki'], ['Old_Turkic', 'Old_Turkic'], ['Oriya', 'Oriya'], ['Osage', 'Osage'], ['Osmanya', 'Osmanya'], ['Old_Uyghur', 'Old_Uyghur'], ['Palmyrene', 'Palmyrene'], ['Pau_Cin_Hau', 'Pau_Cin_Hau'], ['Old_Permic', 'Old_Permic'], ['Phags_Pa', 'Phags_Pa'], ['Inscriptional_Pahlavi', 'Inscriptional_Pahlavi'], ['Psalter_Pahlavi', 'Psalter_Pahlavi'], ['Phoenician', 'Phoenician'], ['Miao', 'Miao'], ['Inscriptional_Parthian', 'Inscriptional_Parthian'], ['Rejang', 'Rejang'], ['Hanifi_Rohingya', 'Hanifi_Rohingya'], ['Runic', 'Runic'], ['Samaritan', 'Samaritan'], ['Old_South_Arabian', 'Old_South_Arabian'], ['Saurashtra', 'Saurashtra'], ['SignWriting', 'SignWriting'], ['Shavian', 'Shavian'], ['Sharada', 'Sharada'], ['Siddham', 'Siddham'], ['Khudawadi', 'Khudawadi'], ['Sinhala', 'Sinhala'], ['Sogdian', 'Sogdian'], ['Old_Sogdian', 'Old_Sogdian'], ['Sora_Sompeng', 'Sora_Sompeng'], ['Soyombo', 'Soyombo'], ['Sundanese', 'Sundanese'], ['Syloti_Nagri', 'Syloti_Nagri'], ['Syriac', 'Syriac'], ['Tagbanwa', 'Tagbanwa'], ['Takri', 'Takri'], ['Tai_Le', 'Tai_Le'], ['New_Tai_Lue', 'New_Tai_Lue'], ['Tamil', 'Tamil'], ['Tangut', 'Tangut'], ['Tai_Viet', 'Tai_Viet'], ['Telugu', 'Telugu'], ['Tifinagh', 'Tifinagh'], ['Tagalog', 'Tagalog'], ['Thaana', 'Thaana'], ['Tibetan', 'Tibetan'], ['Tirhuta', 'Tirhuta'], ['Tangsa', 'Tangsa'], ['Ugaritic', 'Ugaritic'], ['Vai', 'Vai'], ['Vithkuqi', 'Vithkuqi'], ['Warang_Citi', 'Warang_Citi'], ['Wancho', 'Wancho'], ['Old_Persian', 'Old_Persian'], ['Cuneiform', 'Cuneiform'], ['Yezidi', 'Yezidi'], ['Yi', 'Yi'], ['Zanabazar_Square', 'Zanabazar_Square'], ['Inherited', 'Inherited'], ['Common', 'Common'], ['Unknown', 'Unknown']])]]);","const set = require('regenerate')();\nset.addRange(0x10880, 0x1089E).addRange(0x108A7, 0x108AF);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x1B80, 0x1BBF).addRange(0x1CC0, 0x1CC7);\nmodule.exports = set;","var copyArray = require('./_copyArray'),\n isIndex = require('./_isIndex');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMin = Math.min;\n\n/**\n * Reorder `array` according to the specified indexes where the element at\n * the first index is assigned as the first element, the element at\n * the second index is assigned as the second element, and so on.\n *\n * @private\n * @param {Array} array The array to reorder.\n * @param {Array} indexes The arranged array indexes.\n * @returns {Array} Returns `array`.\n */\nfunction reorder(array, indexes) {\n var arrLength = array.length,\n length = nativeMin(indexes.length, arrLength),\n oldArray = copyArray(array);\n\n while (length--) {\n var index = indexes[length];\n array[length] = isIndex(index, arrLength) ? oldArray[index] : undefined;\n }\n return array;\n}\n\nmodule.exports = reorder;\n","var composeArgs = require('./_composeArgs'),\n composeArgsRight = require('./_composeArgsRight'),\n replaceHolders = require('./_replaceHolders');\n\n/** Used as the internal argument placeholder. */\nvar PLACEHOLDER = '__lodash_placeholder__';\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_BIND_FLAG = 1,\n WRAP_BIND_KEY_FLAG = 2,\n WRAP_CURRY_BOUND_FLAG = 4,\n WRAP_CURRY_FLAG = 8,\n WRAP_ARY_FLAG = 128,\n WRAP_REARG_FLAG = 256;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMin = Math.min;\n\n/**\n * Merges the function metadata of `source` into `data`.\n *\n * Merging metadata reduces the number of wrappers used to invoke a function.\n * This is possible because methods like `_.bind`, `_.curry`, and `_.partial`\n * may be applied regardless of execution order. Methods like `_.ary` and\n * `_.rearg` modify function arguments, making the order in which they are\n * executed important, preventing the merging of metadata. However, we make\n * an exception for a safe combined case where curried functions have `_.ary`\n * and or `_.rearg` applied.\n *\n * @private\n * @param {Array} data The destination metadata.\n * @param {Array} source The source metadata.\n * @returns {Array} Returns `data`.\n */\nfunction mergeData(data, source) {\n var bitmask = data[1],\n srcBitmask = source[1],\n newBitmask = bitmask | srcBitmask,\n isCommon = newBitmask < (WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG | WRAP_ARY_FLAG);\n\n var isCombo =\n ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_CURRY_FLAG)) ||\n ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_REARG_FLAG) && (data[7].length <= source[8])) ||\n ((srcBitmask == (WRAP_ARY_FLAG | WRAP_REARG_FLAG)) && (source[7].length <= source[8]) && (bitmask == WRAP_CURRY_FLAG));\n\n // Exit early if metadata can't be merged.\n if (!(isCommon || isCombo)) {\n return data;\n }\n // Use source `thisArg` if available.\n if (srcBitmask & WRAP_BIND_FLAG) {\n data[2] = source[2];\n // Set when currying a bound function.\n newBitmask |= bitmask & WRAP_BIND_FLAG ? 0 : WRAP_CURRY_BOUND_FLAG;\n }\n // Compose partial arguments.\n var value = source[3];\n if (value) {\n var partials = data[3];\n data[3] = partials ? composeArgs(partials, value, source[4]) : value;\n data[4] = partials ? replaceHolders(data[3], PLACEHOLDER) : source[4];\n }\n // Compose partial right arguments.\n value = source[5];\n if (value) {\n partials = data[5];\n data[5] = partials ? composeArgsRight(partials, value, source[6]) : value;\n data[6] = partials ? replaceHolders(data[5], PLACEHOLDER) : source[6];\n }\n // Use source `argPos` if available.\n value = source[7];\n if (value) {\n data[7] = value;\n }\n // Use source `ary` if it's smaller.\n if (srcBitmask & WRAP_ARY_FLAG) {\n data[8] = data[8] == null ? source[8] : nativeMin(data[8], source[8]);\n }\n // Use source `arity` if one is not provided.\n if (data[9] == null) {\n data[9] = source[9];\n }\n // Use source `func` and merge bitmasks.\n data[0] = source[0];\n data[1] = newBitmask;\n\n return data;\n}\n\nmodule.exports = mergeData;\n","/*\n\nBased off glamor's StyleSheet, thanks Sunil ❤️\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n// $FlowFixMe\nfunction sheetForTag(tag) {\n if (tag.sheet) {\n // $FlowFixMe\n return tag.sheet;\n } // this weirdness brought to you by firefox\n\n /* istanbul ignore next */\n\n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n // $FlowFixMe\n return document.styleSheets[i];\n }\n }\n}\nfunction createStyleElement(options) {\n var tag = document.createElement('style');\n tag.setAttribute('data-emotion', options.key);\n if (options.nonce !== undefined) {\n tag.setAttribute('nonce', options.nonce);\n }\n tag.appendChild(document.createTextNode(''));\n return tag;\n}\nvar StyleSheet = /*#__PURE__*/\nfunction () {\n function StyleSheet(options) {\n this.isSpeedy = options.speedy === undefined ? process.env.NODE_ENV === 'production' : options.speedy;\n this.tags = [];\n this.ctr = 0;\n this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n this.key = options.key;\n this.container = options.container;\n this.before = null;\n }\n var _proto = StyleSheet.prototype;\n _proto.insert = function insert(rule) {\n // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n // it's 1 in dev because we insert source maps that map a single rule to a location\n // and you can only have one source map per style tag\n if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n var _tag = createStyleElement(this);\n var before;\n if (this.tags.length === 0) {\n before = this.before;\n } else {\n before = this.tags[this.tags.length - 1].nextSibling;\n }\n this.container.insertBefore(_tag, before);\n this.tags.push(_tag);\n }\n var tag = this.tags[this.tags.length - 1];\n if (this.isSpeedy) {\n var sheet = sheetForTag(tag);\n try {\n // this is a really hot path\n // we check the second character first because having \"i\"\n // as the second character will happen less often than\n // having \"@\" as the first character\n var isImportRule = rule.charCodeAt(1) === 105 && rule.charCodeAt(0) === 64; // this is the ultrafast version, works across browsers\n // the big drawback is that the css won't be editable in devtools\n\n sheet.insertRule(rule,\n // we need to insert @import rules before anything else\n // otherwise there will be an error\n // technically this means that the @import rules will\n // _usually_(not always since there could be multiple style tags)\n // be the first ones in prod and generally later in dev\n // this shouldn't really matter in the real world though\n // @import is generally only used for font faces from google fonts and etc.\n // so while this could be technically correct then it would be slower and larger\n // for a tiny bit of correctness that won't matter in the real world\n isImportRule ? 0 : sheet.cssRules.length);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\"There was a problem inserting the following rule: \\\"\" + rule + \"\\\"\", e);\n }\n }\n } else {\n tag.appendChild(document.createTextNode(rule));\n }\n this.ctr++;\n };\n _proto.flush = function flush() {\n // $FlowFixMe\n this.tags.forEach(function (tag) {\n return tag.parentNode.removeChild(tag);\n });\n this.tags = [];\n this.ctr = 0;\n };\n return StyleSheet;\n}();\nexport { StyleSheet };","function stylis_min(W) {\n function M(d, c, e, h, a) {\n for (var m = 0, b = 0, v = 0, n = 0, q, g, x = 0, K = 0, k, u = k = q = 0, l = 0, r = 0, I = 0, t = 0, B = e.length, J = B - 1, y, f = '', p = '', F = '', G = '', C; l < B;) {\n g = e.charCodeAt(l);\n l === J && 0 !== b + n + v + m && (0 !== b && (g = 47 === b ? 10 : 47), n = v = m = 0, B++, J++);\n if (0 === b + n + v + m) {\n if (l === J && (0 < r && (f = f.replace(N, '')), 0 < f.trim().length)) {\n switch (g) {\n case 32:\n case 9:\n case 59:\n case 13:\n case 10:\n break;\n default:\n f += e.charAt(l);\n }\n g = 59;\n }\n switch (g) {\n case 123:\n f = f.trim();\n q = f.charCodeAt(0);\n k = 1;\n for (t = ++l; l < B;) {\n switch (g = e.charCodeAt(l)) {\n case 123:\n k++;\n break;\n case 125:\n k--;\n break;\n case 47:\n switch (g = e.charCodeAt(l + 1)) {\n case 42:\n case 47:\n a: {\n for (u = l + 1; u < J; ++u) {\n switch (e.charCodeAt(u)) {\n case 47:\n if (42 === g && 42 === e.charCodeAt(u - 1) && l + 2 !== u) {\n l = u + 1;\n break a;\n }\n break;\n case 10:\n if (47 === g) {\n l = u + 1;\n break a;\n }\n }\n }\n l = u;\n }\n }\n break;\n case 91:\n g++;\n case 40:\n g++;\n case 34:\n case 39:\n for (; l++ < J && e.charCodeAt(l) !== g;) {}\n }\n if (0 === k) break;\n l++;\n }\n k = e.substring(t, l);\n 0 === q && (q = (f = f.replace(ca, '').trim()).charCodeAt(0));\n switch (q) {\n case 64:\n 0 < r && (f = f.replace(N, ''));\n g = f.charCodeAt(1);\n switch (g) {\n case 100:\n case 109:\n case 115:\n case 45:\n r = c;\n break;\n default:\n r = O;\n }\n k = M(c, r, k, g, a + 1);\n t = k.length;\n 0 < A && (r = X(O, f, I), C = H(3, k, r, c, D, z, t, g, a, h), f = r.join(''), void 0 !== C && 0 === (t = (k = C.trim()).length) && (g = 0, k = ''));\n if (0 < t) switch (g) {\n case 115:\n f = f.replace(da, ea);\n case 100:\n case 109:\n case 45:\n k = f + '{' + k + '}';\n break;\n case 107:\n f = f.replace(fa, '$1 $2');\n k = f + '{' + k + '}';\n k = 1 === w || 2 === w && L('@' + k, 3) ? '@-webkit-' + k + '@' + k : '@' + k;\n break;\n default:\n k = f + k, 112 === h && (k = (p += k, ''));\n } else k = '';\n break;\n default:\n k = M(c, X(c, f, I), k, h, a + 1);\n }\n F += k;\n k = I = r = u = q = 0;\n f = '';\n g = e.charCodeAt(++l);\n break;\n case 125:\n case 59:\n f = (0 < r ? f.replace(N, '') : f).trim();\n if (1 < (t = f.length)) switch (0 === u && (q = f.charCodeAt(0), 45 === q || 96 < q && 123 > q) && (t = (f = f.replace(' ', ':')).length), 0 < A && void 0 !== (C = H(1, f, c, d, D, z, p.length, h, a, h)) && 0 === (t = (f = C.trim()).length) && (f = '\\x00\\x00'), q = f.charCodeAt(0), g = f.charCodeAt(1), q) {\n case 0:\n break;\n case 64:\n if (105 === g || 99 === g) {\n G += f + e.charAt(l);\n break;\n }\n default:\n 58 !== f.charCodeAt(t - 1) && (p += P(f, q, g, f.charCodeAt(2)));\n }\n I = r = u = q = 0;\n f = '';\n g = e.charCodeAt(++l);\n }\n }\n switch (g) {\n case 13:\n case 10:\n 47 === b ? b = 0 : 0 === 1 + q && 107 !== h && 0 < f.length && (r = 1, f += '\\x00');\n 0 < A * Y && H(0, f, c, d, D, z, p.length, h, a, h);\n z = 1;\n D++;\n break;\n case 59:\n case 125:\n if (0 === b + n + v + m) {\n z++;\n break;\n }\n default:\n z++;\n y = e.charAt(l);\n switch (g) {\n case 9:\n case 32:\n if (0 === n + m + b) switch (x) {\n case 44:\n case 58:\n case 9:\n case 32:\n y = '';\n break;\n default:\n 32 !== g && (y = ' ');\n }\n break;\n case 0:\n y = '\\\\0';\n break;\n case 12:\n y = '\\\\f';\n break;\n case 11:\n y = '\\\\v';\n break;\n case 38:\n 0 === n + b + m && (r = I = 1, y = '\\f' + y);\n break;\n case 108:\n if (0 === n + b + m + E && 0 < u) switch (l - u) {\n case 2:\n 112 === x && 58 === e.charCodeAt(l - 3) && (E = x);\n case 8:\n 111 === K && (E = K);\n }\n break;\n case 58:\n 0 === n + b + m && (u = l);\n break;\n case 44:\n 0 === b + v + n + m && (r = 1, y += '\\r');\n break;\n case 34:\n case 39:\n 0 === b && (n = n === g ? 0 : 0 === n ? g : n);\n break;\n case 91:\n 0 === n + b + v && m++;\n break;\n case 93:\n 0 === n + b + v && m--;\n break;\n case 41:\n 0 === n + b + m && v--;\n break;\n case 40:\n if (0 === n + b + m) {\n if (0 === q) switch (2 * x + 3 * K) {\n case 533:\n break;\n default:\n q = 1;\n }\n v++;\n }\n break;\n case 64:\n 0 === b + v + n + m + u + k && (k = 1);\n break;\n case 42:\n case 47:\n if (!(0 < n + m + v)) switch (b) {\n case 0:\n switch (2 * g + 3 * e.charCodeAt(l + 1)) {\n case 235:\n b = 47;\n break;\n case 220:\n t = l, b = 42;\n }\n break;\n case 42:\n 47 === g && 42 === x && t + 2 !== l && (33 === e.charCodeAt(t + 2) && (p += e.substring(t, l + 1)), y = '', b = 0);\n }\n }\n 0 === b && (f += y);\n }\n K = x;\n x = g;\n l++;\n }\n t = p.length;\n if (0 < t) {\n r = c;\n if (0 < A && (C = H(2, p, r, d, D, z, t, h, a, h), void 0 !== C && 0 === (p = C).length)) return G + p + F;\n p = r.join(',') + '{' + p + '}';\n if (0 !== w * E) {\n 2 !== w || L(p, 2) || (E = 0);\n switch (E) {\n case 111:\n p = p.replace(ha, ':-moz-$1') + p;\n break;\n case 112:\n p = p.replace(Q, '::-webkit-input-$1') + p.replace(Q, '::-moz-$1') + p.replace(Q, ':-ms-input-$1') + p;\n }\n E = 0;\n }\n }\n return G + p + F;\n }\n function X(d, c, e) {\n var h = c.trim().split(ia);\n c = h;\n var a = h.length,\n m = d.length;\n switch (m) {\n case 0:\n case 1:\n var b = 0;\n for (d = 0 === m ? '' : d[0] + ' '; b < a; ++b) {\n c[b] = Z(d, c[b], e).trim();\n }\n break;\n default:\n var v = b = 0;\n for (c = []; b < a; ++b) {\n for (var n = 0; n < m; ++n) {\n c[v++] = Z(d[n] + ' ', h[b], e).trim();\n }\n }\n }\n return c;\n }\n function Z(d, c, e) {\n var h = c.charCodeAt(0);\n 33 > h && (h = (c = c.trim()).charCodeAt(0));\n switch (h) {\n case 38:\n return c.replace(F, '$1' + d.trim());\n case 58:\n return d.trim() + c.replace(F, '$1' + d.trim());\n default:\n if (0 < 1 * e && 0 < c.indexOf('\\f')) return c.replace(F, (58 === d.charCodeAt(0) ? '' : '$1') + d.trim());\n }\n return d + c;\n }\n function P(d, c, e, h) {\n var a = d + ';',\n m = 2 * c + 3 * e + 4 * h;\n if (944 === m) {\n d = a.indexOf(':', 9) + 1;\n var b = a.substring(d, a.length - 1).trim();\n b = a.substring(0, d).trim() + b + ';';\n return 1 === w || 2 === w && L(b, 1) ? '-webkit-' + b + b : b;\n }\n if (0 === w || 2 === w && !L(a, 1)) return a;\n switch (m) {\n case 1015:\n return 97 === a.charCodeAt(10) ? '-webkit-' + a + a : a;\n case 951:\n return 116 === a.charCodeAt(3) ? '-webkit-' + a + a : a;\n case 963:\n return 110 === a.charCodeAt(5) ? '-webkit-' + a + a : a;\n case 1009:\n if (100 !== a.charCodeAt(4)) break;\n case 969:\n case 942:\n return '-webkit-' + a + a;\n case 978:\n return '-webkit-' + a + '-moz-' + a + a;\n case 1019:\n case 983:\n return '-webkit-' + a + '-moz-' + a + '-ms-' + a + a;\n case 883:\n if (45 === a.charCodeAt(8)) return '-webkit-' + a + a;\n if (0 < a.indexOf('image-set(', 11)) return a.replace(ja, '$1-webkit-$2') + a;\n break;\n case 932:\n if (45 === a.charCodeAt(4)) switch (a.charCodeAt(5)) {\n case 103:\n return '-webkit-box-' + a.replace('-grow', '') + '-webkit-' + a + '-ms-' + a.replace('grow', 'positive') + a;\n case 115:\n return '-webkit-' + a + '-ms-' + a.replace('shrink', 'negative') + a;\n case 98:\n return '-webkit-' + a + '-ms-' + a.replace('basis', 'preferred-size') + a;\n }\n return '-webkit-' + a + '-ms-' + a + a;\n case 964:\n return '-webkit-' + a + '-ms-flex-' + a + a;\n case 1023:\n if (99 !== a.charCodeAt(8)) break;\n b = a.substring(a.indexOf(':', 15)).replace('flex-', '').replace('space-between', 'justify');\n return '-webkit-box-pack' + b + '-webkit-' + a + '-ms-flex-pack' + b + a;\n case 1005:\n return ka.test(a) ? a.replace(aa, ':-webkit-') + a.replace(aa, ':-moz-') + a : a;\n case 1e3:\n b = a.substring(13).trim();\n c = b.indexOf('-') + 1;\n switch (b.charCodeAt(0) + b.charCodeAt(c)) {\n case 226:\n b = a.replace(G, 'tb');\n break;\n case 232:\n b = a.replace(G, 'tb-rl');\n break;\n case 220:\n b = a.replace(G, 'lr');\n break;\n default:\n return a;\n }\n return '-webkit-' + a + '-ms-' + b + a;\n case 1017:\n if (-1 === a.indexOf('sticky', 9)) break;\n case 975:\n c = (a = d).length - 10;\n b = (33 === a.charCodeAt(c) ? a.substring(0, c) : a).substring(d.indexOf(':', 7) + 1).trim();\n switch (m = b.charCodeAt(0) + (b.charCodeAt(7) | 0)) {\n case 203:\n if (111 > b.charCodeAt(8)) break;\n case 115:\n a = a.replace(b, '-webkit-' + b) + ';' + a;\n break;\n case 207:\n case 102:\n a = a.replace(b, '-webkit-' + (102 < m ? 'inline-' : '') + 'box') + ';' + a.replace(b, '-webkit-' + b) + ';' + a.replace(b, '-ms-' + b + 'box') + ';' + a;\n }\n return a + ';';\n case 938:\n if (45 === a.charCodeAt(5)) switch (a.charCodeAt(6)) {\n case 105:\n return b = a.replace('-items', ''), '-webkit-' + a + '-webkit-box-' + b + '-ms-flex-' + b + a;\n case 115:\n return '-webkit-' + a + '-ms-flex-item-' + a.replace(ba, '') + a;\n default:\n return '-webkit-' + a + '-ms-flex-line-pack' + a.replace('align-content', '').replace(ba, '') + a;\n }\n break;\n case 973:\n case 989:\n if (45 !== a.charCodeAt(3) || 122 === a.charCodeAt(4)) break;\n case 931:\n case 953:\n if (!0 === la.test(d)) return 115 === (b = d.substring(d.indexOf(':') + 1)).charCodeAt(0) ? P(d.replace('stretch', 'fill-available'), c, e, h).replace(':fill-available', ':stretch') : a.replace(b, '-webkit-' + b) + a.replace(b, '-moz-' + b.replace('fill-', '')) + a;\n break;\n case 962:\n if (a = '-webkit-' + a + (102 === a.charCodeAt(5) ? '-ms-' + a : '') + a, 211 === e + h && 105 === a.charCodeAt(13) && 0 < a.indexOf('transform', 10)) return a.substring(0, a.indexOf(';', 27) + 1).replace(ma, '$1-webkit-$2') + a;\n }\n return a;\n }\n function L(d, c) {\n var e = d.indexOf(1 === c ? ':' : '{'),\n h = d.substring(0, 3 !== c ? e : 10);\n e = d.substring(e + 1, d.length - 1);\n return R(2 !== c ? h : h.replace(na, '$1'), e, c);\n }\n function ea(d, c) {\n var e = P(c, c.charCodeAt(0), c.charCodeAt(1), c.charCodeAt(2));\n return e !== c + ';' ? e.replace(oa, ' or ($1)').substring(4) : '(' + c + ')';\n }\n function H(d, c, e, h, a, m, b, v, n, q) {\n for (var g = 0, x = c, w; g < A; ++g) {\n switch (w = S[g].call(B, d, x, e, h, a, m, b, v, n, q)) {\n case void 0:\n case !1:\n case !0:\n case null:\n break;\n default:\n x = w;\n }\n }\n if (x !== c) return x;\n }\n function T(d) {\n switch (d) {\n case void 0:\n case null:\n A = S.length = 0;\n break;\n default:\n if ('function' === typeof d) S[A++] = d;else if ('object' === typeof d) for (var c = 0, e = d.length; c < e; ++c) {\n T(d[c]);\n } else Y = !!d | 0;\n }\n return T;\n }\n function U(d) {\n d = d.prefix;\n void 0 !== d && (R = null, d ? 'function' !== typeof d ? w = 1 : (w = 2, R = d) : w = 0);\n return U;\n }\n function B(d, c) {\n var e = d;\n 33 > e.charCodeAt(0) && (e = e.trim());\n V = e;\n e = [V];\n if (0 < A) {\n var h = H(-1, c, e, e, D, z, 0, 0, 0, 0);\n void 0 !== h && 'string' === typeof h && (c = h);\n }\n var a = M(O, e, c, 0, 0);\n 0 < A && (h = H(-2, a, e, e, D, z, a.length, 0, 0, 0), void 0 !== h && (a = h));\n V = '';\n E = 0;\n z = D = 1;\n return a;\n }\n var ca = /^\\0+/g,\n N = /[\\0\\r\\f]/g,\n aa = /: */g,\n ka = /zoo|gra/,\n ma = /([,: ])(transform)/g,\n ia = /,\\r+?/g,\n F = /([\\t\\r\\n ])*\\f?&/g,\n fa = /@(k\\w+)\\s*(\\S*)\\s*/,\n Q = /::(place)/g,\n ha = /:(read-only)/g,\n G = /[svh]\\w+-[tblr]{2}/,\n da = /\\(\\s*(.*)\\s*\\)/g,\n oa = /([\\s\\S]*?);/g,\n ba = /-self|flex-/g,\n na = /[^]*?(:[rp][el]a[\\w-]+)[^]*/,\n la = /stretch|:\\s*\\w+\\-(?:conte|avail)/,\n ja = /([^-])(image-set\\()/,\n z = 1,\n D = 1,\n E = 0,\n w = 1,\n O = [],\n S = [],\n A = 0,\n R = null,\n Y = 0,\n V = '';\n B.use = T;\n B.set = U;\n void 0 !== W && U(W);\n return B;\n}\nexport default stylis_min;","import { StyleSheet } from '@emotion/sheet';\nimport Stylis from '@emotion/stylis';\nimport '@emotion/weak-memoize';\n\n// https://github.com/thysultan/stylis.js/tree/master/plugins/rule-sheet\n// inlined to avoid umd wrapper and peerDep warnings/installing stylis\n// since we use stylis after closure compiler\nvar delimiter = '/*|*/';\nvar needle = delimiter + '}';\nfunction toSheet(block) {\n if (block) {\n Sheet.current.insert(block + '}');\n }\n}\nvar Sheet = {\n current: null\n};\nvar ruleSheet = function ruleSheet(context, content, selectors, parents, line, column, length, ns, depth, at) {\n switch (context) {\n // property\n case 1:\n {\n switch (content.charCodeAt(0)) {\n case 64:\n {\n // @import\n Sheet.current.insert(content + ';');\n return '';\n }\n // charcode for l\n\n case 108:\n {\n // charcode for b\n // this ignores label\n if (content.charCodeAt(2) === 98) {\n return '';\n }\n }\n }\n break;\n }\n // selector\n\n case 2:\n {\n if (ns === 0) return content + delimiter;\n break;\n }\n // at-rule\n\n case 3:\n {\n switch (ns) {\n // @font-face, @page\n case 102:\n case 112:\n {\n Sheet.current.insert(selectors[0] + content);\n return '';\n }\n default:\n {\n return content + (at === 0 ? delimiter : '');\n }\n }\n }\n case -2:\n {\n content.split(needle).forEach(toSheet);\n }\n }\n};\nvar createCache = function createCache(options) {\n if (options === undefined) options = {};\n var key = options.key || 'css';\n var stylisOptions;\n if (options.prefix !== undefined) {\n stylisOptions = {\n prefix: options.prefix\n };\n }\n var stylis = new Stylis(stylisOptions);\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe\n if (/[^a-z-]/.test(key)) {\n throw new Error(\"Emotion key must only contain lower case alphabetical characters and - but \\\"\" + key + \"\\\" was passed\");\n }\n }\n var inserted = {}; // $FlowFixMe\n\n var container;\n {\n container = options.container || document.head;\n var nodes = document.querySelectorAll(\"style[data-emotion-\" + key + \"]\");\n Array.prototype.forEach.call(nodes, function (node) {\n var attrib = node.getAttribute(\"data-emotion-\" + key); // $FlowFixMe\n\n attrib.split(' ').forEach(function (id) {\n inserted[id] = true;\n });\n if (node.parentNode !== container) {\n container.appendChild(node);\n }\n });\n }\n var _insert;\n {\n stylis.use(options.stylisPlugins)(ruleSheet);\n _insert = function insert(selector, serialized, sheet, shouldCache) {\n var name = serialized.name;\n Sheet.current = sheet;\n if (process.env.NODE_ENV !== 'production' && serialized.map !== undefined) {\n var map = serialized.map;\n Sheet.current = {\n insert: function insert(rule) {\n sheet.insert(rule + map);\n }\n };\n }\n stylis(selector, serialized.styles);\n if (shouldCache) {\n cache.inserted[name] = true;\n }\n };\n }\n if (process.env.NODE_ENV !== 'production') {\n // https://esbench.com/bench/5bf7371a4cd7e6009ef61d0a\n var commentStart = /\\/\\*/g;\n var commentEnd = /\\*\\//g;\n stylis.use(function (context, content) {\n switch (context) {\n case -1:\n {\n while (commentStart.test(content)) {\n commentEnd.lastIndex = commentStart.lastIndex;\n if (commentEnd.test(content)) {\n commentStart.lastIndex = commentEnd.lastIndex;\n continue;\n }\n throw new Error('Your styles have an unterminated comment (\"/*\" without corresponding \"*/\").');\n }\n commentStart.lastIndex = 0;\n break;\n }\n }\n });\n stylis.use(function (context, content, selectors) {\n switch (context) {\n case -1:\n {\n var flag = 'emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason';\n var unsafePseudoClasses = content.match(/(:first|:nth|:nth-last)-child/g);\n if (unsafePseudoClasses && cache.compat !== true) {\n unsafePseudoClasses.forEach(function (unsafePseudoClass) {\n var ignoreRegExp = new RegExp(unsafePseudoClass + \".*\\\\/\\\\* \" + flag + \" \\\\*\\\\/\");\n var ignore = ignoreRegExp.test(content);\n if (unsafePseudoClass && !ignore) {\n console.error(\"The pseudo class \\\"\" + unsafePseudoClass + \"\\\" is potentially unsafe when doing server-side rendering. Try changing it to \\\"\" + unsafePseudoClass.split('-child')[0] + \"-of-type\\\".\");\n }\n });\n }\n break;\n }\n }\n });\n }\n var cache = {\n key: key,\n sheet: new StyleSheet({\n key: key,\n container: container,\n nonce: options.nonce,\n speedy: options.speedy\n }),\n nonce: options.nonce,\n inserted: inserted,\n registered: {},\n insert: _insert\n };\n return cache;\n};\nexport default createCache;","var isBrowser = \"object\" !== 'undefined';\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className]);\n } else {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n if (\n // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false ||\n // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false && cache.compat !== undefined) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n if (cache.inserted[serialized.name] === undefined) {\n var current = serialized;\n do {\n var maybeStyles = cache.insert(\".\" + className, current, cache.sheet, true);\n current = current.next;\n } while (current !== undefined);\n }\n};\nexport { getRegisteredStyles, insertStyles };","/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k = /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^= /* k >>> r: */\n k >>> 24;\n h = /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^ /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h = /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n h ^= h >>> 13;\n h = /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\nexport default murmur2;","var unitlessKeys = {\n animationIterationCount: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\nexport default unitlessKeys;","function memoize(fn) {\n var cache = {};\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\nexport default memoize;","import hashString from '@emotion/hash';\nimport unitless from '@emotion/unitless';\nimport memoize from '@emotion/memoize';\nvar ILLEGAL_ESCAPE_SEQUENCE_ERROR = \"You have illegal escape sequence in your template literal, most likely inside content's property value.\\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \\\"content: '\\\\00d7';\\\" should become \\\"content: '\\\\\\\\00d7';\\\".\\nYou can read more about this here:\\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\";\nvar UNDEFINED_AS_OBJECT_KEY_ERROR = \"You have passed in falsy value as style object's key (can happen when in example you pass unexported component as computed key).\";\nvar hyphenateRegex = /[A-Z]|^ms/g;\nvar animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;\nvar isCustomProperty = function isCustomProperty(property) {\n return property.charCodeAt(1) === 45;\n};\nvar isProcessableValue = function isProcessableValue(value) {\n return value != null && typeof value !== 'boolean';\n};\nvar processStyleName = memoize(function (styleName) {\n return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();\n});\nvar processStyleValue = function processStyleValue(key, value) {\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n if (typeof value === 'string') {\n return value.replace(animationRegex, function (match, p1, p2) {\n cursor = {\n name: p1,\n styles: p2,\n next: cursor\n };\n return p1;\n });\n }\n }\n }\n if (unitless[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {\n return value + 'px';\n }\n return value;\n};\nif (process.env.NODE_ENV !== 'production') {\n var contentValuePattern = /(attr|calc|counters?|url)\\(/;\n var contentValues = ['normal', 'none', 'counter', 'open-quote', 'close-quote', 'no-open-quote', 'no-close-quote', 'initial', 'inherit', 'unset'];\n var oldProcessStyleValue = processStyleValue;\n var msPattern = /^-ms-/;\n var hyphenPattern = /-(.)/g;\n var hyphenatedCache = {};\n processStyleValue = function processStyleValue(key, value) {\n if (key === 'content') {\n if (typeof value !== 'string' || contentValues.indexOf(value) === -1 && !contentValuePattern.test(value) && (value.charAt(0) !== value.charAt(value.length - 1) || value.charAt(0) !== '\"' && value.charAt(0) !== \"'\")) {\n console.error(\"You seem to be using a value for 'content' without quotes, try replacing it with `content: '\\\"\" + value + \"\\\"'`\");\n }\n }\n var processed = oldProcessStyleValue(key, value);\n if (processed !== '' && !isCustomProperty(key) && key.indexOf('-') !== -1 && hyphenatedCache[key] === undefined) {\n hyphenatedCache[key] = true;\n console.error(\"Using kebab-case for css properties in objects is not supported. Did you mean \" + key.replace(msPattern, 'ms-').replace(hyphenPattern, function (str, _char) {\n return _char.toUpperCase();\n }) + \"?\");\n }\n return processed;\n };\n}\nvar shouldWarnAboutInterpolatingClassNameFromCss = true;\nfunction handleInterpolation(mergedProps, registered, interpolation, couldBeSelectorInterpolation) {\n if (interpolation == null) {\n return '';\n }\n if (interpolation.__emotion_styles !== undefined) {\n if (process.env.NODE_ENV !== 'production' && interpolation.toString() === 'NO_COMPONENT_SELECTOR') {\n throw new Error('Component selectors can only be used in conjunction with babel-plugin-emotion.');\n }\n return interpolation;\n }\n switch (typeof interpolation) {\n case 'boolean':\n {\n return '';\n }\n case 'object':\n {\n if (interpolation.anim === 1) {\n cursor = {\n name: interpolation.name,\n styles: interpolation.styles,\n next: cursor\n };\n return interpolation.name;\n }\n if (interpolation.styles !== undefined) {\n var next = interpolation.next;\n if (next !== undefined) {\n // not the most efficient thing ever but this is a pretty rare case\n // and there will be very few iterations of this generally\n while (next !== undefined) {\n cursor = {\n name: next.name,\n styles: next.styles,\n next: cursor\n };\n next = next.next;\n }\n }\n var styles = interpolation.styles + \";\";\n if (process.env.NODE_ENV !== 'production' && interpolation.map !== undefined) {\n styles += interpolation.map;\n }\n return styles;\n }\n return createStringFromObject(mergedProps, registered, interpolation);\n }\n case 'function':\n {\n if (mergedProps !== undefined) {\n var previousCursor = cursor;\n var result = interpolation(mergedProps);\n cursor = previousCursor;\n return handleInterpolation(mergedProps, registered, result, couldBeSelectorInterpolation);\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('Functions that are interpolated in css calls will be stringified.\\n' + 'If you want to have a css call based on props, create a function that returns a css call like this\\n' + 'let dynamicStyle = (props) => css`color: ${props.color}`\\n' + 'It can be called directly with props or interpolated in a styled call like this\\n' + \"let SomeComponent = styled('div')`${dynamicStyle}`\");\n }\n break;\n }\n case 'string':\n if (process.env.NODE_ENV !== 'production') {\n var matched = [];\n var replaced = interpolation.replace(animationRegex, function (match, p1, p2) {\n var fakeVarName = \"animation\" + matched.length;\n matched.push(\"const \" + fakeVarName + \" = keyframes`\" + p2.replace(/^@keyframes animation-\\w+/, '') + \"`\");\n return \"${\" + fakeVarName + \"}\";\n });\n if (matched.length) {\n console.error('`keyframes` output got interpolated into plain string, please wrap it with `css`.\\n\\n' + 'Instead of doing this:\\n\\n' + [].concat(matched, [\"`\" + replaced + \"`\"]).join('\\n') + '\\n\\nYou should wrap it with `css` like this:\\n\\n' + (\"css`\" + replaced + \"`\"));\n }\n }\n break;\n } // finalize string values (regular strings and functions interpolated into css calls)\n\n if (registered == null) {\n return interpolation;\n }\n var cached = registered[interpolation];\n if (process.env.NODE_ENV !== 'production' && couldBeSelectorInterpolation && shouldWarnAboutInterpolatingClassNameFromCss && cached !== undefined) {\n console.error('Interpolating a className from css`` is not recommended and will cause problems with composition.\\n' + 'Interpolating a className from css`` will be completely unsupported in a future major version of Emotion');\n shouldWarnAboutInterpolatingClassNameFromCss = false;\n }\n return cached !== undefined && !couldBeSelectorInterpolation ? cached : interpolation;\n}\nfunction createStringFromObject(mergedProps, registered, obj) {\n var string = '';\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n string += handleInterpolation(mergedProps, registered, obj[i], false);\n }\n } else {\n for (var _key in obj) {\n var value = obj[_key];\n if (typeof value !== 'object') {\n if (registered != null && registered[value] !== undefined) {\n string += _key + \"{\" + registered[value] + \"}\";\n } else if (isProcessableValue(value)) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value) + \";\";\n }\n } else {\n if (_key === 'NO_COMPONENT_SELECTOR' && process.env.NODE_ENV !== 'production') {\n throw new Error('Component selectors can only be used in conjunction with babel-plugin-emotion.');\n }\n if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {\n for (var _i = 0; _i < value.length; _i++) {\n if (isProcessableValue(value[_i])) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value[_i]) + \";\";\n }\n }\n } else {\n var interpolated = handleInterpolation(mergedProps, registered, value, false);\n switch (_key) {\n case 'animation':\n case 'animationName':\n {\n string += processStyleName(_key) + \":\" + interpolated + \";\";\n break;\n }\n default:\n {\n if (process.env.NODE_ENV !== 'production' && _key === 'undefined') {\n console.error(UNDEFINED_AS_OBJECT_KEY_ERROR);\n }\n string += _key + \"{\" + interpolated + \"}\";\n }\n }\n }\n }\n }\n }\n return string;\n}\nvar labelPattern = /label:\\s*([^\\s;\\n{]+)\\s*;/g;\nvar sourceMapPattern;\nif (process.env.NODE_ENV !== 'production') {\n sourceMapPattern = /\\/\\*#\\ssourceMappingURL=data:application\\/json;\\S+\\s+\\*\\//;\n} // this is the cursor for keyframes\n// keyframes are stored on the SerializedStyles object as a linked list\n\nvar cursor;\nvar serializeStyles = function serializeStyles(args, registered, mergedProps) {\n if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) {\n return args[0];\n }\n var stringMode = true;\n var styles = '';\n cursor = undefined;\n var strings = args[0];\n if (strings == null || strings.raw === undefined) {\n stringMode = false;\n styles += handleInterpolation(mergedProps, registered, strings, false);\n } else {\n if (process.env.NODE_ENV !== 'production' && strings[0] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n styles += strings[0];\n } // we start at 1 since we've already handled the first arg\n\n for (var i = 1; i < args.length; i++) {\n styles += handleInterpolation(mergedProps, registered, args[i], styles.charCodeAt(styles.length - 1) === 46);\n if (stringMode) {\n if (process.env.NODE_ENV !== 'production' && strings[i] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n styles += strings[i];\n }\n }\n var sourceMap;\n if (process.env.NODE_ENV !== 'production') {\n styles = styles.replace(sourceMapPattern, function (match) {\n sourceMap = match;\n return '';\n });\n } // using a global regex with .exec is stateful so lastIndex has to be reset each time\n\n labelPattern.lastIndex = 0;\n var identifierName = '';\n var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5\n\n while ((match = labelPattern.exec(styles)) !== null) {\n identifierName += '-' +\n // $FlowFixMe we know it's not null\n match[1];\n }\n var name = hashString(styles) + identifierName;\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe SerializedStyles type doesn't have toString property (and we don't want to add it)\n return {\n name: name,\n styles: styles,\n map: sourceMap,\n next: cursor,\n toString: function toString() {\n return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\";\n }\n };\n }\n return {\n name: name,\n styles: styles,\n next: cursor\n };\n};\nexport { serializeStyles };","import '@babel/runtime/helpers/inheritsLoose';\nimport { createContext, forwardRef, createElement, Fragment } from 'react';\nimport createCache from '@emotion/cache';\nimport { getRegisteredStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar EmotionCacheContext = /*#__PURE__*/createContext(\n// we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? createCache() : null);\nvar ThemeContext = /*#__PURE__*/createContext({});\nvar CacheProvider = EmotionCacheContext.Provider;\nvar withEmotionCache = function withEmotionCache(func) {\n var render = function render(props, ref) {\n return /*#__PURE__*/createElement(EmotionCacheContext.Consumer, null, function (cache) {\n return func(props, cache, ref);\n });\n }; // $FlowFixMe\n\n return /*#__PURE__*/forwardRef(render);\n};\n\n// thus we only need to replace what is a valid character for JS, but not for CSS\n\nvar sanitizeIdentifier = function sanitizeIdentifier(identifier) {\n return identifier.replace(/\\$/g, '-');\n};\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type, props) {\n if (process.env.NODE_ENV !== 'production' && typeof props.css === 'string' &&\n // check if there is a css declaration\n props.css.indexOf(':') !== -1) {\n throw new Error(\"Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/css' like this: css`\" + props.css + \"`\");\n }\n var newProps = {};\n for (var key in props) {\n if (hasOwnProperty.call(props, key)) {\n newProps[key] = props[key];\n }\n }\n newProps[typePropName] = type; // TODO: check if this still works with all of those different JSX functions\n\n if (process.env.NODE_ENV !== 'production') {\n var error = new Error();\n if (error.stack) {\n // chrome\n var match = error.stack.match(/at (?:Object\\.|Module\\.|)(?:jsx|createEmotionProps).*\\n\\s+at (?:Object\\.|)([A-Z][A-Za-z$]+) /);\n if (!match) {\n // safari and firefox\n match = error.stack.match(/.*\\n([A-Z][A-Za-z$]+)@/);\n }\n if (match) {\n newProps[labelPropName] = sanitizeIdentifier(match[1]);\n }\n }\n }\n return newProps;\n};\nvar Noop = function Noop() {\n return null;\n};\nvar render = function render(cache, props, theme, ref) {\n var cssProp = theme === null ? props.css : props.css(theme); // so that using `css` from `emotion` and passing the result to the css prop works\n // not passing the registered cache to serializeStyles because it would\n // make certain babel optimisations not possible\n\n if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n cssProp = cache.registered[cssProp];\n }\n var type = props[typePropName];\n var registeredStyles = [cssProp];\n var className = '';\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n var serialized = serializeStyles(registeredStyles);\n if (process.env.NODE_ENV !== 'production' && serialized.name.indexOf('-') === -1) {\n var labelFromStack = props[labelPropName];\n if (labelFromStack) {\n serialized = serializeStyles([serialized, 'label:' + labelFromStack + ';']);\n }\n }\n var rules = insertStyles(cache, serialized, typeof type === 'string');\n className += cache.key + \"-\" + serialized.name;\n var newProps = {};\n for (var key in props) {\n if (hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName && (process.env.NODE_ENV === 'production' || key !== labelPropName)) {\n newProps[key] = props[key];\n }\n }\n newProps.ref = ref;\n newProps.className = className;\n var ele = /*#__PURE__*/createElement(type, newProps);\n var possiblyStyleElement = /*#__PURE__*/createElement(Noop, null);\n return /*#__PURE__*/createElement(Fragment, null, possiblyStyleElement, ele);\n}; // eslint-disable-next-line no-undef\n\nvar Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {\n if (typeof props.css === 'function') {\n return /*#__PURE__*/createElement(ThemeContext.Consumer, null, function (theme) {\n return render(cache, props, theme, ref);\n });\n }\n return render(cache, props, null, ref);\n});\nif (process.env.NODE_ENV !== 'production') {\n Emotion.displayName = 'EmotionCssPropInternal';\n}\nexport { CacheProvider as C, Emotion as E, ThemeContext as T, createEmotionProps as c, hasOwnProperty as h, withEmotionCache as w };","import { serializeStyles } from '@emotion/serialize';\nfunction css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return serializeStyles(args);\n}\nexport default css;","import _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport { createElement, Component, Fragment } from 'react';\nimport '@emotion/cache';\nimport { h as hasOwnProperty, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext } from './emotion-element-04d85134.browser.esm.js';\nexport { C as CacheProvider, T as ThemeContext, w as withEmotionCache } from './emotion-element-04d85134.browser.esm.js';\nimport { insertStyles, getRegisteredStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { StyleSheet } from '@emotion/sheet';\nimport css from '@emotion/css';\nexport { default as css } from '@emotion/css';\nvar jsx = function jsx(type, props) {\n var args = arguments;\n if (props == null || !hasOwnProperty.call(props, 'css')) {\n // $FlowFixMe\n return createElement.apply(undefined, args);\n }\n var argsLength = args.length;\n var createElementArgArray = new Array(argsLength);\n createElementArgArray[0] = Emotion;\n createElementArgArray[1] = createEmotionProps(type, props);\n for (var i = 2; i < argsLength; i++) {\n createElementArgArray[i] = args[i];\n } // $FlowFixMe\n\n return createElement.apply(null, createElementArgArray);\n};\nvar warnedAboutCssPropForGlobal = false;\nvar Global = /* #__PURE__ */withEmotionCache(function (props, cache) {\n if (process.env.NODE_ENV !== 'production' && !warnedAboutCssPropForGlobal && (\n // check for className as well since the user is\n // probably using the custom createElement which\n // means it will be turned into a className prop\n // $FlowFixMe I don't really want to add it to the type since it shouldn't be used\n props.className || props.css)) {\n console.error(\"It looks like you're using the css prop on Global, did you mean to use the styles prop instead?\");\n warnedAboutCssPropForGlobal = true;\n }\n var styles = props.styles;\n if (typeof styles === 'function') {\n return /*#__PURE__*/createElement(ThemeContext.Consumer, null, function (theme) {\n var serialized = serializeStyles([styles(theme)]);\n return /*#__PURE__*/createElement(InnerGlobal, {\n serialized: serialized,\n cache: cache\n });\n });\n }\n var serialized = serializeStyles([styles]);\n return /*#__PURE__*/createElement(InnerGlobal, {\n serialized: serialized,\n cache: cache\n });\n});\n\n// maintain place over rerenders.\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\nvar InnerGlobal = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(InnerGlobal, _React$Component);\n function InnerGlobal(props, context, updater) {\n return _React$Component.call(this, props, context, updater) || this;\n }\n var _proto = InnerGlobal.prototype;\n _proto.componentDidMount = function componentDidMount() {\n this.sheet = new StyleSheet({\n key: this.props.cache.key + \"-global\",\n nonce: this.props.cache.sheet.nonce,\n container: this.props.cache.sheet.container\n }); // $FlowFixMe\n\n var node = document.querySelector(\"style[data-emotion-\" + this.props.cache.key + \"=\\\"\" + this.props.serialized.name + \"\\\"]\");\n if (node !== null) {\n this.sheet.tags.push(node);\n }\n if (this.props.cache.sheet.tags.length) {\n this.sheet.before = this.props.cache.sheet.tags[0];\n }\n this.insertStyles();\n };\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n if (prevProps.serialized.name !== this.props.serialized.name) {\n this.insertStyles();\n }\n };\n _proto.insertStyles = function insertStyles$1() {\n if (this.props.serialized.next !== undefined) {\n // insert keyframes\n insertStyles(this.props.cache, this.props.serialized.next, true);\n }\n if (this.sheet.tags.length) {\n // if this doesn't exist then it will be null so the style element will be appended\n var element = this.sheet.tags[this.sheet.tags.length - 1].nextElementSibling;\n this.sheet.before = element;\n this.sheet.flush();\n }\n this.props.cache.insert(\"\", this.props.serialized, this.sheet, false);\n };\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.sheet.flush();\n };\n _proto.render = function render() {\n return null;\n };\n return InnerGlobal;\n}(Component);\nvar keyframes = function keyframes() {\n var insertable = css.apply(void 0, arguments);\n var name = \"animation-\" + insertable.name; // $FlowFixMe\n\n return {\n name: name,\n styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n anim: 1,\n toString: function toString() {\n return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n }\n };\n};\nvar classnames = function classnames(args) {\n var len = args.length;\n var i = 0;\n var cls = '';\n for (; i < len; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n switch (typeof arg) {\n case 'boolean':\n break;\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n toAdd = '';\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n break;\n }\n default:\n {\n toAdd = arg;\n }\n }\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n return cls;\n};\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n if (registeredStyles.length < 2) {\n return className;\n }\n return rawClassName + css(registeredStyles);\n}\nvar Noop = function Noop() {\n return null;\n};\nvar ClassNames = withEmotionCache(function (props, context) {\n return /*#__PURE__*/createElement(ThemeContext.Consumer, null, function (theme) {\n var hasRendered = false;\n var css = function css() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('css can only be used during render');\n }\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n var serialized = serializeStyles(args, context.registered);\n {\n insertStyles(context, serialized, false);\n }\n return context.key + \"-\" + serialized.name;\n };\n var cx = function cx() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('cx can only be used during render');\n }\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n return merge(context.registered, css, classnames(args));\n };\n var content = {\n css: css,\n cx: cx,\n theme: theme\n };\n var ele = props.children(content);\n hasRendered = true;\n var possiblyStyleElement = /*#__PURE__*/createElement(Noop, null);\n return /*#__PURE__*/createElement(Fragment, null, possiblyStyleElement, ele);\n });\n});\nexport { ClassNames, Global, jsx as createElement, jsx, keyframes };","var basePropertyOf = require('./_basePropertyOf');\n\n/** Used to map Latin Unicode letters to basic Latin letters. */\nvar deburredLetters = {\n // Latin-1 Supplement block.\n '\\xc0': 'A', '\\xc1': 'A', '\\xc2': 'A', '\\xc3': 'A', '\\xc4': 'A', '\\xc5': 'A',\n '\\xe0': 'a', '\\xe1': 'a', '\\xe2': 'a', '\\xe3': 'a', '\\xe4': 'a', '\\xe5': 'a',\n '\\xc7': 'C', '\\xe7': 'c',\n '\\xd0': 'D', '\\xf0': 'd',\n '\\xc8': 'E', '\\xc9': 'E', '\\xca': 'E', '\\xcb': 'E',\n '\\xe8': 'e', '\\xe9': 'e', '\\xea': 'e', '\\xeb': 'e',\n '\\xcc': 'I', '\\xcd': 'I', '\\xce': 'I', '\\xcf': 'I',\n '\\xec': 'i', '\\xed': 'i', '\\xee': 'i', '\\xef': 'i',\n '\\xd1': 'N', '\\xf1': 'n',\n '\\xd2': 'O', '\\xd3': 'O', '\\xd4': 'O', '\\xd5': 'O', '\\xd6': 'O', '\\xd8': 'O',\n '\\xf2': 'o', '\\xf3': 'o', '\\xf4': 'o', '\\xf5': 'o', '\\xf6': 'o', '\\xf8': 'o',\n '\\xd9': 'U', '\\xda': 'U', '\\xdb': 'U', '\\xdc': 'U',\n '\\xf9': 'u', '\\xfa': 'u', '\\xfb': 'u', '\\xfc': 'u',\n '\\xdd': 'Y', '\\xfd': 'y', '\\xff': 'y',\n '\\xc6': 'Ae', '\\xe6': 'ae',\n '\\xde': 'Th', '\\xfe': 'th',\n '\\xdf': 'ss',\n // Latin Extended-A block.\n '\\u0100': 'A', '\\u0102': 'A', '\\u0104': 'A',\n '\\u0101': 'a', '\\u0103': 'a', '\\u0105': 'a',\n '\\u0106': 'C', '\\u0108': 'C', '\\u010a': 'C', '\\u010c': 'C',\n '\\u0107': 'c', '\\u0109': 'c', '\\u010b': 'c', '\\u010d': 'c',\n '\\u010e': 'D', '\\u0110': 'D', '\\u010f': 'd', '\\u0111': 'd',\n '\\u0112': 'E', '\\u0114': 'E', '\\u0116': 'E', '\\u0118': 'E', '\\u011a': 'E',\n '\\u0113': 'e', '\\u0115': 'e', '\\u0117': 'e', '\\u0119': 'e', '\\u011b': 'e',\n '\\u011c': 'G', '\\u011e': 'G', '\\u0120': 'G', '\\u0122': 'G',\n '\\u011d': 'g', '\\u011f': 'g', '\\u0121': 'g', '\\u0123': 'g',\n '\\u0124': 'H', '\\u0126': 'H', '\\u0125': 'h', '\\u0127': 'h',\n '\\u0128': 'I', '\\u012a': 'I', '\\u012c': 'I', '\\u012e': 'I', '\\u0130': 'I',\n '\\u0129': 'i', '\\u012b': 'i', '\\u012d': 'i', '\\u012f': 'i', '\\u0131': 'i',\n '\\u0134': 'J', '\\u0135': 'j',\n '\\u0136': 'K', '\\u0137': 'k', '\\u0138': 'k',\n '\\u0139': 'L', '\\u013b': 'L', '\\u013d': 'L', '\\u013f': 'L', '\\u0141': 'L',\n '\\u013a': 'l', '\\u013c': 'l', '\\u013e': 'l', '\\u0140': 'l', '\\u0142': 'l',\n '\\u0143': 'N', '\\u0145': 'N', '\\u0147': 'N', '\\u014a': 'N',\n '\\u0144': 'n', '\\u0146': 'n', '\\u0148': 'n', '\\u014b': 'n',\n '\\u014c': 'O', '\\u014e': 'O', '\\u0150': 'O',\n '\\u014d': 'o', '\\u014f': 'o', '\\u0151': 'o',\n '\\u0154': 'R', '\\u0156': 'R', '\\u0158': 'R',\n '\\u0155': 'r', '\\u0157': 'r', '\\u0159': 'r',\n '\\u015a': 'S', '\\u015c': 'S', '\\u015e': 'S', '\\u0160': 'S',\n '\\u015b': 's', '\\u015d': 's', '\\u015f': 's', '\\u0161': 's',\n '\\u0162': 'T', '\\u0164': 'T', '\\u0166': 'T',\n '\\u0163': 't', '\\u0165': 't', '\\u0167': 't',\n '\\u0168': 'U', '\\u016a': 'U', '\\u016c': 'U', '\\u016e': 'U', '\\u0170': 'U', '\\u0172': 'U',\n '\\u0169': 'u', '\\u016b': 'u', '\\u016d': 'u', '\\u016f': 'u', '\\u0171': 'u', '\\u0173': 'u',\n '\\u0174': 'W', '\\u0175': 'w',\n '\\u0176': 'Y', '\\u0177': 'y', '\\u0178': 'Y',\n '\\u0179': 'Z', '\\u017b': 'Z', '\\u017d': 'Z',\n '\\u017a': 'z', '\\u017c': 'z', '\\u017e': 'z',\n '\\u0132': 'IJ', '\\u0133': 'ij',\n '\\u0152': 'Oe', '\\u0153': 'oe',\n '\\u0149': \"'n\", '\\u017f': 's'\n};\n\n/**\n * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A\n * letters to basic Latin letters.\n *\n * @private\n * @param {string} letter The matched letter to deburr.\n * @returns {string} Returns the deburred letter.\n */\nvar deburrLetter = basePropertyOf(deburredLetters);\n\nmodule.exports = deburrLetter;\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar b = \"function\" === typeof Symbol && Symbol.for,\n c = b ? Symbol.for(\"react.element\") : 60103,\n d = b ? Symbol.for(\"react.portal\") : 60106,\n e = b ? Symbol.for(\"react.fragment\") : 60107,\n f = b ? Symbol.for(\"react.strict_mode\") : 60108,\n g = b ? Symbol.for(\"react.profiler\") : 60114,\n h = b ? Symbol.for(\"react.provider\") : 60109,\n k = b ? Symbol.for(\"react.context\") : 60110,\n l = b ? Symbol.for(\"react.async_mode\") : 60111,\n m = b ? Symbol.for(\"react.concurrent_mode\") : 60111,\n n = b ? Symbol.for(\"react.forward_ref\") : 60112,\n p = b ? Symbol.for(\"react.suspense\") : 60113,\n q = b ? Symbol.for(\"react.suspense_list\") : 60120,\n r = b ? Symbol.for(\"react.memo\") : 60115,\n t = b ? Symbol.for(\"react.lazy\") : 60116,\n v = b ? Symbol.for(\"react.block\") : 60121,\n w = b ? Symbol.for(\"react.fundamental\") : 60117,\n x = b ? Symbol.for(\"react.responder\") : 60118,\n y = b ? Symbol.for(\"react.scope\") : 60119;\nfunction z(a) {\n if (\"object\" === typeof a && null !== a) {\n var u = a.$$typeof;\n switch (u) {\n case c:\n switch (a = a.type, a) {\n case l:\n case m:\n case e:\n case g:\n case f:\n case p:\n return a;\n default:\n switch (a = a && a.$$typeof, a) {\n case k:\n case n:\n case t:\n case r:\n case h:\n return a;\n default:\n return u;\n }\n }\n case d:\n return u;\n }\n }\n}\nfunction A(a) {\n return z(a) === m;\n}\nexports.AsyncMode = l;\nexports.ConcurrentMode = m;\nexports.ContextConsumer = k;\nexports.ContextProvider = h;\nexports.Element = c;\nexports.ForwardRef = n;\nexports.Fragment = e;\nexports.Lazy = t;\nexports.Memo = r;\nexports.Portal = d;\nexports.Profiler = g;\nexports.StrictMode = f;\nexports.Suspense = p;\nexports.isAsyncMode = function (a) {\n return A(a) || z(a) === l;\n};\nexports.isConcurrentMode = A;\nexports.isContextConsumer = function (a) {\n return z(a) === k;\n};\nexports.isContextProvider = function (a) {\n return z(a) === h;\n};\nexports.isElement = function (a) {\n return \"object\" === typeof a && null !== a && a.$$typeof === c;\n};\nexports.isForwardRef = function (a) {\n return z(a) === n;\n};\nexports.isFragment = function (a) {\n return z(a) === e;\n};\nexports.isLazy = function (a) {\n return z(a) === t;\n};\nexports.isMemo = function (a) {\n return z(a) === r;\n};\nexports.isPortal = function (a) {\n return z(a) === d;\n};\nexports.isProfiler = function (a) {\n return z(a) === g;\n};\nexports.isStrictMode = function (a) {\n return z(a) === f;\n};\nexports.isSuspense = function (a) {\n return z(a) === p;\n};\nexports.isValidElementType = function (a) {\n return \"string\" === typeof a || \"function\" === typeof a || a === e || a === m || a === g || a === f || a === p || a === q || \"object\" === typeof a && null !== a && (a.$$typeof === t || a.$$typeof === r || a.$$typeof === h || a.$$typeof === k || a.$$typeof === n || a.$$typeof === w || a.$$typeof === x || a.$$typeof === y || a.$$typeof === v);\n};\nexports.typeOf = z;","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbols = require('./_getSymbols'),\n keys = require('./keys');\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nmodule.exports = getAllKeys;\n","const set = require('regenerate')(0x11909);\nset.addRange(0x11900, 0x11906).addRange(0x1190C, 0x11913).addRange(0x11915, 0x11916).addRange(0x11918, 0x11935).addRange(0x11937, 0x11938).addRange(0x1193B, 0x11946).addRange(0x11950, 0x11959);\nmodule.exports = set;","const set = require('regenerate')(0x11FB0);\nset.addRange(0xA4D0, 0xA4FF);\nmodule.exports = set;","/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nmodule.exports = setToArray;\n","const set = require('regenerate')(0xA9CF);\nset.addRange(0x1A00, 0x1A1B).addRange(0x1A1E, 0x1A1F);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x30, 0x39).addRange(0x41, 0x46).addRange(0x61, 0x66);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x1BC00, 0x1BC6A).addRange(0x1BC70, 0x1BC7C).addRange(0x1BC80, 0x1BC88).addRange(0x1BC90, 0x1BC99).addRange(0x1BC9C, 0x1BCA3);\nmodule.exports = set;","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.hasIndices) result += 'd';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.unicodeSets) result += 'v';\n if (that.sticky) result += 'y';\n return result;\n};\n","const set = require('regenerate')();\nset.addRange(0x2FF2, 0x2FF3);\nmodule.exports = set;","var arraySlice = require('../internals/array-slice-simple');\n\nvar floor = Math.floor;\n\nvar mergeSort = function (array, comparefn) {\n var length = array.length;\n var middle = floor(length / 2);\n return length < 8 ? insertionSort(array, comparefn) : merge(\n array,\n mergeSort(arraySlice(array, 0, middle), comparefn),\n mergeSort(arraySlice(array, middle), comparefn),\n comparefn\n );\n};\n\nvar insertionSort = function (array, comparefn) {\n var length = array.length;\n var i = 1;\n var element, j;\n\n while (i < length) {\n j = i;\n element = array[i];\n while (j && comparefn(array[j - 1], element) > 0) {\n array[j] = array[--j];\n }\n if (j !== i++) array[j] = element;\n } return array;\n};\n\nvar merge = function (array, left, right, comparefn) {\n var llength = left.length;\n var rlength = right.length;\n var lindex = 0;\n var rindex = 0;\n\n while (lindex < llength || rindex < rlength) {\n array[lindex + rindex] = (lindex < llength && rindex < rlength)\n ? comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++]\n : lindex < llength ? left[lindex++] : right[rindex++];\n } return array;\n};\n\nmodule.exports = mergeSort;\n","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","import t, { Component as e } from \"react\";\nimport r from \"prop-types\";\nimport n from \"react-fast-compare\";\nimport i from \"invariant\";\nimport o from \"shallowequal\";\nfunction a() {\n return a = Object.assign || function (t) {\n for (var e = 1; e < arguments.length; e++) {\n var r = arguments[e];\n for (var n in r) Object.prototype.hasOwnProperty.call(r, n) && (t[n] = r[n]);\n }\n return t;\n }, a.apply(this, arguments);\n}\nfunction s(t, e) {\n t.prototype = Object.create(e.prototype), t.prototype.constructor = t, c(t, e);\n}\nfunction c(t, e) {\n return c = Object.setPrototypeOf || function (t, e) {\n return t.__proto__ = e, t;\n }, c(t, e);\n}\nfunction u(t, e) {\n if (null == t) return {};\n var r,\n n,\n i = {},\n o = Object.keys(t);\n for (n = 0; n < o.length; n++) e.indexOf(r = o[n]) >= 0 || (i[r] = t[r]);\n return i;\n}\nvar l = {\n BASE: \"base\",\n BODY: \"body\",\n HEAD: \"head\",\n HTML: \"html\",\n LINK: \"link\",\n META: \"meta\",\n NOSCRIPT: \"noscript\",\n SCRIPT: \"script\",\n STYLE: \"style\",\n TITLE: \"title\",\n FRAGMENT: \"Symbol(react.fragment)\"\n },\n p = {\n rel: [\"amphtml\", \"canonical\", \"alternate\"]\n },\n f = {\n type: [\"application/ld+json\"]\n },\n d = {\n charset: \"\",\n name: [\"robots\", \"description\"],\n property: [\"og:type\", \"og:title\", \"og:url\", \"og:image\", \"og:image:alt\", \"og:description\", \"twitter:url\", \"twitter:title\", \"twitter:description\", \"twitter:image\", \"twitter:image:alt\", \"twitter:card\", \"twitter:site\"]\n },\n h = Object.keys(l).map(function (t) {\n return l[t];\n }),\n m = {\n accesskey: \"accessKey\",\n charset: \"charSet\",\n class: \"className\",\n contenteditable: \"contentEditable\",\n contextmenu: \"contextMenu\",\n \"http-equiv\": \"httpEquiv\",\n itemprop: \"itemProp\",\n tabindex: \"tabIndex\"\n },\n y = Object.keys(m).reduce(function (t, e) {\n return t[m[e]] = e, t;\n }, {}),\n T = function (t, e) {\n for (var r = t.length - 1; r >= 0; r -= 1) {\n var n = t[r];\n if (Object.prototype.hasOwnProperty.call(n, e)) return n[e];\n }\n return null;\n },\n g = function (t) {\n var e = T(t, l.TITLE),\n r = T(t, \"titleTemplate\");\n if (Array.isArray(e) && (e = e.join(\"\")), r && e) return r.replace(/%s/g, function () {\n return e;\n });\n var n = T(t, \"defaultTitle\");\n return e || n || void 0;\n },\n b = function (t) {\n return T(t, \"onChangeClientState\") || function () {};\n },\n v = function (t, e) {\n return e.filter(function (e) {\n return void 0 !== e[t];\n }).map(function (e) {\n return e[t];\n }).reduce(function (t, e) {\n return a({}, t, e);\n }, {});\n },\n A = function (t, e) {\n return e.filter(function (t) {\n return void 0 !== t[l.BASE];\n }).map(function (t) {\n return t[l.BASE];\n }).reverse().reduce(function (e, r) {\n if (!e.length) for (var n = Object.keys(r), i = 0; i < n.length; i += 1) {\n var o = n[i].toLowerCase();\n if (-1 !== t.indexOf(o) && r[o]) return e.concat(r);\n }\n return e;\n }, []);\n },\n C = function (t, e, r) {\n var n = {};\n return r.filter(function (e) {\n return !!Array.isArray(e[t]) || (void 0 !== e[t] && console && \"function\" == typeof console.warn && console.warn(\"Helmet: \" + t + ' should be of type \"Array\". Instead found type \"' + typeof e[t] + '\"'), !1);\n }).map(function (e) {\n return e[t];\n }).reverse().reduce(function (t, r) {\n var i = {};\n r.filter(function (t) {\n for (var r, o = Object.keys(t), a = 0; a < o.length; a += 1) {\n var s = o[a],\n c = s.toLowerCase();\n -1 === e.indexOf(c) || \"rel\" === r && \"canonical\" === t[r].toLowerCase() || \"rel\" === c && \"stylesheet\" === t[c].toLowerCase() || (r = c), -1 === e.indexOf(s) || \"innerHTML\" !== s && \"cssText\" !== s && \"itemprop\" !== s || (r = s);\n }\n if (!r || !t[r]) return !1;\n var u = t[r].toLowerCase();\n return n[r] || (n[r] = {}), i[r] || (i[r] = {}), !n[r][u] && (i[r][u] = !0, !0);\n }).reverse().forEach(function (e) {\n return t.push(e);\n });\n for (var o = Object.keys(i), s = 0; s < o.length; s += 1) {\n var c = o[s],\n u = a({}, n[c], i[c]);\n n[c] = u;\n }\n return t;\n }, []).reverse();\n },\n O = function (t, e) {\n if (Array.isArray(t) && t.length) for (var r = 0; r < t.length; r += 1) if (t[r][e]) return !0;\n return !1;\n },\n S = function (t) {\n return Array.isArray(t) ? t.join(\"\") : t;\n },\n E = function (t, e) {\n return Array.isArray(t) ? t.reduce(function (t, r) {\n return function (t, e) {\n for (var r = Object.keys(t), n = 0; n < r.length; n += 1) if (e[r[n]] && e[r[n]].includes(t[r[n]])) return !0;\n return !1;\n }(r, e) ? t.priority.push(r) : t.default.push(r), t;\n }, {\n priority: [],\n default: []\n }) : {\n default: t\n };\n },\n I = function (t, e) {\n var r;\n return a({}, t, ((r = {})[e] = void 0, r));\n },\n P = [l.NOSCRIPT, l.SCRIPT, l.STYLE],\n w = function (t, e) {\n return void 0 === e && (e = !0), !1 === e ? String(t) : String(t).replace(/&/g, \"&\").replace(//g, \">\").replace(/\"/g, \""\").replace(/'/g, \"'\");\n },\n x = function (t) {\n return Object.keys(t).reduce(function (e, r) {\n var n = void 0 !== t[r] ? r + '=\"' + t[r] + '\"' : \"\" + r;\n return e ? e + \" \" + n : n;\n }, \"\");\n },\n L = function (t, e) {\n return void 0 === e && (e = {}), Object.keys(t).reduce(function (e, r) {\n return e[m[r] || r] = t[r], e;\n }, e);\n },\n j = function (e, r) {\n return r.map(function (r, n) {\n var i,\n o = ((i = {\n key: n\n })[\"data-rh\"] = !0, i);\n return Object.keys(r).forEach(function (t) {\n var e = m[t] || t;\n \"innerHTML\" === e || \"cssText\" === e ? o.dangerouslySetInnerHTML = {\n __html: r.innerHTML || r.cssText\n } : o[e] = r[t];\n }), t.createElement(e, o);\n });\n },\n M = function (e, r, n) {\n switch (e) {\n case l.TITLE:\n return {\n toComponent: function () {\n return n = r.titleAttributes, (i = {\n key: e = r.title\n })[\"data-rh\"] = !0, o = L(n, i), [t.createElement(l.TITLE, o, e)];\n var e, n, i, o;\n },\n toString: function () {\n return function (t, e, r, n) {\n var i = x(r),\n o = S(e);\n return i ? \"<\" + t + ' data-rh=\"true\" ' + i + \">\" + w(o, n) + \"\" : \"<\" + t + ' data-rh=\"true\">' + w(o, n) + \"\";\n }(e, r.title, r.titleAttributes, n);\n }\n };\n case \"bodyAttributes\":\n case \"htmlAttributes\":\n return {\n toComponent: function () {\n return L(r);\n },\n toString: function () {\n return x(r);\n }\n };\n default:\n return {\n toComponent: function () {\n return j(e, r);\n },\n toString: function () {\n return function (t, e, r) {\n return e.reduce(function (e, n) {\n var i = Object.keys(n).filter(function (t) {\n return !(\"innerHTML\" === t || \"cssText\" === t);\n }).reduce(function (t, e) {\n var i = void 0 === n[e] ? e : e + '=\"' + w(n[e], r) + '\"';\n return t ? t + \" \" + i : i;\n }, \"\"),\n o = n.innerHTML || n.cssText || \"\",\n a = -1 === P.indexOf(t);\n return e + \"<\" + t + ' data-rh=\"true\" ' + i + (a ? \"/>\" : \">\" + o + \"\");\n }, \"\");\n }(e, r, n);\n }\n };\n }\n },\n k = function (t) {\n var e = t.baseTag,\n r = t.bodyAttributes,\n n = t.encode,\n i = t.htmlAttributes,\n o = t.noscriptTags,\n a = t.styleTags,\n s = t.title,\n c = void 0 === s ? \"\" : s,\n u = t.titleAttributes,\n h = t.linkTags,\n m = t.metaTags,\n y = t.scriptTags,\n T = {\n toComponent: function () {},\n toString: function () {\n return \"\";\n }\n };\n if (t.prioritizeSeoTags) {\n var g = function (t) {\n var e = t.linkTags,\n r = t.scriptTags,\n n = t.encode,\n i = E(t.metaTags, d),\n o = E(e, p),\n a = E(r, f);\n return {\n priorityMethods: {\n toComponent: function () {\n return [].concat(j(l.META, i.priority), j(l.LINK, o.priority), j(l.SCRIPT, a.priority));\n },\n toString: function () {\n return M(l.META, i.priority, n) + \" \" + M(l.LINK, o.priority, n) + \" \" + M(l.SCRIPT, a.priority, n);\n }\n },\n metaTags: i.default,\n linkTags: o.default,\n scriptTags: a.default\n };\n }(t);\n T = g.priorityMethods, h = g.linkTags, m = g.metaTags, y = g.scriptTags;\n }\n return {\n priority: T,\n base: M(l.BASE, e, n),\n bodyAttributes: M(\"bodyAttributes\", r, n),\n htmlAttributes: M(\"htmlAttributes\", i, n),\n link: M(l.LINK, h, n),\n meta: M(l.META, m, n),\n noscript: M(l.NOSCRIPT, o, n),\n script: M(l.SCRIPT, y, n),\n style: M(l.STYLE, a, n),\n title: M(l.TITLE, {\n title: c,\n titleAttributes: u\n }, n)\n };\n },\n H = [],\n N = function (t, e) {\n var r = this;\n void 0 === e && (e = \"undefined\" != typeof document), this.instances = [], this.value = {\n setHelmet: function (t) {\n r.context.helmet = t;\n },\n helmetInstances: {\n get: function () {\n return r.canUseDOM ? H : r.instances;\n },\n add: function (t) {\n (r.canUseDOM ? H : r.instances).push(t);\n },\n remove: function (t) {\n var e = (r.canUseDOM ? H : r.instances).indexOf(t);\n (r.canUseDOM ? H : r.instances).splice(e, 1);\n }\n }\n }, this.context = t, this.canUseDOM = e, e || (t.helmet = k({\n baseTag: [],\n bodyAttributes: {},\n encodeSpecialCharacters: !0,\n htmlAttributes: {},\n linkTags: [],\n metaTags: [],\n noscriptTags: [],\n scriptTags: [],\n styleTags: [],\n title: \"\",\n titleAttributes: {}\n }));\n },\n R = t.createContext({}),\n D = r.shape({\n setHelmet: r.func,\n helmetInstances: r.shape({\n get: r.func,\n add: r.func,\n remove: r.func\n })\n }),\n U = \"undefined\" != typeof document,\n q = /*#__PURE__*/function (e) {\n function r(t) {\n var n;\n return (n = e.call(this, t) || this).helmetData = new N(n.props.context, r.canUseDOM), n;\n }\n return s(r, e), r.prototype.render = function () {\n /*#__PURE__*/return t.createElement(R.Provider, {\n value: this.helmetData.value\n }, this.props.children);\n }, r;\n }(e);\nq.canUseDOM = U, q.propTypes = {\n context: r.shape({\n helmet: r.shape()\n }),\n children: r.node.isRequired\n}, q.defaultProps = {\n context: {}\n}, q.displayName = \"HelmetProvider\";\nvar Y = function (t, e) {\n var r,\n n = document.head || document.querySelector(l.HEAD),\n i = n.querySelectorAll(t + \"[data-rh]\"),\n o = [].slice.call(i),\n a = [];\n return e && e.length && e.forEach(function (e) {\n var n = document.createElement(t);\n for (var i in e) Object.prototype.hasOwnProperty.call(e, i) && (\"innerHTML\" === i ? n.innerHTML = e.innerHTML : \"cssText\" === i ? n.styleSheet ? n.styleSheet.cssText = e.cssText : n.appendChild(document.createTextNode(e.cssText)) : n.setAttribute(i, void 0 === e[i] ? \"\" : e[i]));\n n.setAttribute(\"data-rh\", \"true\"), o.some(function (t, e) {\n return r = e, n.isEqualNode(t);\n }) ? o.splice(r, 1) : a.push(n);\n }), o.forEach(function (t) {\n return t.parentNode.removeChild(t);\n }), a.forEach(function (t) {\n return n.appendChild(t);\n }), {\n oldTags: o,\n newTags: a\n };\n },\n B = function (t, e) {\n var r = document.getElementsByTagName(t)[0];\n if (r) {\n for (var n = r.getAttribute(\"data-rh\"), i = n ? n.split(\",\") : [], o = [].concat(i), a = Object.keys(e), s = 0; s < a.length; s += 1) {\n var c = a[s],\n u = e[c] || \"\";\n r.getAttribute(c) !== u && r.setAttribute(c, u), -1 === i.indexOf(c) && i.push(c);\n var l = o.indexOf(c);\n -1 !== l && o.splice(l, 1);\n }\n for (var p = o.length - 1; p >= 0; p -= 1) r.removeAttribute(o[p]);\n i.length === o.length ? r.removeAttribute(\"data-rh\") : r.getAttribute(\"data-rh\") !== a.join(\",\") && r.setAttribute(\"data-rh\", a.join(\",\"));\n }\n },\n K = function (t, e) {\n var r = t.baseTag,\n n = t.htmlAttributes,\n i = t.linkTags,\n o = t.metaTags,\n a = t.noscriptTags,\n s = t.onChangeClientState,\n c = t.scriptTags,\n u = t.styleTags,\n p = t.title,\n f = t.titleAttributes;\n B(l.BODY, t.bodyAttributes), B(l.HTML, n), function (t, e) {\n void 0 !== t && document.title !== t && (document.title = S(t)), B(l.TITLE, e);\n }(p, f);\n var d = {\n baseTag: Y(l.BASE, r),\n linkTags: Y(l.LINK, i),\n metaTags: Y(l.META, o),\n noscriptTags: Y(l.NOSCRIPT, a),\n scriptTags: Y(l.SCRIPT, c),\n styleTags: Y(l.STYLE, u)\n },\n h = {},\n m = {};\n Object.keys(d).forEach(function (t) {\n var e = d[t],\n r = e.newTags,\n n = e.oldTags;\n r.length && (h[t] = r), n.length && (m[t] = d[t].oldTags);\n }), e && e(), s(t, h, m);\n },\n _ = null,\n z = /*#__PURE__*/function (t) {\n function e() {\n for (var e, r = arguments.length, n = new Array(r), i = 0; i < r; i++) n[i] = arguments[i];\n return (e = t.call.apply(t, [this].concat(n)) || this).rendered = !1, e;\n }\n s(e, t);\n var r = e.prototype;\n return r.shouldComponentUpdate = function (t) {\n return !o(t, this.props);\n }, r.componentDidUpdate = function () {\n this.emitChange();\n }, r.componentWillUnmount = function () {\n this.props.context.helmetInstances.remove(this), this.emitChange();\n }, r.emitChange = function () {\n var t,\n e,\n r = this.props.context,\n n = r.setHelmet,\n i = null,\n o = (t = r.helmetInstances.get().map(function (t) {\n var e = a({}, t.props);\n return delete e.context, e;\n }), {\n baseTag: A([\"href\"], t),\n bodyAttributes: v(\"bodyAttributes\", t),\n defer: T(t, \"defer\"),\n encode: T(t, \"encodeSpecialCharacters\"),\n htmlAttributes: v(\"htmlAttributes\", t),\n linkTags: C(l.LINK, [\"rel\", \"href\"], t),\n metaTags: C(l.META, [\"name\", \"charset\", \"http-equiv\", \"property\", \"itemprop\"], t),\n noscriptTags: C(l.NOSCRIPT, [\"innerHTML\"], t),\n onChangeClientState: b(t),\n scriptTags: C(l.SCRIPT, [\"src\", \"innerHTML\"], t),\n styleTags: C(l.STYLE, [\"cssText\"], t),\n title: g(t),\n titleAttributes: v(\"titleAttributes\", t),\n prioritizeSeoTags: O(t, \"prioritizeSeoTags\")\n });\n q.canUseDOM ? (e = o, _ && cancelAnimationFrame(_), e.defer ? _ = requestAnimationFrame(function () {\n K(e, function () {\n _ = null;\n });\n }) : (K(e), _ = null)) : k && (i = k(o)), n(i);\n }, r.init = function () {\n this.rendered || (this.rendered = !0, this.props.context.helmetInstances.add(this), this.emitChange());\n }, r.render = function () {\n return this.init(), null;\n }, e;\n }(e);\nz.propTypes = {\n context: D.isRequired\n}, z.displayName = \"HelmetDispatcher\";\nvar F = [\"children\"],\n G = [\"children\"],\n W = /*#__PURE__*/function (e) {\n function r() {\n return e.apply(this, arguments) || this;\n }\n s(r, e);\n var o = r.prototype;\n return o.shouldComponentUpdate = function (t) {\n return !n(I(this.props, \"helmetData\"), I(t, \"helmetData\"));\n }, o.mapNestedChildrenToProps = function (t, e) {\n if (!e) return null;\n switch (t.type) {\n case l.SCRIPT:\n case l.NOSCRIPT:\n return {\n innerHTML: e\n };\n case l.STYLE:\n return {\n cssText: e\n };\n default:\n throw new Error(\"<\" + t.type + \" /> elements are self-closing and can not contain children. Refer to our API for more information.\");\n }\n }, o.flattenArrayTypeChildren = function (t) {\n var e,\n r = t.child,\n n = t.arrayTypeChildren;\n return a({}, n, ((e = {})[r.type] = [].concat(n[r.type] || [], [a({}, t.newChildProps, this.mapNestedChildrenToProps(r, t.nestedChildren))]), e));\n }, o.mapObjectTypeChildren = function (t) {\n var e,\n r,\n n = t.child,\n i = t.newProps,\n o = t.newChildProps,\n s = t.nestedChildren;\n switch (n.type) {\n case l.TITLE:\n return a({}, i, ((e = {})[n.type] = s, e.titleAttributes = a({}, o), e));\n case l.BODY:\n return a({}, i, {\n bodyAttributes: a({}, o)\n });\n case l.HTML:\n return a({}, i, {\n htmlAttributes: a({}, o)\n });\n default:\n return a({}, i, ((r = {})[n.type] = a({}, o), r));\n }\n }, o.mapArrayTypeChildrenToProps = function (t, e) {\n var r = a({}, e);\n return Object.keys(t).forEach(function (e) {\n var n;\n r = a({}, r, ((n = {})[e] = t[e], n));\n }), r;\n }, o.warnOnInvalidChildren = function (t, e) {\n return i(h.some(function (e) {\n return t.type === e;\n }), \"function\" == typeof t.type ? \"You may be attempting to nest components within each other, which is not allowed. Refer to our API for more information.\" : \"Only elements types \" + h.join(\", \") + \" are allowed. Helmet does not support rendering <\" + t.type + \"> elements. Refer to our API for more information.\"), i(!e || \"string\" == typeof e || Array.isArray(e) && !e.some(function (t) {\n return \"string\" != typeof t;\n }), \"Helmet expects a string as a child of <\" + t.type + \">. Did you forget to wrap your children in braces? ( <\" + t.type + \">{``} ) Refer to our API for more information.\"), !0;\n }, o.mapChildrenToProps = function (e, r) {\n var n = this,\n i = {};\n return t.Children.forEach(e, function (t) {\n if (t && t.props) {\n var e = t.props,\n o = e.children,\n a = u(e, F),\n s = Object.keys(a).reduce(function (t, e) {\n return t[y[e] || e] = a[e], t;\n }, {}),\n c = t.type;\n switch (\"symbol\" == typeof c ? c = c.toString() : n.warnOnInvalidChildren(t, o), c) {\n case l.FRAGMENT:\n r = n.mapChildrenToProps(o, r);\n break;\n case l.LINK:\n case l.META:\n case l.NOSCRIPT:\n case l.SCRIPT:\n case l.STYLE:\n i = n.flattenArrayTypeChildren({\n child: t,\n arrayTypeChildren: i,\n newChildProps: s,\n nestedChildren: o\n });\n break;\n default:\n r = n.mapObjectTypeChildren({\n child: t,\n newProps: r,\n newChildProps: s,\n nestedChildren: o\n });\n }\n }\n }), this.mapArrayTypeChildrenToProps(i, r);\n }, o.render = function () {\n var e = this.props,\n r = e.children,\n n = u(e, G),\n i = a({}, n),\n o = n.helmetData;\n return r && (i = this.mapChildrenToProps(r, i)), !o || o instanceof N || (o = new N(o.context, o.instances)), o ? /*#__PURE__*/t.createElement(z, a({}, i, {\n context: o.value,\n helmetData: void 0\n })) : /*#__PURE__*/t.createElement(R.Consumer, null, function (e) {\n /*#__PURE__*/return t.createElement(z, a({}, i, {\n context: e\n }));\n });\n }, r;\n }(e);\nW.propTypes = {\n base: r.object,\n bodyAttributes: r.object,\n children: r.oneOfType([r.arrayOf(r.node), r.node]),\n defaultTitle: r.string,\n defer: r.bool,\n encodeSpecialCharacters: r.bool,\n htmlAttributes: r.object,\n link: r.arrayOf(r.object),\n meta: r.arrayOf(r.object),\n noscript: r.arrayOf(r.object),\n onChangeClientState: r.func,\n script: r.arrayOf(r.object),\n style: r.arrayOf(r.object),\n title: r.string,\n titleAttributes: r.object,\n titleTemplate: r.string,\n prioritizeSeoTags: r.bool,\n helmetData: r.object\n}, W.defaultProps = {\n defer: !0,\n encodeSpecialCharacters: !0,\n prioritizeSeoTags: !1\n}, W.displayName = \"Helmet\";\nexport { W as Helmet, N as HelmetData, q as HelmetProvider };","var parent = require('../../es/object/assign');\n\nmodule.exports = parent;\n","const set = require('regenerate')(0x100, 0x102, 0x104, 0x106, 0x108, 0x10A, 0x10C, 0x10E, 0x110, 0x112, 0x114, 0x116, 0x118, 0x11A, 0x11C, 0x11E, 0x120, 0x122, 0x124, 0x126, 0x128, 0x12A, 0x12C, 0x12E, 0x130, 0x132, 0x134, 0x136, 0x139, 0x13B, 0x13D, 0x13F, 0x141, 0x143, 0x145, 0x147, 0x14A, 0x14C, 0x14E, 0x150, 0x152, 0x154, 0x156, 0x158, 0x15A, 0x15C, 0x15E, 0x160, 0x162, 0x164, 0x166, 0x168, 0x16A, 0x16C, 0x16E, 0x170, 0x172, 0x174, 0x176, 0x17B, 0x17D, 0x184, 0x1A2, 0x1A4, 0x1A9, 0x1AC, 0x1B5, 0x1BC, 0x1C4, 0x1C7, 0x1CA, 0x1CD, 0x1CF, 0x1D1, 0x1D3, 0x1D5, 0x1D7, 0x1D9, 0x1DB, 0x1DE, 0x1E0, 0x1E2, 0x1E4, 0x1E6, 0x1E8, 0x1EA, 0x1EC, 0x1EE, 0x1F1, 0x1F4, 0x1FA, 0x1FC, 0x1FE, 0x200, 0x202, 0x204, 0x206, 0x208, 0x20A, 0x20C, 0x20E, 0x210, 0x212, 0x214, 0x216, 0x218, 0x21A, 0x21C, 0x21E, 0x220, 0x222, 0x224, 0x226, 0x228, 0x22A, 0x22C, 0x22E, 0x230, 0x232, 0x241, 0x248, 0x24A, 0x24C, 0x24E, 0x370, 0x372, 0x376, 0x37F, 0x386, 0x38C, 0x3CF, 0x3D8, 0x3DA, 0x3DC, 0x3DE, 0x3E0, 0x3E2, 0x3E4, 0x3E6, 0x3E8, 0x3EA, 0x3EC, 0x3EE, 0x3F4, 0x3F7, 0x460, 0x462, 0x464, 0x466, 0x468, 0x46A, 0x46C, 0x46E, 0x470, 0x472, 0x474, 0x476, 0x478, 0x47A, 0x47C, 0x47E, 0x480, 0x48A, 0x48C, 0x48E, 0x490, 0x492, 0x494, 0x496, 0x498, 0x49A, 0x49C, 0x49E, 0x4A0, 0x4A2, 0x4A4, 0x4A6, 0x4A8, 0x4AA, 0x4AC, 0x4AE, 0x4B0, 0x4B2, 0x4B4, 0x4B6, 0x4B8, 0x4BA, 0x4BC, 0x4BE, 0x4C3, 0x4C5, 0x4C7, 0x4C9, 0x4CB, 0x4CD, 0x4D0, 0x4D2, 0x4D4, 0x4D6, 0x4D8, 0x4DA, 0x4DC, 0x4DE, 0x4E0, 0x4E2, 0x4E4, 0x4E6, 0x4E8, 0x4EA, 0x4EC, 0x4EE, 0x4F0, 0x4F2, 0x4F4, 0x4F6, 0x4F8, 0x4FA, 0x4FC, 0x4FE, 0x500, 0x502, 0x504, 0x506, 0x508, 0x50A, 0x50C, 0x50E, 0x510, 0x512, 0x514, 0x516, 0x518, 0x51A, 0x51C, 0x51E, 0x520, 0x522, 0x524, 0x526, 0x528, 0x52A, 0x52C, 0x52E, 0x10C7, 0x10CD, 0x1E00, 0x1E02, 0x1E04, 0x1E06, 0x1E08, 0x1E0A, 0x1E0C, 0x1E0E, 0x1E10, 0x1E12, 0x1E14, 0x1E16, 0x1E18, 0x1E1A, 0x1E1C, 0x1E1E, 0x1E20, 0x1E22, 0x1E24, 0x1E26, 0x1E28, 0x1E2A, 0x1E2C, 0x1E2E, 0x1E30, 0x1E32, 0x1E34, 0x1E36, 0x1E38, 0x1E3A, 0x1E3C, 0x1E3E, 0x1E40, 0x1E42, 0x1E44, 0x1E46, 0x1E48, 0x1E4A, 0x1E4C, 0x1E4E, 0x1E50, 0x1E52, 0x1E54, 0x1E56, 0x1E58, 0x1E5A, 0x1E5C, 0x1E5E, 0x1E60, 0x1E62, 0x1E64, 0x1E66, 0x1E68, 0x1E6A, 0x1E6C, 0x1E6E, 0x1E70, 0x1E72, 0x1E74, 0x1E76, 0x1E78, 0x1E7A, 0x1E7C, 0x1E7E, 0x1E80, 0x1E82, 0x1E84, 0x1E86, 0x1E88, 0x1E8A, 0x1E8C, 0x1E8E, 0x1E90, 0x1E92, 0x1E94, 0x1E9E, 0x1EA0, 0x1EA2, 0x1EA4, 0x1EA6, 0x1EA8, 0x1EAA, 0x1EAC, 0x1EAE, 0x1EB0, 0x1EB2, 0x1EB4, 0x1EB6, 0x1EB8, 0x1EBA, 0x1EBC, 0x1EBE, 0x1EC0, 0x1EC2, 0x1EC4, 0x1EC6, 0x1EC8, 0x1ECA, 0x1ECC, 0x1ECE, 0x1ED0, 0x1ED2, 0x1ED4, 0x1ED6, 0x1ED8, 0x1EDA, 0x1EDC, 0x1EDE, 0x1EE0, 0x1EE2, 0x1EE4, 0x1EE6, 0x1EE8, 0x1EEA, 0x1EEC, 0x1EEE, 0x1EF0, 0x1EF2, 0x1EF4, 0x1EF6, 0x1EF8, 0x1EFA, 0x1EFC, 0x1EFE, 0x1F59, 0x1F5B, 0x1F5D, 0x1F5F, 0x2102, 0x2107, 0x2115, 0x2124, 0x2126, 0x2128, 0x2145, 0x2183, 0x2C60, 0x2C67, 0x2C69, 0x2C6B, 0x2C72, 0x2C75, 0x2C82, 0x2C84, 0x2C86, 0x2C88, 0x2C8A, 0x2C8C, 0x2C8E, 0x2C90, 0x2C92, 0x2C94, 0x2C96, 0x2C98, 0x2C9A, 0x2C9C, 0x2C9E, 0x2CA0, 0x2CA2, 0x2CA4, 0x2CA6, 0x2CA8, 0x2CAA, 0x2CAC, 0x2CAE, 0x2CB0, 0x2CB2, 0x2CB4, 0x2CB6, 0x2CB8, 0x2CBA, 0x2CBC, 0x2CBE, 0x2CC0, 0x2CC2, 0x2CC4, 0x2CC6, 0x2CC8, 0x2CCA, 0x2CCC, 0x2CCE, 0x2CD0, 0x2CD2, 0x2CD4, 0x2CD6, 0x2CD8, 0x2CDA, 0x2CDC, 0x2CDE, 0x2CE0, 0x2CE2, 0x2CEB, 0x2CED, 0x2CF2, 0xA640, 0xA642, 0xA644, 0xA646, 0xA648, 0xA64A, 0xA64C, 0xA64E, 0xA650, 0xA652, 0xA654, 0xA656, 0xA658, 0xA65A, 0xA65C, 0xA65E, 0xA660, 0xA662, 0xA664, 0xA666, 0xA668, 0xA66A, 0xA66C, 0xA680, 0xA682, 0xA684, 0xA686, 0xA688, 0xA68A, 0xA68C, 0xA68E, 0xA690, 0xA692, 0xA694, 0xA696, 0xA698, 0xA69A, 0xA722, 0xA724, 0xA726, 0xA728, 0xA72A, 0xA72C, 0xA72E, 0xA732, 0xA734, 0xA736, 0xA738, 0xA73A, 0xA73C, 0xA73E, 0xA740, 0xA742, 0xA744, 0xA746, 0xA748, 0xA74A, 0xA74C, 0xA74E, 0xA750, 0xA752, 0xA754, 0xA756, 0xA758, 0xA75A, 0xA75C, 0xA75E, 0xA760, 0xA762, 0xA764, 0xA766, 0xA768, 0xA76A, 0xA76C, 0xA76E, 0xA779, 0xA77B, 0xA780, 0xA782, 0xA784, 0xA786, 0xA78B, 0xA78D, 0xA790, 0xA792, 0xA796, 0xA798, 0xA79A, 0xA79C, 0xA79E, 0xA7A0, 0xA7A2, 0xA7A4, 0xA7A6, 0xA7A8, 0xA7B6, 0xA7B8, 0xA7BA, 0xA7BC, 0xA7BE, 0xA7C0, 0xA7C2, 0xA7C9, 0xA7D0, 0xA7D6, 0xA7D8, 0xA7F5, 0x1D49C, 0x1D4A2, 0x1D546, 0x1D7CA);\nset.addRange(0x41, 0x5A).addRange(0xC0, 0xD6).addRange(0xD8, 0xDE).addRange(0x178, 0x179).addRange(0x181, 0x182).addRange(0x186, 0x187).addRange(0x189, 0x18B).addRange(0x18E, 0x191).addRange(0x193, 0x194).addRange(0x196, 0x198).addRange(0x19C, 0x19D).addRange(0x19F, 0x1A0).addRange(0x1A6, 0x1A7).addRange(0x1AE, 0x1AF).addRange(0x1B1, 0x1B3).addRange(0x1B7, 0x1B8).addRange(0x1F6, 0x1F8).addRange(0x23A, 0x23B).addRange(0x23D, 0x23E).addRange(0x243, 0x246).addRange(0x388, 0x38A).addRange(0x38E, 0x38F).addRange(0x391, 0x3A1).addRange(0x3A3, 0x3AB).addRange(0x3D2, 0x3D4).addRange(0x3F9, 0x3FA).addRange(0x3FD, 0x42F).addRange(0x4C0, 0x4C1).addRange(0x531, 0x556).addRange(0x10A0, 0x10C5).addRange(0x13A0, 0x13F5).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1F08, 0x1F0F).addRange(0x1F18, 0x1F1D).addRange(0x1F28, 0x1F2F).addRange(0x1F38, 0x1F3F).addRange(0x1F48, 0x1F4D).addRange(0x1F68, 0x1F6F).addRange(0x1FB8, 0x1FBB).addRange(0x1FC8, 0x1FCB).addRange(0x1FD8, 0x1FDB).addRange(0x1FE8, 0x1FEC).addRange(0x1FF8, 0x1FFB).addRange(0x210B, 0x210D).addRange(0x2110, 0x2112).addRange(0x2119, 0x211D).addRange(0x212A, 0x212D).addRange(0x2130, 0x2133).addRange(0x213E, 0x213F).addRange(0x2C00, 0x2C2F);\nset.addRange(0x2C62, 0x2C64).addRange(0x2C6D, 0x2C70).addRange(0x2C7E, 0x2C80).addRange(0xA77D, 0xA77E).addRange(0xA7AA, 0xA7AE).addRange(0xA7B0, 0xA7B4).addRange(0xA7C4, 0xA7C7).addRange(0xFF21, 0xFF3A).addRange(0x10400, 0x10427).addRange(0x104B0, 0x104D3).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10C80, 0x10CB2).addRange(0x118A0, 0x118BF).addRange(0x16E40, 0x16E5F).addRange(0x1D400, 0x1D419).addRange(0x1D434, 0x1D44D).addRange(0x1D468, 0x1D481).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B5).addRange(0x1D4D0, 0x1D4E9).addRange(0x1D504, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D538, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D56C, 0x1D585).addRange(0x1D5A0, 0x1D5B9).addRange(0x1D5D4, 0x1D5ED).addRange(0x1D608, 0x1D621).addRange(0x1D63C, 0x1D655).addRange(0x1D670, 0x1D689).addRange(0x1D6A8, 0x1D6C0).addRange(0x1D6E2, 0x1D6FA).addRange(0x1D71C, 0x1D734).addRange(0x1D756, 0x1D76E).addRange(0x1D790, 0x1D7A8).addRange(0x1E900, 0x1E921);\nmodule.exports = set;","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype != 42;\n});\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nimport loader from \"./loader\"\nimport InternalPageRenderer from \"./page-renderer\"\n\nconst ProdPageRenderer = ({ location }) => {\n const pageResources = loader.loadPageSync(location.pathname)\n if (!pageResources) {\n return null\n }\n return React.createElement(InternalPageRenderer, {\n location,\n pageResources,\n ...pageResources.json,\n })\n}\n\nProdPageRenderer.propTypes = {\n location: PropTypes.shape({\n pathname: PropTypes.string.isRequired,\n }).isRequired,\n}\n\nexport default ProdPageRenderer\n","var identity = require('./identity'),\n metaMap = require('./_metaMap');\n\n/**\n * The base implementation of `setData` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to associate metadata with.\n * @param {*} data The metadata.\n * @returns {Function} Returns `func`.\n */\nvar baseSetData = !metaMap ? identity : function(func, data) {\n metaMap.set(func, data);\n return func;\n};\n\nmodule.exports = baseSetData;\n","const set = require('regenerate')(0x5E, 0x60, 0xA8, 0xAF, 0xB4, 0x37A, 0x559, 0x5BF, 0x5C4, 0x93C, 0x94D, 0x971, 0x9BC, 0x9CD, 0xA3C, 0xA4D, 0xABC, 0xACD, 0xB3C, 0xB4D, 0xB55, 0xBCD, 0xC3C, 0xC4D, 0xCBC, 0xCCD, 0xD4D, 0xDCA, 0xE4E, 0xEBA, 0xF35, 0xF37, 0xF39, 0xFC6, 0x1037, 0x108F, 0x17DD, 0x1A7F, 0x1B34, 0x1B44, 0x1CED, 0x1CF4, 0x1FBD, 0x2E2F, 0x30FC, 0xA66F, 0xA67F, 0xA8C4, 0xA953, 0xA9B3, 0xA9C0, 0xA9E5, 0xAAF6, 0xFB1E, 0xFF3E, 0xFF40, 0xFF70, 0xFFE3, 0x102E0, 0x11046, 0x11070, 0x11173, 0x111C0, 0x1133C, 0x1134D, 0x11442, 0x11446, 0x1163F, 0x1172B, 0x11943, 0x119E0, 0x11A34, 0x11A47, 0x11A99, 0x11C3F, 0x11D42, 0x11D97, 0x1E2AE);\nset.addRange(0xB7, 0xB8).addRange(0x2B0, 0x34E).addRange(0x350, 0x357).addRange(0x35D, 0x362).addRange(0x374, 0x375).addRange(0x384, 0x385).addRange(0x483, 0x487).addRange(0x591, 0x5A1).addRange(0x5A3, 0x5BD).addRange(0x5C1, 0x5C2).addRange(0x64B, 0x652).addRange(0x657, 0x658).addRange(0x6DF, 0x6E0).addRange(0x6E5, 0x6E6).addRange(0x6EA, 0x6EC).addRange(0x730, 0x74A).addRange(0x7A6, 0x7B0).addRange(0x7EB, 0x7F5).addRange(0x818, 0x819).addRange(0x898, 0x89F).addRange(0x8C9, 0x8D2).addRange(0x8E3, 0x8FE).addRange(0x951, 0x954).addRange(0xAFD, 0xAFF).addRange(0xD3B, 0xD3C).addRange(0xE47, 0xE4C).addRange(0xEC8, 0xECC).addRange(0xF18, 0xF19).addRange(0xF3E, 0xF3F).addRange(0xF82, 0xF84).addRange(0xF86, 0xF87).addRange(0x1039, 0x103A).addRange(0x1063, 0x1064).addRange(0x1069, 0x106D).addRange(0x1087, 0x108D).addRange(0x109A, 0x109B).addRange(0x135D, 0x135F).addRange(0x1714, 0x1715).addRange(0x17C9, 0x17D3).addRange(0x1939, 0x193B).addRange(0x1A75, 0x1A7C).addRange(0x1AB0, 0x1ABE).addRange(0x1AC1, 0x1ACB).addRange(0x1B6B, 0x1B73).addRange(0x1BAA, 0x1BAB).addRange(0x1C36, 0x1C37).addRange(0x1C78, 0x1C7D).addRange(0x1CD0, 0x1CE8).addRange(0x1CF7, 0x1CF9).addRange(0x1D2C, 0x1D6A).addRange(0x1DC4, 0x1DCF);\nset.addRange(0x1DF5, 0x1DFF).addRange(0x1FBF, 0x1FC1).addRange(0x1FCD, 0x1FCF).addRange(0x1FDD, 0x1FDF).addRange(0x1FED, 0x1FEF).addRange(0x1FFD, 0x1FFE).addRange(0x2CEF, 0x2CF1).addRange(0x302A, 0x302F).addRange(0x3099, 0x309C).addRange(0xA67C, 0xA67D).addRange(0xA69C, 0xA69D).addRange(0xA6F0, 0xA6F1).addRange(0xA700, 0xA721).addRange(0xA788, 0xA78A).addRange(0xA7F8, 0xA7F9).addRange(0xA8E0, 0xA8F1).addRange(0xA92B, 0xA92E).addRange(0xAA7B, 0xAA7D).addRange(0xAABF, 0xAAC2).addRange(0xAB5B, 0xAB5F).addRange(0xAB69, 0xAB6B).addRange(0xABEC, 0xABED).addRange(0xFE20, 0xFE2F).addRange(0xFF9E, 0xFF9F).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10AE5, 0x10AE6).addRange(0x10D22, 0x10D27).addRange(0x10F46, 0x10F50).addRange(0x10F82, 0x10F85).addRange(0x110B9, 0x110BA).addRange(0x11133, 0x11134).addRange(0x111CA, 0x111CC).addRange(0x11235, 0x11236).addRange(0x112E9, 0x112EA).addRange(0x11366, 0x1136C).addRange(0x11370, 0x11374).addRange(0x114C2, 0x114C3).addRange(0x115BF, 0x115C0).addRange(0x116B6, 0x116B7).addRange(0x11839, 0x1183A).addRange(0x1193D, 0x1193E).addRange(0x11D44, 0x11D45).addRange(0x16AF0, 0x16AF4).addRange(0x16B30, 0x16B36).addRange(0x16F8F, 0x16F9F).addRange(0x16FF0, 0x16FF1).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE);\nset.addRange(0x1CF00, 0x1CF2D).addRange(0x1CF30, 0x1CF46).addRange(0x1D167, 0x1D169).addRange(0x1D16D, 0x1D172).addRange(0x1D17B, 0x1D182).addRange(0x1D185, 0x1D18B).addRange(0x1D1AA, 0x1D1AD).addRange(0x1E130, 0x1E136).addRange(0x1E2EC, 0x1E2EF).addRange(0x1E8D0, 0x1E8D6).addRange(0x1E944, 0x1E946).addRange(0x1E948, 0x1E94A);\nmodule.exports = set;","'use strict';\n\nconst canonicalProperties = require('unicode-canonical-property-names-ecmascript');\nconst propertyAliases = require('unicode-property-aliases-ecmascript');\nconst matchProperty = function (property) {\n if (canonicalProperties.has(property)) {\n return property;\n }\n if (propertyAliases.has(property)) {\n return propertyAliases.get(property);\n }\n throw new Error(\"Unknown property: \".concat(property));\n};\nmodule.exports = matchProperty;","var toString = Object.prototype.toString;\n\n/**\n * Get the native `typeof` a value.\n *\n * @param {*} `val`\n * @return {*} Native javascript type\n */\n\nmodule.exports = function kindOf(val) {\n var type = typeof val;\n\n // primitivies\n if (type === 'undefined') {\n return 'undefined';\n }\n if (val === null) {\n return 'null';\n }\n if (val === true || val === false || val instanceof Boolean) {\n return 'boolean';\n }\n if (type === 'string' || val instanceof String) {\n return 'string';\n }\n if (type === 'number' || val instanceof Number) {\n return 'number';\n }\n\n // functions\n if (type === 'function' || val instanceof Function) {\n if (typeof val.constructor.name !== 'undefined' && val.constructor.name.slice(0, 9) === 'Generator') {\n return 'generatorfunction';\n }\n return 'function';\n }\n\n // array\n if (typeof Array.isArray !== 'undefined' && Array.isArray(val)) {\n return 'array';\n }\n\n // check for instances of RegExp and Date before calling `toString`\n if (val instanceof RegExp) {\n return 'regexp';\n }\n if (val instanceof Date) {\n return 'date';\n }\n\n // other objects\n type = toString.call(val);\n if (type === '[object RegExp]') {\n return 'regexp';\n }\n if (type === '[object Date]') {\n return 'date';\n }\n if (type === '[object Arguments]') {\n return 'arguments';\n }\n if (type === '[object Error]') {\n return 'error';\n }\n if (type === '[object Promise]') {\n return 'promise';\n }\n\n // buffer\n if (isBuffer(val)) {\n return 'buffer';\n }\n\n // es6: Map, WeakMap, Set, WeakSet\n if (type === '[object Set]') {\n return 'set';\n }\n if (type === '[object WeakSet]') {\n return 'weakset';\n }\n if (type === '[object Map]') {\n return 'map';\n }\n if (type === '[object WeakMap]') {\n return 'weakmap';\n }\n if (type === '[object Symbol]') {\n return 'symbol';\n }\n if (type === '[object Map Iterator]') {\n return 'mapiterator';\n }\n if (type === '[object Set Iterator]') {\n return 'setiterator';\n }\n if (type === '[object String Iterator]') {\n return 'stringiterator';\n }\n if (type === '[object Array Iterator]') {\n return 'arrayiterator';\n }\n\n // typed arrays\n if (type === '[object Int8Array]') {\n return 'int8array';\n }\n if (type === '[object Uint8Array]') {\n return 'uint8array';\n }\n if (type === '[object Uint8ClampedArray]') {\n return 'uint8clampedarray';\n }\n if (type === '[object Int16Array]') {\n return 'int16array';\n }\n if (type === '[object Uint16Array]') {\n return 'uint16array';\n }\n if (type === '[object Int32Array]') {\n return 'int32array';\n }\n if (type === '[object Uint32Array]') {\n return 'uint32array';\n }\n if (type === '[object Float32Array]') {\n return 'float32array';\n }\n if (type === '[object Float64Array]') {\n return 'float64array';\n }\n\n // must be a plain object\n return 'object';\n};\n\n/**\n * If you need to support Safari 5-7 (8-10 yr-old browser),\n * take a look at https://github.com/feross/is-buffer\n */\n\nfunction isBuffer(val) {\n return val.constructor && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n","var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n","const set = require('regenerate')();\nset.addRange(0x1760, 0x176C).addRange(0x176E, 0x1770).addRange(0x1772, 0x1773);\nmodule.exports = set;","const set = require('regenerate')(0x1091F);\nset.addRange(0x10900, 0x1091B);\nmodule.exports = set;","const set = require('regenerate')(0x1CD0, 0x1CD2, 0x1CDA, 0x1CF2, 0x1CF4);\nset.addRange(0x951, 0x952).addRange(0x964, 0x965).addRange(0xC80, 0xC8C).addRange(0xC8E, 0xC90).addRange(0xC92, 0xCA8).addRange(0xCAA, 0xCB3).addRange(0xCB5, 0xCB9).addRange(0xCBC, 0xCC4).addRange(0xCC6, 0xCC8).addRange(0xCCA, 0xCCD).addRange(0xCD5, 0xCD6).addRange(0xCDD, 0xCDE).addRange(0xCE0, 0xCE3).addRange(0xCE6, 0xCEF).addRange(0xCF1, 0xCF2).addRange(0xA830, 0xA835);\nmodule.exports = set;","import * as React from 'react'\n /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsxRuntime classic */\n/* @jsx mdx */\nimport DefaultLayout from \"/home/runner/work/tanka/tanka/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nexport const _frontmatter = {};\nconst layoutProps = {\n _frontmatter\n};\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n components,\n ...props\n}) {\n return \n\n\n

      {`On macOS, Tanka is best installed using `}{`brew`}{`:`}

      \n
      {`$ brew install tanka`}
      \n

      {`This downloads the most recent version of Tanka and installs it.`}

      {`\n`}{`Also, Tanka is automatically kept up to date as part of `}{`brew upgrade`}{`.`}

      \n\n \n
      ;\n}\n;\nMDXContent.isMDXComponent = true;\n ","var baseConvert = require('./_baseConvert'),\n util = require('./_util');\n\n/**\n * Converts `func` of `name` to an immutable auto-curried iteratee-first data-last\n * version with conversion `options` applied. If `name` is an object its methods\n * will be converted.\n *\n * @param {string} name The name of the function to wrap.\n * @param {Function} [func] The function to wrap.\n * @param {Object} [options] The options object. See `baseConvert` for more details.\n * @returns {Function|Object} Returns the converted function or object.\n */\nfunction convert(name, func, options) {\n return baseConvert(util, name, func, options);\n}\n\nmodule.exports = convert;\n","const set = require('regenerate')();\nset.addRange(0xAA00, 0xAA36).addRange(0xAA40, 0xAA4D).addRange(0xAA50, 0xAA59).addRange(0xAA5C, 0xAA5F);\nmodule.exports = set;","var getAllKeys = require('./_getAllKeys');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalObjects;\n","var arrayReduce = require('./_arrayReduce'),\n deburr = require('./deburr'),\n words = require('./words');\n\n/** Used to compose unicode capture groups. */\nvar rsApos = \"['\\u2019]\";\n\n/** Used to match apostrophes. */\nvar reApos = RegExp(rsApos, 'g');\n\n/**\n * Creates a function like `_.camelCase`.\n *\n * @private\n * @param {Function} callback The function to combine each word.\n * @returns {Function} Returns the new compounder function.\n */\nfunction createCompounder(callback) {\n return function(string) {\n return arrayReduce(words(deburr(string).replace(reApos, '')), callback, '');\n };\n}\n\nmodule.exports = createCompounder;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","const set = require('regenerate')(0x16FE4);\nset.addRange(0x18B00, 0x18CD5);\nmodule.exports = set;","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignMergeValue;\n","/**\n * Gets the number of `placeholder` occurrences in `array`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} placeholder The placeholder to search for.\n * @returns {number} Returns the placeholder count.\n */\nfunction countHolders(array, placeholder) {\n var length = array.length,\n result = 0;\n\n while (length--) {\n if (array[length] === placeholder) {\n ++result;\n }\n }\n return result;\n}\n\nmodule.exports = countHolders;\n","const set = require('regenerate')();\nset.addRange(0x16A0, 0x16EA).addRange(0x16EE, 0x16F8);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0xA000, 0xA48C).addRange(0xA490, 0xA4C6);\nmodule.exports = set;","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","var convert = require('./convert'),\n func = convert('flow', require('../flow'));\n\nfunc.placeholder = require('./placeholder');\nmodule.exports = func;\n","const set = require('regenerate')();\nset.addRange(0x1C00, 0x1C37).addRange(0x1C3B, 0x1C49).addRange(0x1C4D, 0x1C4F);\nmodule.exports = set;","var baseTrim = require('./_baseTrim'),\n isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n","const set = require('regenerate')(0x1804);\nset.addRange(0x1800, 0x1801).addRange(0x1806, 0x1819).addRange(0x1820, 0x1878).addRange(0x1880, 0x18AA).addRange(0x11660, 0x1166C);\nmodule.exports = set;","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n","const set = require('regenerate')(0x1039F);\nset.addRange(0x10380, 0x1039D);\nmodule.exports = set;","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = global.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","var mapping = require('./_mapping'),\n fallbackHolder = require('./placeholder');\n\n/** Built-in value reference. */\nvar push = Array.prototype.push;\n\n/**\n * Creates a function, with an arity of `n`, that invokes `func` with the\n * arguments it receives.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} n The arity of the new function.\n * @returns {Function} Returns the new function.\n */\nfunction baseArity(func, n) {\n return n == 2\n ? function(a, b) { return func.apply(undefined, arguments); }\n : function(a) { return func.apply(undefined, arguments); };\n}\n\n/**\n * Creates a function that invokes `func`, with up to `n` arguments, ignoring\n * any additional arguments.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @param {number} n The arity cap.\n * @returns {Function} Returns the new function.\n */\nfunction baseAry(func, n) {\n return n == 2\n ? function(a, b) { return func(a, b); }\n : function(a) { return func(a); };\n}\n\n/**\n * Creates a clone of `array`.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the cloned array.\n */\nfunction cloneArray(array) {\n var length = array ? array.length : 0,\n result = Array(length);\n\n while (length--) {\n result[length] = array[length];\n }\n return result;\n}\n\n/**\n * Creates a function that clones a given object using the assignment `func`.\n *\n * @private\n * @param {Function} func The assignment function.\n * @returns {Function} Returns the new cloner function.\n */\nfunction createCloner(func) {\n return function(object) {\n return func({}, object);\n };\n}\n\n/**\n * A specialized version of `_.spread` which flattens the spread array into\n * the arguments of the invoked `func`.\n *\n * @private\n * @param {Function} func The function to spread arguments over.\n * @param {number} start The start position of the spread.\n * @returns {Function} Returns the new function.\n */\nfunction flatSpread(func, start) {\n return function() {\n var length = arguments.length,\n lastIndex = length - 1,\n args = Array(length);\n\n while (length--) {\n args[length] = arguments[length];\n }\n var array = args[start],\n otherArgs = args.slice(0, start);\n\n if (array) {\n push.apply(otherArgs, array);\n }\n if (start != lastIndex) {\n push.apply(otherArgs, args.slice(start + 1));\n }\n return func.apply(this, otherArgs);\n };\n}\n\n/**\n * Creates a function that wraps `func` and uses `cloner` to clone the first\n * argument it receives.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} cloner The function to clone arguments.\n * @returns {Function} Returns the new immutable function.\n */\nfunction wrapImmutable(func, cloner) {\n return function() {\n var length = arguments.length;\n if (!length) {\n return;\n }\n var args = Array(length);\n while (length--) {\n args[length] = arguments[length];\n }\n var result = args[0] = cloner.apply(undefined, args);\n func.apply(undefined, args);\n return result;\n };\n}\n\n/**\n * The base implementation of `convert` which accepts a `util` object of methods\n * required to perform conversions.\n *\n * @param {Object} util The util object.\n * @param {string} name The name of the function to convert.\n * @param {Function} func The function to convert.\n * @param {Object} [options] The options object.\n * @param {boolean} [options.cap=true] Specify capping iteratee arguments.\n * @param {boolean} [options.curry=true] Specify currying.\n * @param {boolean} [options.fixed=true] Specify fixed arity.\n * @param {boolean} [options.immutable=true] Specify immutable operations.\n * @param {boolean} [options.rearg=true] Specify rearranging arguments.\n * @returns {Function|Object} Returns the converted function or object.\n */\nfunction baseConvert(util, name, func, options) {\n var isLib = typeof name == 'function',\n isObj = name === Object(name);\n\n if (isObj) {\n options = func;\n func = name;\n name = undefined;\n }\n if (func == null) {\n throw new TypeError;\n }\n options || (options = {});\n\n var config = {\n 'cap': 'cap' in options ? options.cap : true,\n 'curry': 'curry' in options ? options.curry : true,\n 'fixed': 'fixed' in options ? options.fixed : true,\n 'immutable': 'immutable' in options ? options.immutable : true,\n 'rearg': 'rearg' in options ? options.rearg : true\n };\n\n var defaultHolder = isLib ? func : fallbackHolder,\n forceCurry = ('curry' in options) && options.curry,\n forceFixed = ('fixed' in options) && options.fixed,\n forceRearg = ('rearg' in options) && options.rearg,\n pristine = isLib ? func.runInContext() : undefined;\n\n var helpers = isLib ? func : {\n 'ary': util.ary,\n 'assign': util.assign,\n 'clone': util.clone,\n 'curry': util.curry,\n 'forEach': util.forEach,\n 'isArray': util.isArray,\n 'isError': util.isError,\n 'isFunction': util.isFunction,\n 'isWeakMap': util.isWeakMap,\n 'iteratee': util.iteratee,\n 'keys': util.keys,\n 'rearg': util.rearg,\n 'toInteger': util.toInteger,\n 'toPath': util.toPath\n };\n\n var ary = helpers.ary,\n assign = helpers.assign,\n clone = helpers.clone,\n curry = helpers.curry,\n each = helpers.forEach,\n isArray = helpers.isArray,\n isError = helpers.isError,\n isFunction = helpers.isFunction,\n isWeakMap = helpers.isWeakMap,\n keys = helpers.keys,\n rearg = helpers.rearg,\n toInteger = helpers.toInteger,\n toPath = helpers.toPath;\n\n var aryMethodKeys = keys(mapping.aryMethod);\n\n var wrappers = {\n 'castArray': function(castArray) {\n return function() {\n var value = arguments[0];\n return isArray(value)\n ? castArray(cloneArray(value))\n : castArray.apply(undefined, arguments);\n };\n },\n 'iteratee': function(iteratee) {\n return function() {\n var func = arguments[0],\n arity = arguments[1],\n result = iteratee(func, arity),\n length = result.length;\n\n if (config.cap && typeof arity == 'number') {\n arity = arity > 2 ? (arity - 2) : 1;\n return (length && length <= arity) ? result : baseAry(result, arity);\n }\n return result;\n };\n },\n 'mixin': function(mixin) {\n return function(source) {\n var func = this;\n if (!isFunction(func)) {\n return mixin(func, Object(source));\n }\n var pairs = [];\n each(keys(source), function(key) {\n if (isFunction(source[key])) {\n pairs.push([key, func.prototype[key]]);\n }\n });\n\n mixin(func, Object(source));\n\n each(pairs, function(pair) {\n var value = pair[1];\n if (isFunction(value)) {\n func.prototype[pair[0]] = value;\n } else {\n delete func.prototype[pair[0]];\n }\n });\n return func;\n };\n },\n 'nthArg': function(nthArg) {\n return function(n) {\n var arity = n < 0 ? 1 : (toInteger(n) + 1);\n return curry(nthArg(n), arity);\n };\n },\n 'rearg': function(rearg) {\n return function(func, indexes) {\n var arity = indexes ? indexes.length : 0;\n return curry(rearg(func, indexes), arity);\n };\n },\n 'runInContext': function(runInContext) {\n return function(context) {\n return baseConvert(util, runInContext(context), options);\n };\n }\n };\n\n /*--------------------------------------------------------------------------*/\n\n /**\n * Casts `func` to a function with an arity capped iteratee if needed.\n *\n * @private\n * @param {string} name The name of the function to inspect.\n * @param {Function} func The function to inspect.\n * @returns {Function} Returns the cast function.\n */\n function castCap(name, func) {\n if (config.cap) {\n var indexes = mapping.iterateeRearg[name];\n if (indexes) {\n return iterateeRearg(func, indexes);\n }\n var n = !isLib && mapping.iterateeAry[name];\n if (n) {\n return iterateeAry(func, n);\n }\n }\n return func;\n }\n\n /**\n * Casts `func` to a curried function if needed.\n *\n * @private\n * @param {string} name The name of the function to inspect.\n * @param {Function} func The function to inspect.\n * @param {number} n The arity of `func`.\n * @returns {Function} Returns the cast function.\n */\n function castCurry(name, func, n) {\n return (forceCurry || (config.curry && n > 1))\n ? curry(func, n)\n : func;\n }\n\n /**\n * Casts `func` to a fixed arity function if needed.\n *\n * @private\n * @param {string} name The name of the function to inspect.\n * @param {Function} func The function to inspect.\n * @param {number} n The arity cap.\n * @returns {Function} Returns the cast function.\n */\n function castFixed(name, func, n) {\n if (config.fixed && (forceFixed || !mapping.skipFixed[name])) {\n var data = mapping.methodSpread[name],\n start = data && data.start;\n\n return start === undefined ? ary(func, n) : flatSpread(func, start);\n }\n return func;\n }\n\n /**\n * Casts `func` to an rearged function if needed.\n *\n * @private\n * @param {string} name The name of the function to inspect.\n * @param {Function} func The function to inspect.\n * @param {number} n The arity of `func`.\n * @returns {Function} Returns the cast function.\n */\n function castRearg(name, func, n) {\n return (config.rearg && n > 1 && (forceRearg || !mapping.skipRearg[name]))\n ? rearg(func, mapping.methodRearg[name] || mapping.aryRearg[n])\n : func;\n }\n\n /**\n * Creates a clone of `object` by `path`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {Array|string} path The path to clone by.\n * @returns {Object} Returns the cloned object.\n */\n function cloneByPath(object, path) {\n path = toPath(path);\n\n var index = -1,\n length = path.length,\n lastIndex = length - 1,\n result = clone(Object(object)),\n nested = result;\n\n while (nested != null && ++index < length) {\n var key = path[index],\n value = nested[key];\n\n if (value != null &&\n !(isFunction(value) || isError(value) || isWeakMap(value))) {\n nested[key] = clone(index == lastIndex ? value : Object(value));\n }\n nested = nested[key];\n }\n return result;\n }\n\n /**\n * Converts `lodash` to an immutable auto-curried iteratee-first data-last\n * version with conversion `options` applied.\n *\n * @param {Object} [options] The options object. See `baseConvert` for more details.\n * @returns {Function} Returns the converted `lodash`.\n */\n function convertLib(options) {\n return _.runInContext.convert(options)(undefined);\n }\n\n /**\n * Create a converter function for `func` of `name`.\n *\n * @param {string} name The name of the function to convert.\n * @param {Function} func The function to convert.\n * @returns {Function} Returns the new converter function.\n */\n function createConverter(name, func) {\n var realName = mapping.aliasToReal[name] || name,\n methodName = mapping.remap[realName] || realName,\n oldOptions = options;\n\n return function(options) {\n var newUtil = isLib ? pristine : helpers,\n newFunc = isLib ? pristine[methodName] : func,\n newOptions = assign(assign({}, oldOptions), options);\n\n return baseConvert(newUtil, realName, newFunc, newOptions);\n };\n }\n\n /**\n * Creates a function that wraps `func` to invoke its iteratee, with up to `n`\n * arguments, ignoring any additional arguments.\n *\n * @private\n * @param {Function} func The function to cap iteratee arguments for.\n * @param {number} n The arity cap.\n * @returns {Function} Returns the new function.\n */\n function iterateeAry(func, n) {\n return overArg(func, function(func) {\n return typeof func == 'function' ? baseAry(func, n) : func;\n });\n }\n\n /**\n * Creates a function that wraps `func` to invoke its iteratee with arguments\n * arranged according to the specified `indexes` where the argument value at\n * the first index is provided as the first argument, the argument value at\n * the second index is provided as the second argument, and so on.\n *\n * @private\n * @param {Function} func The function to rearrange iteratee arguments for.\n * @param {number[]} indexes The arranged argument indexes.\n * @returns {Function} Returns the new function.\n */\n function iterateeRearg(func, indexes) {\n return overArg(func, function(func) {\n var n = indexes.length;\n return baseArity(rearg(baseAry(func, n), indexes), n);\n });\n }\n\n /**\n * Creates a function that invokes `func` with its first argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\n function overArg(func, transform) {\n return function() {\n var length = arguments.length;\n if (!length) {\n return func();\n }\n var args = Array(length);\n while (length--) {\n args[length] = arguments[length];\n }\n var index = config.rearg ? 0 : (length - 1);\n args[index] = transform(args[index]);\n return func.apply(undefined, args);\n };\n }\n\n /**\n * Creates a function that wraps `func` and applys the conversions\n * rules by `name`.\n *\n * @private\n * @param {string} name The name of the function to wrap.\n * @param {Function} func The function to wrap.\n * @returns {Function} Returns the converted function.\n */\n function wrap(name, func, placeholder) {\n var result,\n realName = mapping.aliasToReal[name] || name,\n wrapped = func,\n wrapper = wrappers[realName];\n\n if (wrapper) {\n wrapped = wrapper(func);\n }\n else if (config.immutable) {\n if (mapping.mutate.array[realName]) {\n wrapped = wrapImmutable(func, cloneArray);\n }\n else if (mapping.mutate.object[realName]) {\n wrapped = wrapImmutable(func, createCloner(func));\n }\n else if (mapping.mutate.set[realName]) {\n wrapped = wrapImmutable(func, cloneByPath);\n }\n }\n each(aryMethodKeys, function(aryKey) {\n each(mapping.aryMethod[aryKey], function(otherName) {\n if (realName == otherName) {\n var data = mapping.methodSpread[realName],\n afterRearg = data && data.afterRearg;\n\n result = afterRearg\n ? castFixed(realName, castRearg(realName, wrapped, aryKey), aryKey)\n : castRearg(realName, castFixed(realName, wrapped, aryKey), aryKey);\n\n result = castCap(realName, result);\n result = castCurry(realName, result, aryKey);\n return false;\n }\n });\n return !result;\n });\n\n result || (result = wrapped);\n if (result == func) {\n result = forceCurry ? curry(result, 1) : function() {\n return func.apply(this, arguments);\n };\n }\n result.convert = createConverter(realName, func);\n result.placeholder = func.placeholder = placeholder;\n\n return result;\n }\n\n /*--------------------------------------------------------------------------*/\n\n if (!isObj) {\n return wrap(name, func, defaultHolder);\n }\n var _ = func;\n\n // Convert methods by ary cap.\n var pairs = [];\n each(aryMethodKeys, function(aryKey) {\n each(mapping.aryMethod[aryKey], function(key) {\n var func = _[mapping.remap[key] || key];\n if (func) {\n pairs.push([key, wrap(key, func, _)]);\n }\n });\n });\n\n // Convert remaining methods.\n each(keys(_), function(key) {\n var func = _[key];\n if (typeof func == 'function') {\n var length = pairs.length;\n while (length--) {\n if (pairs[length][0] == key) {\n return;\n }\n }\n func.convert = createConverter(key, func);\n pairs.push([key, func]);\n }\n });\n\n // Assign to `_` leaving `_.prototype` unchanged to allow chaining.\n each(pairs, function(pair) {\n _[pair[0]] = pair[1];\n });\n\n _.convert = convertLib;\n _.placeholder = _;\n\n // Assign aliases.\n each(keys(_), function(key) {\n each(mapping.realToAlias[key] || [], function(alias) {\n _[alias] = _[key];\n });\n });\n\n return _;\n}\n\nmodule.exports = baseConvert;\n","const set = require('regenerate')();\nset.addRange(0x10A80, 0x10A9F);\nmodule.exports = set;","function memoize(fn) {\n var cache = {};\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\nexport default memoize;","import memoize from '@emotion/memoize';\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|inert|itemProp|itemScope|itemType|itemID|itemRef|on|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar index = memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */ && prop.charCodeAt(1) === 110\n /* n */ && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */);\n\nexport default index;","function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\n\n// based on https://github.com/developit/dlv\nexport var get = function get(obj, key, def, p, undef) {\n key = key && key.split ? key.split('.') : [key];\n for (p = 0; p < key.length; p++) {\n obj = obj ? obj[key[p]] : undef;\n }\n return obj === undef ? def : obj;\n};\nvar defaultBreakpoints = [40, 52, 64].map(function (n) {\n return n + 'em';\n});\nvar defaultTheme = {\n space: [0, 4, 8, 16, 32, 64, 128, 256, 512],\n fontSizes: [12, 14, 16, 20, 24, 32, 48, 64, 72]\n};\nvar aliases = {\n bg: 'backgroundColor',\n m: 'margin',\n mt: 'marginTop',\n mr: 'marginRight',\n mb: 'marginBottom',\n ml: 'marginLeft',\n mx: 'marginX',\n my: 'marginY',\n p: 'padding',\n pt: 'paddingTop',\n pr: 'paddingRight',\n pb: 'paddingBottom',\n pl: 'paddingLeft',\n px: 'paddingX',\n py: 'paddingY'\n};\nvar multiples = {\n marginX: ['marginLeft', 'marginRight'],\n marginY: ['marginTop', 'marginBottom'],\n paddingX: ['paddingLeft', 'paddingRight'],\n paddingY: ['paddingTop', 'paddingBottom'],\n size: ['width', 'height']\n};\nvar scales = {\n color: 'colors',\n backgroundColor: 'colors',\n borderColor: 'colors',\n margin: 'space',\n marginTop: 'space',\n marginRight: 'space',\n marginBottom: 'space',\n marginLeft: 'space',\n marginX: 'space',\n marginY: 'space',\n padding: 'space',\n paddingTop: 'space',\n paddingRight: 'space',\n paddingBottom: 'space',\n paddingLeft: 'space',\n paddingX: 'space',\n paddingY: 'space',\n top: 'space',\n right: 'space',\n bottom: 'space',\n left: 'space',\n gridGap: 'space',\n gridColumnGap: 'space',\n gridRowGap: 'space',\n gap: 'space',\n columnGap: 'space',\n rowGap: 'space',\n fontFamily: 'fonts',\n fontSize: 'fontSizes',\n fontWeight: 'fontWeights',\n lineHeight: 'lineHeights',\n letterSpacing: 'letterSpacings',\n border: 'borders',\n borderTop: 'borders',\n borderRight: 'borders',\n borderBottom: 'borders',\n borderLeft: 'borders',\n borderWidth: 'borderWidths',\n borderStyle: 'borderStyles',\n borderRadius: 'radii',\n borderTopRightRadius: 'radii',\n borderTopLeftRadius: 'radii',\n borderBottomRightRadius: 'radii',\n borderBottomLeftRadius: 'radii',\n borderTopWidth: 'borderWidths',\n borderTopColor: 'colors',\n borderTopStyle: 'borderStyles',\n borderBottomWidth: 'borderWidths',\n borderBottomColor: 'colors',\n borderBottomStyle: 'borderStyles',\n borderLeftWidth: 'borderWidths',\n borderLeftColor: 'colors',\n borderLeftStyle: 'borderStyles',\n borderRightWidth: 'borderWidths',\n borderRightColor: 'colors',\n borderRightStyle: 'borderStyles',\n outlineColor: 'colors',\n boxShadow: 'shadows',\n textShadow: 'shadows',\n zIndex: 'zIndices',\n width: 'sizes',\n minWidth: 'sizes',\n maxWidth: 'sizes',\n height: 'sizes',\n minHeight: 'sizes',\n maxHeight: 'sizes',\n flexBasis: 'sizes',\n size: 'sizes',\n // svg\n fill: 'colors',\n stroke: 'colors'\n};\nvar positiveOrNegative = function positiveOrNegative(scale, value) {\n if (typeof value !== 'number' || value >= 0) {\n return get(scale, value, value);\n }\n var absolute = Math.abs(value);\n var n = get(scale, absolute, absolute);\n if (typeof n === 'string') return '-' + n;\n return n * -1;\n};\nvar transforms = ['margin', 'marginTop', 'marginRight', 'marginBottom', 'marginLeft', 'marginX', 'marginY', 'top', 'bottom', 'left', 'right'].reduce(function (acc, curr) {\n var _extends2;\n return _extends({}, acc, (_extends2 = {}, _extends2[curr] = positiveOrNegative, _extends2));\n}, {});\nexport var responsive = function responsive(styles) {\n return function (theme) {\n var next = {};\n var breakpoints = get(theme, 'breakpoints', defaultBreakpoints);\n var mediaQueries = [null].concat(breakpoints.map(function (n) {\n return \"@media screen and (min-width: \" + n + \")\";\n }));\n for (var key in styles) {\n var value = typeof styles[key] === 'function' ? styles[key](theme) : styles[key];\n if (value == null) continue;\n if (!Array.isArray(value)) {\n next[key] = value;\n continue;\n }\n for (var i = 0; i < value.slice(0, mediaQueries.length).length; i++) {\n var media = mediaQueries[i];\n if (!media) {\n next[key] = value[i];\n continue;\n }\n next[media] = next[media] || {};\n if (value[i] == null) continue;\n next[media][key] = value[i];\n }\n }\n return next;\n };\n};\nexport var css = function css(args) {\n return function (props) {\n if (props === void 0) {\n props = {};\n }\n var theme = _extends({}, defaultTheme, {}, props.theme || props);\n var result = {};\n var obj = typeof args === 'function' ? args(theme) : args;\n var styles = responsive(obj)(theme);\n for (var key in styles) {\n var x = styles[key];\n var val = typeof x === 'function' ? x(theme) : x;\n if (key === 'variant') {\n var variant = css(get(theme, val))(theme);\n result = _extends({}, result, {}, variant);\n continue;\n }\n if (val && typeof val === 'object') {\n result[key] = css(val)(theme);\n continue;\n }\n var prop = get(aliases, key, key);\n var scaleName = get(scales, prop);\n var scale = get(theme, scaleName, get(theme, prop, {}));\n var transform = get(transforms, prop, get);\n var value = transform(scale, val, val);\n if (multiples[prop]) {\n var dirs = multiples[prop];\n for (var i = 0; i < dirs.length; i++) {\n result[dirs[i]] = value;\n }\n } else {\n result[prop] = value;\n }\n }\n return result;\n };\n};\nexport default css;","import { MDXProvider } from '@mdx-js/react';\nimport deepmerge from 'deepmerge';\nimport isPropValid from '@emotion/is-prop-valid';\nimport { version } from '@emotion/core/package.json';\nimport React, { forwardRef, useContext, createContext, useState, useEffect, useReducer } from 'react';\nimport { jsx, ThemeContext, Global } from '@emotion/core';\nimport css, { css as css$1, get } from '@styled-system/css';\nexport { css, get } from '@styled-system/css';\nvar getCSS = function getCSS(props) {\n if (!props.sx && !props.css) {\n return undefined;\n }\n return function (theme) {\n var styles = css(props.sx)(theme);\n var raw = typeof props.css === 'function' ? props.css(theme) : props.css;\n return [styles, raw];\n };\n};\nvar parseProps = function parseProps(props) {\n if (!props) {\n return null;\n }\n var next = {};\n for (var key in props) {\n if (key === 'sx') {\n continue;\n }\n next[key] = props[key];\n }\n var css$$1 = getCSS(props);\n if (css$$1) {\n next.css = css$$1;\n }\n return next;\n};\nvar jsx$1 = function jsx$$1(type, props) {\n var arguments$1 = arguments;\n for (var _len = arguments.length, children = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n children[_key - 2] = arguments$1[_key];\n }\n return jsx.apply(undefined, [type, parseProps(props)].concat(children));\n};\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n return _typeof(obj);\n}\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n return target;\n}\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = _objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();\n}\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction _iterableToArrayLimit(arr, i) {\n if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) {\n return;\n }\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n}\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\nvar canUseSymbol = typeof Symbol === 'function' && Symbol[\"for\"];\nvar REACT_ELEMENT = canUseSymbol ? Symbol[\"for\"]('react.element') : 0xeac7;\nvar FORWARD_REF = canUseSymbol ? Symbol[\"for\"]('react.forward_ref') : 0xeac7;\nvar isMergeableObject = function isMergeableObject(n) {\n return !!n && _typeof(n) === 'object' && n.$$typeof !== REACT_ELEMENT && n.$$typeof !== FORWARD_REF;\n};\nvar arrayMerge = function arrayMerge(destinationArray, sourceArray, options) {\n return sourceArray;\n};\nvar merge = function merge(a, b) {\n return deepmerge(a, b, {\n isMergeableObject: isMergeableObject,\n arrayMerge: arrayMerge\n });\n};\nmerge.all = function () {\n var arguments$1 = arguments;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments$1[_key];\n }\n return deepmerge.all(args, {\n isMergeableObject: isMergeableObject,\n arrayMerge: arrayMerge\n });\n};\nvar styled = function styled(tag) {\n return function () {\n var arguments$1 = arguments;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments$1[_key];\n }\n var Styled = forwardRef(function (_ref, ref) {\n var as = _ref.as,\n props = _objectWithoutProperties(_ref, [\"as\"]);\n var shouldForwardProps = typeof tag !== 'string' || as && typeof as !== 'string';\n var theme = useContext(ThemeContext);\n var nextProps = shouldForwardProps ? props : {};\n var styles = {};\n args.forEach(function (arg) {\n var style = typeof arg === 'function' ? arg(_objectSpread2({\n theme: theme\n }, props)) : arg;\n Object.assign(styles, style);\n });\n if (!shouldForwardProps) {\n for (var key in props) {\n if (!isPropValid(key)) {\n continue;\n }\n nextProps[key] = props[key];\n }\n }\n return jsx$1(as || tag, _objectSpread2({}, nextProps, {\n ref: ref,\n css: styles\n }));\n });\n return Styled;\n };\n};\nvar themed = function themed(key) {\n return function (props) {\n return css$1(get(props.theme, \"styles.\".concat(key)))(props.theme);\n };\n};\nvar tags = ['p', 'b', 'i', 'a', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'img', 'pre', 'code', 'ol', 'ul', 'li', 'blockquote', 'hr', 'em', 'table', 'tr', 'th', 'td', 'em', 'strong', 'delete',\n// mdx\n'inlineCode', 'thematicBreak',\n// other\n'div',\n// theme-ui\n'root'];\nvar aliases = {\n inlineCode: 'code',\n thematicBreak: 'hr',\n root: 'div'\n};\nvar alias = function alias(n) {\n return aliases[n] || n;\n};\nvar Styled = styled('div')(themed('div'));\nvar components = {};\ntags.forEach(function (tag) {\n components[tag] = styled(alias(tag))(themed(tag));\n Styled[tag] = components[tag];\n});\nvar createComponents = function createComponents() {\n var components = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var next = {};\n Object.keys(components).forEach(function (key) {\n next[key] = styled(components[key])(themed(key));\n });\n return next;\n};\nvar Context = createContext({\n emotionVersion: version,\n theme: null,\n components: components\n});\nvar useThemeUI = function useThemeUI() {\n return useContext(Context);\n};\nvar toVarName = function toVarName(key) {\n return \"--theme-ui-\".concat(key);\n};\nvar toVarValue = function toVarValue(key, value) {\n return \"var(\".concat(toVarName(key), \", \").concat(value, \")\");\n};\nvar join = function join() {\n var arguments$1 = arguments;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments$1[_key];\n }\n return args.filter(Boolean).join('-');\n};\nvar numberScales = {\n fontWeights: true,\n lineHeights: true\n};\nvar reservedKeys = {\n useCustomProperties: true,\n initialColorModeName: true,\n initialColorMode: true\n};\nvar toPixel = function toPixel(key, value) {\n if (typeof value !== 'number') {\n return value;\n }\n if (numberScales[key]) {\n return value;\n }\n return value + 'px';\n}; // convert theme values to custom properties\n\nvar toCustomProperties = function toCustomProperties(obj, parent, themeKey) {\n var next = Array.isArray(obj) ? [] : {};\n for (var key in obj) {\n var value = obj[key];\n var name = join(parent, key);\n if (value && _typeof(value) === 'object') {\n next[key] = toCustomProperties(value, name, key);\n continue;\n }\n if (reservedKeys[key]) {\n next[key] = value;\n continue;\n }\n var val = toPixel(themeKey || key, value);\n next[key] = toVarValue(name, val);\n }\n return next;\n};\nvar objectToVars = function objectToVars(parent, obj) {\n var vars = {};\n for (var key in obj) {\n if (key === 'modes') {\n continue;\n }\n var name = join(parent, key);\n var value = obj[key];\n if (value && _typeof(value) === 'object') {\n vars = _objectSpread2({}, vars, {}, objectToVars(name, value));\n } else {\n vars[toVarName(name)] = value;\n }\n }\n return vars;\n}; // create body styles for color modes\n\nvar createColorStyles = function createColorStyles(theme) {\n if (!theme.colors || !theme.colors.modes) {\n return {};\n }\n if (theme.useCustomProperties === false) {\n return css$1({\n color: 'text',\n bg: 'background'\n })(theme);\n }\n var modes = theme.colors.modes;\n var styles = objectToVars('colors', theme.colors);\n Object.keys(modes).forEach(function (mode) {\n var key = \"&.theme-ui-\".concat(mode);\n styles[key] = objectToVars('colors', modes[mode]);\n });\n return css$1(_objectSpread2({}, styles, {\n color: function color(t) {\n return \"var(--theme-ui-colors-text, \".concat(t.colors.text, \")\");\n },\n bg: function bg(t) {\n return \"var(--theme-ui-colors-background, \".concat(t.colors.background, \")\");\n }\n }))(theme);\n};\nvar STORAGE_KEY = 'theme-ui-color-mode';\nvar HAS_STORAGE = typeof Storage !== 'undefined';\nvar storage = {\n get: function get$$1(init) {\n return HAS_STORAGE && window.localStorage.getItem(STORAGE_KEY) || init;\n },\n set: function set(value) {\n return HAS_STORAGE && window.localStorage.setItem(STORAGE_KEY, value);\n }\n};\nvar getMediaQuery = function getMediaQuery() {\n var darkQuery = '(prefers-color-scheme: dark)';\n var mql = window.matchMedia ? window.matchMedia(darkQuery) : {};\n var dark = mql.media === darkQuery;\n return dark && mql.matches;\n};\nvar getName = function getName(theme) {\n return theme.initialColorModeName || theme.initialColorMode || 'default';\n};\nvar useColorState = function useColorState(theme) {\n var _useState = useState(getName(theme)),\n _useState2 = _slicedToArray(_useState, 2),\n mode = _useState2[0],\n setMode = _useState2[1];\n useEffect(function () {\n // initialize\n var stored = storage.get();\n document.body.classList.remove('theme-ui-' + stored);\n var dark = getMediaQuery();\n if (!stored && dark && theme.useColorSchemeMediaQuery) {\n return setMode('dark');\n }\n if (!stored || stored === mode) {\n return;\n }\n setMode(stored);\n }, []);\n useEffect(function () {\n if (!mode) {\n return;\n }\n storage.set(mode);\n }, [mode]);\n if (process.env.NODE_ENV !== 'production') {\n if (theme.colors && theme.colors.modes && Object.keys(theme.colors.modes).indexOf(getName(theme)) > -1) {\n console.warn('The `initialColorMode` value should be a unique name' + ' and cannot reference a key in `theme.colors.modes`.');\n }\n }\n return [mode, setMode];\n};\nvar useColorMode = function useColorMode() {\n var _useThemeUI = useThemeUI(),\n colorMode = _useThemeUI.colorMode,\n setColorMode = _useThemeUI.setColorMode;\n if (typeof setColorMode !== 'function') {\n throw new Error(\"[useColorMode] requires the ThemeProvider component\");\n }\n return [colorMode, setColorMode];\n};\nvar bodyColor = function bodyColor(theme) {\n return {\n body: createColorStyles(theme)\n };\n};\nvar ColorMode = function ColorMode() {\n return React.createElement(Global, {\n styles: bodyColor\n });\n};\nvar InitializeColorMode = function InitializeColorMode() {\n return React.createElement(\"script\", {\n key: \"theme-ui-no-flash\",\n dangerouslySetInnerHTML: {\n __html: \"(function() { try {\\n var mode = localStorage.getItem('theme-ui-color-mode');\\n if (!mode) return\\n document.body.classList.add('theme-ui-' + mode);\\n } catch (e) {} })();\"\n }\n });\n};\nvar mergeState = function mergeState() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var next = arguments.length > 1 ? arguments[1] : undefined;\n return merge.all({}, state, next);\n};\nvar applyColorMode = function applyColorMode(theme, mode) {\n if (!mode) {\n return theme;\n }\n var modes = get(theme, 'colors.modes', {});\n return merge.all({}, theme, {\n colors: get(modes, mode, {})\n });\n};\nvar BaseProvider = function BaseProvider(_ref) {\n var context = _ref.context,\n components$$1 = _ref.components,\n children = _ref.children;\n var theme = _objectSpread2({}, context.theme);\n if (theme.useCustomProperties !== false) {\n theme.colors = toCustomProperties(theme.colors, 'colors');\n }\n return jsx$1(ThemeContext.Provider, {\n value: theme\n }, jsx$1(MDXProvider, {\n components: components$$1\n }, jsx$1(Context.Provider, {\n value: context,\n children: children\n })));\n};\nvar RootProvider = function RootProvider(_ref2) {\n var _ref2$theme = _ref2.theme,\n propsTheme = _ref2$theme === void 0 ? {} : _ref2$theme,\n components$$1 = _ref2.components,\n children = _ref2.children;\n // components are provided in the default Context\n var outer = useThemeUI();\n var propsThemeObject = typeof propsTheme === 'function' ? propsTheme({}) : propsTheme;\n var _useColorState = useColorState(outer.theme || propsThemeObject),\n _useColorState2 = _slicedToArray(_useColorState, 2),\n colorMode = _useColorState2[0],\n setColorMode = _useColorState2[1];\n var theme = applyColorMode(outer.theme || propsThemeObject, colorMode);\n var context = _objectSpread2({}, outer, {\n __THEME_UI__: true,\n colorMode: colorMode,\n setColorMode: setColorMode,\n components: _objectSpread2({}, outer.components, {}, createComponents(components$$1)),\n theme: theme\n });\n useEffect(function () {\n window.__THEME_UI__ = context;\n }, [context.theme, context.colorMode]);\n return jsx$1(BaseProvider, {\n context: context,\n components: context.components,\n children: children\n });\n};\nvar NestedProvider = function NestedProvider(_ref3) {\n var theme = _ref3.theme,\n components$$1 = _ref3.components,\n children = _ref3.children;\n var outer = useThemeUI();\n var context = typeof theme === 'function' ? _objectSpread2({}, outer, {\n theme: theme(outer.theme)\n }) : merge.all({}, outer, {\n theme: theme\n });\n return jsx$1(BaseProvider, {\n context: context,\n components: createComponents(components$$1),\n children: children\n });\n};\nvar ThemeProvider = function ThemeProvider(props) {\n var outer = useThemeUI();\n if (process.env.NODE_ENV !== 'production') {\n if (outer.emotionVersion !== version) {\n console.warn('Multiple versions of Emotion detected,', 'and theming might not work as expected.', 'Please ensure there is only one copy of @emotion/core installed in your application.');\n }\n }\n if (!props.scoped && outer.__THEME_UI__) {\n return jsx$1(NestedProvider, props);\n }\n return jsx$1(RootProvider, props);\n};\nvar ThemeStateProvider = function ThemeStateProvider(_ref4) {\n var theme = _ref4.theme,\n children = _ref4.children;\n var outer = useThemeUI();\n var _useReducer = useReducer(mergeState, theme),\n _useReducer2 = _slicedToArray(_useReducer, 2),\n state = _useReducer2[0],\n setTheme = _useReducer2[1];\n var context = _objectSpread2({}, outer, {\n theme: state,\n setTheme: setTheme\n });\n return jsx$1(Context.Provider, {\n value: context,\n children: children\n });\n};\nvar Box = styled('div')({\n boxSizing: 'border-box',\n minWidth: 0\n});\nvar Flex = styled(Box)({\n display: 'flex'\n}); // root/page layout\n\nvar Layout = function Layout(props) {\n return jsx$1(Box, _objectSpread2({}, props, {\n sx: {\n minHeight: '100vh',\n display: 'flex',\n flexDirection: 'column',\n variant: 'styles.Layout'\n }\n }));\n};\nvar Header = function Header(props) {\n return jsx$1(Box, _objectSpread2({\n as: 'header'\n }, props, {\n sx: {\n display: 'flex',\n variant: 'styles.Header'\n }\n }));\n};\nvar Main = function Main(props) {\n return jsx$1(Box, _objectSpread2({\n as: 'main'\n }, props, {\n sx: {\n flex: '1 1 auto',\n variant: 'styles.Main'\n }\n }));\n};\nvar Container = function Container(props) {\n return jsx$1(Box, _objectSpread2({}, props, {\n sx: {\n width: '100%',\n minWidth: 0,\n maxWidth: 1024,\n mx: 'auto',\n p: 4,\n variant: 'styles.Container'\n }\n }));\n};\nvar Footer = function Footer(props) {\n return jsx$1(Box, _objectSpread2({\n as: 'footer'\n }, props, {\n sx: {\n display: 'flex',\n variant: 'styles.Footer'\n }\n }));\n};\nvar BaseStyles = function BaseStyles(props) {\n return jsx$1(\"div\", _extends({}, props, {\n sx: {\n fontFamily: 'body',\n lineHeight: 'body',\n fontWeight: 'body',\n variant: 'styles'\n }\n }));\n};\nexport { jsx$1 as jsx, ThemeProvider, ThemeStateProvider, Context, useThemeUI, ColorMode, useColorMode, InitializeColorMode, Styled, components, Box, Flex, Layout, Header, Main, Container, Footer, BaseStyles };","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n","const set = require('regenerate')(0x1940);\nset.addRange(0x1900, 0x191E).addRange(0x1920, 0x192B).addRange(0x1930, 0x193B).addRange(0x1944, 0x194F);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0xB01, 0xB03).addRange(0xB05, 0xB0C).addRange(0xB0F, 0xB10).addRange(0xB13, 0xB28).addRange(0xB2A, 0xB30).addRange(0xB32, 0xB33).addRange(0xB35, 0xB39).addRange(0xB3C, 0xB44).addRange(0xB47, 0xB48).addRange(0xB4B, 0xB4D).addRange(0xB55, 0xB57).addRange(0xB5C, 0xB5D).addRange(0xB5F, 0xB63).addRange(0xB66, 0xB77);\nmodule.exports = set;","const set = require('regenerate')(0x20F0);\nset.addRange(0x900, 0x952).addRange(0x955, 0x97F).addRange(0x1CD0, 0x1CF6).addRange(0x1CF8, 0x1CF9).addRange(0xA830, 0xA839).addRange(0xA8E0, 0xA8FF);\nmodule.exports = set;","var baseClone = require('./_baseClone');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * Creates a shallow clone of `value`.\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm)\n * and supports cloning arrays, array buffers, booleans, date objects, maps,\n * numbers, `Object` objects, regexes, sets, strings, symbols, and typed\n * arrays. The own enumerable properties of `arguments` objects are cloned\n * as plain objects. An empty object is returned for uncloneable values such\n * as error objects, functions, DOM nodes, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to clone.\n * @returns {*} Returns the cloned value.\n * @see _.cloneDeep\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var shallow = _.clone(objects);\n * console.log(shallow[0] === objects[0]);\n * // => true\n */\nfunction clone(value) {\n return baseClone(value, CLONE_SYMBOLS_FLAG);\n}\n\nmodule.exports = clone;\n","const set = require('regenerate')();\nset.addRange(0x1400, 0x167F).addRange(0x18B0, 0x18F5).addRange(0x11AB0, 0x11ABF);\nmodule.exports = set;","const set = require('regenerate')(0xFB3E);\nset.addRange(0x591, 0x5C7).addRange(0x5D0, 0x5EA).addRange(0x5EF, 0x5F4).addRange(0xFB1D, 0xFB36).addRange(0xFB38, 0xFB3C).addRange(0xFB40, 0xFB41).addRange(0xFB43, 0xFB44).addRange(0xFB46, 0xFB4F);\nmodule.exports = set;","/** Used to match wrap detail comments. */\nvar reWrapDetails = /\\{\\n\\/\\* \\[wrapped with (.+)\\] \\*/,\n reSplitDetails = /,? & /;\n\n/**\n * Extracts wrapper details from the `source` body comment.\n *\n * @private\n * @param {string} source The source to inspect.\n * @returns {Array} Returns the wrapper details.\n */\nfunction getWrapDetails(source) {\n var match = source.match(reWrapDetails);\n return match ? match[1].split(reSplitDetails) : [];\n}\n\nmodule.exports = getWrapDetails;\n","const set = require('regenerate')(0x640, 0x85E);\nset.addRange(0x840, 0x85B);\nmodule.exports = set;","var baseMatches = require('./_baseMatches'),\n baseMatchesProperty = require('./_baseMatchesProperty'),\n identity = require('./identity'),\n isArray = require('./isArray'),\n property = require('./property');\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\nmodule.exports = baseIteratee;\n","const set = require('regenerate')();\nset.addRange(0x11150, 0x11176);\nmodule.exports = set;","const set = require('regenerate')(0xAA, 0xBA, 0x1BB, 0x294, 0x6D5, 0x6FF, 0x710, 0x7B1, 0x93D, 0x950, 0x9B2, 0x9BD, 0x9CE, 0x9FC, 0xA5E, 0xABD, 0xAD0, 0xAF9, 0xB3D, 0xB71, 0xB83, 0xB9C, 0xBD0, 0xC3D, 0xC5D, 0xC80, 0xCBD, 0xD3D, 0xD4E, 0xDBD, 0xE84, 0xEA5, 0xEBD, 0xF00, 0x103F, 0x1061, 0x108E, 0x1258, 0x12C0, 0x17DC, 0x18AA, 0x1CFA, 0x3006, 0x303C, 0x309F, 0x30FF, 0xA66E, 0xA78F, 0xA7F7, 0xA8FB, 0xAA7A, 0xAAB1, 0xAAC0, 0xAAC2, 0xAAF2, 0xFB1D, 0xFB3E, 0x10808, 0x1083C, 0x10A00, 0x10F27, 0x11075, 0x11144, 0x11147, 0x11176, 0x111DA, 0x111DC, 0x11288, 0x1133D, 0x11350, 0x114C7, 0x11644, 0x116B8, 0x11909, 0x1193F, 0x11941, 0x119E1, 0x119E3, 0x11A00, 0x11A3A, 0x11A50, 0x11A9D, 0x11C40, 0x11D46, 0x11D98, 0x11FB0, 0x16F50, 0x1DF0A, 0x1E14E, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E);\nset.addRange(0x1C0, 0x1C3).addRange(0x5D0, 0x5EA).addRange(0x5EF, 0x5F2).addRange(0x620, 0x63F).addRange(0x641, 0x64A).addRange(0x66E, 0x66F).addRange(0x671, 0x6D3).addRange(0x6EE, 0x6EF).addRange(0x6FA, 0x6FC).addRange(0x712, 0x72F).addRange(0x74D, 0x7A5).addRange(0x7CA, 0x7EA).addRange(0x800, 0x815).addRange(0x840, 0x858).addRange(0x860, 0x86A).addRange(0x870, 0x887).addRange(0x889, 0x88E).addRange(0x8A0, 0x8C8).addRange(0x904, 0x939).addRange(0x958, 0x961).addRange(0x972, 0x980).addRange(0x985, 0x98C).addRange(0x98F, 0x990).addRange(0x993, 0x9A8).addRange(0x9AA, 0x9B0).addRange(0x9B6, 0x9B9).addRange(0x9DC, 0x9DD).addRange(0x9DF, 0x9E1).addRange(0x9F0, 0x9F1).addRange(0xA05, 0xA0A).addRange(0xA0F, 0xA10).addRange(0xA13, 0xA28).addRange(0xA2A, 0xA30).addRange(0xA32, 0xA33).addRange(0xA35, 0xA36).addRange(0xA38, 0xA39).addRange(0xA59, 0xA5C).addRange(0xA72, 0xA74).addRange(0xA85, 0xA8D).addRange(0xA8F, 0xA91).addRange(0xA93, 0xAA8).addRange(0xAAA, 0xAB0).addRange(0xAB2, 0xAB3).addRange(0xAB5, 0xAB9).addRange(0xAE0, 0xAE1).addRange(0xB05, 0xB0C).addRange(0xB0F, 0xB10).addRange(0xB13, 0xB28).addRange(0xB2A, 0xB30).addRange(0xB32, 0xB33).addRange(0xB35, 0xB39);\nset.addRange(0xB5C, 0xB5D).addRange(0xB5F, 0xB61).addRange(0xB85, 0xB8A).addRange(0xB8E, 0xB90).addRange(0xB92, 0xB95).addRange(0xB99, 0xB9A).addRange(0xB9E, 0xB9F).addRange(0xBA3, 0xBA4).addRange(0xBA8, 0xBAA).addRange(0xBAE, 0xBB9).addRange(0xC05, 0xC0C).addRange(0xC0E, 0xC10).addRange(0xC12, 0xC28).addRange(0xC2A, 0xC39).addRange(0xC58, 0xC5A).addRange(0xC60, 0xC61).addRange(0xC85, 0xC8C).addRange(0xC8E, 0xC90).addRange(0xC92, 0xCA8).addRange(0xCAA, 0xCB3).addRange(0xCB5, 0xCB9).addRange(0xCDD, 0xCDE).addRange(0xCE0, 0xCE1).addRange(0xCF1, 0xCF2).addRange(0xD04, 0xD0C).addRange(0xD0E, 0xD10).addRange(0xD12, 0xD3A).addRange(0xD54, 0xD56).addRange(0xD5F, 0xD61).addRange(0xD7A, 0xD7F).addRange(0xD85, 0xD96).addRange(0xD9A, 0xDB1).addRange(0xDB3, 0xDBB).addRange(0xDC0, 0xDC6).addRange(0xE01, 0xE30).addRange(0xE32, 0xE33).addRange(0xE40, 0xE45).addRange(0xE81, 0xE82).addRange(0xE86, 0xE8A).addRange(0xE8C, 0xEA3).addRange(0xEA7, 0xEB0).addRange(0xEB2, 0xEB3).addRange(0xEC0, 0xEC4).addRange(0xEDC, 0xEDF).addRange(0xF40, 0xF47).addRange(0xF49, 0xF6C).addRange(0xF88, 0xF8C).addRange(0x1000, 0x102A).addRange(0x1050, 0x1055).addRange(0x105A, 0x105D).addRange(0x1065, 0x1066);\nset.addRange(0x106E, 0x1070).addRange(0x1075, 0x1081).addRange(0x1100, 0x1248).addRange(0x124A, 0x124D).addRange(0x1250, 0x1256).addRange(0x125A, 0x125D).addRange(0x1260, 0x1288).addRange(0x128A, 0x128D).addRange(0x1290, 0x12B0).addRange(0x12B2, 0x12B5).addRange(0x12B8, 0x12BE).addRange(0x12C2, 0x12C5).addRange(0x12C8, 0x12D6).addRange(0x12D8, 0x1310).addRange(0x1312, 0x1315).addRange(0x1318, 0x135A).addRange(0x1380, 0x138F).addRange(0x1401, 0x166C).addRange(0x166F, 0x167F).addRange(0x1681, 0x169A).addRange(0x16A0, 0x16EA).addRange(0x16F1, 0x16F8).addRange(0x1700, 0x1711).addRange(0x171F, 0x1731).addRange(0x1740, 0x1751).addRange(0x1760, 0x176C).addRange(0x176E, 0x1770).addRange(0x1780, 0x17B3).addRange(0x1820, 0x1842).addRange(0x1844, 0x1878).addRange(0x1880, 0x1884).addRange(0x1887, 0x18A8).addRange(0x18B0, 0x18F5).addRange(0x1900, 0x191E).addRange(0x1950, 0x196D).addRange(0x1970, 0x1974).addRange(0x1980, 0x19AB).addRange(0x19B0, 0x19C9).addRange(0x1A00, 0x1A16).addRange(0x1A20, 0x1A54).addRange(0x1B05, 0x1B33).addRange(0x1B45, 0x1B4C).addRange(0x1B83, 0x1BA0).addRange(0x1BAE, 0x1BAF).addRange(0x1BBA, 0x1BE5).addRange(0x1C00, 0x1C23).addRange(0x1C4D, 0x1C4F).addRange(0x1C5A, 0x1C77).addRange(0x1CE9, 0x1CEC).addRange(0x1CEE, 0x1CF3).addRange(0x1CF5, 0x1CF6);\nset.addRange(0x2135, 0x2138).addRange(0x2D30, 0x2D67).addRange(0x2D80, 0x2D96).addRange(0x2DA0, 0x2DA6).addRange(0x2DA8, 0x2DAE).addRange(0x2DB0, 0x2DB6).addRange(0x2DB8, 0x2DBE).addRange(0x2DC0, 0x2DC6).addRange(0x2DC8, 0x2DCE).addRange(0x2DD0, 0x2DD6).addRange(0x2DD8, 0x2DDE).addRange(0x3041, 0x3096).addRange(0x30A1, 0x30FA).addRange(0x3105, 0x312F).addRange(0x3131, 0x318E).addRange(0x31A0, 0x31BF).addRange(0x31F0, 0x31FF).addRange(0x3400, 0x4DBF).addRange(0x4E00, 0xA014).addRange(0xA016, 0xA48C).addRange(0xA4D0, 0xA4F7).addRange(0xA500, 0xA60B).addRange(0xA610, 0xA61F).addRange(0xA62A, 0xA62B).addRange(0xA6A0, 0xA6E5).addRange(0xA7FB, 0xA801).addRange(0xA803, 0xA805).addRange(0xA807, 0xA80A).addRange(0xA80C, 0xA822).addRange(0xA840, 0xA873).addRange(0xA882, 0xA8B3).addRange(0xA8F2, 0xA8F7).addRange(0xA8FD, 0xA8FE).addRange(0xA90A, 0xA925).addRange(0xA930, 0xA946).addRange(0xA960, 0xA97C).addRange(0xA984, 0xA9B2).addRange(0xA9E0, 0xA9E4).addRange(0xA9E7, 0xA9EF).addRange(0xA9FA, 0xA9FE).addRange(0xAA00, 0xAA28).addRange(0xAA40, 0xAA42).addRange(0xAA44, 0xAA4B).addRange(0xAA60, 0xAA6F).addRange(0xAA71, 0xAA76).addRange(0xAA7E, 0xAAAF).addRange(0xAAB5, 0xAAB6).addRange(0xAAB9, 0xAABD).addRange(0xAADB, 0xAADC).addRange(0xAAE0, 0xAAEA).addRange(0xAB01, 0xAB06);\nset.addRange(0xAB09, 0xAB0E).addRange(0xAB11, 0xAB16).addRange(0xAB20, 0xAB26).addRange(0xAB28, 0xAB2E).addRange(0xABC0, 0xABE2).addRange(0xAC00, 0xD7A3).addRange(0xD7B0, 0xD7C6).addRange(0xD7CB, 0xD7FB).addRange(0xF900, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0xFB1F, 0xFB28).addRange(0xFB2A, 0xFB36).addRange(0xFB38, 0xFB3C).addRange(0xFB40, 0xFB41).addRange(0xFB43, 0xFB44).addRange(0xFB46, 0xFBB1).addRange(0xFBD3, 0xFD3D).addRange(0xFD50, 0xFD8F).addRange(0xFD92, 0xFDC7).addRange(0xFDF0, 0xFDFB).addRange(0xFE70, 0xFE74).addRange(0xFE76, 0xFEFC).addRange(0xFF66, 0xFF6F).addRange(0xFF71, 0xFF9D).addRange(0xFFA0, 0xFFBE).addRange(0xFFC2, 0xFFC7).addRange(0xFFCA, 0xFFCF).addRange(0xFFD2, 0xFFD7).addRange(0xFFDA, 0xFFDC).addRange(0x10000, 0x1000B).addRange(0x1000D, 0x10026).addRange(0x10028, 0x1003A).addRange(0x1003C, 0x1003D).addRange(0x1003F, 0x1004D).addRange(0x10050, 0x1005D).addRange(0x10080, 0x100FA).addRange(0x10280, 0x1029C).addRange(0x102A0, 0x102D0).addRange(0x10300, 0x1031F).addRange(0x1032D, 0x10340).addRange(0x10342, 0x10349).addRange(0x10350, 0x10375).addRange(0x10380, 0x1039D).addRange(0x103A0, 0x103C3).addRange(0x103C8, 0x103CF).addRange(0x10450, 0x1049D).addRange(0x10500, 0x10527).addRange(0x10530, 0x10563).addRange(0x10600, 0x10736).addRange(0x10740, 0x10755).addRange(0x10760, 0x10767);\nset.addRange(0x10800, 0x10805).addRange(0x1080A, 0x10835).addRange(0x10837, 0x10838).addRange(0x1083F, 0x10855).addRange(0x10860, 0x10876).addRange(0x10880, 0x1089E).addRange(0x108E0, 0x108F2).addRange(0x108F4, 0x108F5).addRange(0x10900, 0x10915).addRange(0x10920, 0x10939).addRange(0x10980, 0x109B7).addRange(0x109BE, 0x109BF).addRange(0x10A10, 0x10A13).addRange(0x10A15, 0x10A17).addRange(0x10A19, 0x10A35).addRange(0x10A60, 0x10A7C).addRange(0x10A80, 0x10A9C).addRange(0x10AC0, 0x10AC7).addRange(0x10AC9, 0x10AE4).addRange(0x10B00, 0x10B35).addRange(0x10B40, 0x10B55).addRange(0x10B60, 0x10B72).addRange(0x10B80, 0x10B91).addRange(0x10C00, 0x10C48).addRange(0x10D00, 0x10D23).addRange(0x10E80, 0x10EA9).addRange(0x10EB0, 0x10EB1).addRange(0x10F00, 0x10F1C).addRange(0x10F30, 0x10F45).addRange(0x10F70, 0x10F81).addRange(0x10FB0, 0x10FC4).addRange(0x10FE0, 0x10FF6).addRange(0x11003, 0x11037).addRange(0x11071, 0x11072).addRange(0x11083, 0x110AF).addRange(0x110D0, 0x110E8).addRange(0x11103, 0x11126).addRange(0x11150, 0x11172).addRange(0x11183, 0x111B2).addRange(0x111C1, 0x111C4).addRange(0x11200, 0x11211).addRange(0x11213, 0x1122B).addRange(0x11280, 0x11286).addRange(0x1128A, 0x1128D).addRange(0x1128F, 0x1129D).addRange(0x1129F, 0x112A8).addRange(0x112B0, 0x112DE).addRange(0x11305, 0x1130C).addRange(0x1130F, 0x11310).addRange(0x11313, 0x11328).addRange(0x1132A, 0x11330);\nset.addRange(0x11332, 0x11333).addRange(0x11335, 0x11339).addRange(0x1135D, 0x11361).addRange(0x11400, 0x11434).addRange(0x11447, 0x1144A).addRange(0x1145F, 0x11461).addRange(0x11480, 0x114AF).addRange(0x114C4, 0x114C5).addRange(0x11580, 0x115AE).addRange(0x115D8, 0x115DB).addRange(0x11600, 0x1162F).addRange(0x11680, 0x116AA).addRange(0x11700, 0x1171A).addRange(0x11740, 0x11746).addRange(0x11800, 0x1182B).addRange(0x118FF, 0x11906).addRange(0x1190C, 0x11913).addRange(0x11915, 0x11916).addRange(0x11918, 0x1192F).addRange(0x119A0, 0x119A7).addRange(0x119AA, 0x119D0).addRange(0x11A0B, 0x11A32).addRange(0x11A5C, 0x11A89).addRange(0x11AB0, 0x11AF8).addRange(0x11C00, 0x11C08).addRange(0x11C0A, 0x11C2E).addRange(0x11C72, 0x11C8F).addRange(0x11D00, 0x11D06).addRange(0x11D08, 0x11D09).addRange(0x11D0B, 0x11D30).addRange(0x11D60, 0x11D65).addRange(0x11D67, 0x11D68).addRange(0x11D6A, 0x11D89).addRange(0x11EE0, 0x11EF2).addRange(0x12000, 0x12399).addRange(0x12480, 0x12543).addRange(0x12F90, 0x12FF0).addRange(0x13000, 0x1342E).addRange(0x14400, 0x14646).addRange(0x16800, 0x16A38).addRange(0x16A40, 0x16A5E).addRange(0x16A70, 0x16ABE).addRange(0x16AD0, 0x16AED).addRange(0x16B00, 0x16B2F).addRange(0x16B63, 0x16B77).addRange(0x16B7D, 0x16B8F).addRange(0x16F00, 0x16F4A).addRange(0x17000, 0x187F7).addRange(0x18800, 0x18CD5).addRange(0x18D00, 0x18D08).addRange(0x1B000, 0x1B122);\nset.addRange(0x1B150, 0x1B152).addRange(0x1B164, 0x1B167).addRange(0x1B170, 0x1B2FB).addRange(0x1BC00, 0x1BC6A).addRange(0x1BC70, 0x1BC7C).addRange(0x1BC80, 0x1BC88).addRange(0x1BC90, 0x1BC99).addRange(0x1E100, 0x1E12C).addRange(0x1E290, 0x1E2AD).addRange(0x1E2C0, 0x1E2EB).addRange(0x1E7E0, 0x1E7E6).addRange(0x1E7E8, 0x1E7EB).addRange(0x1E7ED, 0x1E7EE).addRange(0x1E7F0, 0x1E7FE).addRange(0x1E800, 0x1E8C4).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F).addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72).addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89).addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x20000, 0x2A6DF).addRange(0x2A700, 0x2B738).addRange(0x2B740, 0x2B81D).addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x2F800, 0x2FA1D).addRange(0x30000, 0x3134A);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x531, 0x556).addRange(0x559, 0x58A).addRange(0x58D, 0x58F).addRange(0xFB13, 0xFB17);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x11400, 0x1145B).addRange(0x1145D, 0x11461);\nmodule.exports = set;","const set = require('regenerate')(0x100, 0x102, 0x104, 0x106, 0x108, 0x10A, 0x10C, 0x10E, 0x110, 0x112, 0x114, 0x116, 0x118, 0x11A, 0x11C, 0x11E, 0x120, 0x122, 0x124, 0x126, 0x128, 0x12A, 0x12C, 0x12E, 0x130, 0x132, 0x134, 0x136, 0x139, 0x13B, 0x13D, 0x13F, 0x141, 0x143, 0x145, 0x147, 0x14A, 0x14C, 0x14E, 0x150, 0x152, 0x154, 0x156, 0x158, 0x15A, 0x15C, 0x15E, 0x160, 0x162, 0x164, 0x166, 0x168, 0x16A, 0x16C, 0x16E, 0x170, 0x172, 0x174, 0x176, 0x17B, 0x17D, 0x184, 0x1A2, 0x1A4, 0x1A9, 0x1AC, 0x1B5, 0x1BC, 0x1CD, 0x1CF, 0x1D1, 0x1D3, 0x1D5, 0x1D7, 0x1D9, 0x1DB, 0x1DE, 0x1E0, 0x1E2, 0x1E4, 0x1E6, 0x1E8, 0x1EA, 0x1EC, 0x1EE, 0x1F4, 0x1FA, 0x1FC, 0x1FE, 0x200, 0x202, 0x204, 0x206, 0x208, 0x20A, 0x20C, 0x20E, 0x210, 0x212, 0x214, 0x216, 0x218, 0x21A, 0x21C, 0x21E, 0x220, 0x222, 0x224, 0x226, 0x228, 0x22A, 0x22C, 0x22E, 0x230, 0x232, 0x241, 0x248, 0x24A, 0x24C, 0x24E, 0x370, 0x372, 0x376, 0x37F, 0x386, 0x38C, 0x3CF, 0x3D8, 0x3DA, 0x3DC, 0x3DE, 0x3E0, 0x3E2, 0x3E4, 0x3E6, 0x3E8, 0x3EA, 0x3EC, 0x3EE, 0x3F4, 0x3F7, 0x460, 0x462, 0x464, 0x466, 0x468, 0x46A, 0x46C, 0x46E, 0x470, 0x472, 0x474, 0x476, 0x478, 0x47A, 0x47C, 0x47E, 0x480, 0x48A, 0x48C, 0x48E, 0x490, 0x492, 0x494, 0x496, 0x498, 0x49A, 0x49C, 0x49E, 0x4A0, 0x4A2, 0x4A4, 0x4A6, 0x4A8, 0x4AA, 0x4AC, 0x4AE, 0x4B0, 0x4B2, 0x4B4, 0x4B6, 0x4B8, 0x4BA, 0x4BC, 0x4BE, 0x4C3, 0x4C5, 0x4C7, 0x4C9, 0x4CB, 0x4CD, 0x4D0, 0x4D2, 0x4D4, 0x4D6, 0x4D8, 0x4DA, 0x4DC, 0x4DE, 0x4E0, 0x4E2, 0x4E4, 0x4E6, 0x4E8, 0x4EA, 0x4EC, 0x4EE, 0x4F0, 0x4F2, 0x4F4, 0x4F6, 0x4F8, 0x4FA, 0x4FC, 0x4FE, 0x500, 0x502, 0x504, 0x506, 0x508, 0x50A, 0x50C, 0x50E, 0x510, 0x512, 0x514, 0x516, 0x518, 0x51A, 0x51C, 0x51E, 0x520, 0x522, 0x524, 0x526, 0x528, 0x52A, 0x52C, 0x52E, 0x10C7, 0x10CD, 0x1E00, 0x1E02, 0x1E04, 0x1E06, 0x1E08, 0x1E0A, 0x1E0C, 0x1E0E, 0x1E10, 0x1E12, 0x1E14, 0x1E16, 0x1E18, 0x1E1A, 0x1E1C, 0x1E1E, 0x1E20, 0x1E22, 0x1E24, 0x1E26, 0x1E28, 0x1E2A, 0x1E2C, 0x1E2E, 0x1E30, 0x1E32, 0x1E34, 0x1E36, 0x1E38, 0x1E3A, 0x1E3C, 0x1E3E, 0x1E40, 0x1E42, 0x1E44, 0x1E46, 0x1E48, 0x1E4A, 0x1E4C, 0x1E4E, 0x1E50, 0x1E52, 0x1E54, 0x1E56, 0x1E58, 0x1E5A, 0x1E5C, 0x1E5E, 0x1E60, 0x1E62, 0x1E64, 0x1E66, 0x1E68, 0x1E6A, 0x1E6C, 0x1E6E, 0x1E70, 0x1E72, 0x1E74, 0x1E76, 0x1E78, 0x1E7A, 0x1E7C, 0x1E7E, 0x1E80, 0x1E82, 0x1E84, 0x1E86, 0x1E88, 0x1E8A, 0x1E8C, 0x1E8E, 0x1E90, 0x1E92, 0x1E94, 0x1E9E, 0x1EA0, 0x1EA2, 0x1EA4, 0x1EA6, 0x1EA8, 0x1EAA, 0x1EAC, 0x1EAE, 0x1EB0, 0x1EB2, 0x1EB4, 0x1EB6, 0x1EB8, 0x1EBA, 0x1EBC, 0x1EBE, 0x1EC0, 0x1EC2, 0x1EC4, 0x1EC6, 0x1EC8, 0x1ECA, 0x1ECC, 0x1ECE, 0x1ED0, 0x1ED2, 0x1ED4, 0x1ED6, 0x1ED8, 0x1EDA, 0x1EDC, 0x1EDE, 0x1EE0, 0x1EE2, 0x1EE4, 0x1EE6, 0x1EE8, 0x1EEA, 0x1EEC, 0x1EEE, 0x1EF0, 0x1EF2, 0x1EF4, 0x1EF6, 0x1EF8, 0x1EFA, 0x1EFC, 0x1EFE, 0x1F59, 0x1F5B, 0x1F5D, 0x1F5F, 0x2126, 0x2132, 0x2183, 0x2C60, 0x2C67, 0x2C69, 0x2C6B, 0x2C72, 0x2C75, 0x2C82, 0x2C84, 0x2C86, 0x2C88, 0x2C8A, 0x2C8C, 0x2C8E, 0x2C90, 0x2C92, 0x2C94, 0x2C96, 0x2C98, 0x2C9A, 0x2C9C, 0x2C9E, 0x2CA0, 0x2CA2, 0x2CA4, 0x2CA6, 0x2CA8, 0x2CAA, 0x2CAC, 0x2CAE, 0x2CB0, 0x2CB2, 0x2CB4, 0x2CB6, 0x2CB8, 0x2CBA, 0x2CBC, 0x2CBE, 0x2CC0, 0x2CC2, 0x2CC4, 0x2CC6, 0x2CC8, 0x2CCA, 0x2CCC, 0x2CCE, 0x2CD0, 0x2CD2, 0x2CD4, 0x2CD6, 0x2CD8, 0x2CDA, 0x2CDC, 0x2CDE, 0x2CE0, 0x2CE2, 0x2CEB, 0x2CED, 0x2CF2, 0xA640, 0xA642, 0xA644, 0xA646, 0xA648, 0xA64A, 0xA64C, 0xA64E, 0xA650, 0xA652, 0xA654, 0xA656, 0xA658, 0xA65A, 0xA65C, 0xA65E, 0xA660, 0xA662, 0xA664, 0xA666, 0xA668, 0xA66A, 0xA66C, 0xA680, 0xA682, 0xA684, 0xA686, 0xA688, 0xA68A, 0xA68C, 0xA68E, 0xA690, 0xA692, 0xA694, 0xA696, 0xA698, 0xA69A, 0xA722, 0xA724, 0xA726, 0xA728, 0xA72A, 0xA72C, 0xA72E, 0xA732, 0xA734, 0xA736, 0xA738, 0xA73A, 0xA73C, 0xA73E, 0xA740, 0xA742, 0xA744, 0xA746, 0xA748, 0xA74A, 0xA74C, 0xA74E, 0xA750, 0xA752, 0xA754, 0xA756, 0xA758, 0xA75A, 0xA75C, 0xA75E, 0xA760, 0xA762, 0xA764, 0xA766, 0xA768, 0xA76A, 0xA76C, 0xA76E, 0xA779, 0xA77B, 0xA780, 0xA782, 0xA784, 0xA786, 0xA78B, 0xA78D, 0xA790, 0xA792, 0xA796, 0xA798, 0xA79A, 0xA79C, 0xA79E, 0xA7A0, 0xA7A2, 0xA7A4, 0xA7A6, 0xA7A8, 0xA7B6, 0xA7B8, 0xA7BA, 0xA7BC, 0xA7BE, 0xA7C0, 0xA7C2, 0xA7C9, 0xA7D0, 0xA7D6, 0xA7D8, 0xA7F5);\nset.addRange(0x41, 0x5A).addRange(0xC0, 0xD6).addRange(0xD8, 0xDE).addRange(0x178, 0x179).addRange(0x181, 0x182).addRange(0x186, 0x187).addRange(0x189, 0x18B).addRange(0x18E, 0x191).addRange(0x193, 0x194).addRange(0x196, 0x198).addRange(0x19C, 0x19D).addRange(0x19F, 0x1A0).addRange(0x1A6, 0x1A7).addRange(0x1AE, 0x1AF).addRange(0x1B1, 0x1B3).addRange(0x1B7, 0x1B8).addRange(0x1C4, 0x1C5).addRange(0x1C7, 0x1C8).addRange(0x1CA, 0x1CB).addRange(0x1F1, 0x1F2).addRange(0x1F6, 0x1F8).addRange(0x23A, 0x23B).addRange(0x23D, 0x23E).addRange(0x243, 0x246).addRange(0x388, 0x38A).addRange(0x38E, 0x38F).addRange(0x391, 0x3A1).addRange(0x3A3, 0x3AB).addRange(0x3F9, 0x3FA).addRange(0x3FD, 0x42F).addRange(0x4C0, 0x4C1).addRange(0x531, 0x556).addRange(0x10A0, 0x10C5).addRange(0x13A0, 0x13F5).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1F08, 0x1F0F).addRange(0x1F18, 0x1F1D).addRange(0x1F28, 0x1F2F).addRange(0x1F38, 0x1F3F).addRange(0x1F48, 0x1F4D).addRange(0x1F68, 0x1F6F).addRange(0x1F88, 0x1F8F).addRange(0x1F98, 0x1F9F).addRange(0x1FA8, 0x1FAF).addRange(0x1FB8, 0x1FBC).addRange(0x1FC8, 0x1FCC).addRange(0x1FD8, 0x1FDB).addRange(0x1FE8, 0x1FEC).addRange(0x1FF8, 0x1FFC).addRange(0x212A, 0x212B);\nset.addRange(0x2160, 0x216F).addRange(0x24B6, 0x24CF).addRange(0x2C00, 0x2C2F).addRange(0x2C62, 0x2C64).addRange(0x2C6D, 0x2C70).addRange(0x2C7E, 0x2C80).addRange(0xA77D, 0xA77E).addRange(0xA7AA, 0xA7AE).addRange(0xA7B0, 0xA7B4).addRange(0xA7C4, 0xA7C7).addRange(0xFF21, 0xFF3A).addRange(0x10400, 0x10427).addRange(0x104B0, 0x104D3).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10C80, 0x10CB2).addRange(0x118A0, 0x118BF).addRange(0x16E40, 0x16E5F).addRange(0x1E900, 0x1E921);\nmodule.exports = set;","var createWrap = require('./_createWrap');\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_ARY_FLAG = 128;\n\n/**\n * Creates a function that invokes `func`, with up to `n` arguments,\n * ignoring any additional arguments.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} func The function to cap arguments for.\n * @param {number} [n=func.length] The arity cap.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the new capped function.\n * @example\n *\n * _.map(['6', '8', '10'], _.ary(parseInt, 1));\n * // => [6, 8, 10]\n */\nfunction ary(func, n, guard) {\n n = guard ? undefined : n;\n n = (func && n == null) ? func.length : n;\n return createWrap(func, WRAP_ARY_FLAG, undefined, undefined, undefined, undefined, n);\n}\n\nmodule.exports = ary;\n","const set = require('regenerate')();\nset.addRange(0x10B40, 0x10B55).addRange(0x10B58, 0x10B5F);\nmodule.exports = set;","/**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\nfunction noop() {\n // No operation performed.\n}\n\nmodule.exports = noop;\n","const set = require('regenerate')();\nset.addRange(0x16A70, 0x16ABE).addRange(0x16AC0, 0x16AC9);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0xD800, 0xDFFF);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x11100, 0x11134).addRange(0x11136, 0x11147);\nmodule.exports = set;","var getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar setTag = '[object Set]';\n\n/**\n * The base implementation of `_.isSet` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n */\nfunction baseIsSet(value) {\n return isObjectLike(value) && getTag(value) == setTag;\n}\n\nmodule.exports = baseIsSet;\n","const set = require('regenerate')();\nset.addRange(0xAA80, 0xAAC2).addRange(0xAADB, 0xAADF);\nmodule.exports = set;","var call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","var baseIsEqualDeep = require('./_baseIsEqualDeep'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nmodule.exports = baseIsEqual;\n","const set = require('regenerate')(0x100, 0x102, 0x104, 0x106, 0x108, 0x10A, 0x10C, 0x10E, 0x110, 0x112, 0x114, 0x116, 0x118, 0x11A, 0x11C, 0x11E, 0x120, 0x122, 0x124, 0x126, 0x128, 0x12A, 0x12C, 0x12E, 0x130, 0x132, 0x134, 0x136, 0x139, 0x13B, 0x13D, 0x13F, 0x141, 0x143, 0x145, 0x147, 0x14A, 0x14C, 0x14E, 0x150, 0x152, 0x154, 0x156, 0x158, 0x15A, 0x15C, 0x15E, 0x160, 0x162, 0x164, 0x166, 0x168, 0x16A, 0x16C, 0x16E, 0x170, 0x172, 0x174, 0x176, 0x17B, 0x17D, 0x184, 0x1A2, 0x1A4, 0x1A9, 0x1AC, 0x1B5, 0x1BC, 0x1C4, 0x1C7, 0x1CA, 0x1CD, 0x1CF, 0x1D1, 0x1D3, 0x1D5, 0x1D7, 0x1D9, 0x1DB, 0x1DE, 0x1E0, 0x1E2, 0x1E4, 0x1E6, 0x1E8, 0x1EA, 0x1EC, 0x1EE, 0x1F1, 0x1F4, 0x1FA, 0x1FC, 0x1FE, 0x200, 0x202, 0x204, 0x206, 0x208, 0x20A, 0x20C, 0x20E, 0x210, 0x212, 0x214, 0x216, 0x218, 0x21A, 0x21C, 0x21E, 0x220, 0x222, 0x224, 0x226, 0x228, 0x22A, 0x22C, 0x22E, 0x230, 0x232, 0x241, 0x248, 0x24A, 0x24C, 0x24E, 0x370, 0x372, 0x376, 0x37F, 0x386, 0x38C, 0x3CF, 0x3D8, 0x3DA, 0x3DC, 0x3DE, 0x3E0, 0x3E2, 0x3E4, 0x3E6, 0x3E8, 0x3EA, 0x3EC, 0x3EE, 0x3F4, 0x3F7, 0x460, 0x462, 0x464, 0x466, 0x468, 0x46A, 0x46C, 0x46E, 0x470, 0x472, 0x474, 0x476, 0x478, 0x47A, 0x47C, 0x47E, 0x480, 0x48A, 0x48C, 0x48E, 0x490, 0x492, 0x494, 0x496, 0x498, 0x49A, 0x49C, 0x49E, 0x4A0, 0x4A2, 0x4A4, 0x4A6, 0x4A8, 0x4AA, 0x4AC, 0x4AE, 0x4B0, 0x4B2, 0x4B4, 0x4B6, 0x4B8, 0x4BA, 0x4BC, 0x4BE, 0x4C3, 0x4C5, 0x4C7, 0x4C9, 0x4CB, 0x4CD, 0x4D0, 0x4D2, 0x4D4, 0x4D6, 0x4D8, 0x4DA, 0x4DC, 0x4DE, 0x4E0, 0x4E2, 0x4E4, 0x4E6, 0x4E8, 0x4EA, 0x4EC, 0x4EE, 0x4F0, 0x4F2, 0x4F4, 0x4F6, 0x4F8, 0x4FA, 0x4FC, 0x4FE, 0x500, 0x502, 0x504, 0x506, 0x508, 0x50A, 0x50C, 0x50E, 0x510, 0x512, 0x514, 0x516, 0x518, 0x51A, 0x51C, 0x51E, 0x520, 0x522, 0x524, 0x526, 0x528, 0x52A, 0x52C, 0x52E, 0x10C7, 0x10CD, 0x1E00, 0x1E02, 0x1E04, 0x1E06, 0x1E08, 0x1E0A, 0x1E0C, 0x1E0E, 0x1E10, 0x1E12, 0x1E14, 0x1E16, 0x1E18, 0x1E1A, 0x1E1C, 0x1E1E, 0x1E20, 0x1E22, 0x1E24, 0x1E26, 0x1E28, 0x1E2A, 0x1E2C, 0x1E2E, 0x1E30, 0x1E32, 0x1E34, 0x1E36, 0x1E38, 0x1E3A, 0x1E3C, 0x1E3E, 0x1E40, 0x1E42, 0x1E44, 0x1E46, 0x1E48, 0x1E4A, 0x1E4C, 0x1E4E, 0x1E50, 0x1E52, 0x1E54, 0x1E56, 0x1E58, 0x1E5A, 0x1E5C, 0x1E5E, 0x1E60, 0x1E62, 0x1E64, 0x1E66, 0x1E68, 0x1E6A, 0x1E6C, 0x1E6E, 0x1E70, 0x1E72, 0x1E74, 0x1E76, 0x1E78, 0x1E7A, 0x1E7C, 0x1E7E, 0x1E80, 0x1E82, 0x1E84, 0x1E86, 0x1E88, 0x1E8A, 0x1E8C, 0x1E8E, 0x1E90, 0x1E92, 0x1E94, 0x1E9E, 0x1EA0, 0x1EA2, 0x1EA4, 0x1EA6, 0x1EA8, 0x1EAA, 0x1EAC, 0x1EAE, 0x1EB0, 0x1EB2, 0x1EB4, 0x1EB6, 0x1EB8, 0x1EBA, 0x1EBC, 0x1EBE, 0x1EC0, 0x1EC2, 0x1EC4, 0x1EC6, 0x1EC8, 0x1ECA, 0x1ECC, 0x1ECE, 0x1ED0, 0x1ED2, 0x1ED4, 0x1ED6, 0x1ED8, 0x1EDA, 0x1EDC, 0x1EDE, 0x1EE0, 0x1EE2, 0x1EE4, 0x1EE6, 0x1EE8, 0x1EEA, 0x1EEC, 0x1EEE, 0x1EF0, 0x1EF2, 0x1EF4, 0x1EF6, 0x1EF8, 0x1EFA, 0x1EFC, 0x1EFE, 0x1F59, 0x1F5B, 0x1F5D, 0x1F5F, 0x2102, 0x2107, 0x2115, 0x2124, 0x2126, 0x2128, 0x2145, 0x2183, 0x2C60, 0x2C67, 0x2C69, 0x2C6B, 0x2C72, 0x2C75, 0x2C82, 0x2C84, 0x2C86, 0x2C88, 0x2C8A, 0x2C8C, 0x2C8E, 0x2C90, 0x2C92, 0x2C94, 0x2C96, 0x2C98, 0x2C9A, 0x2C9C, 0x2C9E, 0x2CA0, 0x2CA2, 0x2CA4, 0x2CA6, 0x2CA8, 0x2CAA, 0x2CAC, 0x2CAE, 0x2CB0, 0x2CB2, 0x2CB4, 0x2CB6, 0x2CB8, 0x2CBA, 0x2CBC, 0x2CBE, 0x2CC0, 0x2CC2, 0x2CC4, 0x2CC6, 0x2CC8, 0x2CCA, 0x2CCC, 0x2CCE, 0x2CD0, 0x2CD2, 0x2CD4, 0x2CD6, 0x2CD8, 0x2CDA, 0x2CDC, 0x2CDE, 0x2CE0, 0x2CE2, 0x2CEB, 0x2CED, 0x2CF2, 0xA640, 0xA642, 0xA644, 0xA646, 0xA648, 0xA64A, 0xA64C, 0xA64E, 0xA650, 0xA652, 0xA654, 0xA656, 0xA658, 0xA65A, 0xA65C, 0xA65E, 0xA660, 0xA662, 0xA664, 0xA666, 0xA668, 0xA66A, 0xA66C, 0xA680, 0xA682, 0xA684, 0xA686, 0xA688, 0xA68A, 0xA68C, 0xA68E, 0xA690, 0xA692, 0xA694, 0xA696, 0xA698, 0xA69A, 0xA722, 0xA724, 0xA726, 0xA728, 0xA72A, 0xA72C, 0xA72E, 0xA732, 0xA734, 0xA736, 0xA738, 0xA73A, 0xA73C, 0xA73E, 0xA740, 0xA742, 0xA744, 0xA746, 0xA748, 0xA74A, 0xA74C, 0xA74E, 0xA750, 0xA752, 0xA754, 0xA756, 0xA758, 0xA75A, 0xA75C, 0xA75E, 0xA760, 0xA762, 0xA764, 0xA766, 0xA768, 0xA76A, 0xA76C, 0xA76E, 0xA779, 0xA77B, 0xA780, 0xA782, 0xA784, 0xA786, 0xA78B, 0xA78D, 0xA790, 0xA792, 0xA796, 0xA798, 0xA79A, 0xA79C, 0xA79E, 0xA7A0, 0xA7A2, 0xA7A4, 0xA7A6, 0xA7A8, 0xA7B6, 0xA7B8, 0xA7BA, 0xA7BC, 0xA7BE, 0xA7C0, 0xA7C2, 0xA7C9, 0xA7D0, 0xA7D6, 0xA7D8, 0xA7F5, 0x1D49C, 0x1D4A2, 0x1D546, 0x1D7CA);\nset.addRange(0x41, 0x5A).addRange(0xC0, 0xD6).addRange(0xD8, 0xDE).addRange(0x178, 0x179).addRange(0x181, 0x182).addRange(0x186, 0x187).addRange(0x189, 0x18B).addRange(0x18E, 0x191).addRange(0x193, 0x194).addRange(0x196, 0x198).addRange(0x19C, 0x19D).addRange(0x19F, 0x1A0).addRange(0x1A6, 0x1A7).addRange(0x1AE, 0x1AF).addRange(0x1B1, 0x1B3).addRange(0x1B7, 0x1B8).addRange(0x1F6, 0x1F8).addRange(0x23A, 0x23B).addRange(0x23D, 0x23E).addRange(0x243, 0x246).addRange(0x388, 0x38A).addRange(0x38E, 0x38F).addRange(0x391, 0x3A1).addRange(0x3A3, 0x3AB).addRange(0x3D2, 0x3D4).addRange(0x3F9, 0x3FA).addRange(0x3FD, 0x42F).addRange(0x4C0, 0x4C1).addRange(0x531, 0x556).addRange(0x10A0, 0x10C5).addRange(0x13A0, 0x13F5).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1F08, 0x1F0F).addRange(0x1F18, 0x1F1D).addRange(0x1F28, 0x1F2F).addRange(0x1F38, 0x1F3F).addRange(0x1F48, 0x1F4D).addRange(0x1F68, 0x1F6F).addRange(0x1FB8, 0x1FBB).addRange(0x1FC8, 0x1FCB).addRange(0x1FD8, 0x1FDB).addRange(0x1FE8, 0x1FEC).addRange(0x1FF8, 0x1FFB).addRange(0x210B, 0x210D).addRange(0x2110, 0x2112).addRange(0x2119, 0x211D).addRange(0x212A, 0x212D).addRange(0x2130, 0x2133).addRange(0x213E, 0x213F).addRange(0x2160, 0x216F);\nset.addRange(0x24B6, 0x24CF).addRange(0x2C00, 0x2C2F).addRange(0x2C62, 0x2C64).addRange(0x2C6D, 0x2C70).addRange(0x2C7E, 0x2C80).addRange(0xA77D, 0xA77E).addRange(0xA7AA, 0xA7AE).addRange(0xA7B0, 0xA7B4).addRange(0xA7C4, 0xA7C7).addRange(0xFF21, 0xFF3A).addRange(0x10400, 0x10427).addRange(0x104B0, 0x104D3).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10C80, 0x10CB2).addRange(0x118A0, 0x118BF).addRange(0x16E40, 0x16E5F).addRange(0x1D400, 0x1D419).addRange(0x1D434, 0x1D44D).addRange(0x1D468, 0x1D481).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B5).addRange(0x1D4D0, 0x1D4E9).addRange(0x1D504, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D538, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D56C, 0x1D585).addRange(0x1D5A0, 0x1D5B9).addRange(0x1D5D4, 0x1D5ED).addRange(0x1D608, 0x1D621).addRange(0x1D63C, 0x1D655).addRange(0x1D670, 0x1D689).addRange(0x1D6A8, 0x1D6C0).addRange(0x1D6E2, 0x1D6FA).addRange(0x1D71C, 0x1D734).addRange(0x1D756, 0x1D76E).addRange(0x1D790, 0x1D7A8).addRange(0x1E900, 0x1E921).addRange(0x1F130, 0x1F149).addRange(0x1F150, 0x1F169).addRange(0x1F170, 0x1F189);\nmodule.exports = set;","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","const set = require('regenerate')();\nset.addRange(0xA880, 0xA8C5).addRange(0xA8CE, 0xA8D9);\nmodule.exports = set;","const set = require('regenerate')(0xAD0);\nset.addRange(0xA81, 0xA83).addRange(0xA85, 0xA8D).addRange(0xA8F, 0xA91).addRange(0xA93, 0xAA8).addRange(0xAAA, 0xAB0).addRange(0xAB2, 0xAB3).addRange(0xAB5, 0xAB9).addRange(0xABC, 0xAC5).addRange(0xAC7, 0xAC9).addRange(0xACB, 0xACD).addRange(0xAE0, 0xAE3).addRange(0xAE6, 0xAF1).addRange(0xAF9, 0xAFF);\nmodule.exports = set;","const set = require('regenerate')(0x149, 0x673, 0xF77, 0xF79, 0xE0001);\nset.addRange(0x17A3, 0x17A4).addRange(0x206A, 0x206F).addRange(0x2329, 0x232A);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x1735, 0x1736).addRange(0x1740, 0x1753);\nmodule.exports = set;","var baseSetToString = require('./_baseSetToString'),\n shortOut = require('./_shortOut');\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nmodule.exports = setToString;\n","const set = require('regenerate')();\nset.addRange(0x10980, 0x1099F);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x7C0, 0x7FA).addRange(0x7FD, 0x7FF);\nmodule.exports = set;","const set = require('regenerate')(0x1CF2);\nset.addRange(0x951, 0x952).addRange(0x964, 0x965).addRange(0xA830, 0xA839).addRange(0x11480, 0x114C7).addRange(0x114D0, 0x114D9);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x1740, 0x1753);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x10280, 0x1029C);\nmodule.exports = set;","var cloneArrayBuffer = require('./_cloneArrayBuffer'),\n cloneDataView = require('./_cloneDataView'),\n cloneRegExp = require('./_cloneRegExp'),\n cloneSymbol = require('./_cloneSymbol'),\n cloneTypedArray = require('./_cloneTypedArray');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return new Ctor;\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return new Ctor;\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\n\nmodule.exports = initCloneByTag;\n","const set = require('regenerate')(0x1CDA);\nset.addRange(0x951, 0x952).addRange(0x964, 0x965).addRange(0xD00, 0xD0C).addRange(0xD0E, 0xD10).addRange(0xD12, 0xD44).addRange(0xD46, 0xD48).addRange(0xD4A, 0xD4F).addRange(0xD54, 0xD63).addRange(0xD66, 0xD7F).addRange(0xA830, 0xA832);\nmodule.exports = set;","/**\n * The default argument placeholder value for methods.\n *\n * @type {Object}\n */\nmodule.exports = {};\n","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","const set = require('regenerate')(0xB5, 0x100, 0x102, 0x104, 0x106, 0x108, 0x10A, 0x10C, 0x10E, 0x110, 0x112, 0x114, 0x116, 0x118, 0x11A, 0x11C, 0x11E, 0x120, 0x122, 0x124, 0x126, 0x128, 0x12A, 0x12C, 0x12E, 0x130, 0x132, 0x134, 0x136, 0x139, 0x13B, 0x13D, 0x13F, 0x141, 0x143, 0x145, 0x147, 0x14C, 0x14E, 0x150, 0x152, 0x154, 0x156, 0x158, 0x15A, 0x15C, 0x15E, 0x160, 0x162, 0x164, 0x166, 0x168, 0x16A, 0x16C, 0x16E, 0x170, 0x172, 0x174, 0x176, 0x17B, 0x17D, 0x17F, 0x184, 0x1A2, 0x1A4, 0x1A9, 0x1AC, 0x1B5, 0x1BC, 0x1CD, 0x1CF, 0x1D1, 0x1D3, 0x1D5, 0x1D7, 0x1D9, 0x1DB, 0x1DE, 0x1E0, 0x1E2, 0x1E4, 0x1E6, 0x1E8, 0x1EA, 0x1EC, 0x1EE, 0x1F4, 0x1FA, 0x1FC, 0x1FE, 0x200, 0x202, 0x204, 0x206, 0x208, 0x20A, 0x20C, 0x20E, 0x210, 0x212, 0x214, 0x216, 0x218, 0x21A, 0x21C, 0x21E, 0x220, 0x222, 0x224, 0x226, 0x228, 0x22A, 0x22C, 0x22E, 0x230, 0x232, 0x241, 0x248, 0x24A, 0x24C, 0x24E, 0x345, 0x370, 0x372, 0x376, 0x37F, 0x386, 0x38C, 0x3C2, 0x3D8, 0x3DA, 0x3DC, 0x3DE, 0x3E0, 0x3E2, 0x3E4, 0x3E6, 0x3E8, 0x3EA, 0x3EC, 0x3EE, 0x3F7, 0x460, 0x462, 0x464, 0x466, 0x468, 0x46A, 0x46C, 0x46E, 0x470, 0x472, 0x474, 0x476, 0x478, 0x47A, 0x47C, 0x47E, 0x480, 0x48A, 0x48C, 0x48E, 0x490, 0x492, 0x494, 0x496, 0x498, 0x49A, 0x49C, 0x49E, 0x4A0, 0x4A2, 0x4A4, 0x4A6, 0x4A8, 0x4AA, 0x4AC, 0x4AE, 0x4B0, 0x4B2, 0x4B4, 0x4B6, 0x4B8, 0x4BA, 0x4BC, 0x4BE, 0x4C3, 0x4C5, 0x4C7, 0x4C9, 0x4CB, 0x4CD, 0x4D0, 0x4D2, 0x4D4, 0x4D6, 0x4D8, 0x4DA, 0x4DC, 0x4DE, 0x4E0, 0x4E2, 0x4E4, 0x4E6, 0x4E8, 0x4EA, 0x4EC, 0x4EE, 0x4F0, 0x4F2, 0x4F4, 0x4F6, 0x4F8, 0x4FA, 0x4FC, 0x4FE, 0x500, 0x502, 0x504, 0x506, 0x508, 0x50A, 0x50C, 0x50E, 0x510, 0x512, 0x514, 0x516, 0x518, 0x51A, 0x51C, 0x51E, 0x520, 0x522, 0x524, 0x526, 0x528, 0x52A, 0x52C, 0x52E, 0x587, 0x10C7, 0x10CD, 0x1E00, 0x1E02, 0x1E04, 0x1E06, 0x1E08, 0x1E0A, 0x1E0C, 0x1E0E, 0x1E10, 0x1E12, 0x1E14, 0x1E16, 0x1E18, 0x1E1A, 0x1E1C, 0x1E1E, 0x1E20, 0x1E22, 0x1E24, 0x1E26, 0x1E28, 0x1E2A, 0x1E2C, 0x1E2E, 0x1E30, 0x1E32, 0x1E34, 0x1E36, 0x1E38, 0x1E3A, 0x1E3C, 0x1E3E, 0x1E40, 0x1E42, 0x1E44, 0x1E46, 0x1E48, 0x1E4A, 0x1E4C, 0x1E4E, 0x1E50, 0x1E52, 0x1E54, 0x1E56, 0x1E58, 0x1E5A, 0x1E5C, 0x1E5E, 0x1E60, 0x1E62, 0x1E64, 0x1E66, 0x1E68, 0x1E6A, 0x1E6C, 0x1E6E, 0x1E70, 0x1E72, 0x1E74, 0x1E76, 0x1E78, 0x1E7A, 0x1E7C, 0x1E7E, 0x1E80, 0x1E82, 0x1E84, 0x1E86, 0x1E88, 0x1E8A, 0x1E8C, 0x1E8E, 0x1E90, 0x1E92, 0x1E94, 0x1E9E, 0x1EA0, 0x1EA2, 0x1EA4, 0x1EA6, 0x1EA8, 0x1EAA, 0x1EAC, 0x1EAE, 0x1EB0, 0x1EB2, 0x1EB4, 0x1EB6, 0x1EB8, 0x1EBA, 0x1EBC, 0x1EBE, 0x1EC0, 0x1EC2, 0x1EC4, 0x1EC6, 0x1EC8, 0x1ECA, 0x1ECC, 0x1ECE, 0x1ED0, 0x1ED2, 0x1ED4, 0x1ED6, 0x1ED8, 0x1EDA, 0x1EDC, 0x1EDE, 0x1EE0, 0x1EE2, 0x1EE4, 0x1EE6, 0x1EE8, 0x1EEA, 0x1EEC, 0x1EEE, 0x1EF0, 0x1EF2, 0x1EF4, 0x1EF6, 0x1EF8, 0x1EFA, 0x1EFC, 0x1EFE, 0x1F59, 0x1F5B, 0x1F5D, 0x1F5F, 0x2126, 0x2132, 0x2183, 0x2C60, 0x2C67, 0x2C69, 0x2C6B, 0x2C72, 0x2C75, 0x2C82, 0x2C84, 0x2C86, 0x2C88, 0x2C8A, 0x2C8C, 0x2C8E, 0x2C90, 0x2C92, 0x2C94, 0x2C96, 0x2C98, 0x2C9A, 0x2C9C, 0x2C9E, 0x2CA0, 0x2CA2, 0x2CA4, 0x2CA6, 0x2CA8, 0x2CAA, 0x2CAC, 0x2CAE, 0x2CB0, 0x2CB2, 0x2CB4, 0x2CB6, 0x2CB8, 0x2CBA, 0x2CBC, 0x2CBE, 0x2CC0, 0x2CC2, 0x2CC4, 0x2CC6, 0x2CC8, 0x2CCA, 0x2CCC, 0x2CCE, 0x2CD0, 0x2CD2, 0x2CD4, 0x2CD6, 0x2CD8, 0x2CDA, 0x2CDC, 0x2CDE, 0x2CE0, 0x2CE2, 0x2CEB, 0x2CED, 0x2CF2, 0xA640, 0xA642, 0xA644, 0xA646, 0xA648, 0xA64A, 0xA64C, 0xA64E, 0xA650, 0xA652, 0xA654, 0xA656, 0xA658, 0xA65A, 0xA65C, 0xA65E, 0xA660, 0xA662, 0xA664, 0xA666, 0xA668, 0xA66A, 0xA66C, 0xA680, 0xA682, 0xA684, 0xA686, 0xA688, 0xA68A, 0xA68C, 0xA68E, 0xA690, 0xA692, 0xA694, 0xA696, 0xA698, 0xA69A, 0xA722, 0xA724, 0xA726, 0xA728, 0xA72A, 0xA72C, 0xA72E, 0xA732, 0xA734, 0xA736, 0xA738, 0xA73A, 0xA73C, 0xA73E, 0xA740, 0xA742, 0xA744, 0xA746, 0xA748, 0xA74A, 0xA74C, 0xA74E, 0xA750, 0xA752, 0xA754, 0xA756, 0xA758, 0xA75A, 0xA75C, 0xA75E, 0xA760, 0xA762, 0xA764, 0xA766, 0xA768, 0xA76A, 0xA76C, 0xA76E, 0xA779, 0xA77B, 0xA780, 0xA782, 0xA784, 0xA786, 0xA78B, 0xA78D, 0xA790, 0xA792, 0xA796, 0xA798, 0xA79A, 0xA79C, 0xA79E, 0xA7A0, 0xA7A2, 0xA7A4, 0xA7A6, 0xA7A8, 0xA7B6, 0xA7B8, 0xA7BA, 0xA7BC, 0xA7BE, 0xA7C0, 0xA7C2, 0xA7C9, 0xA7D0, 0xA7D6, 0xA7D8, 0xA7F5);\nset.addRange(0x41, 0x5A).addRange(0xC0, 0xD6).addRange(0xD8, 0xDF).addRange(0x149, 0x14A).addRange(0x178, 0x179).addRange(0x181, 0x182).addRange(0x186, 0x187).addRange(0x189, 0x18B).addRange(0x18E, 0x191).addRange(0x193, 0x194).addRange(0x196, 0x198).addRange(0x19C, 0x19D).addRange(0x19F, 0x1A0).addRange(0x1A6, 0x1A7).addRange(0x1AE, 0x1AF).addRange(0x1B1, 0x1B3).addRange(0x1B7, 0x1B8).addRange(0x1C4, 0x1C5).addRange(0x1C7, 0x1C8).addRange(0x1CA, 0x1CB).addRange(0x1F1, 0x1F2).addRange(0x1F6, 0x1F8).addRange(0x23A, 0x23B).addRange(0x23D, 0x23E).addRange(0x243, 0x246).addRange(0x388, 0x38A).addRange(0x38E, 0x38F).addRange(0x391, 0x3A1).addRange(0x3A3, 0x3AB).addRange(0x3CF, 0x3D1).addRange(0x3D5, 0x3D6).addRange(0x3F0, 0x3F1).addRange(0x3F4, 0x3F5).addRange(0x3F9, 0x3FA).addRange(0x3FD, 0x42F).addRange(0x4C0, 0x4C1).addRange(0x531, 0x556).addRange(0x10A0, 0x10C5).addRange(0x13F8, 0x13FD).addRange(0x1C80, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1E9A, 0x1E9B).addRange(0x1F08, 0x1F0F).addRange(0x1F18, 0x1F1D).addRange(0x1F28, 0x1F2F).addRange(0x1F38, 0x1F3F).addRange(0x1F48, 0x1F4D).addRange(0x1F68, 0x1F6F).addRange(0x1F80, 0x1FAF).addRange(0x1FB2, 0x1FB4);\nset.addRange(0x1FB7, 0x1FBC).addRange(0x1FC2, 0x1FC4).addRange(0x1FC7, 0x1FCC).addRange(0x1FD8, 0x1FDB).addRange(0x1FE8, 0x1FEC).addRange(0x1FF2, 0x1FF4).addRange(0x1FF7, 0x1FFC).addRange(0x212A, 0x212B).addRange(0x2160, 0x216F).addRange(0x24B6, 0x24CF).addRange(0x2C00, 0x2C2F).addRange(0x2C62, 0x2C64).addRange(0x2C6D, 0x2C70).addRange(0x2C7E, 0x2C80).addRange(0xA77D, 0xA77E).addRange(0xA7AA, 0xA7AE).addRange(0xA7B0, 0xA7B4).addRange(0xA7C4, 0xA7C7).addRange(0xAB70, 0xABBF).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFF21, 0xFF3A).addRange(0x10400, 0x10427).addRange(0x104B0, 0x104D3).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10C80, 0x10CB2).addRange(0x118A0, 0x118BF).addRange(0x16E40, 0x16E5F).addRange(0x1E900, 0x1E921);\nmodule.exports = set;","module.exports = false;\n","const set = require('regenerate')();\nset.addRange(0x1E800, 0x1E8C4).addRange(0x1E8C7, 0x1E8D6);\nmodule.exports = set;","var LazyWrapper = require('./_LazyWrapper'),\n LodashWrapper = require('./_LodashWrapper'),\n copyArray = require('./_copyArray');\n\n/**\n * Creates a clone of `wrapper`.\n *\n * @private\n * @param {Object} wrapper The wrapper to clone.\n * @returns {Object} Returns the cloned wrapper.\n */\nfunction wrapperClone(wrapper) {\n if (wrapper instanceof LazyWrapper) {\n return wrapper.clone();\n }\n var result = new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__);\n result.__actions__ = copyArray(wrapper.__actions__);\n result.__index__ = wrapper.__index__;\n result.__values__ = wrapper.__values__;\n return result;\n}\n\nmodule.exports = wrapperClone;\n","const set = require('regenerate')();\nset.addRange(0x10500, 0x10527);\nmodule.exports = set;","module.exports = require('./flow');\n","/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\nmodule.exports = cacheHas;\n","const set = require('regenerate')();\nset.addRange(0x10300, 0x10323).addRange(0x1032D, 0x1032F);\nmodule.exports = set;","const set = require('regenerate')(0xC5D);\nset.addRange(0xC00, 0xC0C).addRange(0xC0E, 0xC10).addRange(0xC12, 0xC28).addRange(0xC2A, 0xC39).addRange(0xC3C, 0xC44).addRange(0xC46, 0xC48).addRange(0xC4A, 0xC4D).addRange(0xC55, 0xC56).addRange(0xC58, 0xC5A).addRange(0xC60, 0xC63).addRange(0xC66, 0xC6F).addRange(0xC77, 0xC7F);\nmodule.exports = set;","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","const set = require('regenerate')();\nset.addRange(0xA980, 0xA9CD).addRange(0xA9CF, 0xA9D9).addRange(0xA9DE, 0xA9DF);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x10C00, 0x10C48);\nmodule.exports = set;","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","var flatten = require('./flatten'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * A specialized version of `baseRest` which flattens the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @returns {Function} Returns the new function.\n */\nfunction flatRest(func) {\n return setToString(overRest(func, undefined, flatten), func + '');\n}\n\nmodule.exports = flatRest;\n","var global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n","const set = require('regenerate')();\nset.addRange(0x1B80, 0x1BBF).addRange(0x1CC0, 0x1CC7);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x1E100, 0x1E12C).addRange(0x1E130, 0x1E13D).addRange(0x1E140, 0x1E149).addRange(0x1E14E, 0x1E14F);\nmodule.exports = set;","const plugins = require(`./api-runner-browser-plugins`)\nconst {\n getResourcesForPathname,\n getResourcesForPathnameSync,\n getResourceURLsForPathname,\n loadPage,\n loadPageSync,\n} = require(`./loader`).publicLoader\n\nexports.apiRunner = (api, args = {}, defaultReturn, argTransform) => {\n // Hooks for gatsby-cypress's API handler\n if (process.env.CYPRESS_SUPPORT) {\n if (window.___apiHandler) {\n window.___apiHandler(api)\n } else if (window.___resolvedAPIs) {\n window.___resolvedAPIs.push(api)\n } else {\n window.___resolvedAPIs = [api]\n }\n }\n\n let results = plugins.map(plugin => {\n if (!plugin.plugin[api]) {\n return undefined\n }\n\n // Deprecated April 2019. Use `loadPageSync` instead\n args.getResourcesForPathnameSync = getResourcesForPathnameSync\n // Deprecated April 2019. Use `loadPage` instead\n args.getResourcesForPathname = getResourcesForPathname\n args.getResourceURLsForPathname = getResourceURLsForPathname\n args.loadPage = loadPage\n args.loadPageSync = loadPageSync\n\n const result = plugin.plugin[api](args, plugin.options)\n if (result && argTransform) {\n args = argTransform({ args, result, plugin })\n }\n return result\n })\n\n // Filter out undefined results.\n results = results.filter(result => typeof result !== `undefined`)\n\n if (results.length > 0) {\n return results\n } else if (defaultReturn) {\n return [defaultReturn]\n } else {\n return []\n }\n}\n\nexports.apiRunnerAsync = (api, args, defaultReturn) =>\n plugins.reduce(\n (previous, next) =>\n next.plugin[api]\n ? previous.then(() => next.plugin[api](args, next.options))\n : previous,\n Promise.resolve()\n )\n","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n","/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * Creates an array that is the composition of partially applied arguments,\n * placeholders, and provided arguments into a single array of arguments.\n *\n * @private\n * @param {Array} args The provided arguments.\n * @param {Array} partials The arguments to prepend to those provided.\n * @param {Array} holders The `partials` placeholder indexes.\n * @params {boolean} [isCurried] Specify composing for a curried function.\n * @returns {Array} Returns the new array of composed arguments.\n */\nfunction composeArgs(args, partials, holders, isCurried) {\n var argsIndex = -1,\n argsLength = args.length,\n holdersLength = holders.length,\n leftIndex = -1,\n leftLength = partials.length,\n rangeLength = nativeMax(argsLength - holdersLength, 0),\n result = Array(leftLength + rangeLength),\n isUncurried = !isCurried;\n\n while (++leftIndex < leftLength) {\n result[leftIndex] = partials[leftIndex];\n }\n while (++argsIndex < holdersLength) {\n if (isUncurried || argsIndex < argsLength) {\n result[holders[argsIndex]] = args[argsIndex];\n }\n }\n while (rangeLength--) {\n result[leftIndex++] = args[argsIndex++];\n }\n return result;\n}\n\nmodule.exports = composeArgs;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","const set = require('regenerate')(0x21, 0x2E, 0x3F, 0x589, 0x6D4, 0x7F9, 0x837, 0x839, 0x1362, 0x166E, 0x1803, 0x1809, 0x2E2E, 0x2E3C, 0x3002, 0xA4FF, 0xA6F3, 0xA6F7, 0xA92F, 0xABEB, 0xFE52, 0xFF01, 0xFF0E, 0xFF1F, 0xFF61, 0x111CD, 0x112A9, 0x11944, 0x11946, 0x16AF5, 0x16B44, 0x16E98, 0x1BC9F, 0x1DA88);\nset.addRange(0x61D, 0x61F).addRange(0x700, 0x702).addRange(0x83D, 0x83E).addRange(0x964, 0x965).addRange(0x104A, 0x104B).addRange(0x1367, 0x1368).addRange(0x1735, 0x1736).addRange(0x1944, 0x1945).addRange(0x1AA8, 0x1AAB).addRange(0x1B5A, 0x1B5B).addRange(0x1B5E, 0x1B5F).addRange(0x1B7D, 0x1B7E).addRange(0x1C3B, 0x1C3C).addRange(0x1C7E, 0x1C7F).addRange(0x203C, 0x203D).addRange(0x2047, 0x2049).addRange(0x2E53, 0x2E54).addRange(0xA60E, 0xA60F).addRange(0xA876, 0xA877).addRange(0xA8CE, 0xA8CF).addRange(0xA9C8, 0xA9C9).addRange(0xAA5D, 0xAA5F).addRange(0xAAF0, 0xAAF1).addRange(0xFE56, 0xFE57).addRange(0x10A56, 0x10A57).addRange(0x10F55, 0x10F59).addRange(0x10F86, 0x10F89).addRange(0x11047, 0x11048).addRange(0x110BE, 0x110C1).addRange(0x11141, 0x11143).addRange(0x111C5, 0x111C6).addRange(0x111DE, 0x111DF).addRange(0x11238, 0x11239).addRange(0x1123B, 0x1123C).addRange(0x1144B, 0x1144C).addRange(0x115C2, 0x115C3).addRange(0x115C9, 0x115D7).addRange(0x11641, 0x11642).addRange(0x1173C, 0x1173E).addRange(0x11A42, 0x11A43).addRange(0x11A9B, 0x11A9C).addRange(0x11C41, 0x11C42).addRange(0x11EF7, 0x11EF8).addRange(0x16A6E, 0x16A6F).addRange(0x16B37, 0x16B38);\nmodule.exports = set;","const set = require('regenerate')(0x640);\nset.addRange(0x10B80, 0x10B91).addRange(0x10B99, 0x10B9C).addRange(0x10BA9, 0x10BAF);\nmodule.exports = set;","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nmodule.exports = cloneTypedArray;\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","const set = require('regenerate')(0x5BF, 0x5C7, 0x670, 0x711, 0x7FD, 0x9BC, 0x9D7, 0x9FE, 0xA3C, 0xA51, 0xA75, 0xABC, 0xB3C, 0xB82, 0xBD7, 0xC3C, 0xCBC, 0xD57, 0xDCA, 0xDD6, 0xE31, 0xEB1, 0xF35, 0xF37, 0xF39, 0xFC6, 0x108F, 0x17DD, 0x180F, 0x18A9, 0x1A7F, 0x1CED, 0x1CF4, 0x2D7F, 0xA802, 0xA806, 0xA80B, 0xA82C, 0xA8FF, 0xA9E5, 0xAA43, 0xAAB0, 0xAAC1, 0xFB1E, 0x101FD, 0x102E0, 0x10A3F, 0x11070, 0x110C2, 0x11173, 0x1123E, 0x11357, 0x1145E, 0x11940, 0x119E4, 0x11A47, 0x11D3A, 0x11D47, 0x16F4F, 0x16FE4, 0x1DA75, 0x1DA84, 0x1E2AE);\nset.addRange(0x300, 0x36F).addRange(0x483, 0x489).addRange(0x591, 0x5BD).addRange(0x5C1, 0x5C2).addRange(0x5C4, 0x5C5).addRange(0x610, 0x61A).addRange(0x64B, 0x65F).addRange(0x6D6, 0x6DC).addRange(0x6DF, 0x6E4).addRange(0x6E7, 0x6E8).addRange(0x6EA, 0x6ED).addRange(0x730, 0x74A).addRange(0x7A6, 0x7B0).addRange(0x7EB, 0x7F3).addRange(0x816, 0x819).addRange(0x81B, 0x823).addRange(0x825, 0x827).addRange(0x829, 0x82D).addRange(0x859, 0x85B).addRange(0x898, 0x89F).addRange(0x8CA, 0x8E1).addRange(0x8E3, 0x903).addRange(0x93A, 0x93C).addRange(0x93E, 0x94F).addRange(0x951, 0x957).addRange(0x962, 0x963).addRange(0x981, 0x983).addRange(0x9BE, 0x9C4).addRange(0x9C7, 0x9C8).addRange(0x9CB, 0x9CD).addRange(0x9E2, 0x9E3).addRange(0xA01, 0xA03).addRange(0xA3E, 0xA42).addRange(0xA47, 0xA48).addRange(0xA4B, 0xA4D).addRange(0xA70, 0xA71).addRange(0xA81, 0xA83).addRange(0xABE, 0xAC5).addRange(0xAC7, 0xAC9).addRange(0xACB, 0xACD).addRange(0xAE2, 0xAE3).addRange(0xAFA, 0xAFF).addRange(0xB01, 0xB03).addRange(0xB3E, 0xB44).addRange(0xB47, 0xB48).addRange(0xB4B, 0xB4D).addRange(0xB55, 0xB57).addRange(0xB62, 0xB63).addRange(0xBBE, 0xBC2).addRange(0xBC6, 0xBC8).addRange(0xBCA, 0xBCD);\nset.addRange(0xC00, 0xC04).addRange(0xC3E, 0xC44).addRange(0xC46, 0xC48).addRange(0xC4A, 0xC4D).addRange(0xC55, 0xC56).addRange(0xC62, 0xC63).addRange(0xC81, 0xC83).addRange(0xCBE, 0xCC4).addRange(0xCC6, 0xCC8).addRange(0xCCA, 0xCCD).addRange(0xCD5, 0xCD6).addRange(0xCE2, 0xCE3).addRange(0xD00, 0xD03).addRange(0xD3B, 0xD3C).addRange(0xD3E, 0xD44).addRange(0xD46, 0xD48).addRange(0xD4A, 0xD4D).addRange(0xD62, 0xD63).addRange(0xD81, 0xD83).addRange(0xDCF, 0xDD4).addRange(0xDD8, 0xDDF).addRange(0xDF2, 0xDF3).addRange(0xE34, 0xE3A).addRange(0xE47, 0xE4E).addRange(0xEB4, 0xEBC).addRange(0xEC8, 0xECD).addRange(0xF18, 0xF19).addRange(0xF3E, 0xF3F).addRange(0xF71, 0xF84).addRange(0xF86, 0xF87).addRange(0xF8D, 0xF97).addRange(0xF99, 0xFBC).addRange(0x102B, 0x103E).addRange(0x1056, 0x1059).addRange(0x105E, 0x1060).addRange(0x1062, 0x1064).addRange(0x1067, 0x106D).addRange(0x1071, 0x1074).addRange(0x1082, 0x108D).addRange(0x109A, 0x109D).addRange(0x135D, 0x135F).addRange(0x1712, 0x1715).addRange(0x1732, 0x1734).addRange(0x1752, 0x1753).addRange(0x1772, 0x1773).addRange(0x17B4, 0x17D3).addRange(0x180B, 0x180D).addRange(0x1885, 0x1886).addRange(0x1920, 0x192B).addRange(0x1930, 0x193B).addRange(0x1A17, 0x1A1B);\nset.addRange(0x1A55, 0x1A5E).addRange(0x1A60, 0x1A7C).addRange(0x1AB0, 0x1ACE).addRange(0x1B00, 0x1B04).addRange(0x1B34, 0x1B44).addRange(0x1B6B, 0x1B73).addRange(0x1B80, 0x1B82).addRange(0x1BA1, 0x1BAD).addRange(0x1BE6, 0x1BF3).addRange(0x1C24, 0x1C37).addRange(0x1CD0, 0x1CD2).addRange(0x1CD4, 0x1CE8).addRange(0x1CF7, 0x1CF9).addRange(0x1DC0, 0x1DFF).addRange(0x20D0, 0x20F0).addRange(0x2CEF, 0x2CF1).addRange(0x2DE0, 0x2DFF).addRange(0x302A, 0x302F).addRange(0x3099, 0x309A).addRange(0xA66F, 0xA672).addRange(0xA674, 0xA67D).addRange(0xA69E, 0xA69F).addRange(0xA6F0, 0xA6F1).addRange(0xA823, 0xA827).addRange(0xA880, 0xA881).addRange(0xA8B4, 0xA8C5).addRange(0xA8E0, 0xA8F1).addRange(0xA926, 0xA92D).addRange(0xA947, 0xA953).addRange(0xA980, 0xA983).addRange(0xA9B3, 0xA9C0).addRange(0xAA29, 0xAA36).addRange(0xAA4C, 0xAA4D).addRange(0xAA7B, 0xAA7D).addRange(0xAAB2, 0xAAB4).addRange(0xAAB7, 0xAAB8).addRange(0xAABE, 0xAABF).addRange(0xAAEB, 0xAAEF).addRange(0xAAF5, 0xAAF6).addRange(0xABE3, 0xABEA).addRange(0xABEC, 0xABED).addRange(0xFE00, 0xFE0F).addRange(0xFE20, 0xFE2F).addRange(0x10376, 0x1037A).addRange(0x10A01, 0x10A03).addRange(0x10A05, 0x10A06).addRange(0x10A0C, 0x10A0F).addRange(0x10A38, 0x10A3A).addRange(0x10AE5, 0x10AE6).addRange(0x10D24, 0x10D27).addRange(0x10EAB, 0x10EAC);\nset.addRange(0x10F46, 0x10F50).addRange(0x10F82, 0x10F85).addRange(0x11000, 0x11002).addRange(0x11038, 0x11046).addRange(0x11073, 0x11074).addRange(0x1107F, 0x11082).addRange(0x110B0, 0x110BA).addRange(0x11100, 0x11102).addRange(0x11127, 0x11134).addRange(0x11145, 0x11146).addRange(0x11180, 0x11182).addRange(0x111B3, 0x111C0).addRange(0x111C9, 0x111CC).addRange(0x111CE, 0x111CF).addRange(0x1122C, 0x11237).addRange(0x112DF, 0x112EA).addRange(0x11300, 0x11303).addRange(0x1133B, 0x1133C).addRange(0x1133E, 0x11344).addRange(0x11347, 0x11348).addRange(0x1134B, 0x1134D).addRange(0x11362, 0x11363).addRange(0x11366, 0x1136C).addRange(0x11370, 0x11374).addRange(0x11435, 0x11446).addRange(0x114B0, 0x114C3).addRange(0x115AF, 0x115B5).addRange(0x115B8, 0x115C0).addRange(0x115DC, 0x115DD).addRange(0x11630, 0x11640).addRange(0x116AB, 0x116B7).addRange(0x1171D, 0x1172B).addRange(0x1182C, 0x1183A).addRange(0x11930, 0x11935).addRange(0x11937, 0x11938).addRange(0x1193B, 0x1193E).addRange(0x11942, 0x11943).addRange(0x119D1, 0x119D7).addRange(0x119DA, 0x119E0).addRange(0x11A01, 0x11A0A).addRange(0x11A33, 0x11A39).addRange(0x11A3B, 0x11A3E).addRange(0x11A51, 0x11A5B).addRange(0x11A8A, 0x11A99).addRange(0x11C2F, 0x11C36).addRange(0x11C38, 0x11C3F).addRange(0x11C92, 0x11CA7).addRange(0x11CA9, 0x11CB6).addRange(0x11D31, 0x11D36).addRange(0x11D3C, 0x11D3D).addRange(0x11D3F, 0x11D45);\nset.addRange(0x11D8A, 0x11D8E).addRange(0x11D90, 0x11D91).addRange(0x11D93, 0x11D97).addRange(0x11EF3, 0x11EF6).addRange(0x16AF0, 0x16AF4).addRange(0x16B30, 0x16B36).addRange(0x16F51, 0x16F87).addRange(0x16F8F, 0x16F92).addRange(0x16FF0, 0x16FF1).addRange(0x1BC9D, 0x1BC9E).addRange(0x1CF00, 0x1CF2D).addRange(0x1CF30, 0x1CF46).addRange(0x1D165, 0x1D169).addRange(0x1D16D, 0x1D172).addRange(0x1D17B, 0x1D182).addRange(0x1D185, 0x1D18B).addRange(0x1D1AA, 0x1D1AD).addRange(0x1D242, 0x1D244).addRange(0x1DA00, 0x1DA36).addRange(0x1DA3B, 0x1DA6C).addRange(0x1DA9B, 0x1DA9F).addRange(0x1DAA1, 0x1DAAF).addRange(0x1E000, 0x1E006).addRange(0x1E008, 0x1E018).addRange(0x1E01B, 0x1E021).addRange(0x1E023, 0x1E024).addRange(0x1E026, 0x1E02A).addRange(0x1E130, 0x1E136).addRange(0x1E2EC, 0x1E2EF).addRange(0x1E8D0, 0x1E8D6).addRange(0x1E944, 0x1E94A).addRange(0xE0100, 0xE01EF);\nmodule.exports = set;","var isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","const set = require('regenerate')();\nset.addRange(0x30, 0x39).addRange(0x660, 0x669).addRange(0x6F0, 0x6F9).addRange(0x7C0, 0x7C9).addRange(0x966, 0x96F).addRange(0x9E6, 0x9EF).addRange(0xA66, 0xA6F).addRange(0xAE6, 0xAEF).addRange(0xB66, 0xB6F).addRange(0xBE6, 0xBEF).addRange(0xC66, 0xC6F).addRange(0xCE6, 0xCEF).addRange(0xD66, 0xD6F).addRange(0xDE6, 0xDEF).addRange(0xE50, 0xE59).addRange(0xED0, 0xED9).addRange(0xF20, 0xF29).addRange(0x1040, 0x1049).addRange(0x1090, 0x1099).addRange(0x17E0, 0x17E9).addRange(0x1810, 0x1819).addRange(0x1946, 0x194F).addRange(0x19D0, 0x19D9).addRange(0x1A80, 0x1A89).addRange(0x1A90, 0x1A99).addRange(0x1B50, 0x1B59).addRange(0x1BB0, 0x1BB9).addRange(0x1C40, 0x1C49).addRange(0x1C50, 0x1C59).addRange(0xA620, 0xA629).addRange(0xA8D0, 0xA8D9).addRange(0xA900, 0xA909).addRange(0xA9D0, 0xA9D9).addRange(0xA9F0, 0xA9F9).addRange(0xAA50, 0xAA59).addRange(0xABF0, 0xABF9).addRange(0xFF10, 0xFF19).addRange(0x104A0, 0x104A9).addRange(0x10D30, 0x10D39).addRange(0x11066, 0x1106F).addRange(0x110F0, 0x110F9).addRange(0x11136, 0x1113F).addRange(0x111D0, 0x111D9).addRange(0x112F0, 0x112F9).addRange(0x11450, 0x11459).addRange(0x114D0, 0x114D9).addRange(0x11650, 0x11659).addRange(0x116C0, 0x116C9).addRange(0x11730, 0x11739).addRange(0x118E0, 0x118E9).addRange(0x11950, 0x11959);\nset.addRange(0x11C50, 0x11C59).addRange(0x11D50, 0x11D59).addRange(0x11DA0, 0x11DA9).addRange(0x16A60, 0x16A69).addRange(0x16AC0, 0x16AC9).addRange(0x16B50, 0x16B59).addRange(0x1D7CE, 0x1D7FF).addRange(0x1E140, 0x1E149).addRange(0x1E2F0, 0x1E2F9).addRange(0x1E950, 0x1E959).addRange(0x1FBF0, 0x1FBF9);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x16E40, 0x16E9A);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x964, 0x96F).addRange(0xA830, 0xA839).addRange(0x11150, 0x11176);\nmodule.exports = set;","import * as React from 'react'\n /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsxRuntime classic */\n/* @jsx mdx */\nimport DefaultLayout from \"/home/runner/work/tanka/tanka/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nexport const _frontmatter = {};\nconst layoutProps = {\n _frontmatter\n};\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n components,\n ...props\n}) {\n return \n\n\n

      {`We maintain two AUR packages, one building `}{`from\nsource`}{` and another one using a\n`}{`pre-compiled binary`}{`.`}

      \n

      {`These can be installed using any AUR helper, e.g. `}{`yay`}{`:`}

      \n
      {`# from source:`}{`\n`}{`$ yay tanka`}{`\n`}{`\n`}{`# using pre-compiled binary:`}{`\n`}{`$ yay tanka-bin`}
      \n\n \n
      ;\n}\n;\nMDXContent.isMDXComponent = true;\n ","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI0LjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCAxNDQgNjguNSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTQ0IDY4LjU7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5zdDB7ZmlsbDp1cmwoI1NWR0lEXzFfKTt9Cgkuc3Qxe2ZpbGw6I0ZGRkZGRjt9Cgkuc3Qye2ZpbGw6bm9uZTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MztzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtbGluZWpvaW46cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fQo8L3N0eWxlPgo8bGluZWFyR3JhZGllbnQgaWQ9IlNWR0lEXzFfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjcxLjQxNjMiIHkxPSItNTMuNTkiIHgyPSI3Mi4xNzAzIiB5Mj0iOTAuNDE0NCI+Cgk8c3RvcCAgb2Zmc2V0PSIwLjM5ODQiIHN0eWxlPSJzdG9wLWNvbG9yOiNGQUNBMTAiLz4KCTxzdG9wICBvZmZzZXQ9IjAuNjQ5OCIgc3R5bGU9InN0b3AtY29sb3I6I0Y0OEMyMCIvPgoJPHN0b3AgIG9mZnNldD0iMC44NjIyIiBzdHlsZT0ic3RvcC1jb2xvcjojRjA1QjJEIi8+CjwvbGluZWFyR3JhZGllbnQ+CjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0xNDQsNTcuOWMwLDEtMC44LDEuNy0xLjcsMS43SDEuN2MtMSwwLTEuNy0wLjgtMS43LTEuN3MwLjgtMS43LDEuNy0xLjdoMTQwLjVDMTQzLjIsNTYuMSwxNDQsNTYuOSwxNDQsNTcuOXoKCSBNMTUuNiw1MC4xaDEwMS42bDEzLjMtMzMuNWwtNTYuNiw0Ljh2LTguM0gyNS4xdjEyLjRMOC42LDI2LjlMMTUuNiw1MC4xeiBNNjYuNCw4LjloLTM0VjBoMzQuMUw2Ni40LDguOXogTTEyNC44LDY1SDE5LjIKCWMtMSwwLTEuNywwLjgtMS43LDEuN3MwLjgsMS43LDEuNywxLjdoMTA1LjVjMSwwLDEuNy0wLjgsMS43LTEuN1MxMjUuNyw2NSwxMjQuOCw2NXoiLz4KPC9zdmc+Cg==\"","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var baseIsMap = require('./_baseIsMap'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsMap = nodeUtil && nodeUtil.isMap;\n\n/**\n * Checks if `value` is classified as a `Map` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\nvar isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\nmodule.exports = isMap;\n","const set = require('regenerate')();\nset.addRange(0x13000, 0x1342E).addRange(0x13430, 0x13438);\nmodule.exports = set;","var $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\n// eslint-disable-next-line es/no-object-assign -- required for testing\n$({ target: 'Object', stat: true, arity: 2, forced: Object.assign !== assign }, {\n assign: assign\n});\n","const set = require('regenerate')();\nset.addRange(0x102A0, 0x102D0);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x1BC0, 0x1BF3).addRange(0x1BFC, 0x1BFF);\nmodule.exports = set;","const set = require('regenerate')();\nset.addRange(0x800, 0x82D).addRange(0x830, 0x83E);\nmodule.exports = set;","const set = require('regenerate')(0x180F);\nset.addRange(0x180B, 0x180D).addRange(0xFE00, 0xFE0F).addRange(0xE0100, 0xE01EF);\nmodule.exports = set;","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","var Symbol = require('./_Symbol'),\n arrayMap = require('./_arrayMap'),\n isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = baseToString;\n","const set = require('regenerate')(0x965, 0x1940);\nset.addRange(0x1900, 0x191E).addRange(0x1920, 0x192B).addRange(0x1930, 0x193B).addRange(0x1944, 0x194F);\nmodule.exports = set;"],"sourceRoot":""} \ No newline at end of file diff --git a/pr-preview/pr-991/chunk-map.json b/pr-preview/pr-991/chunk-map.json deleted file mode 100644 index 25af84a7e..000000000 --- a/pr-preview/pr-991/chunk-map.json +++ /dev/null @@ -1 +0,0 @@ -{"polyfill":["/polyfill-8d34c62e07e660a83f29.js"],"app":["/app-48d0c1584627dc723f2b.js"],"component---cache-caches-gatsby-plugin-offline-app-shell-js":["/component---cache-caches-gatsby-plugin-offline-app-shell-js-099d9276a41f4ba01a3c.js"],"component---docs-completion-md":["/component---docs-completion-md-3d444c7b31269f9b6ec9.js"],"component---docs-config-md":["/component---docs-config-md-b129057e083bbcf09ffa.js"],"component---docs-diff-strategy-md":["/component---docs-diff-strategy-md-981ba2b5370a2008cf98.js"],"component---docs-directory-structure-md":["/component---docs-directory-structure-md-b5bfb8e7ed7c2f6824ef.js"],"component---docs-env-vars-md":["/component---docs-env-vars-md-102b70747bbd7865e8e8.js"],"component---docs-exporting-md":["/component---docs-exporting-md-3cdb988be9ce1c04360b.js"],"component---docs-faq-md":["/component---docs-faq-md-5e30ff990ba5de27e68d.js"],"component---docs-formatting-md":["/component---docs-formatting-md-0886509974e2523e2e68.js"],"component---docs-garbage-collection-md":["/component---docs-garbage-collection-md-9e3ddba81e297bbaee58.js"],"component---docs-helm-mdx":["/component---docs-helm-mdx-be8209066bfeb6f0f992.js"],"component---docs-inline-environments-mdx":["/component---docs-inline-environments-mdx-438dd359ab9fafbc9e4f.js"],"component---docs-installation-mdx":["/component---docs-installation-mdx-1ee655fbaeb2cf50c96b.js"],"component---docs-introduction-mdx":["/component---docs-introduction-mdx-53424fcd5b068bb753bd.js"],"component---docs-jsonnet-injecting-values-md":["/component---docs-jsonnet-injecting-values-md-a2e9fadf417770db1b80.js"],"component---docs-jsonnet-main-md":["/component---docs-jsonnet-main-md-041efed1c891707fb3eb.js"],"component---docs-jsonnet-native-functions-md":["/component---docs-jsonnet-native-functions-md-2b62620b62d073a3473b.js"],"component---docs-jsonnet-overview-md":["/component---docs-jsonnet-overview-md-7b71153076f130bc452f.js"],"component---docs-known-issues-md":["/component---docs-known-issues-md-2b1c7bae83f2275bce8c.js"],"component---docs-kustomize-mdx":["/component---docs-kustomize-mdx-4f01d748aa92c3d84925.js"],"component---docs-libraries-import-paths-md":["/component---docs-libraries-import-paths-md-4a685e6bfdb1f78a27f1.js"],"component---docs-libraries-install-publish-md":["/component---docs-libraries-install-publish-md-1cb5bebde0944f8f75bb.js"],"component---docs-libraries-overriding-md":["/component---docs-libraries-overriding-md-64d9881a00e7f2937b12.js"],"component---docs-namespaces-md":["/component---docs-namespaces-md-f7ccad740cade07e6477.js"],"component---docs-server-side-apply-md":["/component---docs-server-side-apply-md-f1c4dacb6a0b385641be.js"],"component---docs-targets-md":["/component---docs-targets-md-123f8be890eda328d792.js"],"component---docs-tutorial-abstraction-mdx":["/component---docs-tutorial-abstraction-mdx-b97edf44038784f040f4.js"],"component---docs-tutorial-environments-mdx":["/component---docs-tutorial-environments-mdx-b932dda633298bd4750f.js"],"component---docs-tutorial-jsonnet-mdx":["/component---docs-tutorial-jsonnet-mdx-2ddf63fe5f9271eb619f.js"],"component---docs-tutorial-k-lib-mdx":["/component---docs-tutorial-k-lib-mdx-badaa4a6d50be9d82125.js"],"component---docs-tutorial-overview-mdx":["/component---docs-tutorial-overview-mdx-d759ec549ebb3c839c6b.js"],"component---docs-tutorial-parameterizing-mdx":["/component---docs-tutorial-parameterizing-mdx-cb9c8ff66607e77042cd.js"],"component---docs-tutorial-refresher-mdx":["/component---docs-tutorial-refresher-mdx-81bba2a6cc6987e2c96b.js"],"component---src-components-home-snippet-mdx":[],"component---src-components-install-jb-arch-mdx":[],"component---src-components-install-jb-binary-mdx":[],"component---src-components-install-jb-go-mdx":[],"component---src-components-install-jb-osx-mdx":[],"component---src-components-install-tk-arch-mdx":[],"component---src-components-install-tk-binary-mdx":[],"component---src-components-install-tk-go-mdx":[],"component---src-components-install-tk-osx-mdx":[]} \ No newline at end of file diff --git a/pr-preview/pr-991/completion/index.html b/pr-preview/pr-991/completion/index.html deleted file mode 100644 index a8dfed823..000000000 --- a/pr-preview/pr-991/completion/index.html +++ /dev/null @@ -1,37 +0,0 @@ -Command-line completion | Tanka
      That's my logoGrafana TankaFlexible, reusable and concise configuration for Kubernetes
      Edit page
      IntroductionInstallation
      Tutorial
      Writing Jsonnet
      Libraries
      Advanced features
      References
      Frequently asked questionsKnown issues

      Command-line Completion

      Tanka supports CLI completion for bash, zsh and fish.

      # Install
      -$ tk complete
      -
      -# Uninstall
      -$ tk complete --remove

      As tanka is its own completion handler, it needs to hook into your shell's -configuration file (.bashrc, etc).

      When using other shells than bash, Tanka relies on a Bash compatibility -mode. It enables this automatically when installing, but please make sure no -other completion (e.g. OhMyZsh) interferes with this, or your completion might -not work properly.
      -It sometimes depends on the order the completions are being loaded, so try -putting Tanka before or after the others.

      \ No newline at end of file diff --git a/pr-preview/pr-991/component---cache-caches-gatsby-plugin-offline-app-shell-js-099d9276a41f4ba01a3c.js b/pr-preview/pr-991/component---cache-caches-gatsby-plugin-offline-app-shell-js-099d9276a41f4ba01a3c.js deleted file mode 100644 index 9175e44b5..000000000 --- a/pr-preview/pr-991/component---cache-caches-gatsby-plugin-offline-app-shell-js-099d9276a41f4ba01a3c.js +++ /dev/null @@ -1,2 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{zXQ9:function(t,e,n){"use strict";var u=n("TqRt");e.__esModule=!0,e.default=void 0;var a=u(n("VbXa")),o=u(n("q1tI")),r=function(t){function e(){return t.apply(this,arguments)||this}return(0,a.default)(e,t),e.prototype.render=function(){return o.default.createElement(o.default.Fragment,null)},e}(o.default.Component);e.default=r}}]); -//# sourceMappingURL=component---cache-caches-gatsby-plugin-offline-app-shell-js-099d9276a41f4ba01a3c.js.map \ No newline at end of file diff --git a/pr-preview/pr-991/component---cache-caches-gatsby-plugin-offline-app-shell-js-099d9276a41f4ba01a3c.js.map b/pr-preview/pr-991/component---cache-caches-gatsby-plugin-offline-app-shell-js-099d9276a41f4ba01a3c.js.map deleted file mode 100644 index 696c1362a..000000000 --- a/pr-preview/pr-991/component---cache-caches-gatsby-plugin-offline-app-shell-js-099d9276a41f4ba01a3c.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./.cache/caches/gatsby-plugin-offline/app-shell.js"],"names":["_interopRequireDefault","require","exports","__esModule","default","_inheritsLoose2","_react","_default","_React$Component","AppShell","apply","this","arguments","prototype","render","createElement","Fragment","Component"],"mappings":"2FAEA,IAAIA,EAAyBC,EAAQ,QAErCC,EAAQC,YAAa,EACrBD,EAAQE,aAAU,EAElB,IAAIC,EAAkBL,EAAuBC,EAAQ,SAEjDK,EAASN,EAAuBC,EAAQ,SAkBxCM,EAhBwB,SAAUC,GAGpC,SAASC,IACP,OAAOD,EAAiBE,MAAMC,KAAMC,YAAcD,KASpD,OAZA,EAAIN,EAAgBD,SAASK,EAAUD,GAM1BC,EAASI,UAEfC,OAAS,WACd,OAAoBR,EAAOF,QAAQW,cAAcT,EAAOF,QAAQY,SAAU,OAGrEP,EAbmB,CAc1BH,EAAOF,QAAQa,WAGjBf,EAAQE,QAAUG","file":"component---cache-caches-gatsby-plugin-offline-app-shell-js-099d9276a41f4ba01a3c.js","sourcesContent":["\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar AppShell = /*#__PURE__*/function (_React$Component) {\n (0, _inheritsLoose2.default)(AppShell, _React$Component);\n\n function AppShell() {\n return _React$Component.apply(this, arguments) || this;\n }\n\n var _proto = AppShell.prototype;\n\n _proto.render = function render() {\n return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);\n };\n\n return AppShell;\n}(_react.default.Component);\n\nvar _default = AppShell;\nexports.default = _default;"],"sourceRoot":""} \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-completion-md-3d444c7b31269f9b6ec9.js b/pr-preview/pr-991/component---docs-completion-md-3d444c7b31269f9b6ec9.js deleted file mode 100644 index 9bdde3ba4..000000000 --- a/pr-preview/pr-991/component---docs-completion-md-3d444c7b31269f9b6ec9.js +++ /dev/null @@ -1,2 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{pdrC:function(e,t,a){"use strict";a.r(t),a.d(t,"_frontmatter",(function(){return c})),a.d(t,"default",(function(){return p}));var n=a("wx14"),r=a("Ff2n"),o=(a("q1tI"),a("7ljp")),m=a("hhGP");a("qKvR");const l=["components"],c={};void 0!==c&&c&&c===Object(c)&&Object.isExtensible(c)&&!Object.prototype.hasOwnProperty.call(c,"__filemeta")&&Object.defineProperty(c,"__filemeta",{configurable:!0,value:{name:"_frontmatter",filename:"docs/completion.md"}});const i={_frontmatter:c},s=m.a;function p(e){let{components:t}=e,a=Object(r.a)(e,l);return Object(o.b)(s,Object(n.a)({},i,a,{components:t,mdxType:"MDXLayout"}),Object(o.b)("h1",{id:"command-line-completion"},"Command-line Completion"),Object(o.b)("p",null,"Tanka supports CLI completion for ",Object(o.b)("inlineCode",{parentName:"p"},"bash"),", ",Object(o.b)("inlineCode",{parentName:"p"},"zsh")," and ",Object(o.b)("inlineCode",{parentName:"p"},"fish"),"."),Object(o.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"bash"},Object(o.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(o.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(o.b)("span",{parentName:"span",className:"mtk3 mtki"},"# Install")),"\n",Object(o.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(o.b)("span",{parentName:"span",className:"mtk1"},"$ tk "),Object(o.b)("span",{parentName:"span",className:"mtk9"},"complete")),"\n",Object(o.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(o.b)("span",{parentName:"span",className:"mtk1"})),"\n",Object(o.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(o.b)("span",{parentName:"span",className:"mtk3 mtki"},"# Uninstall")),"\n",Object(o.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(o.b)("span",{parentName:"span",className:"mtk1"},"$ tk "),Object(o.b)("span",{parentName:"span",className:"mtk9"},"complete"),Object(o.b)("span",{parentName:"span",className:"mtk1"}," --remove")))),Object(o.b)("p",null,"As tanka is its own completion handler, it needs to hook into your shell's\nconfiguration file (",Object(o.b)("inlineCode",{parentName:"p"},".bashrc"),", etc)."),Object(o.b)("p",null,"When using other shells than ",Object(o.b)("inlineCode",{parentName:"p"},"bash"),", Tanka relies on a ",Object(o.b)("em",{parentName:"p"},"Bash compatibility\nmode"),". It enables this automatically when installing, but please make sure no\nother completion (e.g. OhMyZsh) interferes with this, or your completion might\nnot work properly.",Object(o.b)("br",{parentName:"p"}),"\n","It sometimes depends on the order the completions are being loaded, so try\nputting Tanka before or after the others."),Object(o.b)("style",{className:"vscode-highlight-styles"},"\n \n .material-theme-darker {\nbackground-color: #212121;\ncolor: #EEFFFF;\n}\n\n.material-theme-darker .mtk1 { color: #FFFFFF; }\n.material-theme-darker .mtk2 { color: #212121; }\n.material-theme-darker .mtk3 { color: #545454; }\n.material-theme-darker .mtk4 { color: #F78C6C; }\n.material-theme-darker .mtk5 { color: #89DDFF; }\n.material-theme-darker .mtk6 { color: #C3E88D; }\n.material-theme-darker .mtk7 { color: #FFCB6B; }\n.material-theme-darker .mtk8 { color: #EEFFFF; }\n.material-theme-darker .mtk9 { color: #82AAFF; }\n.material-theme-darker .mtk10 { color: #FF5370; }\n.material-theme-darker .mtk11 { color: #F07178; }\n.material-theme-darker .mtk12 { color: #C792EA; }\n.material-theme-darker .mtk13 { color: #EEFFFF90; }\n.material-theme-darker .mtk14 { color: #65737E; }\n.material-theme-darker .mtk15 { color: #B2CCD6; }\n.material-theme-darker .mtk16 { color: #C17E70; }\n.material-theme-darker .mtki { font-style: italic; }\n.material-theme-darker .mtkb { font-weight: bold; }\n.material-theme-darker .mtku { text-decoration: underline; text-underline-position: under; }\n"))}void 0!==p&&p&&p===Object(p)&&Object.isExtensible(p)&&!Object.prototype.hasOwnProperty.call(p,"__filemeta")&&Object.defineProperty(p,"__filemeta",{configurable:!0,value:{name:"MDXContent",filename:"docs/completion.md"}}),p.isMDXComponent=!0}}]); -//# sourceMappingURL=component---docs-completion-md-3d444c7b31269f9b6ec9.js.map \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-completion-md-3d444c7b31269f9b6ec9.js.map b/pr-preview/pr-991/component---docs-completion-md-3d444c7b31269f9b6ec9.js.map deleted file mode 100644 index 8bde15e94..000000000 --- a/pr-preview/pr-991/component---docs-completion-md-3d444c7b31269f9b6ec9.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./docs/completion.md"],"names":["_frontmatter","Object","isExtensible","prototype","hasOwnProperty","call","defineProperty","configurable","value","name","filename","layoutProps","MDXLayout","DefaultLayout","MDXContent","_ref","components","props","_objectWithoutProperties","_excluded","mdx","_extends","mdxType","parentName","isMDXComponent"],"mappings":"wRAMaA,EAAe,QAAG,IAAAA,UAAAC,OAAAD,IAAAC,OAAAC,aAAAF,KAAAC,OAAAE,UAAAC,eAAAC,KAAAL,EAAA,eAAAC,OAAAK,eAAAN,EAAA,cAAAO,cAAA,EAAAC,MAAA,CAAAC,KAAA,eAAAC,SAAA,wBAC/B,MAAMC,EAAc,CAClBX,gBAEIY,EAAYC,IACH,SAASC,EAAUC,GAG/B,IAHgC,WACjCC,GAEDD,EADIE,EAAKC,YAAAH,EAAAI,GAER,OAAOC,YAACR,EAASS,YAAA,GAAKV,EAAiBM,EAAK,CAAED,WAAYA,EAAYM,QAAQ,cAG5EF,YAAA,MACE,GAAM,2BAAyB,2BAEjCA,YAAA,8CAAyCA,YAAA,cAAYG,WAAW,KAAG,QAAsB,KAAMH,YAAA,cAAYG,WAAW,KAAG,OAAqB,QAASH,YAAA,cAAYG,WAAW,KAAG,QAAsB,KACvMH,YAAA,OACE,UAAa,yCACb,gBAAiB,QAChBA,YAAA,QAAMG,WAAW,MAChB,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,aAAW,cACI,KACtCH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,SACFH,YAAA,QAAMG,WAAW,OAClC,UAAa,QAAM,aACQ,KACrCH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,UACE,KACzBH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,aAAW,gBACM,KACxCH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,SACFH,YAAA,QAAMG,WAAW,OAClC,UAAa,QAAM,YACCH,YAAA,QAAMG,WAAW,OACrC,UAAa,QAAM,gBAE3BH,YAAA,4GACkBA,YAAA,cAAYG,WAAW,KAAG,WAAyB,WACrEH,YAAA,yCAAoCA,YAAA,cAAYG,WAAW,KAAG,QAAsB,uBAAwBH,YAAA,MAAIG,WAAW,KAAG,4BACvH,+KAESH,YAAA,MAAIG,WAAW,MAAS,8HAIxCH,YAAA,SACE,UAAa,2BAAyB,glCA6B3C,IAAAN,UAAAb,OAAAa,IAAAb,OAAAC,aAAAY,KAAAb,OAAAE,UAAAC,eAAAC,KAAAS,EAAA,eAAAb,OAAAK,eAAAQ,EAAA,cAAAP,cAAA,EAAAC,MAAA,CAAAC,KAAA,aAAAC,SAAA,wBAEDI,EAAWU,gBAAiB","file":"component---docs-completion-md-3d444c7b31269f9b6ec9.js","sourcesContent":["import * as React from 'react'\n /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsxRuntime classic */\n/* @jsx mdx */\nimport DefaultLayout from \"/home/runner/work/tanka/tanka/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nexport const _frontmatter = {};\nconst layoutProps = {\n _frontmatter\n};\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n components,\n ...props\n}) {\n return \n\n\n

      {`Command-line Completion`}

      \n

      {`Tanka supports CLI completion for `}{`bash`}{`, `}{`zsh`}{` and `}{`fish`}{`.`}

      \n
      {`# Install`}{`\n`}{`$ tk `}{`complete`}{`\n`}{`\n`}{`# Uninstall`}{`\n`}{`$ tk `}{`complete`}{` --remove`}
      \n

      {`As tanka is its own completion handler, it needs to hook into your shell's\nconfiguration file (`}{`.bashrc`}{`, etc).`}

      \n

      {`When using other shells than `}{`bash`}{`, Tanka relies on a `}{`Bash compatibility\nmode`}{`. It enables this automatically when installing, but please make sure no\nother completion (e.g. OhMyZsh) interferes with this, or your completion might\nnot work properly.`}

      {`\n`}{`It sometimes depends on the order the completions are being loaded, so try\nputting Tanka before or after the others.`}

      \n\n \n
      ;\n}\n;\nMDXContent.isMDXComponent = true;\n "],"sourceRoot":""} \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-config-md-b129057e083bbcf09ffa.js b/pr-preview/pr-991/component---docs-config-md-b129057e083bbcf09ffa.js deleted file mode 100644 index 36c32226e..000000000 --- a/pr-preview/pr-991/component---docs-config-md-b129057e083bbcf09ffa.js +++ /dev/null @@ -1,2 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{"9oCR":function(a,e,s){"use strict";s.r(e),s.d(e,"_frontmatter",(function(){return b})),s.d(e,"default",(function(){return r}));var t=s("wx14"),n=s("Ff2n"),m=(s("q1tI"),s("7ljp")),p=s("hhGP");s("qKvR");const c=["components"],b={};void 0!==b&&b&&b===Object(b)&&Object.isExtensible(b)&&!Object.prototype.hasOwnProperty.call(b,"__filemeta")&&Object.defineProperty(b,"__filemeta",{configurable:!0,value:{name:"_frontmatter",filename:"docs/config.md"}});const N={_frontmatter:b},l=p.a;function r(a){let{components:e}=a,s=Object(n.a)(a,c);return Object(m.b)(l,Object(t.a)({},N,s,{components:e,mdxType:"MDXLayout"}),Object(m.b)("h1",{id:"configuration-reference"},"Configuration Reference"),Object(m.b)("p",null,"Tanka's behavior can be customized per Environment using a file called ",Object(m.b)("inlineCode",{parentName:"p"},"spec.json")),Object(m.b)("h2",{id:"file-format"},"File format"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"json"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},'// Config format revision. Currently only "v1alpha1"')),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk12"},"apiVersion"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk6"},"v1alpha1"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},'// Always "Environment". Reserved for future use')),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk12"},"kind"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk6"},"Environment"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"})),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// Descriptive fields")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk12"},"metadata"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// Name of the Environment. Automatically set to the relative")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// path from the project root")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk7"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk6"},""),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"})),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// Arbitrary key:value string pairs. Not parsed by Tanka")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk7"},"labels"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"{"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk4"},""),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk6"},""),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"}")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"},")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"})),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// Properties influencing Tanka's behavior")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk12"},"spec"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// The Kubernetes cluster to use.")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// Must be the full URL, e.g. https://cluster.fqdn:6443")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk7"},"apiServer"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk6"},""),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"})),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// The Kubernetes context name(s) to use.")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// This field supports regular expressions and is mutually exclusive with apiServer field.")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk7"},"contextNames"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"["),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk6"},""),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},"],")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," ")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// Default namespace for objects that don't explicitely specify one")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk7"},"namespace"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk6"},""),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"|"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"default"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"="),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk6"},"default"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"})),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// diffStrategy to use. Automatically chosen by default based on")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},'// the availability of "kubectl diff".')),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},'// - native: uses "kubectl diff". Recommended')),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},'// - validate: uses "kubectl diff --server-side". Safest, but slower than "native"')),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// - subset: fallback for k8s versions below 1.13.0")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk7"},"diffStrategy"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk6"},"[native, validate, subset]"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"|"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"default"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"="),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk6"},"auto"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"})),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},'// Whether to add a "tanka.dev/environment" label to each created resource.')),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},'// Required for garbage collection ("tk prune").')),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk7"},"injectLabels"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},""),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"|"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"default"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"="),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"false")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"}")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"}")))),Object(m.b)("h2",{id:"jsonnet-access"},"Jsonnet access"),Object(m.b)("p",null,"It is possible to access above data from Jsonnet:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"jsonnet"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk4"},"local"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," tk "),Object(m.b)("span",{parentName:"span",className:"mtk12"},"="),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"import"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"tk"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},";")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"})),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// The cluster IP")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"cluster:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," tk.env.spec.apiServer,")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// The labels of your Environment")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"labels:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," tk.env.metadata.labels,")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"}")))),Object(m.b)("style",{className:"vscode-highlight-styles"},"\n \n .material-theme-darker {\nbackground-color: #212121;\ncolor: #EEFFFF;\n}\n\n.material-theme-darker .mtk1 { color: #FFFFFF; }\n.material-theme-darker .mtk2 { color: #212121; }\n.material-theme-darker .mtk3 { color: #545454; }\n.material-theme-darker .mtk4 { color: #F78C6C; }\n.material-theme-darker .mtk5 { color: #89DDFF; }\n.material-theme-darker .mtk6 { color: #C3E88D; }\n.material-theme-darker .mtk7 { color: #FFCB6B; }\n.material-theme-darker .mtk8 { color: #EEFFFF; }\n.material-theme-darker .mtk9 { color: #82AAFF; }\n.material-theme-darker .mtk10 { color: #FF5370; }\n.material-theme-darker .mtk11 { color: #F07178; }\n.material-theme-darker .mtk12 { color: #C792EA; }\n.material-theme-darker .mtk13 { color: #EEFFFF90; }\n.material-theme-darker .mtk14 { color: #65737E; }\n.material-theme-darker .mtk15 { color: #B2CCD6; }\n.material-theme-darker .mtk16 { color: #C17E70; }\n.material-theme-darker .mtki { font-style: italic; }\n.material-theme-darker .mtkb { font-weight: bold; }\n.material-theme-darker .mtku { text-decoration: underline; text-underline-position: under; }\n"))}void 0!==r&&r&&r===Object(r)&&Object.isExtensible(r)&&!Object.prototype.hasOwnProperty.call(r,"__filemeta")&&Object.defineProperty(r,"__filemeta",{configurable:!0,value:{name:"MDXContent",filename:"docs/config.md"}}),r.isMDXComponent=!0}}]); -//# sourceMappingURL=component---docs-config-md-b129057e083bbcf09ffa.js.map \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-config-md-b129057e083bbcf09ffa.js.map b/pr-preview/pr-991/component---docs-config-md-b129057e083bbcf09ffa.js.map deleted file mode 100644 index 1872a12a6..000000000 --- a/pr-preview/pr-991/component---docs-config-md-b129057e083bbcf09ffa.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./docs/config.md"],"names":["_frontmatter","Object","isExtensible","prototype","hasOwnProperty","call","defineProperty","configurable","value","name","filename","layoutProps","MDXLayout","DefaultLayout","MDXContent","_ref","components","props","_objectWithoutProperties","_excluded","mdx","_extends","mdxType","parentName","isMDXComponent"],"mappings":"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","file":"component---docs-config-md-b129057e083bbcf09ffa.js","sourcesContent":["import * as React from 'react'\n /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsxRuntime classic */\n/* @jsx mdx */\nimport DefaultLayout from \"/home/runner/work/tanka/tanka/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nexport const _frontmatter = {};\nconst layoutProps = {\n _frontmatter\n};\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n components,\n ...props\n}) {\n return \n\n\n

      {`Configuration Reference`}

      \n

      {`Tanka's behavior can be customized per Environment using a file called `}{`spec.json`}

      \n

      {`File format`}

      \n
      {`{`}{`\n`}{`  `}{`// Config format revision. Currently only \"v1alpha1\"`}{`\n`}{`  `}{`\"`}{`apiVersion`}{`\"`}{`:`}{` `}{`\"`}{`v1alpha1`}{`\"`}{`,`}{`\n`}{`  `}{`// Always \"Environment\". Reserved for future use`}{`\n`}{`  `}{`\"`}{`kind`}{`\"`}{`:`}{` `}{`\"`}{`Environment`}{`\"`}{`,`}{`\n`}{`\n`}{`  `}{`// Descriptive fields`}{`\n`}{`  `}{`\"`}{`metadata`}{`\"`}{`:`}{` `}{`{`}{`\n`}{`    `}{`// Name of the Environment. Automatically set to the relative`}{`\n`}{`    `}{`// path from the project root`}{`\n`}{`    `}{`\"`}{`name`}{`\"`}{`:`}{` `}{`\"`}{``}{`\"`}{`,`}{`\n`}{`\n`}{`    `}{`// Arbitrary key:value string pairs. Not parsed by Tanka`}{`\n`}{`    `}{`\"`}{`labels`}{`\"`}{`:`}{` `}{`{`}{` `}{`\"`}{``}{`\"`}{`:`}{` `}{`\"`}{``}{`\"`}{` `}{`}`}{`\n`}{`  `}{`},`}{`\n`}{`\n`}{`  `}{`// Properties influencing Tanka's behavior`}{`\n`}{`  `}{`\"`}{`spec`}{`\"`}{`:`}{` `}{`{`}{`\n`}{`    `}{`// The Kubernetes cluster to use.`}{`\n`}{`    `}{`// Must be the full URL, e.g. https://cluster.fqdn:6443`}{`\n`}{`    `}{`\"`}{`apiServer`}{`\"`}{`:`}{` `}{`\"`}{``}{`\"`}{`,`}{`\n`}{`\n`}{`    `}{`// The Kubernetes context name(s) to use.`}{`\n`}{`    `}{`// This field supports regular expressions and is mutually exclusive with apiServer field.`}{`\n`}{`    `}{`\"`}{`contextNames`}{`\"`}{`:`}{` `}{`[`}{`\"`}{``}{`\"`}{`],`}{`\n`}{`    `}{`\n`}{`    `}{`// Default namespace for objects that don't explicitely specify one`}{`\n`}{`    `}{`\"`}{`namespace`}{`\"`}{`:`}{` `}{`\"`}{``}{`\"`}{` `}{`|`}{` `}{`default`}{` `}{`=`}{` `}{`\"`}{`default`}{`\"`}{`,`}{`\n`}{`\n`}{`    `}{`// diffStrategy to use. Automatically chosen by default based on`}{`\n`}{`    `}{`// the availability of \"kubectl diff\".`}{`\n`}{`    `}{`// - native: uses \"kubectl diff\". Recommended`}{`\n`}{`    `}{`// - validate: uses \"kubectl diff --server-side\". Safest, but slower than \"native\"`}{`\n`}{`    `}{`// - subset: fallback for k8s versions below 1.13.0`}{`\n`}{`    `}{`\"`}{`diffStrategy`}{`\"`}{`:`}{` `}{`\"`}{`[native, validate, subset]`}{`\"`}{` `}{`|`}{` `}{`default`}{` `}{`=`}{` `}{`\"`}{`auto`}{`\"`}{`,`}{`\n`}{`\n`}{`    `}{`// Whether to add a \"tanka.dev/environment\" label to each created resource.`}{`\n`}{`    `}{`// Required for garbage collection (\"tk prune\").`}{`\n`}{`    `}{`\"`}{`injectLabels`}{`\"`}{`:`}{` `}{``}{` `}{`|`}{` `}{`default`}{` `}{`=`}{` `}{`false`}{`\n`}{`  `}{`}`}{`\n`}{`}`}
      \n

      {`Jsonnet access`}

      \n

      {`It is possible to access above data from Jsonnet:`}

      \n
      {`local`}{` tk `}{`=`}{` `}{`import`}{` `}{`\"tk\"`}{`;`}{`\n`}{`\n`}{`{`}{`\n`}{`  `}{`// The cluster IP`}{`\n`}{`  `}{`cluster:`}{` tk.env.spec.apiServer,`}{`\n`}{`  `}{`// The labels of your Environment`}{`\n`}{`  `}{`labels:`}{` tk.env.metadata.labels,`}{`\n`}{`}`}
      \n\n \n
      ;\n}\n;\nMDXContent.isMDXComponent = true;\n "],"sourceRoot":""} \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-diff-strategy-md-981ba2b5370a2008cf98.js b/pr-preview/pr-991/component---docs-diff-strategy-md-981ba2b5370a2008cf98.js deleted file mode 100644 index 59bc72408..000000000 --- a/pr-preview/pr-991/component---docs-diff-strategy-md-981ba2b5370a2008cf98.js +++ /dev/null @@ -1,2 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{tUVA:function(e,t,a){"use strict";a.r(t),a.d(t,"_frontmatter",(function(){return o})),a.d(t,"default",(function(){return d}));var n=a("wx14"),s=a("Ff2n"),i=(a("q1tI"),a("7ljp")),r=a("hhGP");a("qKvR");const l=["components"],o={};void 0!==o&&o&&o===Object(o)&&Object.isExtensible(o)&&!Object.prototype.hasOwnProperty.call(o,"__filemeta")&&Object.defineProperty(o,"__filemeta",{configurable:!0,value:{name:"_frontmatter",filename:"docs/diff-strategy.md"}});const c={_frontmatter:o},m=r.a;function d(e){let{components:t}=e,a=Object(s.a)(e,l);return Object(i.b)(m,Object(n.a)({},c,a,{components:t,mdxType:"MDXLayout"}),Object(i.b)("h1",{id:"diff-strategies"},"Diff Strategies"),Object(i.b)("p",null,"Tanka supports two different ways of computing differences between the local\nconfiguration and the live cluster state: Either ",Object(i.b)("strong",{parentName:"p"},"native")," ",Object(i.b)("inlineCode",{parentName:"p"},"kubectl diff -f -"),"\nis used, which gives the best possible results, but is only possible for\nclusters with\n",Object(i.b)("a",{parentName:"p",href:"https://kubernetes.io/blog/2019/01/14/apiserver-dry-run-and-kubectl-diff/"},"server-side diff"),"\nsupport (Kubernetes 1.13+)."),Object(i.b)("p",null,"When this is not available, Tanka falls back to ",Object(i.b)("inlineCode",{parentName:"p"},"subset")," mode."),Object(i.b)("p",null,"You can specify the diff-strategy to use on the command line as well:"),Object(i.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"bash"},Object(i.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(i.b)("span",{parentName:"span",className:"mtk3 mtki"},"# native")),"\n",Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(i.b)("span",{parentName:"span",className:"mtk1"},"tk diff --diff-strategy=native "),Object(i.b)("span",{parentName:"span",className:"mtk9"},".")),"\n",Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(i.b)("span",{parentName:"span",className:"mtk1"})),"\n",Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(i.b)("span",{parentName:"span",className:"mtk3 mtki"},"# validate: Like native but with a server-side validation")),"\n",Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(i.b)("span",{parentName:"span",className:"mtk1"},"tk diff --diff-strategy=validate "),Object(i.b)("span",{parentName:"span",className:"mtk9"},".")),"\n",Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(i.b)("span",{parentName:"span",className:"mtk1"})),"\n",Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(i.b)("span",{parentName:"span",className:"mtk3 mtki"},"# server-side")),"\n",Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(i.b)("span",{parentName:"span",className:"mtk1"},"tk diff --diff-strategy=server "),Object(i.b)("span",{parentName:"span",className:"mtk9"},".")),"\n",Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(i.b)("span",{parentName:"span",className:"mtk1"})),"\n",Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(i.b)("span",{parentName:"span",className:"mtk3 mtki"},"# subset")),"\n",Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(i.b)("span",{parentName:"span",className:"mtk1"},"tk diff --diff-strategy=subset "),Object(i.b)("span",{parentName:"span",className:"mtk9"},".")))),Object(i.b)("h2",{id:"native"},"Native"),Object(i.b)("p",null,"The native diff mode is recommended, because it uses ",Object(i.b)("inlineCode",{parentName:"p"},"kubectl diff")," underneath,\nwhich sends the objects to the Kubernetes API server and computes the\ndifferences over there."),Object(i.b)("p",null,"This has the huge benefit that all possible changes by webhooks and other\ninternal components of Kubernetes can be encountered as well."),Object(i.b)("p",null,"However, this is a fairly new feature and only available on Kubernetes 1.13 or\nlater. Only the API server (master nodes) needs to have that\nversion, worker nodes do not matter."),Object(i.b)("p",null,"There is a\n",Object(i.b)("a",{parentName:"p",href:"known-issues.md#unexpected-diff-if-the-same-port-number-is-used-for-udp-and-tcp"},"known issue"),"\nwith ",Object(i.b)("inlineCode",{parentName:"p"},"kubectl diff"),", which affects ports configured to use both TCP and UDP."),Object(i.b)("h3",{id:"server-side-diffs"},"Server-side diffs"),Object(i.b)("p",null,"There are two additional modes which extend ",Object(i.b)("inlineCode",{parentName:"p"},"native"),": ",Object(i.b)("inlineCode",{parentName:"p"},"validate")," and ",Object(i.b)("inlineCode",{parentName:"p"},"server"),".\nWhile all ",Object(i.b)("inlineCode",{parentName:"p"},"kubectl diff")," commands are sent to the API server, these two\nmethods take advantage of an additional server-side diff mode (which uses the\n",Object(i.b)("inlineCode",{parentName:"p"},"kubectl diff --server-side")," flag, complementing the\n",Object(i.b)("a",{parentName:"p",href:"/pr-preview/pr-991/server-side-apply"},"server-side apply")," mode)."),Object(i.b)("p",null,"Since a plain ",Object(i.b)("inlineCode",{parentName:"p"},"server")," diff often produces cruft, and wouldn't be representative\nof a client-side apply, the ",Object(i.b)("inlineCode",{parentName:"p"},"validate")," method allows the server-side diff to\ncheck that all models are valid server-side, but still displays the ",Object(i.b)("inlineCode",{parentName:"p"},"native"),"\ndiff output to the user."),Object(i.b)("h2",{id:"subset"},"Subset"),Object(i.b)("p",null,"If native diffing is not supported by your cluster, Tanka provides subset diff\nas a fallback method."),Object(i.b)("p",null,Object(i.b)("strong",{parentName:"p"},"Subset diff only compares fields present in the local configuration and\nignores all other fields"),". When you remove a field locally, you will see no\ndifferences."),Object(i.b)("p",null,"This is required, because Kubernetes adds dynamic fields to the state during\nruntime, which we cannot know of on the client side. To produce a somewhat\nusable output, we can effectively only compare what we already know about."),Object(i.b)("p",null,"If this is a problem for you, consider switching to ",Object(i.b)("a",{parentName:"p",href:"#native"},"native")," mode."),Object(i.b)("h2",{id:"external-diff-utilities"},"External diff utilities"),Object(i.b)("p",null,"You can use external diff utilities by setting the environment variable\n",Object(i.b)("inlineCode",{parentName:"p"},"KUBECTL_EXTERNAL_DIFF"),". If you want to use a GUI or interactive diff utility\nyou must also set ",Object(i.b)("inlineCode",{parentName:"p"},"KUBECTL_INTERACTIVE_DIFF=1")," to prevent Tanka from capturing\nstdout."),Object(i.b)("style",{className:"vscode-highlight-styles"},"\n \n .material-theme-darker {\nbackground-color: #212121;\ncolor: #EEFFFF;\n}\n\n.material-theme-darker .mtk1 { color: #FFFFFF; }\n.material-theme-darker .mtk2 { color: #212121; }\n.material-theme-darker .mtk3 { color: #545454; }\n.material-theme-darker .mtk4 { color: #F78C6C; }\n.material-theme-darker .mtk5 { color: #89DDFF; }\n.material-theme-darker .mtk6 { color: #C3E88D; }\n.material-theme-darker .mtk7 { color: #FFCB6B; }\n.material-theme-darker .mtk8 { color: #EEFFFF; }\n.material-theme-darker .mtk9 { color: #82AAFF; }\n.material-theme-darker .mtk10 { color: #FF5370; }\n.material-theme-darker .mtk11 { color: #F07178; }\n.material-theme-darker .mtk12 { color: #C792EA; }\n.material-theme-darker .mtk13 { color: #EEFFFF90; }\n.material-theme-darker .mtk14 { color: #65737E; }\n.material-theme-darker .mtk15 { color: #B2CCD6; }\n.material-theme-darker .mtk16 { color: #C17E70; }\n.material-theme-darker .mtki { font-style: italic; }\n.material-theme-darker .mtkb { font-weight: bold; }\n.material-theme-darker .mtku { text-decoration: underline; text-underline-position: under; }\n"))}void 0!==d&&d&&d===Object(d)&&Object.isExtensible(d)&&!Object.prototype.hasOwnProperty.call(d,"__filemeta")&&Object.defineProperty(d,"__filemeta",{configurable:!0,value:{name:"MDXContent",filename:"docs/diff-strategy.md"}}),d.isMDXComponent=!0}}]); -//# sourceMappingURL=component---docs-diff-strategy-md-981ba2b5370a2008cf98.js.map \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-diff-strategy-md-981ba2b5370a2008cf98.js.map b/pr-preview/pr-991/component---docs-diff-strategy-md-981ba2b5370a2008cf98.js.map deleted file mode 100644 index 7d0fc96df..000000000 --- a/pr-preview/pr-991/component---docs-diff-strategy-md-981ba2b5370a2008cf98.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./docs/diff-strategy.md"],"names":["_frontmatter","Object","isExtensible","prototype","hasOwnProperty","call","defineProperty","configurable","value","name","filename","layoutProps","MDXLayout","DefaultLayout","MDXContent","_ref","components","props","_objectWithoutProperties","_excluded","mdx","_extends","mdxType","parentName","isMDXComponent"],"mappings":"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","file":"component---docs-diff-strategy-md-981ba2b5370a2008cf98.js","sourcesContent":["import * as React from 'react'\n /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsxRuntime classic */\n/* @jsx mdx */\nimport DefaultLayout from \"/home/runner/work/tanka/tanka/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nexport const _frontmatter = {};\nconst layoutProps = {\n _frontmatter\n};\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n components,\n ...props\n}) {\n return \n\n\n

      {`Diff Strategies`}

      \n

      {`Tanka supports two different ways of computing differences between the local\nconfiguration and the live cluster state: Either `}{`native`}{` `}{`kubectl diff -f -`}{`\nis used, which gives the best possible results, but is only possible for\nclusters with\n`}{`server-side diff`}{`\nsupport (Kubernetes 1.13+).`}

      \n

      {`When this is not available, Tanka falls back to `}{`subset`}{` mode.`}

      \n

      {`You can specify the diff-strategy to use on the command line as well:`}

      \n
      {`# native`}{`\n`}{`tk diff --diff-strategy=native `}{`.`}{`\n`}{`\n`}{`# validate: Like native but with a server-side validation`}{`\n`}{`tk diff --diff-strategy=validate `}{`.`}{`\n`}{`\n`}{`# server-side`}{`\n`}{`tk diff --diff-strategy=server `}{`.`}{`\n`}{`\n`}{`# subset`}{`\n`}{`tk diff --diff-strategy=subset `}{`.`}
      \n

      {`Native`}

      \n

      {`The native diff mode is recommended, because it uses `}{`kubectl diff`}{` underneath,\nwhich sends the objects to the Kubernetes API server and computes the\ndifferences over there.`}

      \n

      {`This has the huge benefit that all possible changes by webhooks and other\ninternal components of Kubernetes can be encountered as well.`}

      \n

      {`However, this is a fairly new feature and only available on Kubernetes 1.13 or\nlater. Only the API server (master nodes) needs to have that\nversion, worker nodes do not matter.`}

      \n

      {`There is a\n`}{`known issue`}{`\nwith `}{`kubectl diff`}{`, which affects ports configured to use both TCP and UDP.`}

      \n

      {`Server-side diffs`}

      \n

      {`There are two additional modes which extend `}{`native`}{`: `}{`validate`}{` and `}{`server`}{`.\nWhile all `}{`kubectl diff`}{` commands are sent to the API server, these two\nmethods take advantage of an additional server-side diff mode (which uses the\n`}{`kubectl diff --server-side`}{` flag, complementing the\n`}{`server-side apply`}{` mode).`}

      \n

      {`Since a plain `}{`server`}{` diff often produces cruft, and wouldn't be representative\nof a client-side apply, the `}{`validate`}{` method allows the server-side diff to\ncheck that all models are valid server-side, but still displays the `}{`native`}{`\ndiff output to the user.`}

      \n

      {`Subset`}

      \n

      {`If native diffing is not supported by your cluster, Tanka provides subset diff\nas a fallback method.`}

      \n

      {`Subset diff only compares fields present in the local configuration and\nignores all other fields`}{`. When you remove a field locally, you will see no\ndifferences.`}

      \n

      {`This is required, because Kubernetes adds dynamic fields to the state during\nruntime, which we cannot know of on the client side. To produce a somewhat\nusable output, we can effectively only compare what we already know about.`}

      \n

      {`If this is a problem for you, consider switching to `}{`native`}{` mode.`}

      \n

      {`External diff utilities`}

      \n

      {`You can use external diff utilities by setting the environment variable\n`}{`KUBECTL_EXTERNAL_DIFF`}{`. If you want to use a GUI or interactive diff utility\nyou must also set `}{`KUBECTL_INTERACTIVE_DIFF=1`}{` to prevent Tanka from capturing\nstdout.`}

      \n\n \n
      ;\n}\n;\nMDXContent.isMDXComponent = true;\n "],"sourceRoot":""} \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-directory-structure-md-b5bfb8e7ed7c2f6824ef.js b/pr-preview/pr-991/component---docs-directory-structure-md-b5bfb8e7ed7c2f6824ef.js deleted file mode 100644 index a6f3b8e80..000000000 --- a/pr-preview/pr-991/component---docs-directory-structure-md-b5bfb8e7ed7c2f6824ef.js +++ /dev/null @@ -1,2 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{"6SEy":function(e,a,t){"use strict";t.r(a),t.d(a,"_frontmatter",(function(){return c})),t.d(a,"default",(function(){return m}));var n=t("wx14"),s=t("Ff2n"),i=(t("q1tI"),t("7ljp")),r=t("hhGP");t("qKvR");const l=["components"],c={};void 0!==c&&c&&c===Object(c)&&Object.isExtensible(c)&&!Object.prototype.hasOwnProperty.call(c,"__filemeta")&&Object.defineProperty(c,"__filemeta",{configurable:!0,value:{name:"_frontmatter",filename:"docs/directory-structure.md"}});const o={_frontmatter:c},b=r.a;function m(e){let{components:a}=e,t=Object(s.a)(e,l);return Object(i.b)(b,Object(n.a)({},o,t,{components:a,mdxType:"MDXLayout"}),Object(i.b)("h1",{id:"directory-structure"},"Directory structure"),Object(i.b)("p",null,"Tanka uses the following directories and special files:"),Object(i.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"bash"},Object(i.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(i.b)("span",{parentName:"span",className:"mtk9"},"."),Object(i.b)("span",{parentName:"span",className:"mtk1"}," "),Object(i.b)("span",{parentName:"span",className:"mtk3 mtki"},"# the project ()")),"\n",Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(i.b)("span",{parentName:"span",className:"mtk1"},"├── environments "),Object(i.b)("span",{parentName:"span",className:"mtk3 mtki"},"# code defining clusters")),"\n",Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(i.b)("span",{parentName:"span",className:"mtk1"},"│   └── default "),Object(i.b)("span",{parentName:"span",className:"mtk3 mtki"},"# ")),"\n",Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(i.b)("span",{parentName:"span",className:"mtk1"},"│   ├── main.jsonnet "),Object(i.b)("span",{parentName:"span",className:"mtk3 mtki"},"# starting point of the Jsonnet compilation")),"\n",Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(i.b)("span",{parentName:"span",className:"mtk1"},"│   └── spec.json "),Object(i.b)("span",{parentName:"span",className:"mtk3 mtki"},"# environment's config")),"\n",Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(i.b)("span",{parentName:"span",className:"mtk1"},"├── jsonnetfile.json "),Object(i.b)("span",{parentName:"span",className:"mtk3 mtki"},"# direct dependencies")),"\n",Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(i.b)("span",{parentName:"span",className:"mtk1"},"├── jsonnetfile.lock.json "),Object(i.b)("span",{parentName:"span",className:"mtk3 mtki"},"# all dependencies with exact versions")),"\n",Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(i.b)("span",{parentName:"span",className:"mtk1"},"├── lib "),Object(i.b)("span",{parentName:"span",className:"mtk3 mtki"},"# libraries for this project only")),"\n",Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(i.b)("span",{parentName:"span",className:"mtk1"},"│   └── k.libsonnet "),Object(i.b)("span",{parentName:"span",className:"mtk3 mtki"},"# alias file for vendor/github.com/jsonnet-libs/k8s-libsonnet/1.21/main.libsonnet")),"\n",Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(i.b)("span",{parentName:"span",className:"mtk1"},"└── vendor "),Object(i.b)("span",{parentName:"span",className:"mtk3 mtki"},"# external libraries installed using jb")),"\n",Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(i.b)("span",{parentName:"span",className:"mtk1"}," ├── github.com")),"\n",Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(i.b)("span",{parentName:"span",className:"mtk1"}," │   ├── grafana")),"\n",Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(i.b)("span",{parentName:"span",className:"mtk1"}," │   │   └── jsonnet-libs")),"\n",Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(i.b)("span",{parentName:"span",className:"mtk1"}," │   │   └── ksonnet-util "),Object(i.b)("span",{parentName:"span",className:"mtk3 mtki"},"# Grafana Labs' usability extensions to k.libsonnet")),"\n",Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(i.b)("span",{parentName:"span",className:"mtk1"}," │   │   ├── ...")),"\n",Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(i.b)("span",{parentName:"span",className:"mtk1"}," │   │   └── kausal.libsonnet")),"\n",Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(i.b)("span",{parentName:"span",className:"mtk1"}," │   └── jsonnet-libs")),"\n",Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(i.b)("span",{parentName:"span",className:"mtk1"}," │   └── k8s-libsonnet")),"\n",Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(i.b)("span",{parentName:"span",className:"mtk1"}," │   └── 1.21 "),Object(i.b)("span",{parentName:"span",className:"mtk3 mtki"},"# kubernetes library")),"\n",Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(i.b)("span",{parentName:"span",className:"mtk1"}," │   ├── ...")),"\n",Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(i.b)("span",{parentName:"span",className:"mtk1"}," │   └── main.libsonnet")),"\n",Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(i.b)("span",{parentName:"span",className:"mtk1"}," ├── 1.21 -"),Object(i.b)("span",{parentName:"span",className:"mtk12"},">"),Object(i.b)("span",{parentName:"span",className:"mtk1"}," github.com/jsonnet-libs/k8s-libsonnet/1.21")),"\n",Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(i.b)("span",{parentName:"span",className:"mtk1"}," └── ksonnet-util -"),Object(i.b)("span",{parentName:"span",className:"mtk12"},">"),Object(i.b)("span",{parentName:"span",className:"mtk1"}," github.com/grafana/jsonnet-libs/ksonnet-util")))),Object(i.b)("h2",{id:"environments"},"Environments"),Object(i.b)("p",null,"Tanka organizes configuration in environments. For the rationale behind this,\nsee the ",Object(i.b)("a",{parentName:"p",href:"/pr-preview/pr-991/tutorial/environments"},"section in the tutorial"),"."),Object(i.b)("p",null,"An environment consists of at least two files:"),Object(i.b)("h4",{id:"specjson"},"spec.json"),Object(i.b)("p",null,"This file configures environment properties such as cluster connection\n(",Object(i.b)("inlineCode",{parentName:"p"},"spec.apiServer"),"), default namespace (",Object(i.b)("inlineCode",{parentName:"p"},"spec.namespace"),"), etc."),Object(i.b)("p",null,"For the full set of options, see the ",Object(i.b)("a",{parentName:"p",href:"https://github.com/grafana/tanka/blob/main/pkg/spec/v1alpha1/environment.go"},"Golang source\ncode"),"."),Object(i.b)("h4",{id:"mainjsonnet"},"main.jsonnet"),Object(i.b)("p",null,"Like other programming languages, Jsonnet needs an entrypoint into the\nevaluation, something to begin with. ",Object(i.b)("inlineCode",{parentName:"p"},"main.jsonnet")," is exactly this: The very\nfirst file being evaluated, importing or directly specifying everything required\nfor this specific environment."),Object(i.b)("h2",{id:"root-and-base"},"Root and Base"),Object(i.b)("p",null,"When talking about directories, Tanka uses the following terms:"),Object(i.b)("table",null,Object(i.b)("thead",{parentName:"table"},Object(i.b)("tr",{parentName:"thead"},Object(i.b)("th",{parentName:"tr",align:null},"Term"),Object(i.b)("th",{parentName:"tr",align:null},"Description"),Object(i.b)("th",{parentName:"tr",align:null},"Identifier file"))),Object(i.b)("tbody",{parentName:"table"},Object(i.b)("tr",{parentName:"tbody"},Object(i.b)("td",{parentName:"tr",align:null},Object(i.b)("inlineCode",{parentName:"td"},"rootDir")),Object(i.b)("td",{parentName:"tr",align:null},"The root of your project"),Object(i.b)("td",{parentName:"tr",align:null},Object(i.b)("inlineCode",{parentName:"td"},"jsonnetfile.json")," or ",Object(i.b)("inlineCode",{parentName:"td"},"tkrc.yaml"))),Object(i.b)("tr",{parentName:"tbody"},Object(i.b)("td",{parentName:"tr",align:null},Object(i.b)("inlineCode",{parentName:"td"},"baseDir")),Object(i.b)("td",{parentName:"tr",align:null},"The directory of the current environment"),Object(i.b)("td",{parentName:"tr",align:null},Object(i.b)("inlineCode",{parentName:"td"},"main.jsonnet"))))),Object(i.b)("p",null,"Regardless what subdirectory of the project you are in, Tanka will always be\nable to identify both directories, by searching for the identifier files in the\nparent directories.",Object(i.b)("br",{parentName:"p"}),"\n","Tanka needs these for correctly setting up the ",Object(i.b)("a",{parentName:"p",href:"/pr-preview/pr-991/libraries/import-paths"},"import paths"),"."),Object(i.b)("p",null,"This is similar to how ",Object(i.b)("inlineCode",{parentName:"p"},"git")," always works, by looking for the ",Object(i.b)("inlineCode",{parentName:"p"},".git")," directory."),Object(i.b)("h2",{id:"libraries"},"Libraries"),Object(i.b)("p",null,"Tanka relies heavily on code-reuse, so libraries are a natural thing. Roughly\nspoken, they can be imported from two paths:"),Object(i.b)("ul",null,Object(i.b)("li",{parentName:"ul"},Object(i.b)("inlineCode",{parentName:"li"},"/lib"),": Project local libraries"),Object(i.b)("li",{parentName:"ul"},Object(i.b)("inlineCode",{parentName:"li"},"/vendor")," External libraries")),Object(i.b)("p",null,"For more details consider the ",Object(i.b)("a",{parentName:"p",href:"/pr-preview/pr-991/libraries/import-paths"},"import paths"),"."),Object(i.b)("h3",{id:"jsonnetfilejson-and-the-lock"},"jsonnetfile.json and the lock"),Object(i.b)("p",null,Object(i.b)("inlineCode",{parentName:"p"},"jb")," records all external packages installed in a file called\n",Object(i.b)("inlineCode",{parentName:"p"},"jsonnetfile.json"),". This file is the source of truth about what should be\nincluded in ",Object(i.b)("inlineCode",{parentName:"p"},"vendor/"),". However, it should only include what is really directly\nrequired, all recursive dependencies will be handled just fine."),Object(i.b)("p",null,Object(i.b)("inlineCode",{parentName:"p"},"jsonnetfile.lock.json")," is generated on every run of jsonnet-bundler, including\na list of packages that must be included in ",Object(i.b)("inlineCode",{parentName:"p"},"vendor/"),", along with the exact\nversion and a ",Object(i.b)("inlineCode",{parentName:"p"},"sha256")," hash of the package contents."),Object(i.b)("p",null,"Both files should be checked into source control: The ",Object(i.b)("inlineCode",{parentName:"p"},"jsonnetfile.json"),"\nspecifies what you need and the ",Object(i.b)("inlineCode",{parentName:"p"},"jsonnetfile.lock.json")," is important to make\nsure that subsequent ",Object(i.b)("inlineCode",{parentName:"p"},"jb install")," invocations always do the exact same thing."),Object(i.b)("blockquote",null,Object(i.b)("p",{parentName:"blockquote"},Object(i.b)("strong",{parentName:"p"},"Tip"),": The ",Object(i.b)("inlineCode",{parentName:"p"},"vendor/")," directory can be safely added to ",Object(i.b)("inlineCode",{parentName:"p"},".gitignore")," to keep your\nrepository size down, as long as ",Object(i.b)("inlineCode",{parentName:"p"},"jsonnetfile.lock.json")," is checked in.")),Object(i.b)("style",{className:"vscode-highlight-styles"},"\n \n .material-theme-darker {\nbackground-color: #212121;\ncolor: #EEFFFF;\n}\n\n.material-theme-darker .mtk1 { color: #FFFFFF; }\n.material-theme-darker .mtk2 { color: #212121; }\n.material-theme-darker .mtk3 { color: #545454; }\n.material-theme-darker .mtk4 { color: #F78C6C; }\n.material-theme-darker .mtk5 { color: #89DDFF; }\n.material-theme-darker .mtk6 { color: #C3E88D; }\n.material-theme-darker .mtk7 { color: #FFCB6B; }\n.material-theme-darker .mtk8 { color: #EEFFFF; }\n.material-theme-darker .mtk9 { color: #82AAFF; }\n.material-theme-darker .mtk10 { color: #FF5370; }\n.material-theme-darker .mtk11 { color: #F07178; }\n.material-theme-darker .mtk12 { color: #C792EA; }\n.material-theme-darker .mtk13 { color: #EEFFFF90; }\n.material-theme-darker .mtk14 { color: #65737E; }\n.material-theme-darker .mtk15 { color: #B2CCD6; }\n.material-theme-darker .mtk16 { color: #C17E70; }\n.material-theme-darker .mtki { font-style: italic; }\n.material-theme-darker .mtkb { font-weight: bold; }\n.material-theme-darker .mtku { text-decoration: underline; text-underline-position: under; }\n"))}void 0!==m&&m&&m===Object(m)&&Object.isExtensible(m)&&!Object.prototype.hasOwnProperty.call(m,"__filemeta")&&Object.defineProperty(m,"__filemeta",{configurable:!0,value:{name:"MDXContent",filename:"docs/directory-structure.md"}}),m.isMDXComponent=!0}}]); -//# sourceMappingURL=component---docs-directory-structure-md-b5bfb8e7ed7c2f6824ef.js.map \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-directory-structure-md-b5bfb8e7ed7c2f6824ef.js.map b/pr-preview/pr-991/component---docs-directory-structure-md-b5bfb8e7ed7c2f6824ef.js.map deleted file mode 100644 index 682ab5cec..000000000 --- a/pr-preview/pr-991/component---docs-directory-structure-md-b5bfb8e7ed7c2f6824ef.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./docs/directory-structure.md"],"names":["_frontmatter","Object","isExtensible","prototype","hasOwnProperty","call","defineProperty","configurable","value","name","filename","layoutProps","MDXLayout","DefaultLayout","MDXContent","_ref","components","props","_objectWithoutProperties","_excluded","mdx","_extends","mdxType","parentName","isMDXComponent"],"mappings":"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","file":"component---docs-directory-structure-md-b5bfb8e7ed7c2f6824ef.js","sourcesContent":["import * as React from 'react'\n /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsxRuntime classic */\n/* @jsx mdx */\nimport DefaultLayout from \"/home/runner/work/tanka/tanka/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nexport const _frontmatter = {};\nconst layoutProps = {\n _frontmatter\n};\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n components,\n ...props\n}) {\n return \n\n\n

      {`Directory structure`}

      \n

      {`Tanka uses the following directories and special files:`}

      \n
      {`.`}{` `}{`# the project ()`}{`\n`}{`├── environments `}{`# code defining clusters`}{`\n`}{`│   └── default `}{`# `}{`\n`}{`│       ├── main.jsonnet `}{`# starting point of the Jsonnet compilation`}{`\n`}{`│       └── spec.json `}{`# environment's config`}{`\n`}{`├── jsonnetfile.json `}{`# direct dependencies`}{`\n`}{`├── jsonnetfile.lock.json `}{`# all dependencies with exact versions`}{`\n`}{`├── lib `}{`# libraries for this project only`}{`\n`}{`│   └── k.libsonnet `}{`# alias file for vendor/github.com/jsonnet-libs/k8s-libsonnet/1.21/main.libsonnet`}{`\n`}{`└── vendor `}{`# external libraries installed using jb`}{`\n`}{`    ├── github.com`}{`\n`}{`    │   ├── grafana`}{`\n`}{`    │   │   └── jsonnet-libs`}{`\n`}{`    │   │       └── ksonnet-util `}{`# Grafana Labs' usability extensions to k.libsonnet`}{`\n`}{`    │   │           ├── ...`}{`\n`}{`    │   │           └── kausal.libsonnet`}{`\n`}{`    │   └── jsonnet-libs`}{`\n`}{`    │       └── k8s-libsonnet`}{`\n`}{`    │           └── 1.21 `}{`# kubernetes library`}{`\n`}{`    │               ├── ...`}{`\n`}{`    │               └── main.libsonnet`}{`\n`}{`    ├── 1.21 -`}{`>`}{` github.com/jsonnet-libs/k8s-libsonnet/1.21`}{`\n`}{`    └── ksonnet-util -`}{`>`}{` github.com/grafana/jsonnet-libs/ksonnet-util`}
      \n

      {`Environments`}

      \n

      {`Tanka organizes configuration in environments. For the rationale behind this,\nsee the `}{`section in the tutorial`}{`.`}

      \n

      {`An environment consists of at least two files:`}

      \n

      {`spec.json`}

      \n

      {`This file configures environment properties such as cluster connection\n(`}{`spec.apiServer`}{`), default namespace (`}{`spec.namespace`}{`), etc.`}

      \n

      {`For the full set of options, see the `}{`Golang source\ncode`}{`.`}

      \n

      {`main.jsonnet`}

      \n

      {`Like other programming languages, Jsonnet needs an entrypoint into the\nevaluation, something to begin with. `}{`main.jsonnet`}{` is exactly this: The very\nfirst file being evaluated, importing or directly specifying everything required\nfor this specific environment.`}

      \n

      {`Root and Base`}

      \n

      {`When talking about directories, Tanka uses the following terms:`}

      \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
      {`Term`}{`Description`}{`Identifier file`}
      {`rootDir`}{`The root of your project`}{`jsonnetfile.json`}{` or `}{`tkrc.yaml`}
      {`baseDir`}{`The directory of the current environment`}{`main.jsonnet`}
      \n

      {`Regardless what subdirectory of the project you are in, Tanka will always be\nable to identify both directories, by searching for the identifier files in the\nparent directories.`}

      {`\n`}{`Tanka needs these for correctly setting up the `}{`import paths`}{`.`}

      \n

      {`This is similar to how `}{`git`}{` always works, by looking for the `}{`.git`}{` directory.`}

      \n

      {`Libraries`}

      \n

      {`Tanka relies heavily on code-reuse, so libraries are a natural thing. Roughly\nspoken, they can be imported from two paths:`}

      \n
        \n
      • {`/lib`}{`: Project local libraries`}
      • \n
      • {`/vendor`}{` External libraries`}
      • \n
      \n

      {`For more details consider the `}{`import paths`}{`.`}

      \n

      {`jsonnetfile.json and the lock`}

      \n

      {`jb`}{` records all external packages installed in a file called\n`}{`jsonnetfile.json`}{`. This file is the source of truth about what should be\nincluded in `}{`vendor/`}{`. However, it should only include what is really directly\nrequired, all recursive dependencies will be handled just fine.`}

      \n

      {`jsonnetfile.lock.json`}{` is generated on every run of jsonnet-bundler, including\na list of packages that must be included in `}{`vendor/`}{`, along with the exact\nversion and a `}{`sha256`}{` hash of the package contents.`}

      \n

      {`Both files should be checked into source control: The `}{`jsonnetfile.json`}{`\nspecifies what you need and the `}{`jsonnetfile.lock.json`}{` is important to make\nsure that subsequent `}{`jb install`}{` invocations always do the exact same thing.`}

      \n
      \n

      {`Tip`}{`: The `}{`vendor/`}{` directory can be safely added to `}{`.gitignore`}{` to keep your\nrepository size down, as long as `}{`jsonnetfile.lock.json`}{` is checked in.`}

      \n
      \n\n \n
      ;\n}\n;\nMDXContent.isMDXComponent = true;\n "],"sourceRoot":""} \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-env-vars-md-102b70747bbd7865e8e8.js b/pr-preview/pr-991/component---docs-env-vars-md-102b70747bbd7865e8e8.js deleted file mode 100644 index 435ba04b3..000000000 --- a/pr-preview/pr-991/component---docs-env-vars-md-102b70747bbd7865e8e8.js +++ /dev/null @@ -1,2 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[7],{YnQe:function(e,t,n){"use strict";n.r(t),n.d(t,"_frontmatter",(function(){return o})),n.d(t,"default",(function(){return O}));var a=n("wx14"),b=n("Ff2n"),p=(n("q1tI"),n("7ljp")),r=n("hhGP");n("qKvR");const c=["components"],o={};void 0!==o&&o&&o===Object(o)&&Object.isExtensible(o)&&!Object.prototype.hasOwnProperty.call(o,"__filemeta")&&Object.defineProperty(o,"__filemeta",{configurable:!0,value:{name:"_frontmatter",filename:"docs/env-vars.md"}});const i={_frontmatter:o},l=r.a;function O(e){let{components:t}=e,n=Object(b.a)(e,c);return Object(p.b)(l,Object(a.a)({},i,n,{components:t,mdxType:"MDXLayout"}),Object(p.b)("h1",{id:"environment-variables"},"Environment Variables"),Object(p.b)("h3",{id:"tanka_jb_path"},"TANKA_JB_PATH"),Object(p.b)("p",null,Object(p.b)("strong",{parentName:"p"},"Description"),": Path to the ",Object(p.b)("inlineCode",{parentName:"p"},"jb")," tool executable",Object(p.b)("br",{parentName:"p"}),"\n",Object(p.b)("strong",{parentName:"p"},"Default"),": ",Object(p.b)("inlineCode",{parentName:"p"},"$PATH/jb")),Object(p.b)("h3",{id:"tanka_kubectl_path"},"TANKA_KUBECTL_PATH"),Object(p.b)("p",null,Object(p.b)("strong",{parentName:"p"},"Description"),": Path to the ",Object(p.b)("inlineCode",{parentName:"p"},"kubectl")," tool executable",Object(p.b)("br",{parentName:"p"}),"\n",Object(p.b)("strong",{parentName:"p"},"Default"),": ",Object(p.b)("inlineCode",{parentName:"p"},"$PATH/kubectl")),Object(p.b)("h3",{id:"tanka_kubectl_trace"},"TANKA_KUBECTL_TRACE"),Object(p.b)("p",null,Object(p.b)("strong",{parentName:"p"},"Description"),": Print all calls to ",Object(p.b)("inlineCode",{parentName:"p"},"kubectl"),Object(p.b)("br",{parentName:"p"}),"\n",Object(p.b)("strong",{parentName:"p"},"Default"),": ",Object(p.b)("inlineCode",{parentName:"p"},"false")),Object(p.b)("h3",{id:"tanka_helm_path"},"TANKA_HELM_PATH"),Object(p.b)("p",null,Object(p.b)("strong",{parentName:"p"},"Description"),": Path to the ",Object(p.b)("inlineCode",{parentName:"p"},"helm")," executable",Object(p.b)("br",{parentName:"p"}),"\n",Object(p.b)("strong",{parentName:"p"},"Default"),": ",Object(p.b)("inlineCode",{parentName:"p"},"$PATH/helm")),Object(p.b)("h3",{id:"tanka_kustomize_path"},"TANKA_KUSTOMIZE_PATH"),Object(p.b)("p",null,Object(p.b)("strong",{parentName:"p"},"Description"),": Path to the ",Object(p.b)("inlineCode",{parentName:"p"},"kustomize")," executable",Object(p.b)("br",{parentName:"p"}),"\n",Object(p.b)("strong",{parentName:"p"},"Default"),": ",Object(p.b)("inlineCode",{parentName:"p"},"$PATH/kustomize")),Object(p.b)("h3",{id:"pager"},"PAGER"),Object(p.b)("p",null,Object(p.b)("strong",{parentName:"p"},"Description"),": Pager to use when displaying output. Set to an empty string to disable paging.\n",Object(p.b)("strong",{parentName:"p"},"Default"),": ",Object(p.b)("inlineCode",{parentName:"p"},"less --RAW-CONTROL-CHARS --quit-if-one-screen --no-init")))}void 0!==O&&O&&O===Object(O)&&Object.isExtensible(O)&&!Object.prototype.hasOwnProperty.call(O,"__filemeta")&&Object.defineProperty(O,"__filemeta",{configurable:!0,value:{name:"MDXContent",filename:"docs/env-vars.md"}}),O.isMDXComponent=!0}}]); -//# sourceMappingURL=component---docs-env-vars-md-102b70747bbd7865e8e8.js.map \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-env-vars-md-102b70747bbd7865e8e8.js.map b/pr-preview/pr-991/component---docs-env-vars-md-102b70747bbd7865e8e8.js.map deleted file mode 100644 index d066b0c0b..000000000 --- a/pr-preview/pr-991/component---docs-env-vars-md-102b70747bbd7865e8e8.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./docs/env-vars.md"],"names":["_frontmatter","Object","isExtensible","prototype","hasOwnProperty","call","defineProperty","configurable","value","name","filename","layoutProps","MDXLayout","DefaultLayout","MDXContent","_ref","components","props","_objectWithoutProperties","_excluded","mdx","_extends","mdxType","parentName","isMDXComponent"],"mappings":"wRAMaA,EAAe,QAAG,IAAAA,UAAAC,OAAAD,IAAAC,OAAAC,aAAAF,KAAAC,OAAAE,UAAAC,eAAAC,KAAAL,EAAA,eAAAC,OAAAK,eAAAN,EAAA,cAAAO,cAAA,EAAAC,MAAA,CAAAC,KAAA,eAAAC,SAAA,sBAC/B,MAAMC,EAAc,CAClBX,gBAEIY,EAAYC,IACH,SAASC,EAAUC,GAG/B,IAHgC,WACjCC,GAEDD,EADIE,EAAKC,YAAAH,EAAAI,GAER,OAAOC,YAACR,EAASS,YAAA,GAAKV,EAAiBM,EAAK,CAAED,WAAYA,EAAYM,QAAQ,cAG5EF,YAAA,MACE,GAAM,yBAAuB,yBAE/BA,YAAA,MACE,GAAM,iBAAe,iBAEvBA,YAAA,SAAGA,YAAA,UAAQG,WAAW,KAAG,eAAyB,iBAAkBH,YAAA,cAAYG,WAAW,KAAG,MAAoB,mBAAoBH,YAAA,MAAIG,WAAW,MAAS,KAChKH,YAAA,UAAQG,WAAW,KAAG,WAAqB,KAAMH,YAAA,cAAYG,WAAW,KAAG,aACzEH,YAAA,MACE,GAAM,sBAAoB,sBAE5BA,YAAA,SAAGA,YAAA,UAAQG,WAAW,KAAG,eAAyB,iBAAkBH,YAAA,cAAYG,WAAW,KAAG,WAAyB,mBAAoBH,YAAA,MAAIG,WAAW,MAAS,KACrKH,YAAA,UAAQG,WAAW,KAAG,WAAqB,KAAMH,YAAA,cAAYG,WAAW,KAAG,kBACzEH,YAAA,MACE,GAAM,uBAAqB,uBAE7BA,YAAA,SAAGA,YAAA,UAAQG,WAAW,KAAG,eAAyB,wBAAyBH,YAAA,cAAYG,WAAW,KAAG,WAAyBH,YAAA,MAAIG,WAAW,MAAS,KACxJH,YAAA,UAAQG,WAAW,KAAG,WAAqB,KAAMH,YAAA,cAAYG,WAAW,KAAG,UACzEH,YAAA,MACE,GAAM,mBAAiB,mBAEzBA,YAAA,SAAGA,YAAA,UAAQG,WAAW,KAAG,eAAyB,iBAAkBH,YAAA,cAAYG,WAAW,KAAG,QAAsB,cAAeH,YAAA,MAAIG,WAAW,MAAS,KAC7JH,YAAA,UAAQG,WAAW,KAAG,WAAqB,KAAMH,YAAA,cAAYG,WAAW,KAAG,eACzEH,YAAA,MACE,GAAM,wBAAsB,wBAE9BA,YAAA,SAAGA,YAAA,UAAQG,WAAW,KAAG,eAAyB,iBAAkBH,YAAA,cAAYG,WAAW,KAAG,aAA2B,cAAeH,YAAA,MAAIG,WAAW,MAAS,KAClKH,YAAA,UAAQG,WAAW,KAAG,WAAqB,KAAMH,YAAA,cAAYG,WAAW,KAAG,oBACzEH,YAAA,MACE,GAAM,SAAO,SAEfA,YAAA,SAAGA,YAAA,UAAQG,WAAW,KAAG,eAAyB,qFACpDH,YAAA,UAAQG,WAAW,KAAG,WAAqB,KAAMH,YAAA,cAAYG,WAAW,KAAG,kEAG5E,IAAAT,UAAAb,OAAAa,IAAAb,OAAAC,aAAAY,KAAAb,OAAAE,UAAAC,eAAAC,KAAAS,EAAA,eAAAb,OAAAK,eAAAQ,EAAA,cAAAP,cAAA,EAAAC,MAAA,CAAAC,KAAA,aAAAC,SAAA,sBAEDI,EAAWU,gBAAiB","file":"component---docs-env-vars-md-102b70747bbd7865e8e8.js","sourcesContent":["import * as React from 'react'\n /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsxRuntime classic */\n/* @jsx mdx */\nimport DefaultLayout from \"/home/runner/work/tanka/tanka/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nexport const _frontmatter = {};\nconst layoutProps = {\n _frontmatter\n};\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n components,\n ...props\n}) {\n return \n\n\n

      {`Environment Variables`}

      \n

      {`TANKA_JB_PATH`}

      \n

      {`Description`}{`: Path to the `}{`jb`}{` tool executable`}

      {`\n`}{`Default`}{`: `}{`$PATH/jb`}

      \n

      {`TANKA_KUBECTL_PATH`}

      \n

      {`Description`}{`: Path to the `}{`kubectl`}{` tool executable`}

      {`\n`}{`Default`}{`: `}{`$PATH/kubectl`}

      \n

      {`TANKA_KUBECTL_TRACE`}

      \n

      {`Description`}{`: Print all calls to `}{`kubectl`}

      {`\n`}{`Default`}{`: `}{`false`}

      \n

      {`TANKA_HELM_PATH`}

      \n

      {`Description`}{`: Path to the `}{`helm`}{` executable`}

      {`\n`}{`Default`}{`: `}{`$PATH/helm`}

      \n

      {`TANKA_KUSTOMIZE_PATH`}

      \n

      {`Description`}{`: Path to the `}{`kustomize`}{` executable`}

      {`\n`}{`Default`}{`: `}{`$PATH/kustomize`}

      \n

      {`PAGER`}

      \n

      {`Description`}{`: Pager to use when displaying output. Set to an empty string to disable paging.\n`}{`Default`}{`: `}{`less --RAW-CONTROL-CHARS --quit-if-one-screen --no-init`}

      \n\n
      ;\n}\n;\nMDXContent.isMDXComponent = true;\n "],"sourceRoot":""} \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-exporting-md-3cdb988be9ce1c04360b.js b/pr-preview/pr-991/component---docs-exporting-md-3cdb988be9ce1c04360b.js deleted file mode 100644 index 07f56d147..000000000 --- a/pr-preview/pr-991/component---docs-exporting-md-3cdb988be9ce1c04360b.js +++ /dev/null @@ -1,2 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[8],{AXtd:function(e,a,t){"use strict";t.r(a),t.d(a,"_frontmatter",(function(){return r})),t.d(a,"default",(function(){return p}));var n=t("wx14"),s=t("Ff2n"),i=(t("q1tI"),t("7ljp")),l=t("hhGP");t("qKvR");const o=["components"],r={};void 0!==r&&r&&r===Object(r)&&Object.isExtensible(r)&&!Object.prototype.hasOwnProperty.call(r,"__filemeta")&&Object.defineProperty(r,"__filemeta",{configurable:!0,value:{name:"_frontmatter",filename:"docs/exporting.md"}});const m={_frontmatter:r},c=l.a;function p(e){let{components:a}=e,t=Object(s.a)(e,o);return Object(i.b)(c,Object(n.a)({},m,t,{components:a,mdxType:"MDXLayout"}),Object(i.b)("h1",{id:"exporting-as-yaml"},"Exporting as YAML"),Object(i.b)("p",null,"Tanka provides you with a day-to-day workflow for working with Kubernetes clusters:"),Object(i.b)("ul",null,Object(i.b)("li",{parentName:"ul"},Object(i.b)("inlineCode",{parentName:"li"},"tk show")," for quickly checking the YAML representation looks good"),Object(i.b)("li",{parentName:"ul"},Object(i.b)("inlineCode",{parentName:"li"},"tk diff")," to ensure your changes will behave like they should"),Object(i.b)("li",{parentName:"ul"},Object(i.b)("inlineCode",{parentName:"li"},"tk apply")," makes it happen")),Object(i.b)("p",null,"However sometimes it can be required to integrate with other tooling that does\nonly support ",Object(i.b)("inlineCode",{parentName:"p"},".yaml")," files."),Object(i.b)("p",null,"For that case, ",Object(i.b)("inlineCode",{parentName:"p"},"tk export")," can be used:"),Object(i.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"bash"},Object(i.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(i.b)("span",{parentName:"span",className:"mtk3 mtki"},"# ")),"\n",Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(i.b)("span",{parentName:"span",className:"mtk1"},"$ tk "),Object(i.b)("span",{parentName:"span",className:"mtk12"},"export"),Object(i.b)("span",{parentName:"span",className:"mtk1"}," promtail/ environments/promtail")))),Object(i.b)("blockquote",null,Object(i.b)("p",{parentName:"blockquote"},Object(i.b)("strong",{parentName:"p"},"Note:")," The arguments flipped in v0.14.0, the ",Object(i.b)("inlineCode",{parentName:"p"},"")," comes first now.")),Object(i.b)("p",null,"This will create a separate ",Object(i.b)("inlineCode",{parentName:"p"},".yaml")," file for each Kubernetes resource included in your Jsonnet."),Object(i.b)("h2",{id:"filenames"},"Filenames"),Object(i.b)("p",null,"Tanka by default uses the following pattern:"),Object(i.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"bash"},Object(i.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(i.b)("span",{parentName:"span",className:"mtk5"},"${"),Object(i.b)("span",{parentName:"span",className:"mtk8"},"apiVersion"),Object(i.b)("span",{parentName:"span",className:"mtk5"},"}"),Object(i.b)("span",{parentName:"span",className:"mtk1"},"."),Object(i.b)("span",{parentName:"span",className:"mtk5"},"${"),Object(i.b)("span",{parentName:"span",className:"mtk8"},"kind"),Object(i.b)("span",{parentName:"span",className:"mtk5"},"}"),Object(i.b)("span",{parentName:"span",className:"mtk1"},"-"),Object(i.b)("span",{parentName:"span",className:"mtk5"},"${"),Object(i.b)("span",{parentName:"span",className:"mtk8"},"metadata.name"),Object(i.b)("span",{parentName:"span",className:"mtk5"},"}"),Object(i.b)("span",{parentName:"span",className:"mtk1"},".yaml")),"\n",Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(i.b)("span",{parentName:"span",className:"mtk1"})),"\n",Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(i.b)("span",{parentName:"span",className:"mtk3 mtki"},"# examples:")),"\n",Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(i.b)("span",{parentName:"span",className:"mtk1"},"apps-v1.Deployment-distributor.yaml")),"\n",Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(i.b)("span",{parentName:"span",className:"mtk1"},"v1.ConfigMap-loki.yaml")),"\n",Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(i.b)("span",{parentName:"span",className:"mtk1"},"v1.Service-ingester.yaml")))),Object(i.b)("p",null,"If that does not fit your need, you can provide your own pattern using the ",Object(i.b)("inlineCode",{parentName:"p"},"--format")," flag:"),Object(i.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"bash"},Object(i.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(i.b)("span",{parentName:"span",className:"mtk1"},"tk "),Object(i.b)("span",{parentName:"span",className:"mtk12"},"export"),Object(i.b)("span",{parentName:"span",className:"mtk1"}," promtail environments/promtail --format="),Object(i.b)("span",{parentName:"span",className:"mtk5"},"'"),Object(i.b)("span",{parentName:"span",className:"mtk6"},"{{.metadata.labels.app}}-{{.metadata.name}}-{{.kind}}"),Object(i.b)("span",{parentName:"span",className:"mtk5"},"'")))),Object(i.b)("blockquote",null,Object(i.b)("p",{parentName:"blockquote"},"The syntax is Go ",Object(i.b)("inlineCode",{parentName:"p"},"text/template"),". See ",Object(i.b)("a",{parentName:"p",href:"https://pkg.go.dev/text/template"},"https://pkg.go.dev/text/template"),"\nfor reference.")),Object(i.b)("p",null,"This would include the label named ",Object(i.b)("inlineCode",{parentName:"p"},"app"),", the ",Object(i.b)("inlineCode",{parentName:"p"},"name")," and ",Object(i.b)("inlineCode",{parentName:"p"},"kind")," of the resource:"),Object(i.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":""},Object(i.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},"loki-distributor-Deployment"),"\n",Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},"loki-loki-ConfigMap"),"\n",Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},"loki-ingester-Service"))),Object(i.b)("p",null,"You can optionally use the template function ",Object(i.b)("inlineCode",{parentName:"p"},"lower")," for lower-casing fields, e.g. in the above example"),Object(i.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"bash"},Object(i.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(i.b)("span",{parentName:"span",className:"mtk1"},"... --format="),Object(i.b)("span",{parentName:"span",className:"mtk5"},"'"),Object(i.b)("span",{parentName:"span",className:"mtk6"},"{{.metadata.labels.app}}-{{.metadata.name}}-{{.kind | lower}}"),Object(i.b)("span",{parentName:"span",className:"mtk5"},"'")))),Object(i.b)("p",null,"would yield"),Object(i.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":""},Object(i.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},"loki-distributor-deployment"))),Object(i.b)("p",null,"etc."),Object(i.b)("p",null,"You can also use a different file extension by providing ",Object(i.b)("inlineCode",{parentName:"p"},"--extension='yml'"),", for example."),Object(i.b)("h2",{id:"multiple-environments"},"Multiple environments"),Object(i.b)("p",null,"Tanka can also export multiple inline environments, as showcased in ",Object(i.b)("a",{parentName:"p",href:"/pr-preview/pr-991/inline-environments#use-case-consistent-inline-environments"},"Use case: consistent inline\nenvironments"),". This follows the same\nprinciples as describe before with the addition that you can also refer to Environment specific data through the ",Object(i.b)("inlineCode",{parentName:"p"},"env"),"\nkeyword."),Object(i.b)("p",null,"For example an export might refer to data from the Environment spec:"),Object(i.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"bash"},Object(i.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(i.b)("span",{parentName:"span",className:"mtk3 mtki"},"# Format based on environment {{env.<...>}}")),"\n",Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(i.b)("span",{parentName:"span",className:"mtk1"},"$ tk "),Object(i.b)("span",{parentName:"span",className:"mtk12"},"export"),Object(i.b)("span",{parentName:"span",className:"mtk1"}," exportDir environments/dev/ \\")),"\n",Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(i.b)("span",{parentName:"span",className:"mtk1"}," --format "),Object(i.b)("span",{parentName:"span",className:"mtk5"},"'"),Object(i.b)("span",{parentName:"span",className:"mtk6"},"{{env.metadata.labels.cluster}}/{{env.spec.namespace}}//{{.kind}}-{{.metadata.name}}"),Object(i.b)("span",{parentName:"span",className:"mtk5"},"'")))),Object(i.b)("p",null,"Even more advanced use cases allow you to export multiple environments in a single execution:"),Object(i.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"bash"},Object(i.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(i.b)("span",{parentName:"span",className:"mtk3 mtki"},"# Export multiple environments")),"\n",Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(i.b)("span",{parentName:"span",className:"mtk1"},"$ tk "),Object(i.b)("span",{parentName:"span",className:"mtk12"},"export"),Object(i.b)("span",{parentName:"span",className:"mtk1"}," exportDir environments/dev/ environments/qa/")),"\n",Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(i.b)("span",{parentName:"span",className:"mtk3 mtki"},"# Recursive export")),"\n",Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(i.b)("span",{parentName:"span",className:"mtk1"},"$ tk "),Object(i.b)("span",{parentName:"span",className:"mtk12"},"export"),Object(i.b)("span",{parentName:"span",className:"mtk1"}," exportDir environments/ --recursive")),"\n",Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(i.b)("span",{parentName:"span",className:"mtk3 mtki"},"# Recursive export with labelSelector")),"\n",Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(i.b)("span",{parentName:"span",className:"mtk1"},"$ tk "),Object(i.b)("span",{parentName:"span",className:"mtk12"},"export"),Object(i.b)("span",{parentName:"span",className:"mtk1"}," exportDir environments/ -r -l team=infra")))),Object(i.b)("h2",{id:"performance-features"},"Performance features"),Object(i.b)("p",null,"When exporting a large amount of environments, jsonnet evaluation can become a bottleneck. To speed up the process, Tanka provides a few optional features."),Object(i.b)("h3",{id:"partial-export-in-a-gitops-context"},"Partial export (in a GitOps context)"),Object(i.b)("p",null,"Given multiple environments, one may want to only export the environments that were modified since the last export. This is enabled by passing both the ",Object(i.b)("inlineCode",{parentName:"p"},"--merge-strategy=replace-envs")," flags."),Object(i.b)("p",null,"When these flags are passed, Tanka will:"),Object(i.b)("ol",null,Object(i.b)("li",{parentName:"ol"},"Delete the manifests that were previously exported by the environments that are being exported. This is done by looking at the ",Object(i.b)("inlineCode",{parentName:"li"},"manifest.json")," file that is generated by Tanka when exporting. The related entries are also removed from the ",Object(i.b)("inlineCode",{parentName:"li"},"manifest.json")," file."),Object(i.b)("li",{parentName:"ol"},"Generate the manifests for the targeted environments into the output directory."),Object(i.b)("li",{parentName:"ol"},"Add in the new manifests entries into the ",Object(i.b)("inlineCode",{parentName:"li"},"manifest.json")," file and re-export it.")),Object(i.b)("h4",{id:"finding-out-which-environments-to-export"},"Finding out which environments to export"),Object(i.b)("p",null,"Tanka provides the ",Object(i.b)("inlineCode",{parentName:"p"},"tk tool importers")," command to figure out which ",Object(i.b)("inlineCode",{parentName:"p"},"main.jsonnet")," need to be re-exported based on what files were modified in a workspace."),Object(i.b)("p",null,"If, for example, the ",Object(i.b)("inlineCode",{parentName:"p"},"lib/my-lib/main.libsonnet")," file was modified, you could run the command like this to find which files to export:"),Object(i.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"console"},Object(i.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},"# Find out which envs to re-export"),"\n",Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},"$ tk tool importers lib/my-lib/main.libsonnet"),"\n",Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},"my-repo-path/jsonnet/environments/my-env/main.jsonnet"),"\n",Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"}),"\n",Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},"# Re-export the envs"),"\n",Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},"$ tk export myoutputdir my-repo-path/jsonnet/environments/my-env/main.jsonnet --merge-strategy=replace-envs"))),Object(i.b)("p",null,"Note that deleted environments need special consideration when doing this.\nThe ",Object(i.b)("inlineCode",{parentName:"p"},"tk tool importers")," utility only works with existing files so deleting an environment will result in stale ",Object(i.b)("inlineCode",{parentName:"p"},"manifest.json")," entries and moving an environment will result in manifest conflicts.\nIn order to correctly handle deleted environments, they need to be passed to the export command:"),Object(i.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"console"},Object(i.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},"$ tk export myoutputdir my-repo-path/jsonnet/environments/my-new-env-path/main.jsonnet --merge-strategy=replace-envs \\"),"\n",Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"}," --merge-deleted-envs my-repo-path/jsonnet/environments/my-old-env-path/main.jsonnet \\"),"\n",Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"}," --merge-deleted-envs my-repo-path/jsonnet/environments/other-deleted-env-path/main.jsonnet"))),Object(i.b)("h3",{id:"using-a-memory-ballast"},"Using a memory ballast"),Object(i.b)("p",null,Object(i.b)("em",{parentName:"p"},"Read ",Object(i.b)("a",{parentName:"em",href:"https://blog.twitch.tv/en/2019/04/10/go-memory-ballast-how-i-learnt-to-stop-worrying-and-love-the-heap/"},"this blog post")," for more information about memory ballasts.")),Object(i.b)("p",null,"For large environments that load lots of data into memory on evaluation, a memory ballast can dramatically improve performance. This feature is exposed through the ",Object(i.b)("inlineCode",{parentName:"p"},"--mem-ballast-size-bytes")," flag on the export command."),Object(i.b)("p",null,"Anecdotally (Grafana Labs), environments that took around a minute to load were able to load in around 45 secs with a ballast of 5GB (",Object(i.b)("inlineCode",{parentName:"p"},"--mem-ballast-size-bytes=5368709120"),"). Decreasing the ballast size resulted in negative impact on performance, and increasing it more did not result in any noticeable impact."),Object(i.b)("h3",{id:"caching"},"Caching"),Object(i.b)("p",null,"Tanka can also cache the results of the export. This is useful if you often export the same files and want to avoid recomputing them. The cache key is calculated from the main file and all of its transitive imports, so any change to any file possibly used in an environment will invalidate the cache."),Object(i.b)("p",null,"This is configured by two flags:"),Object(i.b)("ul",null,Object(i.b)("li",{parentName:"ul"},Object(i.b)("inlineCode",{parentName:"li"},"--cache-path"),": The local filesystem path where the cache will be stored. The cache is a flat directory of json files (one per environment)."),Object(i.b)("li",{parentName:"ul"},Object(i.b)("inlineCode",{parentName:"li"},"--cache-envs"),": If exporting multiple environments, this flag can be used to specify, with regexes, which environments to cache. If not specified, all environments are cached.")),Object(i.b)("p",null,"Notes:"),Object(i.b)("ul",null,Object(i.b)("li",{parentName:"ul"},"Using the cache might be slower than evaluating jsonnet directy. It is only recommended for environments that are very CPU intensive to evaluate."),Object(i.b)("li",{parentName:"ul"},"To use object storage, you can point the ",Object(i.b)("inlineCode",{parentName:"li"},"--cache-path")," to a FUSE mount, such as ",Object(i.b)("a",{parentName:"li",href:"https://github.com/s3fs-fuse/s3fs-fuse"},Object(i.b)("inlineCode",{parentName:"a"},"s3fs")))),Object(i.b)("style",{className:"vscode-highlight-styles"},"\n \n .material-theme-darker {\nbackground-color: #212121;\ncolor: #EEFFFF;\n}\n\n.material-theme-darker .mtk1 { color: #FFFFFF; }\n.material-theme-darker .mtk2 { color: #212121; }\n.material-theme-darker .mtk3 { color: #545454; }\n.material-theme-darker .mtk4 { color: #F78C6C; }\n.material-theme-darker .mtk5 { color: #89DDFF; }\n.material-theme-darker .mtk6 { color: #C3E88D; }\n.material-theme-darker .mtk7 { color: #FFCB6B; }\n.material-theme-darker .mtk8 { color: #EEFFFF; }\n.material-theme-darker .mtk9 { color: #82AAFF; }\n.material-theme-darker .mtk10 { color: #FF5370; }\n.material-theme-darker .mtk11 { color: #F07178; }\n.material-theme-darker .mtk12 { color: #C792EA; }\n.material-theme-darker .mtk13 { color: #EEFFFF90; }\n.material-theme-darker .mtk14 { color: #65737E; }\n.material-theme-darker .mtk15 { color: #B2CCD6; }\n.material-theme-darker .mtk16 { color: #C17E70; }\n.material-theme-darker .mtki { font-style: italic; }\n.material-theme-darker .mtkb { font-weight: bold; }\n.material-theme-darker .mtku { text-decoration: underline; text-underline-position: under; }\n"))}void 0!==p&&p&&p===Object(p)&&Object.isExtensible(p)&&!Object.prototype.hasOwnProperty.call(p,"__filemeta")&&Object.defineProperty(p,"__filemeta",{configurable:!0,value:{name:"MDXContent",filename:"docs/exporting.md"}}),p.isMDXComponent=!0}}]); -//# sourceMappingURL=component---docs-exporting-md-3cdb988be9ce1c04360b.js.map \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-exporting-md-3cdb988be9ce1c04360b.js.map b/pr-preview/pr-991/component---docs-exporting-md-3cdb988be9ce1c04360b.js.map deleted file mode 100644 index 9873be8ba..000000000 --- a/pr-preview/pr-991/component---docs-exporting-md-3cdb988be9ce1c04360b.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./docs/exporting.md"],"names":["_frontmatter","Object","isExtensible","prototype","hasOwnProperty","call","defineProperty","configurable","value","name","filename","layoutProps","MDXLayout","DefaultLayout","MDXContent","_ref","components","props","_objectWithoutProperties","_excluded","mdx","_extends","mdxType","parentName","isMDXComponent"],"mappings":"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","file":"component---docs-exporting-md-3cdb988be9ce1c04360b.js","sourcesContent":["import * as React from 'react'\n /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsxRuntime classic */\n/* @jsx mdx */\nimport DefaultLayout from \"/home/runner/work/tanka/tanka/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nexport const _frontmatter = {};\nconst layoutProps = {\n _frontmatter\n};\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n components,\n ...props\n}) {\n return \n\n\n

      {`Exporting as YAML`}

      \n

      {`Tanka provides you with a day-to-day workflow for working with Kubernetes clusters:`}

      \n
        \n
      • {`tk show`}{` for quickly checking the YAML representation looks good`}
      • \n
      • {`tk diff`}{` to ensure your changes will behave like they should`}
      • \n
      • {`tk apply`}{` makes it happen`}
      • \n
      \n

      {`However sometimes it can be required to integrate with other tooling that does\nonly support `}{`.yaml`}{` files.`}

      \n

      {`For that case, `}{`tk export`}{` can be used:`}

      \n
      {`#            `}{`\n`}{`$ tk `}{`export`}{` promtail/   environments/promtail`}
      \n
      \n

      {`Note:`}{` The arguments flipped in v0.14.0, the `}{``}{` comes first now.`}

      \n
      \n

      {`This will create a separate `}{`.yaml`}{` file for each Kubernetes resource included in your Jsonnet.`}

      \n

      {`Filenames`}

      \n

      {`Tanka by default uses the following pattern:`}

      \n
      {`\\${`}{`apiVersion`}{`}`}{`.`}{`\\${`}{`kind`}{`}`}{`-`}{`\\${`}{`metadata.name`}{`}`}{`.yaml`}{`\n`}{`\n`}{`# examples:`}{`\n`}{`apps-v1.Deployment-distributor.yaml`}{`\n`}{`v1.ConfigMap-loki.yaml`}{`\n`}{`v1.Service-ingester.yaml`}
      \n

      {`If that does not fit your need, you can provide your own pattern using the `}{`--format`}{` flag:`}

      \n
      {`tk `}{`export`}{` promtail environments/promtail --format=`}{`'`}{`{{.metadata.labels.app}}-{{.metadata.name}}-{{.kind}}`}{`'`}
      \n
      \n

      {`The syntax is Go `}{`text/template`}{`. See `}{`https://pkg.go.dev/text/template`}{`\nfor reference.`}

      \n
      \n

      {`This would include the label named `}{`app`}{`, the `}{`name`}{` and `}{`kind`}{` of the resource:`}

      \n
      {`loki-distributor-Deployment`}{`\n`}{`loki-loki-ConfigMap`}{`\n`}{`loki-ingester-Service`}
      \n

      {`You can optionally use the template function `}{`lower`}{` for lower-casing fields, e.g. in the above example`}

      \n
      {`... --format=`}{`'`}{`{{.metadata.labels.app}}-{{.metadata.name}}-{{.kind | lower}}`}{`'`}
      \n

      {`would yield`}

      \n
      {`loki-distributor-deployment`}
      \n

      {`etc.`}

      \n

      {`You can also use a different file extension by providing `}{`--extension='yml'`}{`, for example.`}

      \n

      {`Multiple environments`}

      \n

      {`Tanka can also export multiple inline environments, as showcased in `}{`Use case: consistent inline\nenvironments`}{`. This follows the same\nprinciples as describe before with the addition that you can also refer to Environment specific data through the `}{`env`}{`\nkeyword.`}

      \n

      {`For example an export might refer to data from the Environment spec:`}

      \n
      {`# Format based on environment {{env.<...>}}`}{`\n`}{`$ tk `}{`export`}{` exportDir environments/dev/ \\\\`}{`\n`}{`  --format `}{`'`}{`{{env.metadata.labels.cluster}}/{{env.spec.namespace}}//{{.kind}}-{{.metadata.name}}`}{`'`}
      \n

      {`Even more advanced use cases allow you to export multiple environments in a single execution:`}

      \n
      {`# Export multiple environments`}{`\n`}{`$ tk `}{`export`}{` exportDir environments/dev/ environments/qa/`}{`\n`}{`# Recursive export`}{`\n`}{`$ tk `}{`export`}{` exportDir environments/ --recursive`}{`\n`}{`# Recursive export with labelSelector`}{`\n`}{`$ tk `}{`export`}{` exportDir environments/ -r -l team=infra`}
      \n

      {`Performance features`}

      \n

      {`When exporting a large amount of environments, jsonnet evaluation can become a bottleneck. To speed up the process, Tanka provides a few optional features.`}

      \n

      {`Partial export (in a GitOps context)`}

      \n

      {`Given multiple environments, one may want to only export the environments that were modified since the last export. This is enabled by passing both the `}{`--merge-strategy=replace-envs`}{` flags.`}

      \n

      {`When these flags are passed, Tanka will:`}

      \n
        \n
      1. {`Delete the manifests that were previously exported by the environments that are being exported. This is done by looking at the `}{`manifest.json`}{` file that is generated by Tanka when exporting. The related entries are also removed from the `}{`manifest.json`}{` file.`}
      2. \n
      3. {`Generate the manifests for the targeted environments into the output directory.`}
      4. \n
      5. {`Add in the new manifests entries into the `}{`manifest.json`}{` file and re-export it.`}
      6. \n
      \n

      {`Finding out which environments to export`}

      \n

      {`Tanka provides the `}{`tk tool importers`}{` command to figure out which `}{`main.jsonnet`}{` need to be re-exported based on what files were modified in a workspace.`}

      \n

      {`If, for example, the `}{`lib/my-lib/main.libsonnet`}{` file was modified, you could run the command like this to find which files to export:`}

      \n
      {`# Find out which envs to re-export`}{`\n`}{`$ tk tool importers lib/my-lib/main.libsonnet`}{`\n`}{`my-repo-path/jsonnet/environments/my-env/main.jsonnet`}{`\n`}{`\n`}{`# Re-export the envs`}{`\n`}{`$ tk export myoutputdir my-repo-path/jsonnet/environments/my-env/main.jsonnet --merge-strategy=replace-envs`}
      \n

      {`Note that deleted environments need special consideration when doing this.\nThe `}{`tk tool importers`}{` utility only works with existing files so deleting an environment will result in stale `}{`manifest.json`}{` entries and moving an environment will result in manifest conflicts.\nIn order to correctly handle deleted environments, they need to be passed to the export command:`}

      \n
      {`$ tk export myoutputdir my-repo-path/jsonnet/environments/my-new-env-path/main.jsonnet --merge-strategy=replace-envs \\\\`}{`\n`}{`  --merge-deleted-envs my-repo-path/jsonnet/environments/my-old-env-path/main.jsonnet \\\\`}{`\n`}{`  --merge-deleted-envs my-repo-path/jsonnet/environments/other-deleted-env-path/main.jsonnet`}
      \n

      {`Using a memory ballast`}

      \n

      {`Read `}{`this blog post`}{` for more information about memory ballasts.`}

      \n

      {`For large environments that load lots of data into memory on evaluation, a memory ballast can dramatically improve performance. This feature is exposed through the `}{`--mem-ballast-size-bytes`}{` flag on the export command.`}

      \n

      {`Anecdotally (Grafana Labs), environments that took around a minute to load were able to load in around 45 secs with a ballast of 5GB (`}{`--mem-ballast-size-bytes=5368709120`}{`). Decreasing the ballast size resulted in negative impact on performance, and increasing it more did not result in any noticeable impact.`}

      \n

      {`Caching`}

      \n

      {`Tanka can also cache the results of the export. This is useful if you often export the same files and want to avoid recomputing them. The cache key is calculated from the main file and all of its transitive imports, so any change to any file possibly used in an environment will invalidate the cache.`}

      \n

      {`This is configured by two flags:`}

      \n
        \n
      • {`--cache-path`}{`: The local filesystem path where the cache will be stored. The cache is a flat directory of json files (one per environment).`}
      • \n
      • {`--cache-envs`}{`: If exporting multiple environments, this flag can be used to specify, with regexes, which environments to cache. If not specified, all environments are cached.`}
      • \n
      \n

      {`Notes:`}

      \n
        \n
      • {`Using the cache might be slower than evaluating jsonnet directy. It is only recommended for environments that are very CPU intensive to evaluate.`}
      • \n
      • {`To use object storage, you can point the `}{`--cache-path`}{` to a FUSE mount, such as `}{`s3fs`}
      • \n
      \n\n \n
      ;\n}\n;\nMDXContent.isMDXComponent = true;\n "],"sourceRoot":""} \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-faq-md-5e30ff990ba5de27e68d.js b/pr-preview/pr-991/component---docs-faq-md-5e30ff990ba5de27e68d.js deleted file mode 100644 index 159e4ceb0..000000000 --- a/pr-preview/pr-991/component---docs-faq-md-5e30ff990ba5de27e68d.js +++ /dev/null @@ -1,2 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[9],{RGCZ:function(e,t,n){"use strict";n.r(t),n.d(t,"_frontmatter",(function(){return l})),n.d(t,"default",(function(){return p}));var a=n("wx14"),o=n("Ff2n"),i=(n("q1tI"),n("7ljp")),r=n("hhGP");n("qKvR");const s=["components"],l={};void 0!==l&&l&&l===Object(l)&&Object.isExtensible(l)&&!Object.prototype.hasOwnProperty.call(l,"__filemeta")&&Object.defineProperty(l,"__filemeta",{configurable:!0,value:{name:"_frontmatter",filename:"docs/faq.md"}});const b={_frontmatter:l},c=r.a;function p(e){let{components:t}=e,n=Object(o.a)(e,s);return Object(i.b)(c,Object(a.a)({},b,n,{components:t,mdxType:"MDXLayout"}),Object(i.b)("h1",{id:"frequently-asked-questions"},"Frequently asked questions"),Object(i.b)("h2",{id:"what-is-jsonnet"},"What is Jsonnet?"),Object(i.b)("p",null,"Jsonnet is a data templating language, originally created by Google."),Object(i.b)("p",null,"It is a superset of JSON, which adds common structures from full programming\nlanguages to data modeling. Because it being a superset of JSON and ultimately\nalways compiling to JSON, it is guaranteed that the output will be valid JSON\n(or YAML)."),Object(i.b)("p",null,"By allowing ",Object(i.b)("em",{parentName:"p"},"functions")," and ",Object(i.b)("em",{parentName:"p"},"imports"),", rich abstraction is possible, even across\nproject boundaries."),Object(i.b)("p",null,"For more, refer to the official documentation: ",Object(i.b)("a",{parentName:"p",href:"https://jsonnet.org/"},"https://jsonnet.org/")),Object(i.b)("h2",{id:"how-is-this-different-from-ksonnet"},"How is this different from ksonnet?"),Object(i.b)("p",null,"Tanka aims to be a fully compatible, drop-in replacement for the main workflow\nof ",Object(i.b)("inlineCode",{parentName:"p"},"ksonnet")," (",Object(i.b)("inlineCode",{parentName:"p"},"show"),", ",Object(i.b)("inlineCode",{parentName:"p"},"diff"),", ",Object(i.b)("inlineCode",{parentName:"p"},"apply"),")."),Object(i.b)("p",null,"In general, both tools are very similar when it comes to how they handle Jsonnet\nand apply to a Kubernetes cluster."),Object(i.b)("p",null,"However, ",Object(i.b)("inlineCode",{parentName:"p"},"ksonnet")," included a rich code generator for establishing a CLI based\nworkflow for editing Kubernetes objects. It also used to manage dependencies\nitself and had a lot of concepts for different levels of abstractions. When\ndesigning Tanka, we felt these add more complexity for the user than they\nprovide additional value. To keep Tanka as minimal as possible, these are ",Object(i.b)("strong",{parentName:"p"},"not\navailable")," and are not likely to be ever added."),Object(i.b)("h2",{id:"what-about-kubecfg-"},"What about kubecfg ?"),Object(i.b)("p",null,"Tanka development has started at the time when kubecfg was a part of\nalready-deprecated ",Object(i.b)("inlineCode",{parentName:"p"},"ksonnet")," project. Although these projects are similar, Tanka\naims to provide continuity for ",Object(i.b)("inlineCode",{parentName:"p"},"ksonnet")," users, whereas ",Object(i.b)("inlineCode",{parentName:"p"},"kubecfg")," is (according\nto the project's ",Object(i.b)("a",{parentName:"p",href:"https://github.com/vmware-archive/kubecfg/blob/main/README.md"},"README.md"),")\nreally just a thin Kubernetes-specific wrapper around jsonnet evaluation."),Object(i.b)("h2",{id:"why-not-helm"},"Why not Helm?"),Object(i.b)("p",null,"Helm relies heavily on ",Object(i.b)("em",{parentName:"p"},"string templating")," ",Object(i.b)("inlineCode",{parentName:"p"},".yaml")," files. We feel this is the\nwrong way to approach the absence of abstractions inside of ",Object(i.b)("inlineCode",{parentName:"p"},"yaml"),", because the\ntemplating part of the application has no idea of the structure and syntax of\nyaml."),Object(i.b)("p",null,"This makes debugging very hard. Furthermore, ",Object(i.b)("inlineCode",{parentName:"p"},"helm")," is not able to provide an\nadequate solution for edge cases. If I wanted to set some parameters that are\nnot already implemented by the Chart, I have no choice but to modify the Chart\nfirst."),Object(i.b)("p",null,"Jsonnet on the other hand got you covered by supporting mixing (patching,\ndeep-merging) objects on top of the libraries output if required."))}void 0!==p&&p&&p===Object(p)&&Object.isExtensible(p)&&!Object.prototype.hasOwnProperty.call(p,"__filemeta")&&Object.defineProperty(p,"__filemeta",{configurable:!0,value:{name:"MDXContent",filename:"docs/faq.md"}}),p.isMDXComponent=!0}}]); -//# sourceMappingURL=component---docs-faq-md-5e30ff990ba5de27e68d.js.map \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-faq-md-5e30ff990ba5de27e68d.js.map b/pr-preview/pr-991/component---docs-faq-md-5e30ff990ba5de27e68d.js.map deleted file mode 100644 index a143ac748..000000000 --- a/pr-preview/pr-991/component---docs-faq-md-5e30ff990ba5de27e68d.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./docs/faq.md"],"names":["_frontmatter","Object","isExtensible","prototype","hasOwnProperty","call","defineProperty","configurable","value","name","filename","layoutProps","MDXLayout","DefaultLayout","MDXContent","_ref","components","props","_objectWithoutProperties","_excluded","mdx","_extends","mdxType","parentName","isMDXComponent"],"mappings":"wRAMaA,EAAe,QAAG,IAAAA,UAAAC,OAAAD,IAAAC,OAAAC,aAAAF,KAAAC,OAAAE,UAAAC,eAAAC,KAAAL,EAAA,eAAAC,OAAAK,eAAAN,EAAA,cAAAO,cAAA,EAAAC,MAAA,CAAAC,KAAA,eAAAC,SAAA,iBAC/B,MAAMC,EAAc,CAClBX,gBAEIY,EAAYC,IACH,SAASC,EAAUC,GAG/B,IAHgC,WACjCC,GAEDD,EADIE,EAAKC,YAAAH,EAAAI,GAER,OAAOC,YAACR,EAASS,YAAA,GAAKV,EAAiBM,EAAK,CAAED,WAAYA,EAAYM,QAAQ,cAG5EF,YAAA,MACE,GAAM,8BAA4B,8BAEpCA,YAAA,MACE,GAAM,mBAAiB,oBAEzBA,YAAA,iFACAA,YAAA,oQAIAA,YAAA,wBAAmBA,YAAA,MAAIG,WAAW,KAAG,aAAmB,QAASH,YAAA,MAAIG,WAAW,KAAG,WAAiB,oEAEpGH,YAAA,2DAAsDA,YAAA,KAAGG,WAAW,IAChE,KAAQ,wBAAsB,yBAElCH,YAAA,MACE,GAAM,sCAAoC,uCAE5CA,YAAA,+FACCA,YAAA,cAAYG,WAAW,KAAG,WAAyB,KAAMH,YAAA,cAAYG,WAAW,KAAG,QAAsB,KAAMH,YAAA,cAAYG,WAAW,KAAG,QAAsB,KAAMH,YAAA,cAAYG,WAAW,KAAG,SAAuB,MACvNH,YAAA,iIAEAA,YAAA,qBAAgBA,YAAA,cAAYG,WAAW,KAAG,WAAyB,iXAIKH,YAAA,UAAQG,WAAW,KAAG,kBAC9E,yCAChBH,YAAA,MACE,GAAM,uBAAqB,wBAE7BA,YAAA,qGACiBA,YAAA,cAAYG,WAAW,KAAG,WAAyB,wFACvCH,YAAA,cAAYG,WAAW,KAAG,WAAyB,mBAAoBH,YAAA,cAAYG,WAAW,KAAG,WAAyB,oCACxIH,YAAA,KAAGG,WAAW,IACzB,KAAQ,iEAA+D,aACrD,gFAEtBH,YAAA,MACE,GAAM,gBAAc,iBAEtBA,YAAA,mCAA8BA,YAAA,MAAIG,WAAW,KAAG,qBAA2B,IAAKH,YAAA,cAAYG,WAAW,KAAG,SAAuB,4FACvEH,YAAA,cAAYG,WAAW,KAAG,QAAsB,uGAG1GH,YAAA,yDAAoDA,YAAA,cAAYG,WAAW,KAAG,QAAsB,qMAIpGH,YAAA,+JAIH,IAAAN,UAAAb,OAAAa,IAAAb,OAAAC,aAAAY,KAAAb,OAAAE,UAAAC,eAAAC,KAAAS,EAAA,eAAAb,OAAAK,eAAAQ,EAAA,cAAAP,cAAA,EAAAC,MAAA,CAAAC,KAAA,aAAAC,SAAA,iBAEDI,EAAWU,gBAAiB","file":"component---docs-faq-md-5e30ff990ba5de27e68d.js","sourcesContent":["import * as React from 'react'\n /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsxRuntime classic */\n/* @jsx mdx */\nimport DefaultLayout from \"/home/runner/work/tanka/tanka/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nexport const _frontmatter = {};\nconst layoutProps = {\n _frontmatter\n};\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n components,\n ...props\n}) {\n return \n\n\n

      {`Frequently asked questions`}

      \n

      {`What is Jsonnet?`}

      \n

      {`Jsonnet is a data templating language, originally created by Google.`}

      \n

      {`It is a superset of JSON, which adds common structures from full programming\nlanguages to data modeling. Because it being a superset of JSON and ultimately\nalways compiling to JSON, it is guaranteed that the output will be valid JSON\n(or YAML).`}

      \n

      {`By allowing `}{`functions`}{` and `}{`imports`}{`, rich abstraction is possible, even across\nproject boundaries.`}

      \n

      {`For more, refer to the official documentation: `}{`https://jsonnet.org/`}

      \n

      {`How is this different from ksonnet?`}

      \n

      {`Tanka aims to be a fully compatible, drop-in replacement for the main workflow\nof `}{`ksonnet`}{` (`}{`show`}{`, `}{`diff`}{`, `}{`apply`}{`).`}

      \n

      {`In general, both tools are very similar when it comes to how they handle Jsonnet\nand apply to a Kubernetes cluster.`}

      \n

      {`However, `}{`ksonnet`}{` included a rich code generator for establishing a CLI based\nworkflow for editing Kubernetes objects. It also used to manage dependencies\nitself and had a lot of concepts for different levels of abstractions. When\ndesigning Tanka, we felt these add more complexity for the user than they\nprovide additional value. To keep Tanka as minimal as possible, these are `}{`not\navailable`}{` and are not likely to be ever added.`}

      \n

      {`What about kubecfg ?`}

      \n

      {`Tanka development has started at the time when kubecfg was a part of\nalready-deprecated `}{`ksonnet`}{` project. Although these projects are similar, Tanka\naims to provide continuity for `}{`ksonnet`}{` users, whereas `}{`kubecfg`}{` is (according\nto the project's `}{`README.md`}{`)\nreally just a thin Kubernetes-specific wrapper around jsonnet evaluation.`}

      \n

      {`Why not Helm?`}

      \n

      {`Helm relies heavily on `}{`string templating`}{` `}{`.yaml`}{` files. We feel this is the\nwrong way to approach the absence of abstractions inside of `}{`yaml`}{`, because the\ntemplating part of the application has no idea of the structure and syntax of\nyaml.`}

      \n

      {`This makes debugging very hard. Furthermore, `}{`helm`}{` is not able to provide an\nadequate solution for edge cases. If I wanted to set some parameters that are\nnot already implemented by the Chart, I have no choice but to modify the Chart\nfirst.`}

      \n

      {`Jsonnet on the other hand got you covered by supporting mixing (patching,\ndeep-merging) objects on top of the libraries output if required.`}

      \n\n
      ;\n}\n;\nMDXContent.isMDXComponent = true;\n "],"sourceRoot":""} \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-formatting-md-0886509974e2523e2e68.js b/pr-preview/pr-991/component---docs-formatting-md-0886509974e2523e2e68.js deleted file mode 100644 index a78b145d5..000000000 --- a/pr-preview/pr-991/component---docs-formatting-md-0886509974e2523e2e68.js +++ /dev/null @@ -1,2 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[10],{zzAL:function(e,t,a){"use strict";a.r(t),a.d(t,"_frontmatter",(function(){return l})),a.d(t,"default",(function(){return p}));var n=a("wx14"),m=a("Ff2n"),r=(a("q1tI"),a("7ljp")),s=a("hhGP");a("qKvR");const c=["components"],l={};void 0!==l&&l&&l===Object(l)&&Object.isExtensible(l)&&!Object.prototype.hasOwnProperty.call(l,"__filemeta")&&Object.defineProperty(l,"__filemeta",{configurable:!0,value:{name:"_frontmatter",filename:"docs/formatting.md"}});const o={_frontmatter:l},i=s.a;function p(e){let{components:t}=e,a=Object(m.a)(e,c);return Object(r.b)(i,Object(n.a)({},o,a,{components:t,mdxType:"MDXLayout"}),Object(r.b)("h1",{id:"file-formatting"},"File Formatting"),Object(r.b)("p",null,"Tanka supports formatting for all ",Object(r.b)("inlineCode",{parentName:"p"},"jsonnet")," and ",Object(r.b)("inlineCode",{parentName:"p"},"libsonnet")," files using the ",Object(r.b)("inlineCode",{parentName:"p"},"tk fmt")," command."),Object(r.b)("p",null,"By default, the command excludes all ",Object(r.b)("inlineCode",{parentName:"p"},"vendor")," directories."),Object(r.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"bash"},Object(r.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(r.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(r.b)("span",{parentName:"span",className:"mtk3 mtki"},"# Run for current and child directories. Run this in the root of the project to format all your files.")),"\n",Object(r.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(r.b)("span",{parentName:"span",className:"mtk1"},"tk fmt "),Object(r.b)("span",{parentName:"span",className:"mtk9"},".")),"\n",Object(r.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(r.b)("span",{parentName:"span",className:"mtk1"})),"\n",Object(r.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(r.b)("span",{parentName:"span",className:"mtk3 mtki"},"# Format a single file (myFile.jsonnet)")),"\n",Object(r.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(r.b)("span",{parentName:"span",className:"mtk1"},"tk fmt myFile.jsonnet")),"\n",Object(r.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(r.b)("span",{parentName:"span",className:"mtk1"})),"\n",Object(r.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(r.b)("span",{parentName:"span",className:"mtk3 mtki"},"# Use the `-t` tag to test (Dry run).")),"\n",Object(r.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(r.b)("span",{parentName:"span",className:"mtk1"},"tk fmt -t myFile.jsonnet")),"\n",Object(r.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(r.b)("span",{parentName:"span",className:"mtk1"})),"\n",Object(r.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(r.b)("span",{parentName:"span",className:"mtk3 mtki"},"# Format using verbose mode.")),"\n",Object(r.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(r.b)("span",{parentName:"span",className:"mtk1"},"tk fmt -v "),Object(r.b)("span",{parentName:"span",className:"mtk9"},".")))),Object(r.b)("style",{className:"vscode-highlight-styles"},"\n \n .material-theme-darker {\nbackground-color: #212121;\ncolor: #EEFFFF;\n}\n\n.material-theme-darker .mtk1 { color: #FFFFFF; }\n.material-theme-darker .mtk2 { color: #212121; }\n.material-theme-darker .mtk3 { color: #545454; }\n.material-theme-darker .mtk4 { color: #F78C6C; }\n.material-theme-darker .mtk5 { color: #89DDFF; }\n.material-theme-darker .mtk6 { color: #C3E88D; }\n.material-theme-darker .mtk7 { color: #FFCB6B; }\n.material-theme-darker .mtk8 { color: #EEFFFF; }\n.material-theme-darker .mtk9 { color: #82AAFF; }\n.material-theme-darker .mtk10 { color: #FF5370; }\n.material-theme-darker .mtk11 { color: #F07178; }\n.material-theme-darker .mtk12 { color: #C792EA; }\n.material-theme-darker .mtk13 { color: #EEFFFF90; }\n.material-theme-darker .mtk14 { color: #65737E; }\n.material-theme-darker .mtk15 { color: #B2CCD6; }\n.material-theme-darker .mtk16 { color: #C17E70; }\n.material-theme-darker .mtki { font-style: italic; }\n.material-theme-darker .mtkb { font-weight: bold; }\n.material-theme-darker .mtku { text-decoration: underline; text-underline-position: under; }\n"))}void 0!==p&&p&&p===Object(p)&&Object.isExtensible(p)&&!Object.prototype.hasOwnProperty.call(p,"__filemeta")&&Object.defineProperty(p,"__filemeta",{configurable:!0,value:{name:"MDXContent",filename:"docs/formatting.md"}}),p.isMDXComponent=!0}}]); -//# sourceMappingURL=component---docs-formatting-md-0886509974e2523e2e68.js.map \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-formatting-md-0886509974e2523e2e68.js.map b/pr-preview/pr-991/component---docs-formatting-md-0886509974e2523e2e68.js.map deleted file mode 100644 index 9e7e7d940..000000000 --- a/pr-preview/pr-991/component---docs-formatting-md-0886509974e2523e2e68.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./docs/formatting.md"],"names":["_frontmatter","Object","isExtensible","prototype","hasOwnProperty","call","defineProperty","configurable","value","name","filename","layoutProps","MDXLayout","DefaultLayout","MDXContent","_ref","components","props","_objectWithoutProperties","_excluded","mdx","_extends","mdxType","parentName","isMDXComponent"],"mappings":"yRAMaA,EAAe,QAAG,IAAAA,UAAAC,OAAAD,IAAAC,OAAAC,aAAAF,KAAAC,OAAAE,UAAAC,eAAAC,KAAAL,EAAA,eAAAC,OAAAK,eAAAN,EAAA,cAAAO,cAAA,EAAAC,MAAA,CAAAC,KAAA,eAAAC,SAAA,wBAC/B,MAAMC,EAAc,CAClBX,gBAEIY,EAAYC,IACH,SAASC,EAAUC,GAG/B,IAHgC,WACjCC,GAEDD,EADIE,EAAKC,YAAAH,EAAAI,GAER,OAAOC,YAACR,EAASS,YAAA,GAAKV,EAAiBM,EAAK,CAAED,WAAYA,EAAYM,QAAQ,cAG5EF,YAAA,MACE,GAAM,mBAAiB,mBAEzBA,YAAA,8CAAyCA,YAAA,cAAYG,WAAW,KAAG,WAAyB,QAASH,YAAA,cAAYG,WAAW,KAAG,aAA2B,oBAAqBH,YAAA,cAAYG,WAAW,KAAG,UAAwB,aACjOH,YAAA,iDAA4CA,YAAA,cAAYG,WAAW,KAAG,UAAwB,iBAC9FH,YAAA,OACE,UAAa,yCACb,gBAAiB,QAChBA,YAAA,QAAMG,WAAW,MAChB,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,aAAW,2GACiG,KACnIH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,WACAH,YAAA,QAAMG,WAAW,OACpC,UAAa,QAAM,MACC,KAC9BH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,UACE,KACzBH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,aAAW,4CACkC,KACpEH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,0BACqB,KAClDH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,UACE,KACzBH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,aAAW,0CACkC,KACpEH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,6BACwB,KACrDH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,UACE,KACzBH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,aAAW,iCACuB,KACzDH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,cACGH,YAAA,QAAMG,WAAW,OACvC,UAAa,QAAM,QAG3BH,YAAA,SACE,UAAa,2BAAyB,glCA6B3C,IAAAN,UAAAb,OAAAa,IAAAb,OAAAC,aAAAY,KAAAb,OAAAE,UAAAC,eAAAC,KAAAS,EAAA,eAAAb,OAAAK,eAAAQ,EAAA,cAAAP,cAAA,EAAAC,MAAA,CAAAC,KAAA,aAAAC,SAAA,wBAEDI,EAAWU,gBAAiB","file":"component---docs-formatting-md-0886509974e2523e2e68.js","sourcesContent":["import * as React from 'react'\n /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsxRuntime classic */\n/* @jsx mdx */\nimport DefaultLayout from \"/home/runner/work/tanka/tanka/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nexport const _frontmatter = {};\nconst layoutProps = {\n _frontmatter\n};\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n components,\n ...props\n}) {\n return \n\n\n

      {`File Formatting`}

      \n

      {`Tanka supports formatting for all `}{`jsonnet`}{` and `}{`libsonnet`}{` files using the `}{`tk fmt`}{` command.`}

      \n

      {`By default, the command excludes all `}{`vendor`}{` directories.`}

      \n
      {`# Run for current and child directories. Run this in the root of the project to format all your files.`}{`\n`}{`tk fmt `}{`.`}{`\n`}{`\n`}{`# Format a single file (myFile.jsonnet)`}{`\n`}{`tk fmt myFile.jsonnet`}{`\n`}{`\n`}{`# Use the \\`-t\\` tag to test (Dry run).`}{`\n`}{`tk fmt -t myFile.jsonnet`}{`\n`}{`\n`}{`# Format using verbose mode.`}{`\n`}{`tk fmt -v `}{`.`}
      \n\n \n
      ;\n}\n;\nMDXContent.isMDXComponent = true;\n "],"sourceRoot":""} \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-garbage-collection-md-9e3ddba81e297bbaee58.js b/pr-preview/pr-991/component---docs-garbage-collection-md-9e3ddba81e297bbaee58.js deleted file mode 100644 index 7b9a0a9af..000000000 --- a/pr-preview/pr-991/component---docs-garbage-collection-md-9e3ddba81e297bbaee58.js +++ /dev/null @@ -1,2 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[11],{GAVx:function(e,t,a){"use strict";a.r(t),a.d(t,"_frontmatter",(function(){return m})),a.d(t,"default",(function(){return b}));var n=a("wx14"),r=a("Ff2n"),o=(a("q1tI"),a("7ljp")),l=a("hhGP");a("qKvR");const c=["components"],m={};void 0!==m&&m&&m===Object(m)&&Object.isExtensible(m)&&!Object.prototype.hasOwnProperty.call(m,"__filemeta")&&Object.defineProperty(m,"__filemeta",{configurable:!0,value:{name:"_frontmatter",filename:"docs/garbage-collection.md"}});const i={_frontmatter:m},s=l.a;function b(e){let{components:t}=e,a=Object(r.a)(e,c);return Object(o.b)(s,Object(n.a)({},i,a,{components:t,mdxType:"MDXLayout"}),Object(o.b)("h1",{id:"garbage-collection"},"Garbage collection"),Object(o.b)("p",null,"Tanka can automatically delete resources from your cluster once you remove them\nfrom Jsonnet."),Object(o.b)("blockquote",null,Object(o.b)("p",{parentName:"blockquote"},Object(o.b)("strong",{parentName:"p"},"Note:")," This feature is ",Object(o.b)("strong",{parentName:"p"},"experimental"),". Please report problems at ",Object(o.b)("a",{parentName:"p",href:"https://github.com/grafana/tanka/issues"},"https://github.com/grafana/tanka/issues"),".")),Object(o.b)("p",null,"To accomplish this, it appends the ",Object(o.b)("inlineCode",{parentName:"p"},"tanka.dev/environment: ")," label to each created\nresource. This is used to identify those which are missing from the local state in the\nfuture."),Object(o.b)("blockquote",null,Object(o.b)("p",{parentName:"blockquote"},Object(o.b)("strong",{parentName:"p"},"Note:")," The label value changed from the ",Object(o.b)("inlineCode",{parentName:"p"},"")," to a ",Object(o.b)("inlineCode",{parentName:"p"},"")," in v0.15.0.")),Object(o.b)("p",null,"Because the label causes a ",Object(o.b)("inlineCode",{parentName:"p"},"diff")," for every single object in your cluster and\nnot everybody wants this, it needs to be explicitly enabled. To do so, add the\nfollowing field to your ",Object(o.b)("inlineCode",{parentName:"p"},"spec.json"),":"),Object(o.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"diff"},Object(o.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(o.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(o.b)("span",{parentName:"span",className:"mtk1"},"{")),"\n",Object(o.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(o.b)("span",{parentName:"span",className:"mtk1"},' "spec": {')),"\n",Object(o.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(o.b)("span",{parentName:"span",className:"mtk5"},"+"),Object(o.b)("span",{parentName:"span",className:"mtk6"},' "injectLabels": true,')),"\n",Object(o.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(o.b)("span",{parentName:"span",className:"mtk1"}," }")),"\n",Object(o.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(o.b)("span",{parentName:"span",className:"mtk1"},"}")))),Object(o.b)("p",null,"Once added, run a ",Object(o.b)("inlineCode",{parentName:"p"},"tk apply"),", make sure the label is actually added and confirm\nby typing ",Object(o.b)("inlineCode",{parentName:"p"},"yes"),"."),Object(o.b)("p",null,"From now on, you can use ",Object(o.b)("inlineCode",{parentName:"p"},"tk prune")," to remove old resources from your cluster."),Object(o.b)("style",{className:"vscode-highlight-styles"},"\n \n .material-theme-darker {\nbackground-color: #212121;\ncolor: #EEFFFF;\n}\n\n.material-theme-darker .mtk1 { color: #FFFFFF; }\n.material-theme-darker .mtk2 { color: #212121; }\n.material-theme-darker .mtk3 { color: #545454; }\n.material-theme-darker .mtk4 { color: #F78C6C; }\n.material-theme-darker .mtk5 { color: #89DDFF; }\n.material-theme-darker .mtk6 { color: #C3E88D; }\n.material-theme-darker .mtk7 { color: #FFCB6B; }\n.material-theme-darker .mtk8 { color: #EEFFFF; }\n.material-theme-darker .mtk9 { color: #82AAFF; }\n.material-theme-darker .mtk10 { color: #FF5370; }\n.material-theme-darker .mtk11 { color: #F07178; }\n.material-theme-darker .mtk12 { color: #C792EA; }\n.material-theme-darker .mtk13 { color: #EEFFFF90; }\n.material-theme-darker .mtk14 { color: #65737E; }\n.material-theme-darker .mtk15 { color: #B2CCD6; }\n.material-theme-darker .mtk16 { color: #C17E70; }\n.material-theme-darker .mtki { font-style: italic; }\n.material-theme-darker .mtkb { font-weight: bold; }\n.material-theme-darker .mtku { text-decoration: underline; text-underline-position: under; }\n"))}void 0!==b&&b&&b===Object(b)&&Object.isExtensible(b)&&!Object.prototype.hasOwnProperty.call(b,"__filemeta")&&Object.defineProperty(b,"__filemeta",{configurable:!0,value:{name:"MDXContent",filename:"docs/garbage-collection.md"}}),b.isMDXComponent=!0}}]); -//# sourceMappingURL=component---docs-garbage-collection-md-9e3ddba81e297bbaee58.js.map \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-garbage-collection-md-9e3ddba81e297bbaee58.js.map b/pr-preview/pr-991/component---docs-garbage-collection-md-9e3ddba81e297bbaee58.js.map deleted file mode 100644 index dc3bd06a3..000000000 --- a/pr-preview/pr-991/component---docs-garbage-collection-md-9e3ddba81e297bbaee58.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./docs/garbage-collection.md"],"names":["_frontmatter","Object","isExtensible","prototype","hasOwnProperty","call","defineProperty","configurable","value","name","filename","layoutProps","MDXLayout","DefaultLayout","MDXContent","_ref","components","props","_objectWithoutProperties","_excluded","mdx","_extends","mdxType","parentName","isMDXComponent"],"mappings":"yRAMaA,EAAe,QAAG,IAAAA,UAAAC,OAAAD,IAAAC,OAAAC,aAAAF,KAAAC,OAAAE,UAAAC,eAAAC,KAAAL,EAAA,eAAAC,OAAAK,eAAAN,EAAA,cAAAO,cAAA,EAAAC,MAAA,CAAAC,KAAA,eAAAC,SAAA,gCAC/B,MAAMC,EAAc,CAClBX,gBAEIY,EAAYC,IACH,SAASC,EAAUC,GAG/B,IAHgC,WACjCC,GAEDD,EADIE,EAAKC,YAAAH,EAAAI,GAER,OAAOC,YAACR,EAASS,YAAA,GAAKV,EAAiBM,EAAK,CAAED,WAAYA,EAAYM,QAAQ,cAG5EF,YAAA,MACE,GAAM,sBAAoB,sBAE5BA,YAAA,2GAEAA,YAAA,kBACEA,YAAA,KAAGG,WAAW,cAAaH,YAAA,UAAQG,WAAW,KAAG,SAAmB,oBAAqBH,YAAA,UAAQG,WAAW,KAAG,gBAA0B,+BAAgCH,YAAA,KAAGG,WAAW,IACnL,KAAQ,2CAAyC,2CACD,MAEtDH,YAAA,+CAA0CA,YAAA,cAAYG,WAAW,KAAG,iCAA+C,2HAGnHH,YAAA,kBACEA,YAAA,KAAGG,WAAW,cAAaH,YAAA,UAAQG,WAAW,KAAG,SAAmB,qCAAsCH,YAAA,cAAYG,WAAW,KAAG,UAAwB,SAAUH,YAAA,cAAYG,WAAW,KAAG,UAAwB,iBAE1NH,YAAA,uCAAkCA,YAAA,cAAYG,WAAW,KAAG,QAAsB,yJAE5DH,YAAA,cAAYG,WAAW,KAAG,aAA2B,KAC3EH,YAAA,OACE,UAAa,yCACb,gBAAiB,QAChBA,YAAA,QAAMG,WAAW,MAChB,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,MACC,KAC9BH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,gBACW,KACxCH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,KACNH,YAAA,QAAMG,WAAW,OAC9B,UAAa,QAAM,8BACyB,KACtDH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,QACG,KAChCH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,QAE3BH,YAAA,8BAAyBA,YAAA,cAAYG,WAAW,KAAG,YAA0B,kEACrEH,YAAA,cAAYG,WAAW,KAAG,OAAqB,KACvDH,YAAA,qCAAgCA,YAAA,cAAYG,WAAW,KAAG,YAA0B,+CAEpFH,YAAA,SACE,UAAa,2BAAyB,glCA6B3C,IAAAN,UAAAb,OAAAa,IAAAb,OAAAC,aAAAY,KAAAb,OAAAE,UAAAC,eAAAC,KAAAS,EAAA,eAAAb,OAAAK,eAAAQ,EAAA,cAAAP,cAAA,EAAAC,MAAA,CAAAC,KAAA,aAAAC,SAAA,gCAEDI,EAAWU,gBAAiB","file":"component---docs-garbage-collection-md-9e3ddba81e297bbaee58.js","sourcesContent":["import * as React from 'react'\n /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsxRuntime classic */\n/* @jsx mdx */\nimport DefaultLayout from \"/home/runner/work/tanka/tanka/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nexport const _frontmatter = {};\nconst layoutProps = {\n _frontmatter\n};\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n components,\n ...props\n}) {\n return \n\n\n

      {`Garbage collection`}

      \n

      {`Tanka can automatically delete resources from your cluster once you remove them\nfrom Jsonnet.`}

      \n
      \n

      {`Note:`}{` This feature is `}{`experimental`}{`. Please report problems at `}{`https://github.com/grafana/tanka/issues`}{`.`}

      \n
      \n

      {`To accomplish this, it appends the `}{`tanka.dev/environment: `}{` label to each created\nresource. This is used to identify those which are missing from the local state in the\nfuture.`}

      \n
      \n

      {`Note:`}{` The label value changed from the `}{``}{` to a `}{``}{` in v0.15.0.`}

      \n
      \n

      {`Because the label causes a `}{`diff`}{` for every single object in your cluster and\nnot everybody wants this, it needs to be explicitly enabled. To do so, add the\nfollowing field to your `}{`spec.json`}{`:`}

      \n
      {`{`}{`\n`}{`  \"spec\": {`}{`\n`}{`+`}{`    \"injectLabels\": true,`}{`\n`}{`  }`}{`\n`}{`}`}
      \n

      {`Once added, run a `}{`tk apply`}{`, make sure the label is actually added and confirm\nby typing `}{`yes`}{`.`}

      \n

      {`From now on, you can use `}{`tk prune`}{` to remove old resources from your cluster.`}

      \n\n \n
      ;\n}\n;\nMDXContent.isMDXComponent = true;\n "],"sourceRoot":""} \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-helm-mdx-be8209066bfeb6f0f992.js b/pr-preview/pr-991/component---docs-helm-mdx-be8209066bfeb6f0f992.js deleted file mode 100644 index 4ef818f0c..000000000 --- a/pr-preview/pr-991/component---docs-helm-mdx-be8209066bfeb6f0f992.js +++ /dev/null @@ -1,2 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[12],{YJCz:function(e,a,t){"use strict";t.r(a),t.d(a,"_frontmatter",(function(){return l})),t.d(a,"default",(function(){return i}));var s=t("wx14"),n=t("Ff2n"),m=(t("q1tI"),t("7ljp")),c=t("hhGP");t("qKvR");const p=["components"],l={};void 0!==l&&l&&l===Object(l)&&Object.isExtensible(l)&&!Object.prototype.hasOwnProperty.call(l,"__filemeta")&&Object.defineProperty(l,"__filemeta",{configurable:!0,value:{name:"_frontmatter",filename:"docs/helm.mdx"}});const b={_frontmatter:l},r=c.a;function i(e){let{components:a}=e,t=Object(n.a)(e,p);return Object(m.b)(r,Object(s.a)({},b,t,{components:a,mdxType:"MDXLayout"}),Object(m.b)("h1",{id:"helm-support"},"Helm Support"),Object(m.b)("p",null,"The ",Object(m.b)("a",{parentName:"p",href:"https://helm.sh"},"Helm")," project is the biggest ecosystem of high quality,\nwell maintained application definitions for Kubernetes."),Object(m.b)("p",null,"Even though Grafana Tanka uses the ",Object(m.b)("a",{parentName:"p",href:"/pr-preview/pr-991/jsonnet/overview"},"Jsonnet language")," for\nresource definition, you can still consume Helm resources, as described below."),Object(m.b)("h2",{id:"consuming-helm-charts-from-jsonnet"},"Consuming Helm Charts from Jsonnet"),Object(m.b)("p",null,"Helm support is provided using the\n",Object(m.b)("a",{parentName:"p",href:"https://github.com/grafana/jsonnet-libs/tree/master/tanka-util"},Object(m.b)("inlineCode",{parentName:"a"},"github.com/grafana/jsonnet-libs/tanka-util")),"\nlibrary. Install it with:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"bash"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"jb install github.com/grafana/jsonnet-libs/tanka-util")))),Object(m.b)("p",null,"The following example shows how to extract the individual resources of the\n",Object(m.b)("a",{parentName:"p",href:"https://artifacthub.io/packages/helm/grafana/grafana"},Object(m.b)("inlineCode",{parentName:"a"},"grafana"))," Helm Chart:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"jsonnet"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk4"},"local"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," tanka "),Object(m.b)("span",{parentName:"span",className:"mtk12"},"="),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"import"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"github.com/grafana/jsonnet-libs/tanka-util/main.libsonnet"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},";")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk4"},"local"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," helm "),Object(m.b)("span",{parentName:"span",className:"mtk12"},"="),Object(m.b)("span",{parentName:"span",className:"mtk1"}," tanka.helm."),Object(m.b)("span",{parentName:"span",className:"mtk9"},"new"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"("),Object(m.b)("span",{parentName:"span",className:"mtk9"},"std.thisFile"),Object(m.b)("span",{parentName:"span",className:"mtk1"},");")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"})),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"grafana:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," helm."),Object(m.b)("span",{parentName:"span",className:"mtk9"},"template"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"("),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"grafana"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},", "),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"./charts/grafana"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},", {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," namespace: "),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"monitoring"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," values: {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," persistence: { enabled: "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"true"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," }")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," }")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," })")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"}")))),Object(m.b)("p",null,"The Chart itself is required to be ",Object(m.b)("a",{parentName:"p",href:"#vendoring-helm-charts"},"vendored at a relative\npath"),", in this case ",Object(m.b)("inlineCode",{parentName:"p"},"./charts/grafana"),"."),Object(m.b)("blockquote",null,Object(m.b)("p",{parentName:"blockquote"},Object(m.b)("strong",{parentName:"p"},"Important:")," You MUST include the ",Object(m.b)("inlineCode",{parentName:"p"},".new(std.thisFile)")," part in the import.\nThis is what tells Tanka where you actually call ",Object(m.b)("inlineCode",{parentName:"p"},"helm.template()")," from, so it\ncan find your vendored Charts.")),Object(m.b)("br",null),Object(m.b)("p",null,"Once invoked, the ",Object(m.b)("inlineCode",{parentName:"p"},"$.grafana")," key holds the individual resources of Helm Chart as\na regular Jsonnet object that looks roughly like so:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"jsonnet"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"cluster_role_binding_grafana_clusterrolebinding:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {"),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"/* ... */"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"},")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"cluster_role_grafana_clusterrole:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {"),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"/* ... */"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"},")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"config_map_grafana:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {"),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"/* ... */"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"},")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"config_map_grafana_test:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {"),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"/* ... */"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"},")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"deployment_grafana:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {"),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"/* ... */"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"},")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// ...")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"}")))),Object(m.b)("p",null,"Above can be ",Object(m.b)("a",{parentName:"p",href:"/pr-preview/pr-991/tutorial/environments#patching"},"manipulated")," in the same way as any other Jsonnet data."),Object(m.b)("p",null,"Under the hood, this feature invokes the\n",Object(m.b)("a",{parentName:"p",href:"https://helm.sh/docs/helm/helm_template/"},Object(m.b)("inlineCode",{parentName:"a"},"helm template"))," CLI command.\nThe following options control how the command is invoked:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"jsonnet"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"...")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"})),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"grafana:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," helm."),Object(m.b)("span",{parentName:"span",className:"mtk9"},"template"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"("),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"grafana"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},", "),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"./charts/grafana"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},", {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," namespace: "),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"monitoring"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," values: {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," persistence: { enabled: "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"true"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," }")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// Equivalent to: --api-versions v1 --api-versions apps/v1")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," apiVersions: ["),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'v1'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},", "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'apps/v1'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"]")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// Equivalent to: --kube-version v1.20.0")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," kubeVersion: "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'v1.20.0'")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// Equivalent to: --no-hooks")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," noHooks: "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"true"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"}")))),Object(m.b)("p",null,"Tanka will install Custom Resource Definitions (CRDs) automatically, if the\nHelm Chart requires them and ships them in ",Object(m.b)("inlineCode",{parentName:"p"},"crds/"),". This is equivalent to ",Object(m.b)("inlineCode",{parentName:"p"},"helm\ntemplate --include-crds"),". This can be disabled using ",Object(m.b)("inlineCode",{parentName:"p"},"includeCrds: false"),":"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"jsonnet"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"grafana:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," helm."),Object(m.b)("span",{parentName:"span",className:"mtk9"},"template"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"("),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"grafana"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},", "),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"./charts/grafana"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},", {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," includeCrds: "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"false")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," })")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"}")))),Object(m.b)("h2",{id:"vendoring-helm-charts"},"Vendoring Helm Charts"),Object(m.b)("p",null,"Tanka, like Jsonnet, is hermetic. It ",Object(m.b)("strong",{parentName:"p"},"always yields the same\nresources")," when the project is\nstrictly self-contained."),Object(m.b)("p",null,"Helm however keeps Charts and repository configuration somewhere around\n",Object(m.b)("inlineCode",{parentName:"p"},"~/.config/helm"),", which violates above requirement."),Object(m.b)("p",null,"To comply with this requirement, Tanka expects Helm Charts to be found ",Object(m.b)("strong",{parentName:"p"},"inside the\nbounds of a project"),". This means, you MUST put your Charts ",Object(m.b)("strong",{parentName:"p"},"somewhere next to\nthe file that calls ",Object(m.b)("inlineCode",{parentName:"strong"},"helm.template()")),", so that it can be referred to using a\nrelative path."),Object(m.b)("h3",{id:"vendor-location"},"Vendor Location"),Object(m.b)("p",null,"Where to actually put them inside the project is up to you, but keep in mind you\nneed to refer to them using relative paths."),Object(m.b)("p",null,"We recommend always writing libraries that wrap the actual Helm Chart, so the\nconsumer does not need to be aware of it. Whether you put these into your local ",Object(m.b)("inlineCode",{parentName:"p"},"lib/")," directory or\npublish and vendor them into the ",Object(m.b)("inlineCode",{parentName:"p"},"vendor/")," directory is up to you."),Object(m.b)("p",null,"A library usually looks like this:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":""},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"}," /jsonnetfile.json"),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"}," /main.libsonnet"))),Object(m.b)("p",null,"When adopting Helm inside it, we recommend vendoring at the top level, as such:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"diff"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," /jsonnetfile.json")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," /main.libsonnet")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"+"),Object(m.b)("span",{parentName:"span",className:"mtk6"}," /charts")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"+"),Object(m.b)("span",{parentName:"span",className:"mtk6"}," /charts/")))),Object(m.b)("p",null,"This way, you can refer to the charts as ",Object(m.b)("inlineCode",{parentName:"p"},"./charts/")," from inside\n",Object(m.b)("inlineCode",{parentName:"p"},"main.libsonnet"),". By keeping the chart as close to the consumer as possible, the\nlibrary is kept portable."),Object(m.b)("h3",{id:"charttool"},"Charttool"),Object(m.b)("p",null,"Helm does not make vendoring incredibly easy by itself. ",Object(m.b)("inlineCode",{parentName:"p"},"helm pull")," provides the\nrequired plumbing, but it does not record its actions in a reproducible manner."),Object(m.b)("p",null,"Therefore, Tanka ships a special utility at ",Object(m.b)("inlineCode",{parentName:"p"},"tk tool charts"),", which automates\n",Object(m.b)("inlineCode",{parentName:"p"},"helm pull"),":"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"bash"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"# Create a chartfile.yaml in the current directory, e.g. in lib/myLibrary")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"$ tk tool charts init")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"})),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"$ "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"# Install the MySQL chart at version 1.6.7 from the stable repository")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"$ tk tool charts add stable/mysql@1.6.7")))),Object(m.b)("p",null,Object(m.b)("strong",{parentName:"p"},"Adding charts:")," To add a chart, use the following:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"bash"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"$ tk tool charts add "),Object(m.b)("span",{parentName:"span",className:"mtk12"},"<"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"repo"),Object(m.b)("span",{parentName:"span",className:"mtk12"},">"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"/"),Object(m.b)("span",{parentName:"span",className:"mtk12"},"<"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk12"},">"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"@"),Object(m.b)("span",{parentName:"span",className:"mtk12"},"<"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"version"),Object(m.b)("span",{parentName:"span",className:"mtk12"},">")))),Object(m.b)("p",null,"This will also call ",Object(m.b)("inlineCode",{parentName:"p"},"tk tool charts vendor"),", so that the ",Object(m.b)("inlineCode",{parentName:"p"},"charts/")," directory is updated."),Object(m.b)("br",null),Object(m.b)("p",null,Object(m.b)("strong",{parentName:"p"},"Adding Repositories:"),"\nBy default, the ",Object(m.b)("inlineCode",{parentName:"p"},"stable")," repository is automatically set up for you. If you wish\nto add another repository, you can use the ",Object(m.b)("inlineCode",{parentName:"p"},"add-repo")," command:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"bash"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"# Add the official Grafana repository")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"$ tk tool charts add-repo grafana https://grafana.github.io/helm-charts")))),Object(m.b)("p",null,"Another way is to modify ",Object(m.b)("inlineCode",{parentName:"p"},"chartfile.yaml")," directly:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"diff"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"version: 1")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"repositories:")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," - name: stable")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," url: https://charts.helm.sh/stable")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"+"),Object(m.b)("span",{parentName:"span",className:"mtk6"}," - name: grafana")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"+"),Object(m.b)("span",{parentName:"span",className:"mtk6"}," url: https://grafana.github.io/helm-charts")))),Object(m.b)("p",null,Object(m.b)("strong",{parentName:"p"},"Installing multiple versions of the same chart:"),"\nIf you wish to install multiple versions of the same chart, you can write them to a specific directory.",Object(m.b)("br",{parentName:"p"}),"\n","You can do so with a ",Object(m.b)("inlineCode",{parentName:"p"},":")," suffix in the ",Object(m.b)("inlineCode",{parentName:"p"},"add")," command, or by modifying the chartfile manually."),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"bash"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"tk tool charts add stable/mysql@1.6.7:1.6.7")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"tk tool charts add stable/mysql@1.6.8:1.6.8")))),Object(m.b)("p",null,"The resulting chartfile will look like this:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"yaml"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"version"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"1")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"directory"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"charts")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"repositories"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"-"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"stable")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"url"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"https://charts.helm.sh/stable")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"requires"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"-"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"chart"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"stable/mysql")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"directory"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"1.6.7")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"version"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"1.6.7")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"-"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"chart"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"stable/mysql")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"directory"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"1.6.8")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"version"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"1.6.8")))),Object(m.b)("p",null,Object(m.b)("strong",{parentName:"p"},"Install charts from chartfile:")," To install charts from an existing chartfile, use the following:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"bash"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"$ tk tool charts vendor")))),Object(m.b)("p",null,"Optionally, you can also pass the ",Object(m.b)("inlineCode",{parentName:"p"},"--prune")," flag to remove vendored charts that are no longer in the chartfile."),Object(m.b)("h4",{id:"oci-registry-support"},"OCI Registry Support"),Object(m.b)("p",null,"Tanka supports pulling charts from OCI registries. To use one, the chart name must be split into two parts: the registry and the chart name. "),Object(m.b)("p",null,"As example, if you wanted to pull the ",Object(m.b)("inlineCode",{parentName:"p"},"oci://public.ecr.aws/karpenter/karpenter:v0.27.3")," image, your chartfile would look like this:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"yaml"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"version"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"1")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"directory"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"charts")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"repositories"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"-"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"karpenter")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"url"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"oci://public.ecr.aws/karpenter")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"requires"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"-"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"chart"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"karpenter/karpenter")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"directory"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"v0.27.3")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"version"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"v0.27.3")))),Object(m.b)("p",null,Object(m.b)("em",{parentName:"p"},"Registry login is not supported yet.")),Object(m.b)("h2",{id:"troubleshooting"},"Troubleshooting"),Object(m.b)("h3",{id:"helm-executable-missing"},"Helm executable missing"),Object(m.b)("p",null,"Helm support in Tanka requires the ",Object(m.b)("inlineCode",{parentName:"p"},"helm")," binary installed on your system and\navailable on the ",Object(m.b)("inlineCode",{parentName:"p"},"$PATH"),". If Helm is not installed, you will see this error message:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":""},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},'evaluating jsonnet: RUNTIME ERROR: Expanding Helm Chart: exec: "helm": executable file not found in $PATH'))),Object(m.b)("p",null,"To solve this, you need to ",Object(m.b)("a",{parentName:"p",href:"https://helm.sh/docs/intro/install/"},"install Helm"),".\nIf you cannot install it system-wide, you can point Tanka at your executable\nusing ",Object(m.b)("a",{parentName:"p",href:"/pr-preview/pr-991/env-vars#tanka_helm_path"},Object(m.b)("inlineCode",{parentName:"a"},"TANKA_HELM_PATH"))),Object(m.b)("h3",{id:"optscalledfrom-unset"},"opts.calledFrom unset"),Object(m.b)("p",null,"This occurs, when Tanka was not told where it ",Object(m.b)("inlineCode",{parentName:"p"},"helm.template()")," was invoked\nfrom. This most likely means you didn't call ",Object(m.b)("inlineCode",{parentName:"p"},"new(std.thisFile)")," when importing ",Object(m.b)("inlineCode",{parentName:"p"},"tanka-util"),":"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"jsonnet"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk4"},"local"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," tanka "),Object(m.b)("span",{parentName:"span",className:"mtk12"},"="),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"import"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"github.com/grafana/jsonnet-libs/tanka-util/main.libsonnet"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},";")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk4"},"local"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," helm "),Object(m.b)("span",{parentName:"span",className:"mtk12"},"="),Object(m.b)("span",{parentName:"span",className:"mtk1"}," tanka.helm."),Object(m.b)("span",{parentName:"span",className:"mtk9"},"new"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"("),Object(m.b)("span",{parentName:"span",className:"mtk9"},"std.thisFile"),Object(m.b)("span",{parentName:"span",className:"mtk1"},");")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," ↑ This is important")))),Object(m.b)("h3",{id:"failed-to-find-chart"},"Failed to find Chart"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":""},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},"helmTemplate: Failed to find a Chart at 'stable/grafana': No such file or directory."),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},"helmTemplate: Failed to find a Chart at '/home/user/stuff/tanka/environments/default/grafana': No such file or directory."))),Object(m.b)("p",null,"Tanka failed to locate your Helm chart on the filesystem. It looked at the\nrelative path you provided in ",Object(m.b)("inlineCode",{parentName:"p"},"helm.template()"),", starting from the directory of\nthe file you called ",Object(m.b)("inlineCode",{parentName:"p"},"helm.template()")," from."),Object(m.b)("p",null,"Please check there is actually a valid Helm chart at this place. Referring to\ncharts as ",Object(m.b)("inlineCode",{parentName:"p"},"/")," is disallowed by design."),Object(m.b)("h3",{id:"two-resources-share-the-same-name"},"Two resources share the same name"),Object(m.b)("p",null,"To make customization easier, ",Object(m.b)("inlineCode",{parentName:"p"},"helm.template()")," returns the resources not as the\nlist it receives from Helm, but instead converts this into an object."),Object(m.b)("p",null,"For the indexing key it uses ",Object(m.b)("inlineCode",{parentName:"p"},"kind_name")," by default. In some rare cases, this\nmight not be enough to distinguish between two resources, namely when the same\nresource exists in two namespaces."),Object(m.b)("p",null,"To handle this, pass a custom name format, e.g. to also include the namespace:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"jsonnet"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk10"},"custom:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," helm."),Object(m.b)("span",{parentName:"span",className:"mtk9"},"template"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"("),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'foo'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},", "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'./charts/foo'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},", {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," nameFormat: "),Object(m.b)("span",{parentName:"span",className:"mtk6"},'\'{{ print .namespace "_" .kind "_" .metadata.name | snakecase }}\'')),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"})")))),Object(m.b)("p",null,"The literal default format used is ",Object(m.b)("inlineCode",{parentName:"p"},'{{ print .kind "_" .metadata.name | snakecase }}')),Object(m.b)("style",{className:"vscode-highlight-styles"},"\n \n .material-theme-darker {\nbackground-color: #212121;\ncolor: #EEFFFF;\n}\n\n.material-theme-darker .mtk1 { color: #FFFFFF; }\n.material-theme-darker .mtk2 { color: #212121; }\n.material-theme-darker .mtk3 { color: #545454; }\n.material-theme-darker .mtk4 { color: #F78C6C; }\n.material-theme-darker .mtk5 { color: #89DDFF; }\n.material-theme-darker .mtk6 { color: #C3E88D; }\n.material-theme-darker .mtk7 { color: #FFCB6B; }\n.material-theme-darker .mtk8 { color: #EEFFFF; }\n.material-theme-darker .mtk9 { color: #82AAFF; }\n.material-theme-darker .mtk10 { color: #FF5370; }\n.material-theme-darker .mtk11 { color: #F07178; }\n.material-theme-darker .mtk12 { color: #C792EA; }\n.material-theme-darker .mtk13 { color: #EEFFFF90; }\n.material-theme-darker .mtk14 { color: #65737E; }\n.material-theme-darker .mtk15 { color: #B2CCD6; }\n.material-theme-darker .mtk16 { color: #C17E70; }\n.material-theme-darker .mtki { font-style: italic; }\n.material-theme-darker .mtkb { font-weight: bold; }\n.material-theme-darker .mtku { text-decoration: underline; text-underline-position: under; }\n"))}void 0!==i&&i&&i===Object(i)&&Object.isExtensible(i)&&!Object.prototype.hasOwnProperty.call(i,"__filemeta")&&Object.defineProperty(i,"__filemeta",{configurable:!0,value:{name:"MDXContent",filename:"docs/helm.mdx"}}),i.isMDXComponent=!0}}]); -//# sourceMappingURL=component---docs-helm-mdx-be8209066bfeb6f0f992.js.map \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-helm-mdx-be8209066bfeb6f0f992.js.map b/pr-preview/pr-991/component---docs-helm-mdx-be8209066bfeb6f0f992.js.map deleted file mode 100644 index 045a6c5b7..000000000 --- a/pr-preview/pr-991/component---docs-helm-mdx-be8209066bfeb6f0f992.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./docs/helm.mdx"],"names":["_frontmatter","Object","isExtensible","prototype","hasOwnProperty","call","defineProperty","configurable","value","name","filename","layoutProps","MDXLayout","DefaultLayout","MDXContent","_ref","components","props","_objectWithoutProperties","_excluded","mdx","_extends","mdxType","parentName","isMDXComponent"],"mappings":"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","file":"component---docs-helm-mdx-be8209066bfeb6f0f992.js","sourcesContent":["import * as React from 'react'\n /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsxRuntime classic */\n/* @jsx mdx */\nimport DefaultLayout from \"/home/runner/work/tanka/tanka/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nexport const _frontmatter = {};\nconst layoutProps = {\n _frontmatter\n};\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n components,\n ...props\n}) {\n return \n\n\n

      {`Helm Support`}

      \n

      {`The `}{`Helm`}{` project is the biggest ecosystem of high quality,\nwell maintained application definitions for Kubernetes.`}

      \n

      {`Even though Grafana Tanka uses the `}{`Jsonnet language`}{` for\nresource definition, you can still consume Helm resources, as described below.`}

      \n

      {`Consuming Helm Charts from Jsonnet`}

      \n

      {`Helm support is provided using the\n`}{`github.com/grafana/jsonnet-libs/tanka-util`}{`\nlibrary. Install it with:`}

      \n
      {`jb install github.com/grafana/jsonnet-libs/tanka-util`}
      \n

      {`The following example shows how to extract the individual resources of the\n`}{`grafana`}{` Helm Chart:`}

      \n
      {`local`}{` tanka `}{`=`}{` `}{`import`}{` `}{`\"github.com/grafana/jsonnet-libs/tanka-util/main.libsonnet\"`}{`;`}{`\n`}{`local`}{` helm `}{`=`}{` tanka.helm.`}{`new`}{`(`}{`std.thisFile`}{`);`}{`\n`}{`\n`}{`{`}{`\n`}{`  `}{`grafana:`}{` helm.`}{`template`}{`(`}{`\"grafana\"`}{`, `}{`\"./charts/grafana\"`}{`, {`}{`\n`}{`    namespace: `}{`\"monitoring\"`}{`,`}{`\n`}{`    values: {`}{`\n`}{`      persistence: { enabled: `}{`true`}{` }`}{`\n`}{`    }`}{`\n`}{`  })`}{`\n`}{`}`}
      \n

      {`The Chart itself is required to be `}{`vendored at a relative\npath`}{`, in this case `}{`./charts/grafana`}{`.`}

      \n
      \n

      {`Important:`}{` You MUST include the `}{`.new(std.thisFile)`}{` part in the import.\nThis is what tells Tanka where you actually call `}{`helm.template()`}{` from, so it\ncan find your vendored Charts.`}

      \n
      \n
      \n

      {`Once invoked, the `}{`$.grafana`}{` key holds the individual resources of Helm Chart as\na regular Jsonnet object that looks roughly like so:`}

      \n
      {`{`}{`\n`}{`  `}{`cluster_role_binding_grafana_clusterrolebinding:`}{` {`}{`/* ... */`}{`},`}{`\n`}{`  `}{`cluster_role_grafana_clusterrole:`}{` {`}{`/* ... */`}{`},`}{`\n`}{`  `}{`config_map_grafana:`}{` {`}{`/* ... */`}{`},`}{`\n`}{`  `}{`config_map_grafana_test:`}{` {`}{`/* ... */`}{`},`}{`\n`}{`  `}{`deployment_grafana:`}{` {`}{`/* ... */`}{`},`}{`\n`}{`  `}{`// ...`}{`\n`}{`}`}
      \n

      {`Above can be `}{`manipulated`}{` in the same way as any other Jsonnet data.`}

      \n

      {`Under the hood, this feature invokes the\n`}{`helm template`}{` CLI command.\nThe following options control how the command is invoked:`}

      \n
      {`...`}{`\n`}{`\n`}{`{`}{`\n`}{`  `}{`grafana:`}{` helm.`}{`template`}{`(`}{`\"grafana\"`}{`, `}{`\"./charts/grafana\"`}{`, {`}{`\n`}{`    namespace: `}{`\"monitoring\"`}{`,`}{`\n`}{`    values: {`}{`\n`}{`      persistence: { enabled: `}{`true`}{` }`}{`\n`}{`    },`}{`\n`}{`    `}{`// Equivalent to: --api-versions v1 --api-versions apps/v1`}{`\n`}{`    apiVersions: [`}{`'v1'`}{`, `}{`'apps/v1'`}{`]`}{`\n`}{`    `}{`// Equivalent to: --kube-version v1.20.0`}{`\n`}{`    kubeVersion: `}{`'v1.20.0'`}{`\n`}{`    `}{`// Equivalent to: --no-hooks`}{`\n`}{`    noHooks: `}{`true`}{`,`}{`\n`}{`}`}
      \n

      {`Tanka will install Custom Resource Definitions (CRDs) automatically, if the\nHelm Chart requires them and ships them in `}{`crds/`}{`. This is equivalent to `}{`helm\ntemplate --include-crds`}{`. This can be disabled using `}{`includeCrds: false`}{`:`}

      \n
      {`{`}{`\n`}{`  `}{`grafana:`}{` helm.`}{`template`}{`(`}{`\"grafana\"`}{`, `}{`\"./charts/grafana\"`}{`, {`}{`\n`}{`    includeCrds: `}{`false`}{`\n`}{`  })`}{`\n`}{`}`}
      \n

      {`Vendoring Helm Charts`}

      \n

      {`Tanka, like Jsonnet, is hermetic. It `}{`always yields the same\nresources`}{` when the project is\nstrictly self-contained.`}

      \n

      {`Helm however keeps Charts and repository configuration somewhere around\n`}{`~/.config/helm`}{`, which violates above requirement.`}

      \n

      {`To comply with this requirement, Tanka expects Helm Charts to be found `}{`inside the\nbounds of a project`}{`. This means, you MUST put your Charts `}{`somewhere next to\nthe file that calls `}{`helm.template()`}{`, so that it can be referred to using a\nrelative path.`}

      \n

      {`Vendor Location`}

      \n

      {`Where to actually put them inside the project is up to you, but keep in mind you\nneed to refer to them using relative paths.`}

      \n

      {`We recommend always writing libraries that wrap the actual Helm Chart, so the\nconsumer does not need to be aware of it. Whether you put these into your local `}{`lib/`}{` directory or\npublish and vendor them into the `}{`vendor/`}{` directory is up to you.`}

      \n

      {`A library usually looks like this:`}

      \n
      {`  /jsonnetfile.json`}{`\n`}{`  /main.libsonnet`}
      \n

      {`When adopting Helm inside it, we recommend vendoring at the top level, as such:`}

      \n
      {`  /jsonnetfile.json`}{`\n`}{`  /main.libsonnet`}{`\n`}{`+`}{` /charts`}{`\n`}{`+`}{` /charts/`}
      \n

      {`This way, you can refer to the charts as `}{`./charts/`}{` from inside\n`}{`main.libsonnet`}{`. By keeping the chart as close to the consumer as possible, the\nlibrary is kept portable.`}

      \n

      {`Charttool`}

      \n

      {`Helm does not make vendoring incredibly easy by itself. `}{`helm pull`}{` provides the\nrequired plumbing, but it does not record its actions in a reproducible manner.`}

      \n

      {`Therefore, Tanka ships a special utility at `}{`tk tool charts`}{`, which automates\n`}{`helm pull`}{`:`}

      \n
      {`# Create a chartfile.yaml in the current directory, e.g. in lib/myLibrary`}{`\n`}{`$ tk tool charts init`}{`\n`}{`\n`}{`$ `}{`# Install the MySQL chart at version 1.6.7 from the stable repository`}{`\n`}{`$ tk tool charts add stable/mysql@1.6.7`}
      \n

      {`Adding charts:`}{` To add a chart, use the following:`}

      \n
      {`$ tk tool charts add `}{`<`}{`repo`}{`>`}{`/`}{`<`}{`name`}{`>`}{`@`}{`<`}{`version`}{`>`}
      \n

      {`This will also call `}{`tk tool charts vendor`}{`, so that the `}{`charts/`}{` directory is updated.`}

      \n
      \n

      {`Adding Repositories:`}{`\nBy default, the `}{`stable`}{` repository is automatically set up for you. If you wish\nto add another repository, you can use the `}{`add-repo`}{` command:`}

      \n
      {`# Add the official Grafana repository`}{`\n`}{`$ tk tool charts add-repo grafana https://grafana.github.io/helm-charts`}
      \n

      {`Another way is to modify `}{`chartfile.yaml`}{` directly:`}

      \n
      {`version: 1`}{`\n`}{`repositories:`}{`\n`}{`  - name: stable`}{`\n`}{`    url: https://charts.helm.sh/stable`}{`\n`}{`+`}{` - name: grafana`}{`\n`}{`+`}{`   url: https://grafana.github.io/helm-charts`}
      \n

      {`Installing multiple versions of the same chart:`}{`\nIf you wish to install multiple versions of the same chart, you can write them to a specific directory.`}

      {`\n`}{`You can do so with a `}{`:`}{` suffix in the `}{`add`}{` command, or by modifying the chartfile manually.`}

      \n
      {`tk tool charts add stable/mysql@1.6.7:1.6.7`}{`\n`}{`tk tool charts add stable/mysql@1.6.8:1.6.8`}
      \n

      {`The resulting chartfile will look like this:`}

      \n
      {`version`}{`:`}{` `}{`1`}{`\n`}{`directory`}{`:`}{` `}{`charts`}{`\n`}{`repositories`}{`:`}{`\n`}{`-`}{` `}{`name`}{`:`}{` `}{`stable`}{`\n`}{`  `}{`url`}{`:`}{` `}{`https://charts.helm.sh/stable`}{`\n`}{`requires`}{`:`}{`\n`}{`-`}{` `}{`chart`}{`:`}{` `}{`stable/mysql`}{`\n`}{`  `}{`directory`}{`:`}{` `}{`1.6.7`}{`\n`}{`  `}{`version`}{`:`}{` `}{`1.6.7`}{`\n`}{`-`}{` `}{`chart`}{`:`}{` `}{`stable/mysql`}{`\n`}{`  `}{`directory`}{`:`}{` `}{`1.6.8`}{`\n`}{`  `}{`version`}{`:`}{` `}{`1.6.8`}
      \n

      {`Install charts from chartfile:`}{` To install charts from an existing chartfile, use the following:`}

      \n
      {`$ tk tool charts vendor`}
      \n

      {`Optionally, you can also pass the `}{`--prune`}{` flag to remove vendored charts that are no longer in the chartfile.`}

      \n

      {`OCI Registry Support`}

      \n

      {`Tanka supports pulling charts from OCI registries. To use one, the chart name must be split into two parts: the registry and the chart name. `}

      \n

      {`As example, if you wanted to pull the `}{`oci://public.ecr.aws/karpenter/karpenter:v0.27.3`}{` image, your chartfile would look like this:`}

      \n
      {`version`}{`:`}{` `}{`1`}{`\n`}{`directory`}{`:`}{` `}{`charts`}{`\n`}{`repositories`}{`:`}{`\n`}{`-`}{` `}{`name`}{`:`}{` `}{`karpenter`}{`\n`}{`  `}{`url`}{`:`}{` `}{`oci://public.ecr.aws/karpenter`}{`\n`}{`requires`}{`:`}{`\n`}{`-`}{` `}{`chart`}{`:`}{` `}{`karpenter/karpenter`}{`\n`}{`  `}{`directory`}{`:`}{` `}{`v0.27.3`}{`\n`}{`  `}{`version`}{`:`}{` `}{`v0.27.3`}
      \n

      {`Registry login is not supported yet.`}

      \n

      {`Troubleshooting`}

      \n

      {`Helm executable missing`}

      \n

      {`Helm support in Tanka requires the `}{`helm`}{` binary installed on your system and\navailable on the `}{`$PATH`}{`. If Helm is not installed, you will see this error message:`}

      \n
      {`evaluating jsonnet: RUNTIME ERROR: Expanding Helm Chart: exec: \"helm\": executable file not found in $PATH`}
      \n

      {`To solve this, you need to `}{`install Helm`}{`.\nIf you cannot install it system-wide, you can point Tanka at your executable\nusing `}{`TANKA_HELM_PATH`}

      \n

      {`opts.calledFrom unset`}

      \n

      {`This occurs, when Tanka was not told where it `}{`helm.template()`}{` was invoked\nfrom. This most likely means you didn't call `}{`new(std.thisFile)`}{` when importing `}{`tanka-util`}{`:`}

      \n
      {`local`}{` tanka `}{`=`}{` `}{`import`}{` `}{`\"github.com/grafana/jsonnet-libs/tanka-util/main.libsonnet\"`}{`;`}{`\n`}{`local`}{` helm `}{`=`}{` tanka.helm.`}{`new`}{`(`}{`std.thisFile`}{`);`}{`\n`}{`                       ↑ This is important`}
      \n

      {`Failed to find Chart`}

      \n
      {`helmTemplate: Failed to find a Chart at 'stable/grafana': No such file or directory.`}{`\n`}{`helmTemplate: Failed to find a Chart at '/home/user/stuff/tanka/environments/default/grafana': No such file or directory.`}
      \n

      {`Tanka failed to locate your Helm chart on the filesystem. It looked at the\nrelative path you provided in `}{`helm.template()`}{`, starting from the directory of\nthe file you called `}{`helm.template()`}{` from.`}

      \n

      {`Please check there is actually a valid Helm chart at this place. Referring to\ncharts as `}{`/`}{` is disallowed by design.`}

      \n

      {`Two resources share the same name`}

      \n

      {`To make customization easier, `}{`helm.template()`}{` returns the resources not as the\nlist it receives from Helm, but instead converts this into an object.`}

      \n

      {`For the indexing key it uses `}{`kind_name`}{` by default. In some rare cases, this\nmight not be enough to distinguish between two resources, namely when the same\nresource exists in two namespaces.`}

      \n

      {`To handle this, pass a custom name format, e.g. to also include the namespace:`}

      \n
      {`custom:`}{` helm.`}{`template`}{`(`}{`'foo'`}{`, `}{`'./charts/foo'`}{`, {`}{`\n`}{`  nameFormat: `}{`'{{ print .namespace \"_\" .kind \"_\" .metadata.name | snakecase }}'`}{`\n`}{`})`}
      \n

      {`The literal default format used is `}{`{{ print .kind \"_\" .metadata.name | snakecase }}`}

      \n\n \n
      ;\n}\n;\nMDXContent.isMDXComponent = true;\n "],"sourceRoot":""} \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-inline-environments-mdx-438dd359ab9fafbc9e4f.js b/pr-preview/pr-991/component---docs-inline-environments-mdx-438dd359ab9fafbc9e4f.js deleted file mode 100644 index 063307f06..000000000 --- a/pr-preview/pr-991/component---docs-inline-environments-mdx-438dd359ab9fafbc9e4f.js +++ /dev/null @@ -1,2 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[13],{d0WO:function(e,a,n){"use strict";n.r(a),n.d(a,"_frontmatter",(function(){return b})),n.d(a,"default",(function(){return r}));var s=n("wx14"),t=n("Ff2n"),m=(n("q1tI"),n("7ljp")),p=n("hhGP");n("qKvR");const c=["components"],b={};void 0!==b&&b&&b===Object(b)&&Object.isExtensible(b)&&!Object.prototype.hasOwnProperty.call(b,"__filemeta")&&Object.defineProperty(b,"__filemeta",{configurable:!0,value:{name:"_frontmatter",filename:"docs/inline-environments.mdx"}});const l={_frontmatter:b},N=p.a;function r(e){let{components:a}=e,n=Object(t.a)(e,c);return Object(m.b)(N,Object(s.a)({},l,n,{components:a,mdxType:"MDXLayout"}),Object(m.b)("h1",{id:"inline-environments"},"Inline environments"),Object(m.b)("p",null,"Inline environments is the practice of defining the environment's config inline\nfor evaluation at runtime as opposed to configuring it statically in\n",Object(m.b)("inlineCode",{parentName:"p"},"spec.json"),"."),Object(m.b)("p",null,"The general take away is:"),Object(m.b)("ul",null,Object(m.b)("li",{parentName:"ul"},Object(m.b)("inlineCode",{parentName:"li"},"spec.json")," will no longer be used"),Object(m.b)("li",{parentName:"ul"},Object(m.b)("inlineCode",{parentName:"li"},"main.jsonnet")," is expected to render a ",Object(m.b)("inlineCode",{parentName:"li"},"tanka.dev/Environment")," object"),Object(m.b)("li",{parentName:"ul"},"this object is expected to hold Kubernetes objects at ",Object(m.b)("inlineCode",{parentName:"li"},".data"))),Object(m.b)("h2",{id:"converting-to-an-inline-environment"},"Converting to an inline environment"),Object(m.b)("p",null,"Converting a traditional ",Object(m.b)("inlineCode",{parentName:"p"},"spec.json")," environment into an inline environment is quite\nstraight forward. Based on the example from ",Object(m.b)("a",{parentName:"p",href:"tutorial/jsonnet"},"Using Jsonnet"),":"),Object(m.b)("p",null,"The directory structure:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"sh"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"├── environments")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"│   └── default "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"# default environment")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"│   ├── main.jsonnet "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"# main file")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"│   └── spec.json "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"# environment's config")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"├── jsonnetfile.json")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"├── lib "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"# libraries")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"└── vendor "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"# external libraries")))),Object(m.b)("p",null,"The original files look like this:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"jsonnet"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// main.jsonnet")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"some_deployment:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {"),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"/* ... */"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"some_service:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {"),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"/* ... */"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"}")))),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"json"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// spec.json")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk12"},"apiVersion"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk6"},"tanka.dev/v1alpha1"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk12"},"kind"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk6"},"Environment"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk12"},"metadata"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk7"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk6"},"default"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"')),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"},")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk12"},"spec"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk7"},"apiServer"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk6"},"https://127.0.0.1:6443"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk7"},"namespace"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk6"},"monitoring"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"')),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"}")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"}")))),Object(m.b)("p",null,"Converting is as simple as bringing in the ",Object(m.b)("inlineCode",{parentName:"p"},"spec.json")," into ",Object(m.b)("inlineCode",{parentName:"p"},"main.jsonnet")," and\nmoving the original ",Object(m.b)("inlineCode",{parentName:"p"},"main.jsonnet")," scope into the ",Object(m.b)("inlineCode",{parentName:"p"},"data:")," element."),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"jsonnet"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// main.jsonnet")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"apiVersion:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'tanka.dev/v1alpha1'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"kind:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'Environment'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"metadata:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"name:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'default'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"spec:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"apiServer:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'https://127.0.0.1:6443'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"namespace:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'monitoring'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"data:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," { "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// original main.jsonnet data")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"some_deployment:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {"),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"/* ... */"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"some_service:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {"),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"/* ... */"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"}")))),Object(m.b)("h2",{id:"use-case-variable-apiserver"},"Use case: variable apiServer"),Object(m.b)("p",null,"Even though the ",Object(m.b)("inlineCode",{parentName:"p"},"apiServer")," directive is originally meant to prevent that the\nmanifests don't get accidentally applied to the wrong Kubernetes cluster, there\nis a valid use case for making the ",Object(m.b)("inlineCode",{parentName:"p"},"apiServer")," variable: Local test clusters."),Object(m.b)("p",null,"Instead of modifying ",Object(m.b)("inlineCode",{parentName:"p"},"spec.json")," each time, with inline environments it is\npossible to leverage powerful jsonnet concepts, for example with top level\narguments:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"jsonnet"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// environments/minikube-test-setup/main.jsonnet")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk9"},"function"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"(apiServer) {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"apiVersion:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'tanka.dev/v1alpha1'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"kind:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'Environment'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"metadata:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"name:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'minikube-test-setup'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"spec:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"apiServer:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," apiServer,")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"namespace:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'monitoring'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"data:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," { "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"/* ... */"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"}")))),Object(m.b)("p",null,"Applying this to a local Kubernetes cluster can be done like this:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"bash"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"$ tk apply --tla-str apiServer=https://127.0.0.1:4758 environments/minikube-test-setup")))),Object(m.b)("p",null,"Similarly this can be used to configure any part of the Environment object, like\n",Object(m.b)("inlineCode",{parentName:"p"},"namespace:"),", ",Object(m.b)("inlineCode",{parentName:"p"},"metadata.labels"),", ..."),Object(m.b)("h2",{id:"use-case-consistent-inline-environments"},"Use case: consistent inline environments"),Object(m.b)("p",null,"It is possible to define multiple inline environments in a single jsonnet. This\nenables an operator to generate consistent Tanka environments for multiple\nKubernetes clusters."),Object(m.b)("p",null,"We can define a Tanka environment once and then repeat that for a set of\nclusters as shown in this example:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"jsonnet"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// environments/monitoring-stack/main.jsonnet")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk9"},"environment"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"(cluster)"),Object(m.b)("span",{parentName:"span",className:"mtk12"},"::"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"apiVersion:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'tanka.dev/v1alpha1'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"kind:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'Environment'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"metadata:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"name:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'environment/%s'"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk12"},"%"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," cluster.name,")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"spec:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"apiServer:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," cluster.apiServer,")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"namespace:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'monitoring'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"data:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," { "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"/* ... */"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"})),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk7"},"clusters::"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," [")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," { "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"name:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'us-central1'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},", "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"apiServer:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'https://127.0.0.1:6433'"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," { "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"name:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'europe-west2'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},", "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"apiServer:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'https://127.0.0.2:6433'"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," ],")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"})),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"envs:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," [cluster.name]"),Object(m.b)("span",{parentName:"span",className:"mtk12"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"$"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"."),Object(m.b)("span",{parentName:"span",className:"mtk9"},"environment"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"(cluster)")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5 mtki"},"for"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," cluster "),Object(m.b)("span",{parentName:"span",className:"mtk5 mtki"},"in"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"$"),Object(m.b)("span",{parentName:"span",className:"mtk1"},".clusters")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"}")))),Object(m.b)("p",null,"In the workflow you now have to use ",Object(m.b)("inlineCode",{parentName:"p"},"--name")," to select the environment you want\nto deploy:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"bash"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"$ tk apply --name environment/us-central1 environments/monitoring-stack/main.jsonnet")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"$ tk diff --name environment/europe-west2 environments/monitoring-stack/main.jsonnet")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"})),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"# Partial matches also work (if they match a single environment)")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"$ tk apply --name us-central1 environments/monitoring-stack/main.jsonnet")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"$ tk diff --name west2 environments/monitoring-stack/main.jsonnet")))),Object(m.b)("p",null,"For export, it is possible to use the same ",Object(m.b)("inlineCode",{parentName:"p"},"--name")," selector or you can do a\nrecursive export while using the ",Object(m.b)("inlineCode",{parentName:"p"},"--format")," option:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"bash"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"$ tk "),Object(m.b)("span",{parentName:"span",className:"mtk12"},"export"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," outputDir/ environments/monitoring-stack/main.jsonnet --recursive \\")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," --format "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"'"),Object(m.b)("span",{parentName:"span",className:"mtk6"},"{{env.metadata.name}}/{{.metadata.namespace}}/{{.kind}}-{{.metadata.name}}"),Object(m.b)("span",{parentName:"span",className:"mtk5"},"'")))),Object(m.b)("h2",{id:"caveats"},"Caveats"),Object(m.b)("h3",{id:"import-tk"},Object(m.b)("inlineCode",{parentName:"h3"},'import "tk"')),Object(m.b)("p",null,"Inline environments cannot use ",Object(m.b)("a",{parentName:"p",href:"config#jsonnet-access"},Object(m.b)("inlineCode",{parentName:"a"},'import "tk"'))," anymore as\nthis information was populated before jsonnet evaluation by the existence of\n",Object(m.b)("inlineCode",{parentName:"p"},"spec.json"),"."),Object(m.b)("h3",{id:"tk-env"},Object(m.b)("inlineCode",{parentName:"h3"},"tk env")),Object(m.b)("p",null,"The different ",Object(m.b)("inlineCode",{parentName:"p"},"tk env")," subcommands are heavily based on the ",Object(m.b)("inlineCode",{parentName:"p"},"spec.json"),"\napproach. ",Object(m.b)("inlineCode",{parentName:"p"},"tk env list")," will continue to work as expected, ",Object(m.b)("inlineCode",{parentName:"p"},"tk env\n(add|remove|set)")," will only work for ",Object(m.b)("inlineCode",{parentName:"p"},"spec.json")," based environments."),Object(m.b)("style",{className:"vscode-highlight-styles"},"\n \n .material-theme-darker {\nbackground-color: #212121;\ncolor: #EEFFFF;\n}\n\n.material-theme-darker .mtk1 { color: #FFFFFF; }\n.material-theme-darker .mtk2 { color: #212121; }\n.material-theme-darker .mtk3 { color: #545454; }\n.material-theme-darker .mtk4 { color: #F78C6C; }\n.material-theme-darker .mtk5 { color: #89DDFF; }\n.material-theme-darker .mtk6 { color: #C3E88D; }\n.material-theme-darker .mtk7 { color: #FFCB6B; }\n.material-theme-darker .mtk8 { color: #EEFFFF; }\n.material-theme-darker .mtk9 { color: #82AAFF; }\n.material-theme-darker .mtk10 { color: #FF5370; }\n.material-theme-darker .mtk11 { color: #F07178; }\n.material-theme-darker .mtk12 { color: #C792EA; }\n.material-theme-darker .mtk13 { color: #EEFFFF90; }\n.material-theme-darker .mtk14 { color: #65737E; }\n.material-theme-darker .mtk15 { color: #B2CCD6; }\n.material-theme-darker .mtk16 { color: #C17E70; }\n.material-theme-darker .mtki { font-style: italic; }\n.material-theme-darker .mtkb { font-weight: bold; }\n.material-theme-darker .mtku { text-decoration: underline; text-underline-position: under; }\n"))}void 0!==r&&r&&r===Object(r)&&Object.isExtensible(r)&&!Object.prototype.hasOwnProperty.call(r,"__filemeta")&&Object.defineProperty(r,"__filemeta",{configurable:!0,value:{name:"MDXContent",filename:"docs/inline-environments.mdx"}}),r.isMDXComponent=!0}}]); -//# sourceMappingURL=component---docs-inline-environments-mdx-438dd359ab9fafbc9e4f.js.map \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-inline-environments-mdx-438dd359ab9fafbc9e4f.js.map b/pr-preview/pr-991/component---docs-inline-environments-mdx-438dd359ab9fafbc9e4f.js.map deleted file mode 100644 index a005b0940..000000000 --- a/pr-preview/pr-991/component---docs-inline-environments-mdx-438dd359ab9fafbc9e4f.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./docs/inline-environments.mdx"],"names":["_frontmatter","Object","isExtensible","prototype","hasOwnProperty","call","defineProperty","configurable","value","name","filename","layoutProps","MDXLayout","DefaultLayout","MDXContent","_ref","components","props","_objectWithoutProperties","_excluded","mdx","_extends","mdxType","parentName","isMDXComponent"],"mappings":"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","file":"component---docs-inline-environments-mdx-438dd359ab9fafbc9e4f.js","sourcesContent":["import * as React from 'react'\n /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsxRuntime classic */\n/* @jsx mdx */\nimport DefaultLayout from \"/home/runner/work/tanka/tanka/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nexport const _frontmatter = {};\nconst layoutProps = {\n _frontmatter\n};\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n components,\n ...props\n}) {\n return \n\n\n

      {`Inline environments`}

      \n

      {`Inline environments is the practice of defining the environment's config inline\nfor evaluation at runtime as opposed to configuring it statically in\n`}{`spec.json`}{`.`}

      \n

      {`The general take away is:`}

      \n
        \n
      • {`spec.json`}{` will no longer be used`}
      • \n
      • {`main.jsonnet`}{` is expected to render a `}{`tanka.dev/Environment`}{` object`}
      • \n
      • {`this object is expected to hold Kubernetes objects at `}{`.data`}
      • \n
      \n

      {`Converting to an inline environment`}

      \n

      {`Converting a traditional `}{`spec.json`}{` environment into an inline environment is quite\nstraight forward. Based on the example from `}{`Using Jsonnet`}{`:`}

      \n

      {`The directory structure:`}

      \n
      {`├── environments`}{`\n`}{`│   └── default `}{`# default environment`}{`\n`}{`│       ├── main.jsonnet `}{`# main file`}{`\n`}{`│       └── spec.json `}{`# environment's config`}{`\n`}{`├── jsonnetfile.json`}{`\n`}{`├── lib `}{`# libraries`}{`\n`}{`└── vendor `}{`# external libraries`}
      \n

      {`The original files look like this:`}

      \n
      {`// main.jsonnet`}{`\n`}{`{`}{`\n`}{`  `}{`some_deployment:`}{` {`}{`/* ... */`}{` },`}{`\n`}{`  `}{`some_service:`}{` {`}{`/* ... */`}{` },`}{`\n`}{`}`}
      \n
      {`// spec.json`}{`\n`}{`{`}{`\n`}{`  `}{`\"`}{`apiVersion`}{`\"`}{`:`}{` `}{`\"`}{`tanka.dev/v1alpha1`}{`\"`}{`,`}{`\n`}{`  `}{`\"`}{`kind`}{`\"`}{`:`}{` `}{`\"`}{`Environment`}{`\"`}{`,`}{`\n`}{`  `}{`\"`}{`metadata`}{`\"`}{`:`}{` `}{`{`}{`\n`}{`    `}{`\"`}{`name`}{`\"`}{`:`}{` `}{`\"`}{`default`}{`\"`}{`\n`}{`  `}{`},`}{`\n`}{`  `}{`\"`}{`spec`}{`\"`}{`:`}{` `}{`{`}{`\n`}{`    `}{`\"`}{`apiServer`}{`\"`}{`:`}{` `}{`\"`}{`https://127.0.0.1:6443`}{`\"`}{`,`}{`\n`}{`    `}{`\"`}{`namespace`}{`\"`}{`:`}{` `}{`\"`}{`monitoring`}{`\"`}{`\n`}{`  `}{`}`}{`\n`}{`}`}
      \n

      {`Converting is as simple as bringing in the `}{`spec.json`}{` into `}{`main.jsonnet`}{` and\nmoving the original `}{`main.jsonnet`}{` scope into the `}{`data:`}{` element.`}

      \n
      {`// main.jsonnet`}{`\n`}{`{`}{`\n`}{`  `}{`apiVersion:`}{` `}{`'tanka.dev/v1alpha1'`}{`,`}{`\n`}{`  `}{`kind:`}{` `}{`'Environment'`}{`,`}{`\n`}{`  `}{`metadata:`}{` {`}{`\n`}{`    `}{`name:`}{` `}{`'default'`}{`,`}{`\n`}{`  },`}{`\n`}{`  `}{`spec:`}{` {`}{`\n`}{`    `}{`apiServer:`}{` `}{`'https://127.0.0.1:6443'`}{`,`}{`\n`}{`    `}{`namespace:`}{` `}{`'monitoring'`}{`,`}{`\n`}{`  },`}{`\n`}{`  `}{`data:`}{` { `}{`// original main.jsonnet data`}{`\n`}{`    `}{`some_deployment:`}{` {`}{`/* ... */`}{` },`}{`\n`}{`    `}{`some_service:`}{` {`}{`/* ... */`}{` },`}{`\n`}{`  },`}{`\n`}{`}`}
      \n

      {`Use case: variable apiServer`}

      \n

      {`Even though the `}{`apiServer`}{` directive is originally meant to prevent that the\nmanifests don't get accidentally applied to the wrong Kubernetes cluster, there\nis a valid use case for making the `}{`apiServer`}{` variable: Local test clusters.`}

      \n

      {`Instead of modifying `}{`spec.json`}{` each time, with inline environments it is\npossible to leverage powerful jsonnet concepts, for example with top level\narguments:`}

      \n
      {`// environments/minikube-test-setup/main.jsonnet`}{`\n`}{`function`}{`(apiServer) {`}{`\n`}{`  `}{`apiVersion:`}{` `}{`'tanka.dev/v1alpha1'`}{`,`}{`\n`}{`  `}{`kind:`}{` `}{`'Environment'`}{`,`}{`\n`}{`  `}{`metadata:`}{` {`}{`\n`}{`    `}{`name:`}{` `}{`'minikube-test-setup'`}{`,`}{`\n`}{`  },`}{`\n`}{`  `}{`spec:`}{` {`}{`\n`}{`    `}{`apiServer:`}{` apiServer,`}{`\n`}{`    `}{`namespace:`}{` `}{`'monitoring'`}{`,`}{`\n`}{`  },`}{`\n`}{`  `}{`data:`}{` { `}{`/* ... */`}{` },`}{`\n`}{`}`}
      \n

      {`Applying this to a local Kubernetes cluster can be done like this:`}

      \n
      {`$ tk apply --tla-str apiServer=https://127.0.0.1:4758 environments/minikube-test-setup`}
      \n

      {`Similarly this can be used to configure any part of the Environment object, like\n`}{`namespace:`}{`, `}{`metadata.labels`}{`, ...`}

      \n

      {`Use case: consistent inline environments`}

      \n

      {`It is possible to define multiple inline environments in a single jsonnet. This\nenables an operator to generate consistent Tanka environments for multiple\nKubernetes clusters.`}

      \n

      {`We can define a Tanka environment once and then repeat that for a set of\nclusters as shown in this example:`}

      \n
      {`// environments/monitoring-stack/main.jsonnet`}{`\n`}{`{`}{`\n`}{`  `}{`environment`}{`(cluster)`}{`::`}{` {`}{`\n`}{`    `}{`apiVersion:`}{` `}{`'tanka.dev/v1alpha1'`}{`,`}{`\n`}{`    `}{`kind:`}{` `}{`'Environment'`}{`,`}{`\n`}{`    `}{`metadata:`}{` {`}{`\n`}{`      `}{`name:`}{` `}{`'environment/%s'`}{` `}{`%`}{` cluster.name,`}{`\n`}{`    },`}{`\n`}{`    `}{`spec:`}{` {`}{`\n`}{`      `}{`apiServer:`}{` cluster.apiServer,`}{`\n`}{`      `}{`namespace:`}{` `}{`'monitoring'`}{`,`}{`\n`}{`    },`}{`\n`}{`    `}{`data:`}{` { `}{`/* ... */`}{` },`}{`\n`}{`  },`}{`\n`}{`\n`}{`  `}{`clusters::`}{` [`}{`\n`}{`    { `}{`name:`}{` `}{`'us-central1'`}{`, `}{`apiServer:`}{` `}{`'https://127.0.0.1:6433'`}{` },`}{`\n`}{`    { `}{`name:`}{` `}{`'europe-west2'`}{`, `}{`apiServer:`}{` `}{`'https://127.0.0.2:6433'`}{` },`}{`\n`}{`  ],`}{`\n`}{`\n`}{`  `}{`envs:`}{` {`}{`\n`}{`    [cluster.name]`}{`:`}{` `}{`$`}{`.`}{`environment`}{`(cluster)`}{`\n`}{`    `}{`for`}{` cluster `}{`in`}{` `}{`$`}{`.clusters`}{`\n`}{`  },`}{`\n`}{`}`}
      \n

      {`In the workflow you now have to use `}{`--name`}{` to select the environment you want\nto deploy:`}

      \n
      {`$ tk apply --name environment/us-central1 environments/monitoring-stack/main.jsonnet`}{`\n`}{`$ tk diff --name environment/europe-west2 environments/monitoring-stack/main.jsonnet`}{`\n`}{`\n`}{`# Partial matches also work (if they match a single environment)`}{`\n`}{`$ tk apply --name us-central1 environments/monitoring-stack/main.jsonnet`}{`\n`}{`$ tk diff --name west2 environments/monitoring-stack/main.jsonnet`}
      \n

      {`For export, it is possible to use the same `}{`--name`}{` selector or you can do a\nrecursive export while using the `}{`--format`}{` option:`}

      \n
      {`$ tk `}{`export`}{` outputDir/ environments/monitoring-stack/main.jsonnet --recursive \\\\`}{`\n`}{`  --format `}{`'`}{`{{env.metadata.name}}/{{.metadata.namespace}}/{{.kind}}-{{.metadata.name}}`}{`'`}
      \n

      {`Caveats`}

      \n

      {`import \"tk\"`}

      \n

      {`Inline environments cannot use `}{`import \"tk\"`}{` anymore as\nthis information was populated before jsonnet evaluation by the existence of\n`}{`spec.json`}{`.`}

      \n

      {`tk env`}

      \n

      {`The different `}{`tk env`}{` subcommands are heavily based on the `}{`spec.json`}{`\napproach. `}{`tk env list`}{` will continue to work as expected, `}{`tk env\n(add|remove|set)`}{` will only work for `}{`spec.json`}{` based environments.`}

      \n\n \n
      ;\n}\n;\nMDXContent.isMDXComponent = true;\n "],"sourceRoot":""} \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-installation-mdx-1ee655fbaeb2cf50c96b.js b/pr-preview/pr-991/component---docs-installation-mdx-1ee655fbaeb2cf50c96b.js deleted file mode 100644 index db3a00a3f..000000000 --- a/pr-preview/pr-991/component---docs-installation-mdx-1ee655fbaeb2cf50c96b.js +++ /dev/null @@ -1,2 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[14],{"5gTo":function(e,t,n){"use strict";n.r(t),n.d(t,"_frontmatter",(function(){return c})),n.d(t,"default",(function(){return d}));var a=n("wx14"),l=n("Ff2n"),o=(n("q1tI"),n("7ljp")),b=n("hhGP"),r=n("XHv3");n("qKvR");const i=["components"],c={};void 0!==c&&c&&c===Object(c)&&Object.isExtensible(c)&&!Object.prototype.hasOwnProperty.call(c,"__filemeta")&&Object.defineProperty(c,"__filemeta",{configurable:!0,value:{name:"_frontmatter",filename:"docs/installation.mdx"}});const s={_frontmatter:c},m=b.a;function d(e){let{components:t}=e,n=Object(l.a)(e,i);return Object(o.b)(m,Object(a.a)({},s,n,{components:t,mdxType:"MDXLayout"}),Object(o.b)("h1",{id:"installation"},"Installation"),Object(o.b)("p",null,"Tanka is distributed as a single binary called ",Object(o.b)("inlineCode",{parentName:"p"},"tk"),". It already includes the Jsonnet compiler, but requires some tools to be available:"),Object(o.b)("ul",null,Object(o.b)("li",{parentName:"ul"},Object(o.b)("a",{parentName:"li",href:"https://kubernetes.io/docs/tasks/tools/"},Object(o.b)("inlineCode",{parentName:"a"},"kubectl")),": Tanka\nuses ",Object(o.b)("inlineCode",{parentName:"li"},"kubectl")," to communicate to your cluster. This means ",Object(o.b)("inlineCode",{parentName:"li"},"kubectl")," must be\navailable somewhere on your ",Object(o.b)("inlineCode",{parentName:"li"},"$PATH"),". If you ever have worked with Kubernetes\nbefore, this should be the case anyways."),Object(o.b)("li",{parentName:"ul"},Object(o.b)("inlineCode",{parentName:"li"},"diff"),": To compute differences, standard UNIX ",Object(o.b)("inlineCode",{parentName:"li"},"diff(1)")," is required."),Object(o.b)("li",{parentName:"ul"},"(recommended) ",Object(o.b)("inlineCode",{parentName:"li"},"jb"),": ",Object(o.b)("a",{parentName:"li",href:"#jsonnet-bundler"},"#Jsonnet Bundler"),", the Jsonnet package\nmanager"),Object(o.b)("li",{parentName:"ul"},"(recommended) ",Object(o.b)("inlineCode",{parentName:"li"},"helm"),": ",Object(o.b)("a",{parentName:"li",href:"https://helm.sh"},"Helm"),", required for ",Object(o.b)("a",{parentName:"li",href:"/pr-preview/pr-991/helm"},"Helm\nsupport"))),Object(o.b)("br",null),Object(o.b)("h2",{id:"tanka"},"Tanka"),Object(o.b)(r.b,{elems:r.c,def:"macOS",mdxType:"PlatformInstall"}),Object(o.b)("h2",{id:"jsonnet-bundler"},"Jsonnet Bundler"),Object(o.b)("p",null,"The ",Object(o.b)("a",{parentName:"p",href:"https://github.com/jsonnet-bundler/jsonnet-bundler"},"Jsonnet Bundler")," project creates a package manager for Jsonnet\nto share and reuse code across the internet, similar to ",Object(o.b)("inlineCode",{parentName:"p"},"npm")," or ",Object(o.b)("inlineCode",{parentName:"p"},"go mod"),"."),Object(o.b)("p",null,"Tanka uses this tool by default, so it's recommended to install it as well:"),Object(o.b)(r.b,{elems:r.a,def:"macOS",mdxType:"PlatformInstall"}))}void 0!==d&&d&&d===Object(d)&&Object.isExtensible(d)&&!Object.prototype.hasOwnProperty.call(d,"__filemeta")&&Object.defineProperty(d,"__filemeta",{configurable:!0,value:{name:"MDXContent",filename:"docs/installation.mdx"}}),d.isMDXComponent=!0}}]); -//# sourceMappingURL=component---docs-installation-mdx-1ee655fbaeb2cf50c96b.js.map \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-installation-mdx-1ee655fbaeb2cf50c96b.js.map b/pr-preview/pr-991/component---docs-installation-mdx-1ee655fbaeb2cf50c96b.js.map deleted file mode 100644 index 1e42347b0..000000000 --- a/pr-preview/pr-991/component---docs-installation-mdx-1ee655fbaeb2cf50c96b.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./docs/installation.mdx"],"names":["_frontmatter","Object","isExtensible","prototype","hasOwnProperty","call","defineProperty","configurable","value","name","filename","layoutProps","MDXLayout","DefaultLayout","MDXContent","_ref","components","props","_objectWithoutProperties","_excluded","mdx","_extends","mdxType","parentName","PlatformInstall","elems","Tanka","def","Jb","isMDXComponent"],"mappings":"uSAOaA,EAAe,QAAG,IAAAA,UAAAC,OAAAD,IAAAC,OAAAC,aAAAF,KAAAC,OAAAE,UAAAC,eAAAC,KAAAL,EAAA,eAAAC,OAAAK,eAAAN,EAAA,cAAAO,cAAA,EAAAC,MAAA,CAAAC,KAAA,eAAAC,SAAA,2BAC/B,MAAMC,EAAc,CAClBX,gBAEIY,EAAYC,IACH,SAASC,EAAUC,GAG/B,IAHgC,WACjCC,GAEDD,EADIE,EAAKC,YAAAH,EAAAI,GAER,OAAOC,YAACR,EAASS,YAAA,GAAKV,EAAiBM,EAAK,CAAED,WAAYA,EAAYM,QAAQ,cAI5EF,YAAA,MACE,GAAM,gBAAc,gBAEtBA,YAAA,2DAAsDA,YAAA,cAAYG,WAAW,KAAG,MAAoB,wFACpGH,YAAA,UACEA,YAAA,MAAIG,WAAW,MAAKH,YAAA,KAAGG,WAAW,KAC9B,KAAQ,2CACPH,YAAA,cAAYG,WAAW,KAAG,YAA6B,iBAC3DH,YAAA,cAAYG,WAAW,MAAI,WAAyB,+CAAgDH,YAAA,cAAYG,WAAW,MAAI,WAAyB,yCACjIH,YAAA,cAAYG,WAAW,MAAI,SAAuB,uFAE1EH,YAAA,MAAIG,WAAW,MAAKH,YAAA,cAAYG,WAAW,MAAI,QAAsB,2CAA4CH,YAAA,cAAYG,WAAW,MAAI,WAAyB,iBACrKH,YAAA,MAAIG,WAAW,MAAI,iBAAmBH,YAAA,cAAYG,WAAW,MAAI,MAAoB,KAAMH,YAAA,KAAGG,WAAW,KACrG,KAAQ,oBAAkB,oBACD,kCAE7BH,YAAA,MAAIG,WAAW,MAAI,iBAAmBH,YAAA,cAAYG,WAAW,MAAI,QAAsB,KAAMH,YAAA,KAAGG,WAAW,KACvG,KAAQ,mBAAiB,QACZ,kBAAmBH,YAAA,KAAGG,WAAW,KAC9C,KAAQ,2BAAyB,mBAIvCH,YAAA,WACAA,YAAA,MACE,GAAM,SAAO,SAEfA,YAACI,IAAe,CAACC,MAAOC,IAAOC,IAAI,QAAQL,QAAQ,oBACnDF,YAAA,MACE,GAAM,mBAAiB,mBAEzBA,YAAA,gBAAWA,YAAA,KAAGG,WAAW,IACrB,KAAQ,sDAAoD,mBACpC,2GAC0BH,YAAA,cAAYG,WAAW,KAAG,OAAqB,OAAQH,YAAA,cAAYG,WAAW,KAAG,UAAwB,KAC/JH,YAAA,wFACAA,YAACI,IAAe,CAACC,MAAOG,IAAID,IAAI,QAAQL,QAAQ,0BAGnD,IAAAR,UAAAb,OAAAa,IAAAb,OAAAC,aAAAY,KAAAb,OAAAE,UAAAC,eAAAC,KAAAS,EAAA,eAAAb,OAAAK,eAAAQ,EAAA,cAAAP,cAAA,EAAAC,MAAA,CAAAC,KAAA,aAAAC,SAAA,2BAEDI,EAAWe,gBAAiB","file":"component---docs-installation-mdx-1ee655fbaeb2cf50c96b.js","sourcesContent":["import * as React from 'react'\n /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsxRuntime classic */\n/* @jsx mdx */\nimport DefaultLayout from \"/home/runner/work/tanka/tanka/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nimport { PlatformInstall, Tanka, Jb } from \"../src/components/install\";\nexport const _frontmatter = {};\nconst layoutProps = {\n _frontmatter\n};\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n components,\n ...props\n}) {\n return \n\n\n\n

      {`Installation`}

      \n

      {`Tanka is distributed as a single binary called `}{`tk`}{`. It already includes the Jsonnet compiler, but requires some tools to be available:`}

      \n
        \n
      • {`kubectl`}{`: Tanka\nuses `}{`kubectl`}{` to communicate to your cluster. This means `}{`kubectl`}{` must be\navailable somewhere on your `}{`$PATH`}{`. If you ever have worked with Kubernetes\nbefore, this should be the case anyways.`}
      • \n
      • {`diff`}{`: To compute differences, standard UNIX `}{`diff(1)`}{` is required.`}
      • \n
      • {`(recommended) `}{`jb`}{`: `}{`#Jsonnet Bundler`}{`, the Jsonnet package\nmanager`}
      • \n
      • {`(recommended) `}{`helm`}{`: `}{`Helm`}{`, required for `}{`Helm\nsupport`}
      • \n
      \n
      \n

      {`Tanka`}

      \n \n

      {`Jsonnet Bundler`}

      \n

      {`The `}{`Jsonnet Bundler`}{` project creates a package manager for Jsonnet\nto share and reuse code across the internet, similar to `}{`npm`}{` or `}{`go mod`}{`.`}

      \n

      {`Tanka uses this tool by default, so it's recommended to install it as well:`}

      \n \n\n
      ;\n}\n;\nMDXContent.isMDXComponent = true;\n "],"sourceRoot":""} \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-introduction-mdx-53424fcd5b068bb753bd.js b/pr-preview/pr-991/component---docs-introduction-mdx-53424fcd5b068bb753bd.js deleted file mode 100644 index cdee74f76..000000000 --- a/pr-preview/pr-991/component---docs-introduction-mdx-53424fcd5b068bb753bd.js +++ /dev/null @@ -1,2 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[15],{iQkD:function(e,t,n){"use strict";n.r(t),n.d(t,"_frontmatter",(function(){return p})),n.d(t,"default",(function(){return b}));var o=n("wx14"),a=n("Ff2n"),i=(n("q1tI"),n("7ljp")),r=n("hhGP"),c=n("oteF"),s=n("EN1A");n("qKvR");const l=["components"],p={};void 0!==p&&p&&p===Object(p)&&Object.isExtensible(p)&&!Object.prototype.hasOwnProperty.call(p,"__filemeta")&&Object.defineProperty(p,"__filemeta",{configurable:!0,value:{name:"_frontmatter",filename:"docs/introduction.mdx"}});const u={_frontmatter:p},d=r.a;function b(e){let{components:t}=e,n=Object(a.a)(e,l);return Object(i.b)(d,Object(o.a)({},u,n,{components:t,mdxType:"MDXLayout"}),Object(i.b)(s.a,{mdxType:"Catcher"}),Object(i.b)("h2",{id:"highlights"},"Highlights"),Object(i.b)(c.a,{elems:{Clean:"The Jsonnet language expresses your Kubernetes apps more clearly than YAML ever did",Reusable:"Build application libraries, import them anywhere and even share them on GitHub!",Concise:"Using the Kubernetes library, you will never see boilerplate again!",Confidence:"Stop guessing and use powerful diff to know the exact changes in advance","Production ready":"Tanka deploys Grafana Cloud and many more production setups","Open Source":"Just like the popular Grafana and Loki projects, Tanka is fully open-source"},mdxType:"Highlights"}))}void 0!==b&&b&&b===Object(b)&&Object.isExtensible(b)&&!Object.prototype.hasOwnProperty.call(b,"__filemeta")&&Object.defineProperty(b,"__filemeta",{configurable:!0,value:{name:"MDXContent",filename:"docs/introduction.mdx"}}),b.isMDXComponent=!0}}]); -//# sourceMappingURL=component---docs-introduction-mdx-53424fcd5b068bb753bd.js.map \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-introduction-mdx-53424fcd5b068bb753bd.js.map b/pr-preview/pr-991/component---docs-introduction-mdx-53424fcd5b068bb753bd.js.map deleted file mode 100644 index d338695b8..000000000 --- a/pr-preview/pr-991/component---docs-introduction-mdx-53424fcd5b068bb753bd.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./docs/introduction.mdx"],"names":["_frontmatter","Object","isExtensible","prototype","hasOwnProperty","call","defineProperty","configurable","value","name","filename","layoutProps","MDXLayout","DefaultLayout","MDXContent","_ref","components","props","_objectWithoutProperties","_excluded","mdx","_extends","mdxType","Catcher","Highlights","elems","Clean","Reusable","Concise","Confidence","isMDXComponent"],"mappings":"iTAQaA,EAAe,QAAG,IAAAA,UAAAC,OAAAD,IAAAC,OAAAC,aAAAF,KAAAC,OAAAE,UAAAC,eAAAC,KAAAL,EAAA,eAAAC,OAAAK,eAAAN,EAAA,cAAAO,cAAA,EAAAC,MAAA,CAAAC,KAAA,eAAAC,SAAA,2BAC/B,MAAMC,EAAc,CAClBX,gBAEIY,EAAYC,IACH,SAASC,EAAUC,GAG/B,IAHgC,WACjCC,GAEDD,EADIE,EAAKC,YAAAH,EAAAI,GAER,OAAOC,YAACR,EAASS,YAAA,GAAKV,EAAiBM,EAAK,CAAED,WAAYA,EAAYM,QAAQ,cAI5EF,YAACG,IAAO,CAACD,QAAQ,YACjBF,YAAA,MACE,GAAM,cAAY,cAEpBA,YAACI,IAAU,CAACC,MAAO,CACjBC,MAAO,sFACPC,SAAU,mFACVC,QAAS,sEACTC,WAAY,2EACZ,mBAAoB,8DACpB,cAAe,+EACdP,QAAQ,qBAGd,IAAAR,UAAAb,OAAAa,IAAAb,OAAAC,aAAAY,KAAAb,OAAAE,UAAAC,eAAAC,KAAAS,EAAA,eAAAb,OAAAK,eAAAQ,EAAA,cAAAP,cAAA,EAAAC,MAAA,CAAAC,KAAA,aAAAC,SAAA,2BAEDI,EAAWgB,gBAAiB","file":"component---docs-introduction-mdx-53424fcd5b068bb753bd.js","sourcesContent":["import * as React from 'react'\n /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsxRuntime classic */\n/* @jsx mdx */\nimport DefaultLayout from \"/home/runner/work/tanka/tanka/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nimport { Highlights } from \"./home\";\nimport { Catcher } from \"../src/components/home\";\nexport const _frontmatter = {};\nconst layoutProps = {\n _frontmatter\n};\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n components,\n ...props\n}) {\n return \n\n\n\n \n

      {`Highlights`}

      \n \n\n
      ;\n}\n;\nMDXContent.isMDXComponent = true;\n "],"sourceRoot":""} \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-jsonnet-injecting-values-md-a2e9fadf417770db1b80.js b/pr-preview/pr-991/component---docs-jsonnet-injecting-values-md-a2e9fadf417770db1b80.js deleted file mode 100644 index e34ca7ab9..000000000 --- a/pr-preview/pr-991/component---docs-jsonnet-injecting-values-md-a2e9fadf417770db1b80.js +++ /dev/null @@ -1,2 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[16],{"3fvT":function(e,a,t){"use strict";t.r(a),t.d(a,"_frontmatter",(function(){return r})),t.d(a,"default",(function(){return o}));var n=t("wx14"),s=t("Ff2n"),c=(t("q1tI"),t("7ljp")),m=t("hhGP");t("qKvR");const l=["components"],r={};void 0!==r&&r&&r===Object(r)&&Object.isExtensible(r)&&!Object.prototype.hasOwnProperty.call(r,"__filemeta")&&Object.defineProperty(r,"__filemeta",{configurable:!0,value:{name:"_frontmatter",filename:"docs/jsonnet/injecting-values.md"}});const p={_frontmatter:r},b=m.a;function o(e){let{components:a}=e,t=Object(s.a)(e,l);return Object(c.b)(b,Object(n.a)({},p,t,{components:a,mdxType:"MDXLayout"}),Object(c.b)("h1",{id:"injecting-values"},"Injecting Values"),Object(c.b)("p",null,"Sometimes it might be required to pass externally acquired data into Jsonnet."),Object(c.b)("p",null,"There are three ways of doing so:"),Object(c.b)("ol",null,Object(c.b)("li",{parentName:"ol"},Object(c.b)("a",{parentName:"li",href:"#json-files"},"JSON files")),Object(c.b)("li",{parentName:"ol"},Object(c.b)("a",{parentName:"li",href:"#external-variables"},"External variables")),Object(c.b)("li",{parentName:"ol"},Object(c.b)("a",{parentName:"li",href:"#top-level-arguments"},"Top level arguments"))),Object(c.b)("p",null,"Also check out the ",Object(c.b)("a",{parentName:"p",href:"https://jsonnet.org/ref/language.html#passing-data-to-jsonnet"},"official Jsonnet docs on this\ntopic"),"."),Object(c.b)("h2",{id:"json-files"},"JSON files"),Object(c.b)("p",null,"Jsonnet is a superset of JSON, it treats any JSON as valid Jsonnet. Because many\nsystems can be told to output their data in JSON format, this provides a pretty\ngood interface between those."),Object(c.b)("p",null,"For example, your build tooling like ",Object(c.b)("inlineCode",{parentName:"p"},"make")," could acquire secrets from systems such as\n",Object(c.b)("a",{parentName:"p",href:"https://www.vaultproject.io/"},"Vault"),", etc. and write that into ",Object(c.b)("inlineCode",{parentName:"p"},"secrets.json"),"."),Object(c.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"jsonnet"},Object(c.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk4"},"local"),Object(c.b)("span",{parentName:"span",className:"mtk1"}," secrets "),Object(c.b)("span",{parentName:"span",className:"mtk12"},"="),Object(c.b)("span",{parentName:"span",className:"mtk1"}," "),Object(c.b)("span",{parentName:"span",className:"mtk4"},"import"),Object(c.b)("span",{parentName:"span",className:"mtk1"}," "),Object(c.b)("span",{parentName:"span",className:"mtk6"},'"secrets.json"'),Object(c.b)("span",{parentName:"span",className:"mtk1"},";")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"})),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"},"{")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"}," "),Object(c.b)("span",{parentName:"span",className:"mtk10"},"foo:"),Object(c.b)("span",{parentName:"span",className:"mtk1"}," secrets.myPassword,")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"},"}")))),Object(c.b)("blockquote",null,Object(c.b)("p",{parentName:"blockquote"},Object(c.b)("strong",{parentName:"p"},"Note"),": Using ",Object(c.b)("inlineCode",{parentName:"p"},"import")," with JSON treats it as Jsonnet, so make sure to not\nuse it with untrusted code.",Object(c.b)("br",{parentName:"p"}),"\n","A safer, but more verbose, alternative is ",Object(c.b)("inlineCode",{parentName:"p"},"std.parseJson(importstr 'path_to_json.json')"))),Object(c.b)("h2",{id:"external-variables"},"External variables"),Object(c.b)("p",null,"Another way of passing values from the outside are external variables, which are specified like so:"),Object(c.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"bash"},Object(c.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk3 mtki"},"# strings")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"},"$ tk show "),Object(c.b)("span",{parentName:"span",className:"mtk9"},"."),Object(c.b)("span",{parentName:"span",className:"mtk1"}," --ext-str hello=world")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"})),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk3 mtki"},"# any Jsonnet snippet")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"},"$ tk show "),Object(c.b)("span",{parentName:"span",className:"mtk9"},"."),Object(c.b)("span",{parentName:"span",className:"mtk1"}," --ext-code foo=4 --ext-code bar="),Object(c.b)("span",{parentName:"span",className:"mtk5"},"'"),Object(c.b)("span",{parentName:"span",className:"mtk6"},"[ 1, 3 ]"),Object(c.b)("span",{parentName:"span",className:"mtk5"},"'")))),Object(c.b)("p",null,"They can be accessed using ",Object(c.b)("inlineCode",{parentName:"p"},"std.extVar")," and the name given to them on the command line:"),Object(c.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"jsonnet"},Object(c.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"},"{")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"}," "),Object(c.b)("span",{parentName:"span",className:"mtk10"},"foo:"),Object(c.b)("span",{parentName:"span",className:"mtk1"}," std."),Object(c.b)("span",{parentName:"span",className:"mtk9"},"extVar"),Object(c.b)("span",{parentName:"span",className:"mtk1"},"("),Object(c.b)("span",{parentName:"span",className:"mtk6"},"'foo'"),Object(c.b)("span",{parentName:"span",className:"mtk1"},"), "),Object(c.b)("span",{parentName:"span",className:"mtk3 mtki"},"// 4, integer")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"}," "),Object(c.b)("span",{parentName:"span",className:"mtk10"},"bar:"),Object(c.b)("span",{parentName:"span",className:"mtk1"}," std."),Object(c.b)("span",{parentName:"span",className:"mtk9"},"extVar"),Object(c.b)("span",{parentName:"span",className:"mtk1"},"("),Object(c.b)("span",{parentName:"span",className:"mtk6"},"'bar'"),Object(c.b)("span",{parentName:"span",className:"mtk1"},"), "),Object(c.b)("span",{parentName:"span",className:"mtk3 mtki"},"// [ 1, 3 ], array")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"},"}")))),Object(c.b)("blockquote",null,Object(c.b)("p",{parentName:"blockquote"},Object(c.b)("strong",{parentName:"p"},"Warning"),": External variables are directly accessible in all parts of the\nconfiguration, which can make it difficult to track where they are used and\nwhat effect they have on the final result.\nTry to use ",Object(c.b)("a",{parentName:"p",href:"#top-level-arguments"},"Top Level Arguments")," instead.")),Object(c.b)("h2",{id:"top-level-arguments"},"Top Level Arguments"),Object(c.b)("p",null,"Usually with Tanka, your ",Object(c.b)("inlineCode",{parentName:"p"},"main.jsonnet")," holds an object at the top level (most\nouter type in the generated JSON):"),Object(c.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"jsonnet"},Object(c.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk3 mtki"},"// main.jsonnet")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"},"{")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"}," "),Object(c.b)("span",{parentName:"span",className:"mtk3 mtki"},"/* your resources */")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"},"}")))),Object(c.b)("p",null,"Another type of Jsonnet that naturally accepts parameters is the ",Object(c.b)("inlineCode",{parentName:"p"},"function"),".\nWhen the Jsonnet compiler finds a function at the top level, it invokes it and\nallows passing parameter values from the command line:"),Object(c.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"jsonnet"},Object(c.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk3 mtki"},"// Actual output (object) returned by function, which is taking parameters and default values")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk9"},"function"),Object(c.b)("span",{parentName:"span",className:"mtk1"},"(who, msg="),Object(c.b)("span",{parentName:"span",className:"mtk6"},'"Hello %s!"'),Object(c.b)("span",{parentName:"span",className:"mtk1"},") {")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"}," "),Object(c.b)("span",{parentName:"span",className:"mtk10"},"hello:"),Object(c.b)("span",{parentName:"span",className:"mtk1"}," msg "),Object(c.b)("span",{parentName:"span",className:"mtk12"},"%"),Object(c.b)("span",{parentName:"span",className:"mtk1"}," who")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"},"}")))),Object(c.b)("p",null,"Here, ",Object(c.b)("inlineCode",{parentName:"p"},"who")," needs a value while ",Object(c.b)("inlineCode",{parentName:"p"},"msg")," has a default. This can be invoked like so:"),Object(c.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"bash"},Object(c.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"},"$ tk show "),Object(c.b)("span",{parentName:"span",className:"mtk9"},"."),Object(c.b)("span",{parentName:"span",className:"mtk1"}," --tla-str who=John")))),Object(c.b)("style",{className:"vscode-highlight-styles"},"\n \n .material-theme-darker {\nbackground-color: #212121;\ncolor: #EEFFFF;\n}\n\n.material-theme-darker .mtk1 { color: #FFFFFF; }\n.material-theme-darker .mtk2 { color: #212121; }\n.material-theme-darker .mtk3 { color: #545454; }\n.material-theme-darker .mtk4 { color: #F78C6C; }\n.material-theme-darker .mtk5 { color: #89DDFF; }\n.material-theme-darker .mtk6 { color: #C3E88D; }\n.material-theme-darker .mtk7 { color: #FFCB6B; }\n.material-theme-darker .mtk8 { color: #EEFFFF; }\n.material-theme-darker .mtk9 { color: #82AAFF; }\n.material-theme-darker .mtk10 { color: #FF5370; }\n.material-theme-darker .mtk11 { color: #F07178; }\n.material-theme-darker .mtk12 { color: #C792EA; }\n.material-theme-darker .mtk13 { color: #EEFFFF90; }\n.material-theme-darker .mtk14 { color: #65737E; }\n.material-theme-darker .mtk15 { color: #B2CCD6; }\n.material-theme-darker .mtk16 { color: #C17E70; }\n.material-theme-darker .mtki { font-style: italic; }\n.material-theme-darker .mtkb { font-weight: bold; }\n.material-theme-darker .mtku { text-decoration: underline; text-underline-position: under; }\n"))}void 0!==o&&o&&o===Object(o)&&Object.isExtensible(o)&&!Object.prototype.hasOwnProperty.call(o,"__filemeta")&&Object.defineProperty(o,"__filemeta",{configurable:!0,value:{name:"MDXContent",filename:"docs/jsonnet/injecting-values.md"}}),o.isMDXComponent=!0}}]); -//# sourceMappingURL=component---docs-jsonnet-injecting-values-md-a2e9fadf417770db1b80.js.map \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-jsonnet-injecting-values-md-a2e9fadf417770db1b80.js.map b/pr-preview/pr-991/component---docs-jsonnet-injecting-values-md-a2e9fadf417770db1b80.js.map deleted file mode 100644 index 2bc37c0dc..000000000 --- a/pr-preview/pr-991/component---docs-jsonnet-injecting-values-md-a2e9fadf417770db1b80.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./docs/jsonnet/injecting-values.md"],"names":["_frontmatter","Object","isExtensible","prototype","hasOwnProperty","call","defineProperty","configurable","value","name","filename","layoutProps","MDXLayout","DefaultLayout","MDXContent","_ref","components","props","_objectWithoutProperties","_excluded","mdx","_extends","mdxType","parentName","isMDXComponent"],"mappings":"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","file":"component---docs-jsonnet-injecting-values-md-a2e9fadf417770db1b80.js","sourcesContent":["import * as React from 'react'\n /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsxRuntime classic */\n/* @jsx mdx */\nimport DefaultLayout from \"/home/runner/work/tanka/tanka/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nexport const _frontmatter = {};\nconst layoutProps = {\n _frontmatter\n};\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n components,\n ...props\n}) {\n return \n\n\n

      {`Injecting Values`}

      \n

      {`Sometimes it might be required to pass externally acquired data into Jsonnet.`}

      \n

      {`There are three ways of doing so:`}

      \n
        \n
      1. {`JSON files`}
      2. \n
      3. {`External variables`}
      4. \n
      5. {`Top level arguments`}
      6. \n
      \n

      {`Also check out the `}{`official Jsonnet docs on this\ntopic`}{`.`}

      \n

      {`JSON files`}

      \n

      {`Jsonnet is a superset of JSON, it treats any JSON as valid Jsonnet. Because many\nsystems can be told to output their data in JSON format, this provides a pretty\ngood interface between those.`}

      \n

      {`For example, your build tooling like `}{`make`}{` could acquire secrets from systems such as\n`}{`Vault`}{`, etc. and write that into `}{`secrets.json`}{`.`}

      \n
      {`local`}{` secrets `}{`=`}{` `}{`import`}{` `}{`\"secrets.json\"`}{`;`}{`\n`}{`\n`}{`{`}{`\n`}{`  `}{`foo:`}{` secrets.myPassword,`}{`\n`}{`}`}
      \n
      \n

      {`Note`}{`: Using `}{`import`}{` with JSON treats it as Jsonnet, so make sure to not\nuse it with untrusted code.`}

      {`\n`}{`A safer, but more verbose, alternative is `}{`std.parseJson(importstr 'path_to_json.json')`}

      \n
      \n

      {`External variables`}

      \n

      {`Another way of passing values from the outside are external variables, which are specified like so:`}

      \n
      {`# strings`}{`\n`}{`$ tk show `}{`.`}{` --ext-str hello=world`}{`\n`}{`\n`}{`# any Jsonnet snippet`}{`\n`}{`$ tk show `}{`.`}{` --ext-code foo=4 --ext-code bar=`}{`'`}{`[ 1, 3 ]`}{`'`}
      \n

      {`They can be accessed using `}{`std.extVar`}{` and the name given to them on the command line:`}

      \n
      {`{`}{`\n`}{`  `}{`foo:`}{` std.`}{`extVar`}{`(`}{`'foo'`}{`), `}{`// 4, integer`}{`\n`}{`  `}{`bar:`}{` std.`}{`extVar`}{`(`}{`'bar'`}{`), `}{`// [ 1, 3 ], array`}{`\n`}{`}`}
      \n
      \n

      {`Warning`}{`: External variables are directly accessible in all parts of the\nconfiguration, which can make it difficult to track where they are used and\nwhat effect they have on the final result.\nTry to use `}{`Top Level Arguments`}{` instead.`}

      \n
      \n

      {`Top Level Arguments`}

      \n

      {`Usually with Tanka, your `}{`main.jsonnet`}{` holds an object at the top level (most\nouter type in the generated JSON):`}

      \n
      {`// main.jsonnet`}{`\n`}{`{`}{`\n`}{`  `}{`/* your resources */`}{`\n`}{`}`}
      \n

      {`Another type of Jsonnet that naturally accepts parameters is the `}{`function`}{`.\nWhen the Jsonnet compiler finds a function at the top level, it invokes it and\nallows passing parameter values from the command line:`}

      \n
      {`// Actual output (object) returned by function, which is taking parameters and default values`}{`\n`}{`function`}{`(who, msg=`}{`\"Hello %s!\"`}{`) {`}{`\n`}{`  `}{`hello:`}{` msg `}{`%`}{` who`}{`\n`}{`}`}
      \n

      {`Here, `}{`who`}{` needs a value while `}{`msg`}{` has a default. This can be invoked like so:`}

      \n
      {`$ tk show `}{`.`}{` --tla-str who=John`}
      \n\n \n
      ;\n}\n;\nMDXContent.isMDXComponent = true;\n "],"sourceRoot":""} \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-jsonnet-main-md-041efed1c891707fb3eb.js b/pr-preview/pr-991/component---docs-jsonnet-main-md-041efed1c891707fb3eb.js deleted file mode 100644 index 9f6c86b44..000000000 --- a/pr-preview/pr-991/component---docs-jsonnet-main-md-041efed1c891707fb3eb.js +++ /dev/null @@ -1,2 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[17],{hUCp:function(a,e,s){"use strict";s.r(e),s.d(e,"_frontmatter",(function(){return b})),s.d(e,"default",(function(){return r}));var t=s("wx14"),n=s("Ff2n"),m=(s("q1tI"),s("7ljp")),p=s("hhGP");s("qKvR");const c=["components"],b={};void 0!==b&&b&&b===Object(b)&&Object.isExtensible(b)&&!Object.prototype.hasOwnProperty.call(b,"__filemeta")&&Object.defineProperty(b,"__filemeta",{configurable:!0,value:{name:"_frontmatter",filename:"docs/jsonnet/main.md"}});const N={_frontmatter:b},l=p.a;function r(a){let{components:e}=a,s=Object(n.a)(a,c);return Object(m.b)(l,Object(t.a)({},N,s,{components:e,mdxType:"MDXLayout"}),Object(m.b)("h1",{id:"mainjsonnet"},"main.jsonnet"),Object(m.b)("p",null,"The most important file is called ",Object(m.b)("inlineCode",{parentName:"p"},"main.jsonnet"),", because this is where Tanka\ninvokes the Jsonnet compiler. Every single line of Jsonnet, including\nimports, functions and whatnot is then evaluated until a single, very big JSON\nobject is left.",Object(m.b)("br",{parentName:"p"}),"\n","This object is returned to Tanka and includes all of your Kubernetes manifests\nsomewhere in it, most probably deeply nested."),Object(m.b)("p",null,"But as ",Object(m.b)("inlineCode",{parentName:"p"},"kubectl")," expects a yaml stream, and not a nested tree, Tanka needs to\nextract your objects first. To do this, it traverses the tree until it finds\nsomething that looks like a Kubernetes manifest. An object is considered valid\nwhen it has both, ",Object(m.b)("inlineCode",{parentName:"p"},"kind")," and ",Object(m.b)("inlineCode",{parentName:"p"},"apiVersion")," set."),Object(m.b)("p",null,"To ensure Tanka can find your manifests, the output of your Jsonnet needs to\nhave one of the following structures:"),Object(m.b)("h2",{id:"deeply-nested-object-recommended"},"Deeply nested object (Recommended)"),Object(m.b)("p",null,"Most commonly used is a single big object that includes all manifests as\nleaf-nodes."),Object(m.b)("p",null,"How deeply encapsulated the actual object is does not matter, Tanka will\ntraverse down until it finds something that is valid."),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"json"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk12"},"prometheus"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk7"},"service"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// Service nested one level")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk4"},"apiVersion"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk6"},"v1"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk4"},"kind"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk6"},"Service"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk4"},"metadata"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk10"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk6"},"promSvc"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"')),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"}")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"},")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk7"},"deployment"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk4"},"apiVersion"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk6"},"apps/v1"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},","),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// apiVersion ..")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk4"},"kind"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk6"},"Deployment"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},","),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// .. and kind are required to identify an object.")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk4"},"metadata"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk10"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk6"},"prom"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"')),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"}")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"}")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"},")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk12"},"web"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk7"},"nginx"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk4"},"deployment"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// Deployment nested two levels")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk10"},"apiVersion"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk6"},"apps/v1"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk10"},"kind"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk6"},"Deployment"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk10"},"metadata"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk16"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk6"},"nginx"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"')),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"}")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"}")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"}")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"}")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"}")))),Object(m.b)("p",null,"Using this technique has the big benefit that it is self-documenting, as the\nnesting of keys can be used to logically group related manifests, for example by\napplication."),Object(m.b)("p",null,"An encapsulation level of zero is also possible, which means nothing else than\nregular object like it could be obtained from ",Object(m.b)("inlineCode",{parentName:"p"},"kubectl show -o json"),":"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"json"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk12"},"apiVersion"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk6"},"v1"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk12"},"kind"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk6"},"Service"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk12"},"metadata"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk7"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk6"},"foo"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"')),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"}")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"}")))),Object(m.b)("h2",{id:"array"},"Array"),Object(m.b)("p",null,"Using an array of objects is also fine:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"json"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"[")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk12"},"apiVersion"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk6"},"v1"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk12"},"kind"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk6"},"Service"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk12"},"metadata"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk7"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk6"},"promSvc"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"')),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"}")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"},")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk12"},"apiVersion"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk6"},"apps/v1"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk12"},"kind"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk6"},"Deployment"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk12"},"metadata"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk7"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk6"},"prom"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"')),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"}")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"}")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"]")))),Object(m.b)("h3",{id:"list-type"},"List type"),Object(m.b)("p",null,"Users of ",Object(m.b)("inlineCode",{parentName:"p"},"kubectl")," might have had contact with a type called ",Object(m.b)("inlineCode",{parentName:"p"},"List"),". It is not\npart of the official Kubernetes API but rather a pseudo-type introduced by\n",Object(m.b)("inlineCode",{parentName:"p"},"kubectl")," for dealing with multiple objects at once. Thus, Tanka does not\nsupport it out of the box."),Object(m.b)("p",null,"To take full advantage of Tankas features, you can manually flatten it:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"jsonnet"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk4"},"local"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," list "),Object(m.b)("span",{parentName:"span",className:"mtk12"},"="),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"apiVersion:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"v1"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"kind:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"List"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"items:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," [")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"apiVersion:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"v1"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"kind:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"Service"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"/* ... */")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," }")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"/* ... */")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," ]")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"};")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"})),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"# expose the `items` array on the top level:")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"list.items")))),Object(m.b)("style",{className:"vscode-highlight-styles"},"\n \n .material-theme-darker {\nbackground-color: #212121;\ncolor: #EEFFFF;\n}\n\n.material-theme-darker .mtk1 { color: #FFFFFF; }\n.material-theme-darker .mtk2 { color: #212121; }\n.material-theme-darker .mtk3 { color: #545454; }\n.material-theme-darker .mtk4 { color: #F78C6C; }\n.material-theme-darker .mtk5 { color: #89DDFF; }\n.material-theme-darker .mtk6 { color: #C3E88D; }\n.material-theme-darker .mtk7 { color: #FFCB6B; }\n.material-theme-darker .mtk8 { color: #EEFFFF; }\n.material-theme-darker .mtk9 { color: #82AAFF; }\n.material-theme-darker .mtk10 { color: #FF5370; }\n.material-theme-darker .mtk11 { color: #F07178; }\n.material-theme-darker .mtk12 { color: #C792EA; }\n.material-theme-darker .mtk13 { color: #EEFFFF90; }\n.material-theme-darker .mtk14 { color: #65737E; }\n.material-theme-darker .mtk15 { color: #B2CCD6; }\n.material-theme-darker .mtk16 { color: #C17E70; }\n.material-theme-darker .mtki { font-style: italic; }\n.material-theme-darker .mtkb { font-weight: bold; }\n.material-theme-darker .mtku { text-decoration: underline; text-underline-position: under; }\n"))}void 0!==r&&r&&r===Object(r)&&Object.isExtensible(r)&&!Object.prototype.hasOwnProperty.call(r,"__filemeta")&&Object.defineProperty(r,"__filemeta",{configurable:!0,value:{name:"MDXContent",filename:"docs/jsonnet/main.md"}}),r.isMDXComponent=!0}}]); -//# sourceMappingURL=component---docs-jsonnet-main-md-041efed1c891707fb3eb.js.map \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-jsonnet-main-md-041efed1c891707fb3eb.js.map b/pr-preview/pr-991/component---docs-jsonnet-main-md-041efed1c891707fb3eb.js.map deleted file mode 100644 index 9680ded85..000000000 --- a/pr-preview/pr-991/component---docs-jsonnet-main-md-041efed1c891707fb3eb.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./docs/jsonnet/main.md"],"names":["_frontmatter","Object","isExtensible","prototype","hasOwnProperty","call","defineProperty","configurable","value","name","filename","layoutProps","MDXLayout","DefaultLayout","MDXContent","_ref","components","props","_objectWithoutProperties","_excluded","mdx","_extends","mdxType","parentName","isMDXComponent"],"mappings":"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","file":"component---docs-jsonnet-main-md-041efed1c891707fb3eb.js","sourcesContent":["import * as React from 'react'\n /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsxRuntime classic */\n/* @jsx mdx */\nimport DefaultLayout from \"/home/runner/work/tanka/tanka/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nexport const _frontmatter = {};\nconst layoutProps = {\n _frontmatter\n};\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n components,\n ...props\n}) {\n return \n\n\n

      {`main.jsonnet`}

      \n

      {`The most important file is called `}{`main.jsonnet`}{`, because this is where Tanka\ninvokes the Jsonnet compiler. Every single line of Jsonnet, including\nimports, functions and whatnot is then evaluated until a single, very big JSON\nobject is left.`}

      {`\n`}{`This object is returned to Tanka and includes all of your Kubernetes manifests\nsomewhere in it, most probably deeply nested.`}

      \n

      {`But as `}{`kubectl`}{` expects a yaml stream, and not a nested tree, Tanka needs to\nextract your objects first. To do this, it traverses the tree until it finds\nsomething that looks like a Kubernetes manifest. An object is considered valid\nwhen it has both, `}{`kind`}{` and `}{`apiVersion`}{` set.`}

      \n

      {`To ensure Tanka can find your manifests, the output of your Jsonnet needs to\nhave one of the following structures:`}

      \n

      {`Deeply nested object (Recommended)`}

      \n

      {`Most commonly used is a single big object that includes all manifests as\nleaf-nodes.`}

      \n

      {`How deeply encapsulated the actual object is does not matter, Tanka will\ntraverse down until it finds something that is valid.`}

      \n
      {`{`}{`\n`}{`  `}{`\"`}{`prometheus`}{`\"`}{`:`}{` `}{`{`}{`\n`}{`    `}{`\"`}{`service`}{`\"`}{`:`}{` `}{`{`}{`\n`}{`      `}{`// Service nested one level`}{`\n`}{`      `}{`\"`}{`apiVersion`}{`\"`}{`:`}{` `}{`\"`}{`v1`}{`\"`}{`,`}{`\n`}{`      `}{`\"`}{`kind`}{`\"`}{`:`}{` `}{`\"`}{`Service`}{`\"`}{`,`}{`\n`}{`      `}{`\"`}{`metadata`}{`\"`}{`:`}{` `}{`{`}{`\n`}{`        `}{`\"`}{`name`}{`\"`}{`:`}{` `}{`\"`}{`promSvc`}{`\"`}{`\n`}{`      `}{`}`}{`\n`}{`    `}{`},`}{`\n`}{`    `}{`\"`}{`deployment`}{`\"`}{`:`}{` `}{`{`}{`\n`}{`      `}{`\"`}{`apiVersion`}{`\"`}{`:`}{` `}{`\"`}{`apps/v1`}{`\"`}{`,`}{` `}{`// apiVersion ..`}{`\n`}{`      `}{`\"`}{`kind`}{`\"`}{`:`}{` `}{`\"`}{`Deployment`}{`\"`}{`,`}{` `}{`// .. and kind are required to identify an object.`}{`\n`}{`      `}{`\"`}{`metadata`}{`\"`}{`:`}{` `}{`{`}{`\n`}{`        `}{`\"`}{`name`}{`\"`}{`:`}{` `}{`\"`}{`prom`}{`\"`}{`\n`}{`      `}{`}`}{`\n`}{`    `}{`}`}{`\n`}{`  `}{`},`}{`\n`}{`  `}{`\"`}{`web`}{`\"`}{`:`}{` `}{`{`}{`\n`}{`    `}{`\"`}{`nginx`}{`\"`}{`:`}{` `}{`{`}{`\n`}{`      `}{`\"`}{`deployment`}{`\"`}{`:`}{` `}{`{`}{`\n`}{`        `}{`// Deployment nested two levels`}{`\n`}{`        `}{`\"`}{`apiVersion`}{`\"`}{`:`}{` `}{`\"`}{`apps/v1`}{`\"`}{`,`}{`\n`}{`        `}{`\"`}{`kind`}{`\"`}{`:`}{` `}{`\"`}{`Deployment`}{`\"`}{`,`}{`\n`}{`        `}{`\"`}{`metadata`}{`\"`}{`:`}{` `}{`{`}{`\n`}{`          `}{`\"`}{`name`}{`\"`}{`:`}{` `}{`\"`}{`nginx`}{`\"`}{`\n`}{`        `}{`}`}{`\n`}{`      `}{`}`}{`\n`}{`    `}{`}`}{`\n`}{`  `}{`}`}{`\n`}{`}`}
      \n

      {`Using this technique has the big benefit that it is self-documenting, as the\nnesting of keys can be used to logically group related manifests, for example by\napplication.`}

      \n

      {`An encapsulation level of zero is also possible, which means nothing else than\nregular object like it could be obtained from `}{`kubectl show -o json`}{`:`}

      \n
      {`{`}{`\n`}{`  `}{`\"`}{`apiVersion`}{`\"`}{`:`}{` `}{`\"`}{`v1`}{`\"`}{`,`}{`\n`}{`  `}{`\"`}{`kind`}{`\"`}{`:`}{` `}{`\"`}{`Service`}{`\"`}{`,`}{`\n`}{`  `}{`\"`}{`metadata`}{`\"`}{`:`}{` `}{`{`}{`\n`}{`    `}{`\"`}{`name`}{`\"`}{`:`}{` `}{`\"`}{`foo`}{`\"`}{`\n`}{`  `}{`}`}{`\n`}{`}`}
      \n

      {`Array`}

      \n

      {`Using an array of objects is also fine:`}

      \n
      {`[`}{`\n`}{`  `}{`{`}{`\n`}{`    `}{`\"`}{`apiVersion`}{`\"`}{`:`}{` `}{`\"`}{`v1`}{`\"`}{`,`}{`\n`}{`    `}{`\"`}{`kind`}{`\"`}{`:`}{` `}{`\"`}{`Service`}{`\"`}{`,`}{`\n`}{`    `}{`\"`}{`metadata`}{`\"`}{`:`}{` `}{`{`}{`\n`}{`      `}{`\"`}{`name`}{`\"`}{`:`}{` `}{`\"`}{`promSvc`}{`\"`}{`\n`}{`    `}{`}`}{`\n`}{`  `}{`},`}{`\n`}{`  `}{`{`}{`\n`}{`    `}{`\"`}{`apiVersion`}{`\"`}{`:`}{` `}{`\"`}{`apps/v1`}{`\"`}{`,`}{`\n`}{`    `}{`\"`}{`kind`}{`\"`}{`:`}{` `}{`\"`}{`Deployment`}{`\"`}{`,`}{`\n`}{`    `}{`\"`}{`metadata`}{`\"`}{`:`}{` `}{`{`}{`\n`}{`      `}{`\"`}{`name`}{`\"`}{`:`}{` `}{`\"`}{`prom`}{`\"`}{`\n`}{`    `}{`}`}{`\n`}{`  `}{`}`}{`\n`}{`]`}
      \n

      {`List type`}

      \n

      {`Users of `}{`kubectl`}{` might have had contact with a type called `}{`List`}{`. It is not\npart of the official Kubernetes API but rather a pseudo-type introduced by\n`}{`kubectl`}{` for dealing with multiple objects at once. Thus, Tanka does not\nsupport it out of the box.`}

      \n

      {`To take full advantage of Tankas features, you can manually flatten it:`}

      \n
      {`local`}{` list `}{`=`}{` {`}{`\n`}{`  `}{`apiVersion:`}{` `}{`\"v1\"`}{`,`}{`\n`}{`  `}{`kind:`}{` `}{`\"List\"`}{`,`}{`\n`}{`  `}{`items:`}{` [`}{`\n`}{`    {`}{`\n`}{`      `}{`apiVersion:`}{` `}{`\"v1\"`}{`,`}{`\n`}{`      `}{`kind:`}{` `}{`\"Service\"`}{`,`}{`\n`}{`      `}{`/* ... */`}{`\n`}{`    }`}{`\n`}{`    `}{`/* ... */`}{`\n`}{`  ]`}{`\n`}{`};`}{`\n`}{`\n`}{`# expose the \\`items\\` array on the top level:`}{`\n`}{`list.items`}
      \n\n \n
      ;\n}\n;\nMDXContent.isMDXComponent = true;\n "],"sourceRoot":""} \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-jsonnet-native-functions-md-2b62620b62d073a3473b.js b/pr-preview/pr-991/component---docs-jsonnet-native-functions-md-2b62620b62d073a3473b.js deleted file mode 100644 index ee6bf3f6e..000000000 --- a/pr-preview/pr-991/component---docs-jsonnet-native-functions-md-2b62620b62d073a3473b.js +++ /dev/null @@ -1,2 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[18],{"3rzr":function(a,e,s){"use strict";s.r(e),s.d(e,"_frontmatter",(function(){return b})),s.d(e,"default",(function(){return r}));var t=s("wx14"),n=s("Ff2n"),m=(s("q1tI"),s("7ljp")),p=s("hhGP");s("qKvR");const c=["components"],b={};void 0!==b&&b&&b===Object(b)&&Object.isExtensible(b)&&!Object.prototype.hasOwnProperty.call(b,"__filemeta")&&Object.defineProperty(b,"__filemeta",{configurable:!0,value:{name:"_frontmatter",filename:"docs/jsonnet/native-functions.md"}});const N={_frontmatter:b},l=p.a;function r(a){let{components:e}=a,s=Object(n.a)(a,c);return Object(m.b)(l,Object(t.a)({},N,s,{components:e,mdxType:"MDXLayout"}),Object(m.b)("h1",{id:"native-functions"},"Native Functions"),Object(m.b)("p",null,"Tanka extends Jsonnet using ",Object(m.b)("em",{parentName:"p"},"native functions"),", offering additional functionality not yet available in the standard library."),Object(m.b)("p",null,"To use them in your code, you need to access them using ",Object(m.b)("inlineCode",{parentName:"p"},"std.native")," from the standard library:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"jsonnet"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"someField:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," std."),Object(m.b)("span",{parentName:"span",className:"mtk9"},"native"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"("),Object(m.b)("span",{parentName:"span",className:"mtk6"},"''"),Object(m.b)("span",{parentName:"span",className:"mtk1"},")("),Object(m.b)("span",{parentName:"span",className:"mtk12"},"<"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"arguments"),Object(m.b)("span",{parentName:"span",className:"mtk12"},">"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"),")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"}")))),Object(m.b)("p",null,Object(m.b)("inlineCode",{parentName:"p"},"std.native")," takes the native function's name as a ",Object(m.b)("inlineCode",{parentName:"p"},"string")," argument and returns a ",Object(m.b)("inlineCode",{parentName:"p"},"function"),", which is called using the second set of parentheses."),Object(m.b)("h2",{id:"sha256"},"sha256"),Object(m.b)("h3",{id:"signature"},"Signature"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"ts"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk9"},"sha256"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"("),Object(m.b)("span",{parentName:"span",className:"mtk8"},"string"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk8"},"str"),Object(m.b)("span",{parentName:"span",className:"mtk1"},") "),Object(m.b)("span",{parentName:"span",className:"mtk8"},"string")))),Object(m.b)("p",null,Object(m.b)("inlineCode",{parentName:"p"},"sha256")," computes the SHA256 sum of the given string."),Object(m.b)("h3",{id:"examples"},"Examples"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"jsonnet"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"sum:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," std."),Object(m.b)("span",{parentName:"span",className:"mtk9"},"native"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"("),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'sha256'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},")("),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'Hello, World!'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"),")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"}")))),Object(m.b)("p",null,"Evaluating with Tanka results in the JSON:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"json"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk12"},"sum"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk6"},"dffd6021bb2bd5b0af676290809ec3a53191dd81c7f70a4b28688a362182986f"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"')),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"}")))),Object(m.b)("h2",{id:"parsejson"},"parseJson"),Object(m.b)("h3",{id:"signature-1"},"Signature"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"ts"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk9"},"parseJson"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"("),Object(m.b)("span",{parentName:"span",className:"mtk8"},"string"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk8"},"json"),Object(m.b)("span",{parentName:"span",className:"mtk1"},") "),Object(m.b)("span",{parentName:"span",className:"mtk7"},"Object")))),Object(m.b)("p",null,Object(m.b)("inlineCode",{parentName:"p"},"parseJson")," parses a json string and returns the respective Jsonnet type (",Object(m.b)("inlineCode",{parentName:"p"},"Object"),", ",Object(m.b)("inlineCode",{parentName:"p"},"Array"),", etc)."),Object(m.b)("h3",{id:"examples-1"},"Examples"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"jsonnet"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"array:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," std."),Object(m.b)("span",{parentName:"span",className:"mtk9"},"native"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"("),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'parseJson'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},")("),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'[0, 1, 2]'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"),")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"object:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," std."),Object(m.b)("span",{parentName:"span",className:"mtk9"},"native"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"("),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'parseJson'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},")("),Object(m.b)("span",{parentName:"span",className:"mtk6"},'\'{ "foo": "bar" }\''),Object(m.b)("span",{parentName:"span",className:"mtk1"},"),")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"}")))),Object(m.b)("p",null,"Evaluating with Tanka results in the JSON:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"json"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk12"},"array"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"["),Object(m.b)("span",{parentName:"span",className:"mtk4"},"0"),Object(m.b)("span",{parentName:"span",className:"mtk5"},","),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"1"),Object(m.b)("span",{parentName:"span",className:"mtk5"},","),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"2"),Object(m.b)("span",{parentName:"span",className:"mtk5"},"],")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk12"},"object"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk7"},"foo"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk6"},"bar"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"')),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"}")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"}")))),Object(m.b)("h2",{id:"parseyaml"},"parseYaml"),Object(m.b)("h3",{id:"signature-2"},"Signature"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"ts"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk9"},"parseYaml"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"("),Object(m.b)("span",{parentName:"span",className:"mtk8"},"string"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk8"},"yaml"),Object(m.b)("span",{parentName:"span",className:"mtk1"},") []"),Object(m.b)("span",{parentName:"span",className:"mtk7"},"Object")))),Object(m.b)("p",null,Object(m.b)("inlineCode",{parentName:"p"},"parseYaml")," wraps ",Object(m.b)("inlineCode",{parentName:"p"},"yaml.Unmarshal")," to convert a string of yaml document(s) into\na set of dicts. If ",Object(m.b)("inlineCode",{parentName:"p"},"yaml")," only contains a single document, a single value array\nwill be returned."),Object(m.b)("h3",{id:"examples-2"},"Examples"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"jsonnet"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"yaml:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," std."),Object(m.b)("span",{parentName:"span",className:"mtk9"},"native"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"("),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'parseYaml'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},")("),Object(m.b)("span",{parentName:"span",className:"mtk6"},"|||")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk6"}," ---")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk6"}," foo: bar")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk6"}," ---")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk6"}," bar: baz")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk6"}," |||"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"),")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"}")))),Object(m.b)("p",null,"Evaluating with Tanka results in the JSON:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"json"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk12"},"yaml"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"[")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk7"},"foo"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk6"},"bar"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"')),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"},")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk7"},"bar"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk6"},"baz"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"')),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"}")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"]")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"}")))),Object(m.b)("h2",{id:"manifestjsonfromjson"},"manifestJsonFromJson"),Object(m.b)("h3",{id:"signature-3"},"Signature"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"ts"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk9"},"manifestJsonFromJson"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"("),Object(m.b)("span",{parentName:"span",className:"mtk8"},"string"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk8"},"json"),Object(m.b)("span",{parentName:"span",className:"mtk5"},","),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk8"},"int"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk8"},"indent"),Object(m.b)("span",{parentName:"span",className:"mtk1"},") "),Object(m.b)("span",{parentName:"span",className:"mtk8"},"string")))),Object(m.b)("p",null,Object(m.b)("inlineCode",{parentName:"p"},"manifestJsonFromJson")," reserializes JSON and allows to change the indentation."),Object(m.b)("h3",{id:"examples-3"},"Examples"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"jsonnet"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"indentWithEightSpaces:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," std."),Object(m.b)("span",{parentName:"span",className:"mtk9"},"native"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"("),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'manifestJsonFromJson'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},")("),Object(m.b)("span",{parentName:"span",className:"mtk6"},'\'{ "foo": { "bar": "baz" } }\''),Object(m.b)("span",{parentName:"span",className:"mtk1"},", "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"8"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"),")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"}")))),Object(m.b)("p",null,"Evaluating with Tanka results in the JSON:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"json"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk12"},"indentWithEightSpaces"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk6"},"{"),Object(m.b)("span",{parentName:"span",className:"mtk5"},"\\n"),Object(m.b)("span",{parentName:"span",className:"mtk6"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'\\"'),Object(m.b)("span",{parentName:"span",className:"mtk6"},"foo"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'\\"'),Object(m.b)("span",{parentName:"span",className:"mtk6"},": {"),Object(m.b)("span",{parentName:"span",className:"mtk5"},"\\n"),Object(m.b)("span",{parentName:"span",className:"mtk6"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'\\"'),Object(m.b)("span",{parentName:"span",className:"mtk6"},"bar"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'\\"'),Object(m.b)("span",{parentName:"span",className:"mtk6"},": "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'\\"'),Object(m.b)("span",{parentName:"span",className:"mtk6"},"baz"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'\\"\\n'),Object(m.b)("span",{parentName:"span",className:"mtk6"}," }"),Object(m.b)("span",{parentName:"span",className:"mtk5"},"\\n"),Object(m.b)("span",{parentName:"span",className:"mtk6"},"}"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'\\n"')),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"}")))),Object(m.b)("h2",{id:"manifestyamlfromjson"},"manifestYamlFromJson"),Object(m.b)("h3",{id:"signature-4"},"Signature"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"ts"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk9"},"manifestYamlFromJson"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"("),Object(m.b)("span",{parentName:"span",className:"mtk8"},"string"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk8"},"json"),Object(m.b)("span",{parentName:"span",className:"mtk1"},") "),Object(m.b)("span",{parentName:"span",className:"mtk8"},"string")))),Object(m.b)("p",null,Object(m.b)("inlineCode",{parentName:"p"},"manifestYamlFromJson")," serializes a JSON string as a YAML document."),Object(m.b)("h3",{id:"examples-4"},"Examples"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"jsonnet"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"yaml:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," std."),Object(m.b)("span",{parentName:"span",className:"mtk9"},"native"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"("),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'manifestYamlFromJson'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},")("),Object(m.b)("span",{parentName:"span",className:"mtk6"},'\'{ "foo": { "bar": "baz" } }\''),Object(m.b)("span",{parentName:"span",className:"mtk1"},"),")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"}")))),Object(m.b)("p",null,"Evaluating with Tanka results in the JSON:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"json"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk12"},"yaml"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk6"},"foo:"),Object(m.b)("span",{parentName:"span",className:"mtk5"},"\\n"),Object(m.b)("span",{parentName:"span",className:"mtk6"}," bar: baz"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'\\n"')),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"}")))),Object(m.b)("h2",{id:"escapestringregex"},"escapeStringRegex"),Object(m.b)("h3",{id:"signature-5"},"Signature"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"ts"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk9"},"escapeStringRegex"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"("),Object(m.b)("span",{parentName:"span",className:"mtk8"},"string"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk8"},"s"),Object(m.b)("span",{parentName:"span",className:"mtk1"},") "),Object(m.b)("span",{parentName:"span",className:"mtk8"},"string")))),Object(m.b)("p",null,Object(m.b)("inlineCode",{parentName:"p"},"escapeStringRegex")," escapes all regular expression metacharacters and returns a\nregular expression that matches the literal text."),Object(m.b)("h3",{id:"examples-5"},"Examples"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"jsonnet"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"escaped:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," std."),Object(m.b)("span",{parentName:"span",className:"mtk9"},"native"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"("),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'escapeStringRegex'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},")("),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'\"([0-9]+\"'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"),")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"}")))),Object(m.b)("p",null,"Evaluating with Tanka results in the JSON:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"json"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk12"},"escaped"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"\\"\\\\'),Object(m.b)("span",{parentName:"span",className:"mtk6"},"("),Object(m.b)("span",{parentName:"span",className:"mtk5"},"\\\\"),Object(m.b)("span",{parentName:"span",className:"mtk6"},"[0-9"),Object(m.b)("span",{parentName:"span",className:"mtk5"},"\\\\"),Object(m.b)("span",{parentName:"span",className:"mtk6"},"]"),Object(m.b)("span",{parentName:"span",className:"mtk5"},"\\\\"),Object(m.b)("span",{parentName:"span",className:"mtk6"},"+"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'\\""')),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"}")))),Object(m.b)("h2",{id:"regexmatch"},"regexMatch"),Object(m.b)("h3",{id:"signature-6"},"Signature"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"ts"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk9"},"regexMatch"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"("),Object(m.b)("span",{parentName:"span",className:"mtk8"},"string"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk8"},"regex"),Object(m.b)("span",{parentName:"span",className:"mtk5"},","),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk8"},"string"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk8"},"s"),Object(m.b)("span",{parentName:"span",className:"mtk1"},") "),Object(m.b)("span",{parentName:"span",className:"mtk8"},"boolean")))),Object(m.b)("p",null,Object(m.b)("inlineCode",{parentName:"p"},"regexMatch")," returns whether the given string is matched by the given\n",Object(m.b)("a",{parentName:"p",href:"https://github.com/google/re2/wiki/Syntax"},"RE2")," regular expression."),Object(m.b)("h3",{id:"examples-6"},"Examples"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"jsonnet"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"matched:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," std."),Object(m.b)("span",{parentName:"span",className:"mtk9"},"native"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"("),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'regexMatch'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},")("),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'.'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},", "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'a'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"),")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"}")))),Object(m.b)("p",null,"Evaluating with Tanka results in the JSON:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"json"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk12"},"matched"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"true")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"}")))),Object(m.b)("h2",{id:"regexsubst"},"regexSubst"),Object(m.b)("h3",{id:"signature-7"},"Signature"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"ts"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk9"},"regexSubst"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"("),Object(m.b)("span",{parentName:"span",className:"mtk8"},"string"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk8"},"regex"),Object(m.b)("span",{parentName:"span",className:"mtk5"},","),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk8"},"string"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk8"},"src"),Object(m.b)("span",{parentName:"span",className:"mtk5"},","),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk8"},"string"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk8"},"repl"),Object(m.b)("span",{parentName:"span",className:"mtk1"},") "),Object(m.b)("span",{parentName:"span",className:"mtk8"},"string")))),Object(m.b)("p",null,Object(m.b)("inlineCode",{parentName:"p"},"regexSubst")," replaces all matches of the re2 regular expression with the\nreplacement string."),Object(m.b)("h3",{id:"examples-7"},"Examples"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"jsonnet"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"substituted:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," std."),Object(m.b)("span",{parentName:"span",className:"mtk9"},"native"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"("),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'regexSubst'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},")("),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'p[^m]*'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},", "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'pm'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},", "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'poe'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"),")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"}")))),Object(m.b)("p",null,"Evaluating with Tanka results in the JSON:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"json"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk12"},"substituted"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk6"},"poem"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"')),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"}")))),Object(m.b)("style",{className:"vscode-highlight-styles"},"\n \n .material-theme-darker {\nbackground-color: #212121;\ncolor: #EEFFFF;\n}\n\n.material-theme-darker .mtk1 { color: #FFFFFF; }\n.material-theme-darker .mtk2 { color: #212121; }\n.material-theme-darker .mtk3 { color: #545454; }\n.material-theme-darker .mtk4 { color: #F78C6C; }\n.material-theme-darker .mtk5 { color: #89DDFF; }\n.material-theme-darker .mtk6 { color: #C3E88D; }\n.material-theme-darker .mtk7 { color: #FFCB6B; }\n.material-theme-darker .mtk8 { color: #EEFFFF; }\n.material-theme-darker .mtk9 { color: #82AAFF; }\n.material-theme-darker .mtk10 { color: #FF5370; }\n.material-theme-darker .mtk11 { color: #F07178; }\n.material-theme-darker .mtk12 { color: #C792EA; }\n.material-theme-darker .mtk13 { color: #EEFFFF90; }\n.material-theme-darker .mtk14 { color: #65737E; }\n.material-theme-darker .mtk15 { color: #B2CCD6; }\n.material-theme-darker .mtk16 { color: #C17E70; }\n.material-theme-darker .mtki { font-style: italic; }\n.material-theme-darker .mtkb { font-weight: bold; }\n.material-theme-darker .mtku { text-decoration: underline; text-underline-position: under; }\n"))}void 0!==r&&r&&r===Object(r)&&Object.isExtensible(r)&&!Object.prototype.hasOwnProperty.call(r,"__filemeta")&&Object.defineProperty(r,"__filemeta",{configurable:!0,value:{name:"MDXContent",filename:"docs/jsonnet/native-functions.md"}}),r.isMDXComponent=!0}}]); -//# sourceMappingURL=component---docs-jsonnet-native-functions-md-2b62620b62d073a3473b.js.map \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-jsonnet-native-functions-md-2b62620b62d073a3473b.js.map b/pr-preview/pr-991/component---docs-jsonnet-native-functions-md-2b62620b62d073a3473b.js.map deleted file mode 100644 index 6115edfe5..000000000 --- a/pr-preview/pr-991/component---docs-jsonnet-native-functions-md-2b62620b62d073a3473b.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./docs/jsonnet/native-functions.md"],"names":["_frontmatter","Object","isExtensible","prototype","hasOwnProperty","call","defineProperty","configurable","value","name","filename","layoutProps","MDXLayout","DefaultLayout","MDXContent","_ref","components","props","_objectWithoutProperties","_excluded","mdx","_extends","mdxType","parentName","isMDXComponent"],"mappings":"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","file":"component---docs-jsonnet-native-functions-md-2b62620b62d073a3473b.js","sourcesContent":["import * as React from 'react'\n /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsxRuntime classic */\n/* @jsx mdx */\nimport DefaultLayout from \"/home/runner/work/tanka/tanka/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nexport const _frontmatter = {};\nconst layoutProps = {\n _frontmatter\n};\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n components,\n ...props\n}) {\n return \n\n\n

      {`Native Functions`}

      \n

      {`Tanka extends Jsonnet using `}{`native functions`}{`, offering additional functionality not yet available in the standard library.`}

      \n

      {`To use them in your code, you need to access them using `}{`std.native`}{` from the standard library:`}

      \n
      {`{`}{`\n`}{`  `}{`someField:`}{`  std.`}{`native`}{`(`}{`''`}{`)(`}{`<`}{`arguments`}{`>`}{`),`}{`\n`}{`}`}
      \n

      {`std.native`}{` takes the native function's name as a `}{`string`}{` argument and returns a `}{`function`}{`, which is called using the second set of parentheses.`}

      \n

      {`sha256`}

      \n

      {`Signature`}

      \n
      {`sha256`}{`(`}{`string`}{` `}{`str`}{`) `}{`string`}
      \n

      {`sha256`}{` computes the SHA256 sum of the given string.`}

      \n

      {`Examples`}

      \n
      {`{`}{`\n`}{`  `}{`sum:`}{` std.`}{`native`}{`(`}{`'sha256'`}{`)(`}{`'Hello, World!'`}{`),`}{`\n`}{`}`}
      \n

      {`Evaluating with Tanka results in the JSON:`}

      \n
      {`{`}{`\n`}{`  `}{`\"`}{`sum`}{`\"`}{`:`}{` `}{`\"`}{`dffd6021bb2bd5b0af676290809ec3a53191dd81c7f70a4b28688a362182986f`}{`\"`}{`\n`}{`}`}
      \n

      {`parseJson`}

      \n

      {`Signature`}

      \n
      {`parseJson`}{`(`}{`string`}{` `}{`json`}{`) `}{`Object`}
      \n

      {`parseJson`}{` parses a json string and returns the respective Jsonnet type (`}{`Object`}{`, `}{`Array`}{`, etc).`}

      \n

      {`Examples`}

      \n
      {`{`}{`\n`}{`  `}{`array:`}{` std.`}{`native`}{`(`}{`'parseJson'`}{`)(`}{`'[0, 1, 2]'`}{`),`}{`\n`}{`  `}{`object:`}{` std.`}{`native`}{`(`}{`'parseJson'`}{`)(`}{`'{ \"foo\": \"bar\" }'`}{`),`}{`\n`}{`}`}
      \n

      {`Evaluating with Tanka results in the JSON:`}

      \n
      {`{`}{`\n`}{`  `}{`\"`}{`array`}{`\"`}{`:`}{` `}{`[`}{`0`}{`,`}{` `}{`1`}{`,`}{` `}{`2`}{`],`}{`\n`}{`  `}{`\"`}{`object`}{`\"`}{`:`}{` `}{`{`}{`\n`}{`    `}{`\"`}{`foo`}{`\"`}{`:`}{` `}{`\"`}{`bar`}{`\"`}{`\n`}{`  `}{`}`}{`\n`}{`}`}
      \n

      {`parseYaml`}

      \n

      {`Signature`}

      \n
      {`parseYaml`}{`(`}{`string`}{` `}{`yaml`}{`) []`}{`Object`}
      \n

      {`parseYaml`}{` wraps `}{`yaml.Unmarshal`}{` to convert a string of yaml document(s) into\na set of dicts. If `}{`yaml`}{` only contains a single document, a single value array\nwill be returned.`}

      \n

      {`Examples`}

      \n
      {`{`}{`\n`}{`  `}{`yaml:`}{` std.`}{`native`}{`(`}{`'parseYaml'`}{`)(`}{`|||`}{`\n`}{`    ---`}{`\n`}{`    foo: bar`}{`\n`}{`    ---`}{`\n`}{`    bar: baz`}{`\n`}{`  |||`}{`),`}{`\n`}{`}`}
      \n

      {`Evaluating with Tanka results in the JSON:`}

      \n
      {`{`}{`\n`}{`  `}{`\"`}{`yaml`}{`\"`}{`:`}{` `}{`[`}{`\n`}{`    `}{`{`}{`\n`}{`      `}{`\"`}{`foo`}{`\"`}{`:`}{` `}{`\"`}{`bar`}{`\"`}{`\n`}{`    `}{`},`}{`\n`}{`    `}{`{`}{`\n`}{`      `}{`\"`}{`bar`}{`\"`}{`:`}{` `}{`\"`}{`baz`}{`\"`}{`\n`}{`    `}{`}`}{`\n`}{`  `}{`]`}{`\n`}{`}`}
      \n

      {`manifestJsonFromJson`}

      \n

      {`Signature`}

      \n
      {`manifestJsonFromJson`}{`(`}{`string`}{` `}{`json`}{`,`}{` `}{`int`}{` `}{`indent`}{`) `}{`string`}
      \n

      {`manifestJsonFromJson`}{` reserializes JSON and allows to change the indentation.`}

      \n

      {`Examples`}

      \n
      {`{`}{`\n`}{`  `}{`indentWithEightSpaces:`}{` std.`}{`native`}{`(`}{`'manifestJsonFromJson'`}{`)(`}{`'{ \"foo\": { \"bar\": \"baz\" } }'`}{`, `}{`8`}{`),`}{`\n`}{`}`}
      \n

      {`Evaluating with Tanka results in the JSON:`}

      \n
      {`{`}{`\n`}{`  `}{`\"`}{`indentWithEightSpaces`}{`\"`}{`:`}{` `}{`\"`}{`{`}{`\\\\n`}{`        `}{`\\\\\"`}{`foo`}{`\\\\\"`}{`: {`}{`\\\\n`}{`                `}{`\\\\\"`}{`bar`}{`\\\\\"`}{`: `}{`\\\\\"`}{`baz`}{`\\\\\"\\\\n`}{`        }`}{`\\\\n`}{`}`}{`\\\\n\"`}{`\n`}{`}`}
      \n

      {`manifestYamlFromJson`}

      \n

      {`Signature`}

      \n
      {`manifestYamlFromJson`}{`(`}{`string`}{` `}{`json`}{`) `}{`string`}
      \n

      {`manifestYamlFromJson`}{` serializes a JSON string as a YAML document.`}

      \n

      {`Examples`}

      \n
      {`{`}{`\n`}{`  `}{`yaml:`}{` std.`}{`native`}{`(`}{`'manifestYamlFromJson'`}{`)(`}{`'{ \"foo\": { \"bar\": \"baz\" } }'`}{`),`}{`\n`}{`}`}
      \n

      {`Evaluating with Tanka results in the JSON:`}

      \n
      {`{`}{`\n`}{`  `}{`\"`}{`yaml`}{`\"`}{`:`}{` `}{`\"`}{`foo:`}{`\\\\n`}{`    bar: baz`}{`\\\\n\"`}{`\n`}{`}`}
      \n

      {`escapeStringRegex`}

      \n

      {`Signature`}

      \n
      {`escapeStringRegex`}{`(`}{`string`}{` `}{`s`}{`) `}{`string`}
      \n

      {`escapeStringRegex`}{` escapes all regular expression metacharacters and returns a\nregular expression that matches the literal text.`}

      \n

      {`Examples`}

      \n
      {`{`}{`\n`}{`  `}{`escaped:`}{` std.`}{`native`}{`(`}{`'escapeStringRegex'`}{`)(`}{`'\"([0-9]+\"'`}{`),`}{`\n`}{`}`}
      \n

      {`Evaluating with Tanka results in the JSON:`}

      \n
      {`{`}{`\n`}{`  `}{`\"`}{`escaped`}{`\"`}{`:`}{` `}{`\"\\\\\"\\\\\\\\`}{`(`}{`\\\\\\\\`}{`[0-9`}{`\\\\\\\\`}{`]`}{`\\\\\\\\`}{`+`}{`\\\\\"\"`}{`\n`}{`}`}
      \n

      {`regexMatch`}

      \n

      {`Signature`}

      \n
      {`regexMatch`}{`(`}{`string`}{` `}{`regex`}{`,`}{` `}{`string`}{` `}{`s`}{`) `}{`boolean`}
      \n

      {`regexMatch`}{` returns whether the given string is matched by the given\n`}{`RE2`}{` regular expression.`}

      \n

      {`Examples`}

      \n
      {`{`}{`\n`}{`  `}{`matched:`}{` std.`}{`native`}{`(`}{`'regexMatch'`}{`)(`}{`'.'`}{`, `}{`'a'`}{`),`}{`\n`}{`}`}
      \n

      {`Evaluating with Tanka results in the JSON:`}

      \n
      {`{`}{`\n`}{`  `}{`\"`}{`matched`}{`\"`}{`:`}{` `}{`true`}{`\n`}{`}`}
      \n

      {`regexSubst`}

      \n

      {`Signature`}

      \n
      {`regexSubst`}{`(`}{`string`}{` `}{`regex`}{`,`}{` `}{`string`}{` `}{`src`}{`,`}{` `}{`string`}{` `}{`repl`}{`) `}{`string`}
      \n

      {`regexSubst`}{` replaces all matches of the re2 regular expression with the\nreplacement string.`}

      \n

      {`Examples`}

      \n
      {`{`}{`\n`}{`  `}{`substituted:`}{` std.`}{`native`}{`(`}{`'regexSubst'`}{`)(`}{`'p[^m]*'`}{`, `}{`'pm'`}{`, `}{`'poe'`}{`),`}{`\n`}{`}`}
      \n

      {`Evaluating with Tanka results in the JSON:`}

      \n
      {`{`}{`\n`}{`  `}{`\"`}{`substituted`}{`\"`}{`:`}{` `}{`\"`}{`poem`}{`\"`}{`\n`}{`}`}
      \n\n \n
      ;\n}\n;\nMDXContent.isMDXComponent = true;\n "],"sourceRoot":""} \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-jsonnet-overview-md-7b71153076f130bc452f.js b/pr-preview/pr-991/component---docs-jsonnet-overview-md-7b71153076f130bc452f.js deleted file mode 100644 index dfaaf444a..000000000 --- a/pr-preview/pr-991/component---docs-jsonnet-overview-md-7b71153076f130bc452f.js +++ /dev/null @@ -1,2 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[19],{"5bP6":function(a,e,s){"use strict";s.r(e),s.d(e,"_frontmatter",(function(){return b})),s.d(e,"default",(function(){return N}));var t=s("wx14"),n=s("Ff2n"),m=(s("q1tI"),s("7ljp")),p=s("hhGP");s("qKvR");const c=["components"],b={};void 0!==b&&b&&b===Object(b)&&Object.isExtensible(b)&&!Object.prototype.hasOwnProperty.call(b,"__filemeta")&&Object.defineProperty(b,"__filemeta",{configurable:!0,value:{name:"_frontmatter",filename:"docs/jsonnet/overview.md"}});const l={_frontmatter:b},r=p.a;function N(a){let{components:e}=a,s=Object(n.a)(a,c);return Object(m.b)(r,Object(t.a)({},l,s,{components:e,mdxType:"MDXLayout"}),Object(m.b)("h1",{id:"language-overview"},"Language overview"),Object(m.b)("p",null,Object(m.b)("a",{parentName:"p",href:"https://jsonnet.org"},"Jsonnet")," is the data templating language Tanka uses for\nexpressing what shall be deployed to your Kubernetes cluster. Understanding\nJsonnet is crucial to using Tanka effectively."),Object(m.b)("p",null,"This page covers the Jsonnet language itself. For more information on how to\nuse Jsonnet with Kubernetes, see ",Object(m.b)("a",{parentName:"p",href:"/pr-preview/pr-991/tutorial/jsonnet"},"the tutorial"),". There's\nalso ",Object(m.b)("a",{parentName:"p",href:"https://jsonnet.org/learning/tutorial.html"},"the official Jsonnet tutorial"),"\nthat provides a more detailed review of language features."),Object(m.b)("h2",{id:"syntax"},"Syntax"),Object(m.b)("p",null,"Being a superset of JSON, the syntax is very similar:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"jsonnet"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// Line comment")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"/* Block comment */")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"})),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// a local variable (not exported)")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk4"},"local"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," greeting "),Object(m.b)("span",{parentName:"span",className:"mtk12"},"="),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"hello world!"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},";")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"})),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// the exported/returned object")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"foo:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"bar"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},", "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// string")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"bar:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"5"),Object(m.b)("span",{parentName:"span",className:"mtk1"},", "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// int")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"baz:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"false"),Object(m.b)("span",{parentName:"span",className:"mtk1"},", "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// bool")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"list:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," ["),Object(m.b)("span",{parentName:"span",className:"mtk4"},"1"),Object(m.b)("span",{parentName:"span",className:"mtk1"},","),Object(m.b)("span",{parentName:"span",className:"mtk4"},"2"),Object(m.b)("span",{parentName:"span",className:"mtk1"},","),Object(m.b)("span",{parentName:"span",className:"mtk4"},"3"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"], "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// array")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// object")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"dict:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"nested:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," greeting, "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// using the local")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk7"},"hidden::"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"incognito!"'),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// an unexported field")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"}")))),Object(m.b)("h2",{id:"abstraction"},"Abstraction"),Object(m.b)("p",null,"Jsonnet has rich abstraction features, which makes it interesting for\nconfiguring Kubernetes, as it allows to keep configurations concise, yet\nreadable."),Object(m.b)("ul",null,Object(m.b)("li",{parentName:"ul"},Object(m.b)("a",{parentName:"li",href:"#imports"},"Imports")),Object(m.b)("li",{parentName:"ul"},Object(m.b)("a",{parentName:"li",href:"#merging"},"Merging")),Object(m.b)("li",{parentName:"ul"},Object(m.b)("a",{parentName:"li",href:"#functions"},"Functions"))),Object(m.b)("h3",{id:"imports"},"Imports"),Object(m.b)("p",null,"Just as other languages, Jsonnet allows code to be imported from other files:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"jsonnet"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk4"},"local"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," secret "),Object(m.b)("span",{parentName:"span",className:"mtk12"},"="),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"import"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"./secret.libsonnet"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},";")))),Object(m.b)("p",null,"The exported object (the only non-local one) of ",Object(m.b)("inlineCode",{parentName:"p"},"secret.libsonnet")," is now\navailable as a ",Object(m.b)("inlineCode",{parentName:"p"},"local")," variable called ",Object(m.b)("inlineCode",{parentName:"p"},"secret"),"."),Object(m.b)("p",null,"When using Tanka, it is also possible to directly import ",Object(m.b)("inlineCode",{parentName:"p"},".json")," and ",Object(m.b)("inlineCode",{parentName:"p"},".yaml"),"\nfiles, as if they were a ",Object(m.b)("inlineCode",{parentName:"p"},".libsonnet"),"."),Object(m.b)("p",null,"Make sure to also take a look at the libraries documentation to learn how to use ",Object(m.b)("inlineCode",{parentName:"p"},"import")," and re-use code.\nThe documentation on ",Object(m.b)("a",{parentName:"p",href:"/pr-preview/pr-991/libraries/import-paths"},"Tanka import paths")," and ",Object(m.b)("a",{parentName:"p",href:"/pr-preview/pr-991/libraries/install-publish"},"vendoring")," are useful to understand how imports work in Tanka's context."),Object(m.b)("h3",{id:"merging"},"Merging"),Object(m.b)("p",null,"Deep merging allows you to change parts of an object without touching all of it.\nConsider the following example:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"jsonnet"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk4"},"local"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," secret "),Object(m.b)("span",{parentName:"span",className:"mtk12"},"="),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"kind:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," Secret,")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"metadata:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"name:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"mySecret"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line vscode-highlight-line-highlighted"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"namespace:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"default"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},", "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// need to change that")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"data:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"foo:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," std."),Object(m.b)("span",{parentName:"span",className:"mtk9"},"base64"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"("),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"foo"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},")")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," }")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"};")))),Object(m.b)("p",null,"To change the namespace only, we can use the special merge key ",Object(m.b)("inlineCode",{parentName:"p"},"+:")," like so:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"jsonnet"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// define the patch:")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk4"},"local"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," patch "),Object(m.b)("span",{parentName:"span",className:"mtk12"},"="),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"metadata+:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"namespace:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"myApp"')),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," }")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"}")))),Object(m.b)("p",null,"The difference between ",Object(m.b)("inlineCode",{parentName:"p"},":")," and ",Object(m.b)("inlineCode",{parentName:"p"},"+:")," is that the former replaces the original\ndata at that key, while the latter applies the new object as a patch on top,\nmeaning that values will be updated if possible but all other stay like they\nare.",Object(m.b)("br",{parentName:"p"}),"\n","To merge those two, just add (",Object(m.b)("inlineCode",{parentName:"p"},"+"),") the patch to the original:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"jsonnet"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"secret "),Object(m.b)("span",{parentName:"span",className:"mtk12"},"+"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," patch")))),Object(m.b)("p",null,"The output of this is the following JSON object:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"json"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk12"},"kind"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk6"},"Secret"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk12"},"metadata"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk7"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk6"},"mySecret"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk7"},"namespace"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk6"},"myApp"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"')),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"},")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk12"},"data"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk7"},"foo"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk6"},"Zm9vCg=="),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"')),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"}")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"}")))),Object(m.b)("h3",{id:"functions"},"Functions"),Object(m.b)("p",null,"Jsonnet supports functions, similar to how Python does. They can be defined in\ntwo different ways:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"jsonnet"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk4"},"local"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk9"},"add"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"(x,y) "),Object(m.b)("span",{parentName:"span",className:"mtk12"},"="),Object(m.b)("span",{parentName:"span",className:"mtk1"}," x "),Object(m.b)("span",{parentName:"span",className:"mtk12"},"+"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," y;")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk4"},"local"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," mul "),Object(m.b)("span",{parentName:"span",className:"mtk12"},"="),Object(m.b)("span",{parentName:"span",className:"mtk1"}," ("),Object(m.b)("span",{parentName:"span",className:"mtk9"},"function"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"(x, y) x "),Object(m.b)("span",{parentName:"span",className:"mtk12"},"*"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," y);")))),Object(m.b)("p",null,"Objects can have methods:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"jsonnet"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk9"},"greet"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"(who)"),Object(m.b)("span",{parentName:"span",className:"mtk12"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"hello "'),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk12"},"+"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," who,")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"}")))),Object(m.b)("p",null,"Default values, keyword-args and more examples can be found at\n",Object(m.b)("a",{parentName:"p",href:"https://jsonnet.org/learning/tutorial.html#functions"},"jsonnet.org"),"."),Object(m.b)("h2",{id:"standard-library"},"Standard library"),Object(m.b)("p",null,"The Jsonnet standard library includes many helper methods ranging from object\nand array mutation, over string utils to computation helpers."),Object(m.b)("p",null,"Documentation is available at\n",Object(m.b)("a",{parentName:"p",href:"https://jsonnet.org/ref/stdlib.html"},"jsonnet.org"),"."),Object(m.b)("h2",{id:"conditionals"},"Conditionals"),Object(m.b)("p",null,"Jsonnet supports a conditionals in a fashion similar to a ternary operator:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"jsonnet"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk4"},"local"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," tag "),Object(m.b)("span",{parentName:"span",className:"mtk12"},"="),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5 mtki"},"if"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," prod "),Object(m.b)("span",{parentName:"span",className:"mtk5 mtki"},"then"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"v1.0"'),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5 mtki"},"else"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"latest"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},";")))),Object(m.b)("p",null,"More on ",Object(m.b)("a",{parentName:"p",href:"https://jsonnet.org/learning/tutorial.html#conditionals"},"jsonnet.org"),"."),Object(m.b)("h2",{id:"references"},"References"),Object(m.b)("p",null,"Jsonnet has multiple options to refer to parts of an object:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"jsonnet"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"{ "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// this is $")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"junk:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"foo"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"nested:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," { "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// this is self")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"app:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"Tanka"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"msg:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"self"),Object(m.b)("span",{parentName:"span",className:"mtk1"},".app "),Object(m.b)("span",{parentName:"span",className:"mtk12"},"+"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},'" rocks!"'),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},'// "Tanka rocks!"')),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"children:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," { "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// this is also self")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"baz:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"bar"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"junk:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"$"),Object(m.b)("span",{parentName:"span",className:"mtk1"},".junk "),Object(m.b)("span",{parentName:"span",className:"mtk12"},"+"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"self"),Object(m.b)("span",{parentName:"span",className:"mtk1"},".baz, "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},'// "foobar"')),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," }")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"}")))),Object(m.b)("p",null,"For more information take a look at\n",Object(m.b)("a",{parentName:"p",href:"https://jsonnet.org/learning/tutorial.html#references"},"jsonnet.org")),Object(m.b)("style",{className:"vscode-highlight-styles"},"\n \n .material-theme-darker {\nbackground-color: #212121;\ncolor: #EEFFFF;\n}\n\n.material-theme-darker .mtk1 { color: #FFFFFF; }\n.material-theme-darker .mtk2 { color: #212121; }\n.material-theme-darker .mtk3 { color: #545454; }\n.material-theme-darker .mtk4 { color: #F78C6C; }\n.material-theme-darker .mtk5 { color: #89DDFF; }\n.material-theme-darker .mtk6 { color: #C3E88D; }\n.material-theme-darker .mtk7 { color: #FFCB6B; }\n.material-theme-darker .mtk8 { color: #EEFFFF; }\n.material-theme-darker .mtk9 { color: #82AAFF; }\n.material-theme-darker .mtk10 { color: #FF5370; }\n.material-theme-darker .mtk11 { color: #F07178; }\n.material-theme-darker .mtk12 { color: #C792EA; }\n.material-theme-darker .mtk13 { color: #EEFFFF90; }\n.material-theme-darker .mtk14 { color: #65737E; }\n.material-theme-darker .mtk15 { color: #B2CCD6; }\n.material-theme-darker .mtk16 { color: #C17E70; }\n.material-theme-darker .mtki { font-style: italic; }\n.material-theme-darker .mtkb { font-weight: bold; }\n.material-theme-darker .mtku { text-decoration: underline; text-underline-position: under; }\n"))}void 0!==N&&N&&N===Object(N)&&Object.isExtensible(N)&&!Object.prototype.hasOwnProperty.call(N,"__filemeta")&&Object.defineProperty(N,"__filemeta",{configurable:!0,value:{name:"MDXContent",filename:"docs/jsonnet/overview.md"}}),N.isMDXComponent=!0}}]); -//# sourceMappingURL=component---docs-jsonnet-overview-md-7b71153076f130bc452f.js.map \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-jsonnet-overview-md-7b71153076f130bc452f.js.map b/pr-preview/pr-991/component---docs-jsonnet-overview-md-7b71153076f130bc452f.js.map deleted file mode 100644 index d072d00d0..000000000 --- a/pr-preview/pr-991/component---docs-jsonnet-overview-md-7b71153076f130bc452f.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./docs/jsonnet/overview.md"],"names":["_frontmatter","Object","isExtensible","prototype","hasOwnProperty","call","defineProperty","configurable","value","name","filename","layoutProps","MDXLayout","DefaultLayout","MDXContent","_ref","components","props","_objectWithoutProperties","_excluded","mdx","_extends","mdxType","parentName","isMDXComponent"],"mappings":"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","file":"component---docs-jsonnet-overview-md-7b71153076f130bc452f.js","sourcesContent":["import * as React from 'react'\n /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsxRuntime classic */\n/* @jsx mdx */\nimport DefaultLayout from \"/home/runner/work/tanka/tanka/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nexport const _frontmatter = {};\nconst layoutProps = {\n _frontmatter\n};\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n components,\n ...props\n}) {\n return \n\n\n

      {`Language overview`}

      \n

      {`Jsonnet`}{` is the data templating language Tanka uses for\nexpressing what shall be deployed to your Kubernetes cluster. Understanding\nJsonnet is crucial to using Tanka effectively.`}

      \n

      {`This page covers the Jsonnet language itself. For more information on how to\nuse Jsonnet with Kubernetes, see `}{`the tutorial`}{`. There's\nalso `}{`the official Jsonnet tutorial`}{`\nthat provides a more detailed review of language features.`}

      \n

      {`Syntax`}

      \n

      {`Being a superset of JSON, the syntax is very similar:`}

      \n
      {`// Line comment`}{`\n`}{`/* Block comment */`}{`\n`}{`\n`}{`// a local variable (not exported)`}{`\n`}{`local`}{` greeting `}{`=`}{` `}{`\"hello world!\"`}{`;`}{`\n`}{`\n`}{`// the exported/returned object`}{`\n`}{`{`}{`\n`}{`  `}{`foo:`}{` `}{`\"bar\"`}{`, `}{`// string`}{`\n`}{`  `}{`bar:`}{` `}{`5`}{`, `}{`// int`}{`\n`}{`  `}{`baz:`}{` `}{`false`}{`, `}{`// bool`}{`\n`}{`  `}{`list:`}{` [`}{`1`}{`,`}{`2`}{`,`}{`3`}{`], `}{`// array`}{`\n`}{`  `}{`// object`}{`\n`}{`  `}{`dict:`}{` {`}{`\n`}{`    `}{`nested:`}{` greeting, `}{`// using the local`}{`\n`}{`  },`}{`\n`}{`  `}{`hidden::`}{` `}{`\"incognito!\"`}{` `}{`// an unexported field`}{`\n`}{`}`}
      \n

      {`Abstraction`}

      \n

      {`Jsonnet has rich abstraction features, which makes it interesting for\nconfiguring Kubernetes, as it allows to keep configurations concise, yet\nreadable.`}

      \n \n

      {`Imports`}

      \n

      {`Just as other languages, Jsonnet allows code to be imported from other files:`}

      \n
      {`local`}{` secret `}{`=`}{` `}{`import`}{` `}{`\"./secret.libsonnet\"`}{`;`}
      \n

      {`The exported object (the only non-local one) of `}{`secret.libsonnet`}{` is now\navailable as a `}{`local`}{` variable called `}{`secret`}{`.`}

      \n

      {`When using Tanka, it is also possible to directly import `}{`.json`}{` and `}{`.yaml`}{`\nfiles, as if they were a `}{`.libsonnet`}{`.`}

      \n

      {`Make sure to also take a look at the libraries documentation to learn how to use `}{`import`}{` and re-use code.\nThe documentation on `}{`Tanka import paths`}{` and `}{`vendoring`}{` are useful to understand how imports work in Tanka's context.`}

      \n

      {`Merging`}

      \n

      {`Deep merging allows you to change parts of an object without touching all of it.\nConsider the following example:`}

      \n
      {`local`}{` secret `}{`=`}{` {`}{`\n`}{`  `}{`kind:`}{` Secret,`}{`\n`}{`  `}{`metadata:`}{` {`}{`\n`}{`    `}{`name:`}{` `}{`\"mySecret\"`}{`,`}{`\n`}{`    `}{`namespace:`}{` `}{`\"default\"`}{`, `}{`// need to change that`}{`\n`}{`  },`}{`\n`}{`  `}{`data:`}{` {`}{`\n`}{`    `}{`foo:`}{` std.`}{`base64`}{`(`}{`\"foo\"`}{`)`}{`\n`}{`  }`}{`\n`}{`};`}
      \n

      {`To change the namespace only, we can use the special merge key `}{`+:`}{` like so:`}

      \n
      {`// define the patch:`}{`\n`}{`local`}{` patch `}{`=`}{` {`}{`\n`}{`  `}{`metadata+:`}{` {`}{`\n`}{`    `}{`namespace:`}{` `}{`\"myApp\"`}{`\n`}{`  }`}{`\n`}{`}`}
      \n

      {`The difference between `}{`:`}{` and `}{`+:`}{` is that the former replaces the original\ndata at that key, while the latter applies the new object as a patch on top,\nmeaning that values will be updated if possible but all other stay like they\nare.`}

      {`\n`}{`To merge those two, just add (`}{`+`}{`) the patch to the original:`}

      \n
      {`secret `}{`+`}{` patch`}
      \n

      {`The output of this is the following JSON object:`}

      \n
      {`{`}{`\n`}{`  `}{`\"`}{`kind`}{`\"`}{`:`}{` `}{`\"`}{`Secret`}{`\"`}{`,`}{`\n`}{`  `}{`\"`}{`metadata`}{`\"`}{`:`}{` `}{`{`}{`\n`}{`    `}{`\"`}{`name`}{`\"`}{`:`}{` `}{`\"`}{`mySecret`}{`\"`}{`,`}{`\n`}{`    `}{`\"`}{`namespace`}{`\"`}{`:`}{` `}{`\"`}{`myApp`}{`\"`}{`\n`}{`  `}{`},`}{`\n`}{`  `}{`\"`}{`data`}{`\"`}{`:`}{` `}{`{`}{`\n`}{`    `}{`\"`}{`foo`}{`\"`}{`:`}{` `}{`\"`}{`Zm9vCg==`}{`\"`}{`\n`}{`  `}{`}`}{`\n`}{`}`}
      \n

      {`Functions`}

      \n

      {`Jsonnet supports functions, similar to how Python does. They can be defined in\ntwo different ways:`}

      \n
      {`local`}{` `}{`add`}{`(x,y) `}{`=`}{` x `}{`+`}{` y;`}{`\n`}{`local`}{` mul `}{`=`}{` (`}{`function`}{`(x, y) x `}{`*`}{` y);`}
      \n

      {`Objects can have methods:`}

      \n
      {`{`}{`\n`}{`  `}{`greet`}{`(who)`}{`:`}{` `}{`\"hello \"`}{` `}{`+`}{` who,`}{`\n`}{`}`}
      \n

      {`Default values, keyword-args and more examples can be found at\n`}{`jsonnet.org`}{`.`}

      \n

      {`Standard library`}

      \n

      {`The Jsonnet standard library includes many helper methods ranging from object\nand array mutation, over string utils to computation helpers.`}

      \n

      {`Documentation is available at\n`}{`jsonnet.org`}{`.`}

      \n

      {`Conditionals`}

      \n

      {`Jsonnet supports a conditionals in a fashion similar to a ternary operator:`}

      \n
      {`local`}{` tag `}{`=`}{` `}{`if`}{` prod `}{`then`}{` `}{`\"v1.0\"`}{` `}{`else`}{` `}{`\"latest\"`}{`;`}
      \n

      {`More on `}{`jsonnet.org`}{`.`}

      \n

      {`References`}

      \n

      {`Jsonnet has multiple options to refer to parts of an object:`}

      \n
      {`{ `}{`// this is $`}{`\n`}{`  `}{`junk:`}{` `}{`\"foo\"`}{`,`}{`\n`}{`  `}{`nested:`}{` { `}{`// this is self`}{`\n`}{`    `}{`app:`}{` `}{`\"Tanka\"`}{`,`}{`\n`}{`    `}{`msg:`}{` `}{`self`}{`.app `}{`+`}{` `}{`\" rocks!\"`}{` `}{`// \"Tanka rocks!\"`}{`\n`}{`  },`}{`\n`}{`  `}{`children:`}{` { `}{`// this is also self`}{`\n`}{`    `}{`baz:`}{` `}{`\"bar\"`}{`,`}{`\n`}{`    `}{`junk:`}{` `}{`$`}{`.junk `}{`+`}{` `}{`self`}{`.baz, `}{`// \"foobar\"`}{`\n`}{`  }`}{`\n`}{`}`}
      \n

      {`For more information take a look at\n`}{`jsonnet.org`}

      \n\n \n
      ;\n}\n;\nMDXContent.isMDXComponent = true;\n "],"sourceRoot":""} \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-known-issues-md-2b1c7bae83f2275bce8c.js b/pr-preview/pr-991/component---docs-known-issues-md-2b1c7bae83f2275bce8c.js deleted file mode 100644 index 96d9a0795..000000000 --- a/pr-preview/pr-991/component---docs-known-issues-md-2b1c7bae83f2275bce8c.js +++ /dev/null @@ -1,2 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[20],{"+sT5":function(e,t,n){"use strict";n.r(t),n.d(t,"_frontmatter",(function(){return l})),n.d(t,"default",(function(){return b}));var a=n("wx14"),r=n("Ff2n"),o=(n("q1tI"),n("7ljp")),i=n("hhGP");n("qKvR");const s=["components"],l={};void 0!==l&&l&&l===Object(l)&&Object.isExtensible(l)&&!Object.prototype.hasOwnProperty.call(l,"__filemeta")&&Object.defineProperty(l,"__filemeta",{configurable:!0,value:{name:"_frontmatter",filename:"docs/known-issues.md"}});const m={_frontmatter:l},c=i.a;function b(e){let{components:t}=e,n=Object(r.a)(e,s);return Object(o.b)(c,Object(a.a)({},m,n,{components:t,mdxType:"MDXLayout"}),Object(o.b)("h1",{id:"known-issues"},"Known Issues"),Object(o.b)("p",null,"Below is a list of common errors and how to address them."),Object(o.b)("h3",{id:"evaluating-jsonnet-runtime-error-undefined-external-variable-__ksonnetcomponents"},"Evaluating jsonnet: RUNTIME ERROR: Undefined external variable: ","_","_","ksonnet/components"),Object(o.b)("p",null,"When migrating from ",Object(o.b)("inlineCode",{parentName:"p"},"ksonnet"),", this error might occur, because Tanka does not\nprovide the global ",Object(o.b)("inlineCode",{parentName:"p"},"__ksonnet")," variable, nor does it strictly have the concept\nof components.\nYou will need to use the plain Jsonnet ",Object(o.b)("inlineCode",{parentName:"p"},"import")," feature instead. Note that this\nrequires your code to be inside of one of the\n",Object(o.b)("a",{parentName:"p",href:"directory-structure/#import-paths"},"import paths"),"."),Object(o.b)("h3",{id:"evaluating-jsonnet-runtime-error-couldnt-open-import-klibsonnet-no-match-locally-or-in-the-jsonnet-library-paths"},'Evaluating jsonnet: RUNTIME ERROR: couldn\'t open import "k.libsonnet": no match locally or in the Jsonnet library paths'),Object(o.b)("p",null,"This error can occur when the ",Object(o.b)("inlineCode",{parentName:"p"},"k8s-libsonnet")," kubernetes libraries are missing in the\nimport paths. While ",Object(o.b)("inlineCode",{parentName:"p"},"k8s-libsonnet")," used to magically include them, Tanka follows a\nmore explicit approach and requires you to install them using ",Object(o.b)("inlineCode",{parentName:"p"},"jb"),":"),Object(o.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"bash"},Object(o.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(o.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(o.b)("span",{parentName:"span",className:"mtk1"},"$ jb install github.com/jsonnet-libs/k8s-libsonnet/1.21@main")),"\n",Object(o.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(o.b)("span",{parentName:"span",className:"mtk1"},"$ "),Object(o.b)("span",{parentName:"span",className:"mtk9"},"echo"),Object(o.b)("span",{parentName:"span",className:"mtk1"}," "),Object(o.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(o.b)("span",{parentName:"span",className:"mtk6"},"import 'github.com/jsonnet-libs/k8s-libsonnet/1.21/main.libsonnet'"),Object(o.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(o.b)("span",{parentName:"span",className:"mtk1"}," "),Object(o.b)("span",{parentName:"span",className:"mtk12"},">"),Object(o.b)("span",{parentName:"span",className:"mtk1"}," lib/k.libsonnet")))),Object(o.b)("p",null,"This does 2 things:"),Object(o.b)("p",null,"1) It installs the ",Object(o.b)("inlineCode",{parentName:"p"},"k8s-libsonnet")," library (in ",Object(o.b)("inlineCode",{parentName:"p"},"vendor/github.com/jsonnet-libs/k8s-libsonnet/1.21/"),").\nYou can replace the ",Object(o.b)("inlineCode",{parentName:"p"},"1.21")," matching the Kubernetes version you want to run against."),Object(o.b)("p",null,"2) It makes an alias for libraries importing ",Object(o.b)("inlineCode",{parentName:"p"},"k.libsonnet")," directly. See\n",Object(o.b)("a",{parentName:"p",href:"https://tanka.dev/tutorial/k-lib#aliasing"},"https://tanka.dev/tutorial/k-lib#aliasing")," for the alias rationale."),Object(o.b)("h3",{id:"unexpected-diff-if-the-same-port-number-is-used-for-udp-and-tcp"},"Unexpected diff if the same port number is used for UDP and TCP"),Object(o.b)("p",null,"A\n",Object(o.b)("a",{parentName:"p",href:"https://github.com/kubernetes/kubernetes/issues/39188"},"long-standing bug in ",Object(o.b)("inlineCode",{parentName:"a"},"kubectl")),"\nresults in an incorrect diff output if the same port number is used multiple\ntimes in differently named ports, which commonly happens if a port is specified\nusing both protocols, ",Object(o.b)("inlineCode",{parentName:"p"},"tcp")," and ",Object(o.b)("inlineCode",{parentName:"p"},"udp"),". Nevertheless, ",Object(o.b)("inlineCode",{parentName:"p"},"tk apply")," will still work\ncorrectly."),Object(o.b)("style",{className:"vscode-highlight-styles"},"\n \n .material-theme-darker {\nbackground-color: #212121;\ncolor: #EEFFFF;\n}\n\n.material-theme-darker .mtk1 { color: #FFFFFF; }\n.material-theme-darker .mtk2 { color: #212121; }\n.material-theme-darker .mtk3 { color: #545454; }\n.material-theme-darker .mtk4 { color: #F78C6C; }\n.material-theme-darker .mtk5 { color: #89DDFF; }\n.material-theme-darker .mtk6 { color: #C3E88D; }\n.material-theme-darker .mtk7 { color: #FFCB6B; }\n.material-theme-darker .mtk8 { color: #EEFFFF; }\n.material-theme-darker .mtk9 { color: #82AAFF; }\n.material-theme-darker .mtk10 { color: #FF5370; }\n.material-theme-darker .mtk11 { color: #F07178; }\n.material-theme-darker .mtk12 { color: #C792EA; }\n.material-theme-darker .mtk13 { color: #EEFFFF90; }\n.material-theme-darker .mtk14 { color: #65737E; }\n.material-theme-darker .mtk15 { color: #B2CCD6; }\n.material-theme-darker .mtk16 { color: #C17E70; }\n.material-theme-darker .mtki { font-style: italic; }\n.material-theme-darker .mtkb { font-weight: bold; }\n.material-theme-darker .mtku { text-decoration: underline; text-underline-position: under; }\n"))}void 0!==b&&b&&b===Object(b)&&Object.isExtensible(b)&&!Object.prototype.hasOwnProperty.call(b,"__filemeta")&&Object.defineProperty(b,"__filemeta",{configurable:!0,value:{name:"MDXContent",filename:"docs/known-issues.md"}}),b.isMDXComponent=!0}}]); -//# sourceMappingURL=component---docs-known-issues-md-2b1c7bae83f2275bce8c.js.map \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-known-issues-md-2b1c7bae83f2275bce8c.js.map b/pr-preview/pr-991/component---docs-known-issues-md-2b1c7bae83f2275bce8c.js.map deleted file mode 100644 index 6b9dc609b..000000000 --- a/pr-preview/pr-991/component---docs-known-issues-md-2b1c7bae83f2275bce8c.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./docs/known-issues.md"],"names":["_frontmatter","Object","isExtensible","prototype","hasOwnProperty","call","defineProperty","configurable","value","name","filename","layoutProps","MDXLayout","DefaultLayout","MDXContent","_ref","components","props","_objectWithoutProperties","_excluded","mdx","_extends","mdxType","parentName","isMDXComponent"],"mappings":"2RAMaA,EAAe,QAAG,IAAAA,UAAAC,OAAAD,IAAAC,OAAAC,aAAAF,KAAAC,OAAAE,UAAAC,eAAAC,KAAAL,EAAA,eAAAC,OAAAK,eAAAN,EAAA,cAAAO,cAAA,EAAAC,MAAA,CAAAC,KAAA,eAAAC,SAAA,0BAC/B,MAAMC,EAAc,CAClBX,gBAEIY,EAAYC,IACH,SAASC,EAAUC,GAG/B,IAHgC,WACjCC,GAEDD,EADIE,EAAKC,YAAAH,EAAAI,GAER,OAAOC,YAACR,EAASS,YAAA,GAAKV,EAAiBM,EAAK,CAAED,WAAYA,EAAYM,QAAQ,cAG5EF,YAAA,MACE,GAAM,gBAAc,gBAEtBA,YAAA,sEACAA,YAAA,MACE,GAAM,oFAAkF,iGAE1FA,YAAA,gCAA2BA,YAAA,cAAYG,WAAW,KAAG,WAAyB,wEAC7DH,YAAA,cAAYG,WAAW,KAAG,aAA2B,4GAEjCH,YAAA,cAAYG,WAAW,KAAG,UAAwB,oFAEzFH,YAAA,KAAGG,WAAW,IACR,KAAQ,qCAAmC,gBACtB,KACzBH,YAAA,MACE,GAAM,oHAAkH,4HAE1HA,YAAA,0CAAqCA,YAAA,cAAYG,WAAW,KAAG,iBAA+B,iEAC5EH,YAAA,cAAYG,WAAW,KAAG,iBAA+B,mHACfH,YAAA,cAAYG,WAAW,KAAG,MAAoB,KAC1GH,YAAA,OACE,UAAa,yCACb,gBAAiB,QAChBA,YAAA,QAAMG,WAAW,MAChB,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,iEAC4D,KACzFH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,MACLH,YAAA,QAAMG,WAAW,OAC/B,UAAa,QAAM,QACHH,YAAA,QAAMG,WAAW,OACjC,UAAa,QAAM,KACNH,YAAA,QAAMG,WAAW,OAC9B,UAAa,QAAM,KACNH,YAAA,QAAMG,WAAW,OAC9B,UAAa,QAAM,sEAC2DH,YAAA,QAAMG,WAAW,OAC/F,UAAa,QAAM,KACNH,YAAA,QAAMG,WAAW,OAC9B,UAAa,QAAM,KACNH,YAAA,QAAMG,WAAW,OAC9B,UAAa,SAAO,KACPH,YAAA,QAAMG,WAAW,OAC9B,UAAa,QAAM,uBAE3BH,YAAA,gCACAA,YAAA,+BAA0BA,YAAA,cAAYG,WAAW,KAAG,iBAA+B,gBAAiBH,YAAA,cAAYG,WAAW,KAAG,sDAAoE,2BAChLH,YAAA,cAAYG,WAAW,KAAG,QAAsB,6DAClEH,YAAA,yDAAoDA,YAAA,cAAYG,WAAW,KAAG,eAA6B,mBAC7GH,YAAA,KAAGG,WAAW,IACR,KAAQ,6CAA2C,6CACD,6BACtDH,YAAA,MACE,GAAM,mEAAiE,mEAEzEA,YAAA,eACFA,YAAA,KAAGG,WAAW,IACR,KAAQ,yDAAuD,wBACrCH,YAAA,cAAYG,WAAW,KAAG,YAA6B,0LAGjEH,YAAA,cAAYG,WAAW,KAAG,OAAqB,QAASH,YAAA,cAAYG,WAAW,KAAG,OAAqB,mBAAoBH,YAAA,cAAYG,WAAW,KAAG,YAA0B,gCAGnMH,YAAA,SACE,UAAa,2BAAyB,glCA6B3C,IAAAN,UAAAb,OAAAa,IAAAb,OAAAC,aAAAY,KAAAb,OAAAE,UAAAC,eAAAC,KAAAS,EAAA,eAAAb,OAAAK,eAAAQ,EAAA,cAAAP,cAAA,EAAAC,MAAA,CAAAC,KAAA,aAAAC,SAAA,0BAEDI,EAAWU,gBAAiB","file":"component---docs-known-issues-md-2b1c7bae83f2275bce8c.js","sourcesContent":["import * as React from 'react'\n /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsxRuntime classic */\n/* @jsx mdx */\nimport DefaultLayout from \"/home/runner/work/tanka/tanka/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nexport const _frontmatter = {};\nconst layoutProps = {\n _frontmatter\n};\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n components,\n ...props\n}) {\n return \n\n\n

      {`Known Issues`}

      \n

      {`Below is a list of common errors and how to address them.`}

      \n

      {`Evaluating jsonnet: RUNTIME ERROR: Undefined external variable: `}{`_`}{`_`}{`ksonnet/components`}

      \n

      {`When migrating from `}{`ksonnet`}{`, this error might occur, because Tanka does not\nprovide the global `}{`__ksonnet`}{` variable, nor does it strictly have the concept\nof components.\nYou will need to use the plain Jsonnet `}{`import`}{` feature instead. Note that this\nrequires your code to be inside of one of the\n`}{`import paths`}{`.`}

      \n

      {`Evaluating jsonnet: RUNTIME ERROR: couldn't open import \"k.libsonnet\": no match locally or in the Jsonnet library paths`}

      \n

      {`This error can occur when the `}{`k8s-libsonnet`}{` kubernetes libraries are missing in the\nimport paths. While `}{`k8s-libsonnet`}{` used to magically include them, Tanka follows a\nmore explicit approach and requires you to install them using `}{`jb`}{`:`}

      \n
      {`$ jb install github.com/jsonnet-libs/k8s-libsonnet/1.21@main`}{`\n`}{`$ `}{`echo`}{` `}{`\"`}{`import 'github.com/jsonnet-libs/k8s-libsonnet/1.21/main.libsonnet'`}{`\"`}{` `}{`>`}{` lib/k.libsonnet`}
      \n

      {`This does 2 things:`}

      \n

      {`1) It installs the `}{`k8s-libsonnet`}{` library (in `}{`vendor/github.com/jsonnet-libs/k8s-libsonnet/1.21/`}{`).\nYou can replace the `}{`1.21`}{` matching the Kubernetes version you want to run against.`}

      \n

      {`2) It makes an alias for libraries importing `}{`k.libsonnet`}{` directly. See\n`}{`https://tanka.dev/tutorial/k-lib#aliasing`}{` for the alias rationale.`}

      \n

      {`Unexpected diff if the same port number is used for UDP and TCP`}

      \n

      {`A\n`}{`long-standing bug in `}{`kubectl`}{`\nresults in an incorrect diff output if the same port number is used multiple\ntimes in differently named ports, which commonly happens if a port is specified\nusing both protocols, `}{`tcp`}{` and `}{`udp`}{`. Nevertheless, `}{`tk apply`}{` will still work\ncorrectly.`}

      \n\n \n
      ;\n}\n;\nMDXContent.isMDXComponent = true;\n "],"sourceRoot":""} \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-kustomize-mdx-4f01d748aa92c3d84925.js b/pr-preview/pr-991/component---docs-kustomize-mdx-4f01d748aa92c3d84925.js deleted file mode 100644 index 4063b0d11..000000000 --- a/pr-preview/pr-991/component---docs-kustomize-mdx-4f01d748aa92c3d84925.js +++ /dev/null @@ -1,2 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[21],{uQoz:function(e,a,t){"use strict";t.r(a),t.d(a,"_frontmatter",(function(){return i})),t.d(a,"default",(function(){return r}));var s=t("wx14"),n=t("Ff2n"),m=(t("q1tI"),t("7ljp")),c=t("hhGP");t("qKvR");const p=["components"],i={};void 0!==i&&i&&i===Object(i)&&Object.isExtensible(i)&&!Object.prototype.hasOwnProperty.call(i,"__filemeta")&&Object.defineProperty(i,"__filemeta",{configurable:!0,value:{name:"_frontmatter",filename:"docs/kustomize.mdx"}});const l={_frontmatter:i},o=c.a;function r(e){let{components:a}=e,t=Object(n.a)(e,p);return Object(m.b)(o,Object(s.a)({},l,t,{components:a,mdxType:"MDXLayout"}),Object(m.b)("h1",{id:"kustomize-support"},"Kustomize Support"),Object(m.b)("p",null,Object(m.b)("a",{parentName:"p",href:"https://kustomize.io"},"Kustomize")," provides a solution for customizing Kubernetes\nmanifests in YAML."),Object(m.b)("p",null,"Even though Grafana Tanka uses the ",Object(m.b)("a",{parentName:"p",href:"/pr-preview/pr-991/jsonnet/overview"},"Jsonnet language")," for\nresource definition, you can still consume kustomizations, as described below."),Object(m.b)("blockquote",null,Object(m.b)("p",{parentName:"blockquote"},Object(m.b)("strong",{parentName:"p"},"Warning:")," Keep in mind this feature is considered EXPERIMENTAL")),Object(m.b)("h2",{id:"consuming-a-kustomization-from-jsonnet"},"Consuming a Kustomization from Jsonnet"),Object(m.b)("p",null,"Kustomize support is provided using the\n",Object(m.b)("a",{parentName:"p",href:"https://github.com/grafana/jsonnet-libs/tree/master/tanka-util"},Object(m.b)("inlineCode",{parentName:"a"},"github.com/grafana/jsonnet-libs/tanka-util")),"\nlibrary. Install it with:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"bash"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"jb install github.com/grafana/jsonnet-libs/tanka-util")))),Object(m.b)("p",null,"The following example shows how to extract the individual resources of the\n",Object(m.b)("a",{parentName:"p",href:"https://github.com/fluxcd/flux2/tree/main/manifests/bases/source-controller"},Object(m.b)("inlineCode",{parentName:"a"},"flux2/source-controller")),"\nkustomization:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"jsonnet"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk4"},"local"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," tanka "),Object(m.b)("span",{parentName:"span",className:"mtk12"},"="),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"import"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'github.com/grafana/jsonnet-libs/tanka-util/main.libsonnet'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},";")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk4"},"local"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," kustomize "),Object(m.b)("span",{parentName:"span",className:"mtk12"},"="),Object(m.b)("span",{parentName:"span",className:"mtk1"}," tanka.kustomize."),Object(m.b)("span",{parentName:"span",className:"mtk9"},"new"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"("),Object(m.b)("span",{parentName:"span",className:"mtk9"},"std.thisFile"),Object(m.b)("span",{parentName:"span",className:"mtk1"},");")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"})),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"source_controller:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," kustomize."),Object(m.b)("span",{parentName:"span",className:"mtk9"},"build"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"(path="),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'flux2'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},")")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"}")))),Object(m.b)("p",null,"Kustomize takes a kustomization manifest as input. Go on an create this file\n",Object(m.b)("inlineCode",{parentName:"p"},"flux2/kustomization.yaml")," relative to above jsonnet:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"yaml"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"apiVersion"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"kustomize.config.k8s.io/v1beta1")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"kind"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"Kustomization")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"resources"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"-"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"https://github.com/fluxcd/flux2/archive/v0.4.3.zip//flux2-0.4.3/manifests/bases/source-controller")))),Object(m.b)("blockquote",null,Object(m.b)("p",{parentName:"blockquote"},Object(m.b)("strong",{parentName:"p"},"Important:")," You MUST include the ",Object(m.b)("inlineCode",{parentName:"p"},".new(std.thisFile)")," part in the import.\nThis is what tells Tanka where you actually call ",Object(m.b)("inlineCode",{parentName:"p"},"kustomize.build()")," from, so\nit can find your kustomization manifest.")),Object(m.b)("br",null),Object(m.b)("p",null,"Once invoked, the ",Object(m.b)("inlineCode",{parentName:"p"},"$.source_controller")," key holds the individual resources of\nthe kustomization as a regular Jsonnet object that looks roughly like so:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"jsonnet"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'custom_resource_definition_buckets.source.toolkit.fluxcd.io'"),Object(m.b)("span",{parentName:"span",className:"mtk12"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {"),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"/* ... */"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'custom_resource_definition_gitrepositories.source.toolkit.fluxcd.io'"),Object(m.b)("span",{parentName:"span",className:"mtk12"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {"),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"/* ... */"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'custom_resource_definition_helmcharts.source.toolkit.fluxcd.io'"),Object(m.b)("span",{parentName:"span",className:"mtk12"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {"),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"/* ... */"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'custom_resource_definition_helmrepositories.source.toolkit.fluxcd.io'"),Object(m.b)("span",{parentName:"span",className:"mtk12"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {"),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"/* ... */"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"deployment_source_controller:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {"),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"/* ... */"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"service_source_controller:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {"),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"/* ... */"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"}")))),Object(m.b)("p",null,"Above can be ",Object(m.b)("a",{parentName:"p",href:"/pr-preview/pr-991/tutorial/environments#patching"},"manipulated")," in the same way as\nany other Jsonnet data."),Object(m.b)("h2",{id:"working-with-kustomize"},"Working with Kustomize"),Object(m.b)("p",null,"Tanka, like Jsonnet, is hermetic. It ",Object(m.b)("strong",{parentName:"p"},"always yields the same resources")," when\nthe project is strictly self-contained."),Object(m.b)("p",null,"Kustomize however has the ability to pull\n",Object(m.b)("a",{parentName:"p",href:"https://kubectl.docs.kubernetes.io/references/kustomize/kustomization/resource/"},"resources"),"\nfrom different sources at runtime, which violates above requirement. This is\nalso apparent in the example above."),Object(m.b)("blockquote",null,Object(m.b)("p",{parentName:"blockquote"},Object(m.b)("strong",{parentName:"p"},"Important:")," Due to the nature of Kustomize, it is not feasible to ensure\nhermetic and reproducible kustomize builds from within Tanka. Beware of that\nwhen using Kustomize.")),Object(m.b)("h2",{id:"troubleshooting"},"Troubleshooting"),Object(m.b)("h3",{id:"kustomize-executable-missing"},"Kustomize executable missing"),Object(m.b)("p",null,"Kustomize support in Tanka requires the ",Object(m.b)("inlineCode",{parentName:"p"},"kustomize")," binary installed on your\nsystem and available on the ",Object(m.b)("inlineCode",{parentName:"p"},"$PATH"),". If Kustomize is not installed, you will see\nthis error message:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":""},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},'evaluating jsonnet: RUNTIME ERROR: Expanding Kustomize: exec: "kustomize": executable file not found in $PATH'))),Object(m.b)("p",null,"To solve this, you need to\n",Object(m.b)("a",{parentName:"p",href:"https://kubectl.docs.kubernetes.io/installation/kustomize/"},"install Kustomize"),".\nIf you cannot install it system-wide, you can point Tanka at your executable\nusing ",Object(m.b)("a",{parentName:"p",href:"/pr-preview/pr-991/env-vars#tanka_kustomize_path"},Object(m.b)("inlineCode",{parentName:"a"},"TANKA_KUSTOMIZE_PATH"))),Object(m.b)("h3",{id:"optscalledfrom-unset"},"opts.calledFrom unset"),Object(m.b)("p",null,"This occurs, when Tanka was not told where it ",Object(m.b)("inlineCode",{parentName:"p"},"kustomize.build()")," was invoked\nfrom. This most likely means you didn't call ",Object(m.b)("inlineCode",{parentName:"p"},"new(std.thisFile)")," when importing ",Object(m.b)("inlineCode",{parentName:"p"},"tanka-util"),":"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"jsonnet"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk4"},"local"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," tanka "),Object(m.b)("span",{parentName:"span",className:"mtk12"},"="),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"import"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"github.com/grafana/jsonnet-libs/tanka-util/main.libsonnet"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},";")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk4"},"local"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," kustomize "),Object(m.b)("span",{parentName:"span",className:"mtk12"},"="),Object(m.b)("span",{parentName:"span",className:"mtk1"}," tanka.kustomize."),Object(m.b)("span",{parentName:"span",className:"mtk9"},"new"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"("),Object(m.b)("span",{parentName:"span",className:"mtk9"},"std.thisFile"),Object(m.b)("span",{parentName:"span",className:"mtk1"},");")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," ↑ This is important")))),Object(m.b)("h3",{id:"failed-to-find-kustomization"},"Failed to find kustomization"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":""},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},"Error: unable to find one of 'kustomization.yaml', 'kustomization.yml' or 'Kustomization' in directory '/home/user/stuff/tanka/environments/default/flux2'"))),Object(m.b)("p",null,"Tanka failed to locate your kustomization on the filesystem. It looked at the\nrelative path you provided in ",Object(m.b)("inlineCode",{parentName:"p"},"kustomize.build()"),", starting from the directory\nof the file you called ",Object(m.b)("inlineCode",{parentName:"p"},"kustomize.build()")," from."),Object(m.b)("p",null,"Please check there is actually a valid kustomization at this place."),Object(m.b)("style",{className:"vscode-highlight-styles"},"\n \n .material-theme-darker {\nbackground-color: #212121;\ncolor: #EEFFFF;\n}\n\n.material-theme-darker .mtk1 { color: #FFFFFF; }\n.material-theme-darker .mtk2 { color: #212121; }\n.material-theme-darker .mtk3 { color: #545454; }\n.material-theme-darker .mtk4 { color: #F78C6C; }\n.material-theme-darker .mtk5 { color: #89DDFF; }\n.material-theme-darker .mtk6 { color: #C3E88D; }\n.material-theme-darker .mtk7 { color: #FFCB6B; }\n.material-theme-darker .mtk8 { color: #EEFFFF; }\n.material-theme-darker .mtk9 { color: #82AAFF; }\n.material-theme-darker .mtk10 { color: #FF5370; }\n.material-theme-darker .mtk11 { color: #F07178; }\n.material-theme-darker .mtk12 { color: #C792EA; }\n.material-theme-darker .mtk13 { color: #EEFFFF90; }\n.material-theme-darker .mtk14 { color: #65737E; }\n.material-theme-darker .mtk15 { color: #B2CCD6; }\n.material-theme-darker .mtk16 { color: #C17E70; }\n.material-theme-darker .mtki { font-style: italic; }\n.material-theme-darker .mtkb { font-weight: bold; }\n.material-theme-darker .mtku { text-decoration: underline; text-underline-position: under; }\n"))}void 0!==r&&r&&r===Object(r)&&Object.isExtensible(r)&&!Object.prototype.hasOwnProperty.call(r,"__filemeta")&&Object.defineProperty(r,"__filemeta",{configurable:!0,value:{name:"MDXContent",filename:"docs/kustomize.mdx"}}),r.isMDXComponent=!0}}]); -//# sourceMappingURL=component---docs-kustomize-mdx-4f01d748aa92c3d84925.js.map \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-kustomize-mdx-4f01d748aa92c3d84925.js.map b/pr-preview/pr-991/component---docs-kustomize-mdx-4f01d748aa92c3d84925.js.map deleted file mode 100644 index 77e616f58..000000000 --- a/pr-preview/pr-991/component---docs-kustomize-mdx-4f01d748aa92c3d84925.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./docs/kustomize.mdx"],"names":["_frontmatter","Object","isExtensible","prototype","hasOwnProperty","call","defineProperty","configurable","value","name","filename","layoutProps","MDXLayout","DefaultLayout","MDXContent","_ref","components","props","_objectWithoutProperties","_excluded","mdx","_extends","mdxType","parentName","isMDXComponent"],"mappings":"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","file":"component---docs-kustomize-mdx-4f01d748aa92c3d84925.js","sourcesContent":["import * as React from 'react'\n /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsxRuntime classic */\n/* @jsx mdx */\nimport DefaultLayout from \"/home/runner/work/tanka/tanka/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nexport const _frontmatter = {};\nconst layoutProps = {\n _frontmatter\n};\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n components,\n ...props\n}) {\n return \n\n\n

      {`Kustomize Support`}

      \n

      {`Kustomize`}{` provides a solution for customizing Kubernetes\nmanifests in YAML.`}

      \n

      {`Even though Grafana Tanka uses the `}{`Jsonnet language`}{` for\nresource definition, you can still consume kustomizations, as described below.`}

      \n
      \n

      {`Warning:`}{` Keep in mind this feature is considered EXPERIMENTAL`}

      \n
      \n

      {`Consuming a Kustomization from Jsonnet`}

      \n

      {`Kustomize support is provided using the\n`}{`github.com/grafana/jsonnet-libs/tanka-util`}{`\nlibrary. Install it with:`}

      \n
      {`jb install github.com/grafana/jsonnet-libs/tanka-util`}
      \n

      {`The following example shows how to extract the individual resources of the\n`}{`flux2/source-controller`}{`\nkustomization:`}

      \n
      {`local`}{` tanka `}{`=`}{` `}{`import`}{` `}{`'github.com/grafana/jsonnet-libs/tanka-util/main.libsonnet'`}{`;`}{`\n`}{`local`}{` kustomize `}{`=`}{` tanka.kustomize.`}{`new`}{`(`}{`std.thisFile`}{`);`}{`\n`}{`\n`}{`{`}{`\n`}{`  `}{`source_controller:`}{` kustomize.`}{`build`}{`(path=`}{`'flux2'`}{`)`}{`\n`}{`}`}
      \n

      {`Kustomize takes a kustomization manifest as input. Go on an create this file\n`}{`flux2/kustomization.yaml`}{` relative to above jsonnet:`}

      \n
      {`apiVersion`}{`:`}{` `}{`kustomize.config.k8s.io/v1beta1`}{`\n`}{`kind`}{`:`}{` `}{`Kustomization`}{`\n`}{`resources`}{`:`}{`\n`}{`-`}{` `}{`https://github.com/fluxcd/flux2/archive/v0.4.3.zip//flux2-0.4.3/manifests/bases/source-controller`}
      \n
      \n

      {`Important:`}{` You MUST include the `}{`.new(std.thisFile)`}{` part in the import.\nThis is what tells Tanka where you actually call `}{`kustomize.build()`}{` from, so\nit can find your kustomization manifest.`}

      \n
      \n
      \n

      {`Once invoked, the `}{`$.source_controller`}{` key holds the individual resources of\nthe kustomization as a regular Jsonnet object that looks roughly like so:`}

      \n
      {`{`}{`\n`}{`  `}{`'custom_resource_definition_buckets.source.toolkit.fluxcd.io'`}{`:`}{` {`}{`/* ... */`}{` },`}{`\n`}{`  `}{`'custom_resource_definition_gitrepositories.source.toolkit.fluxcd.io'`}{`:`}{` {`}{`/* ... */`}{` },`}{`\n`}{`  `}{`'custom_resource_definition_helmcharts.source.toolkit.fluxcd.io'`}{`:`}{` {`}{`/* ... */`}{` },`}{`\n`}{`  `}{`'custom_resource_definition_helmrepositories.source.toolkit.fluxcd.io'`}{`:`}{` {`}{`/* ... */`}{` },`}{`\n`}{`  `}{`deployment_source_controller:`}{` {`}{`/* ... */`}{` },`}{`\n`}{`  `}{`service_source_controller:`}{` {`}{`/* ... */`}{` },`}{`\n`}{`}`}
      \n

      {`Above can be `}{`manipulated`}{` in the same way as\nany other Jsonnet data.`}

      \n

      {`Working with Kustomize`}

      \n

      {`Tanka, like Jsonnet, is hermetic. It `}{`always yields the same resources`}{` when\nthe project is strictly self-contained.`}

      \n

      {`Kustomize however has the ability to pull\n`}{`resources`}{`\nfrom different sources at runtime, which violates above requirement. This is\nalso apparent in the example above.`}

      \n
      \n

      {`Important:`}{` Due to the nature of Kustomize, it is not feasible to ensure\nhermetic and reproducible kustomize builds from within Tanka. Beware of that\nwhen using Kustomize.`}

      \n
      \n

      {`Troubleshooting`}

      \n

      {`Kustomize executable missing`}

      \n

      {`Kustomize support in Tanka requires the `}{`kustomize`}{` binary installed on your\nsystem and available on the `}{`$PATH`}{`. If Kustomize is not installed, you will see\nthis error message:`}

      \n
      {`evaluating jsonnet: RUNTIME ERROR: Expanding Kustomize: exec: \"kustomize\": executable file not found in $PATH`}
      \n

      {`To solve this, you need to\n`}{`install Kustomize`}{`.\nIf you cannot install it system-wide, you can point Tanka at your executable\nusing `}{`TANKA_KUSTOMIZE_PATH`}

      \n

      {`opts.calledFrom unset`}

      \n

      {`This occurs, when Tanka was not told where it `}{`kustomize.build()`}{` was invoked\nfrom. This most likely means you didn't call `}{`new(std.thisFile)`}{` when importing `}{`tanka-util`}{`:`}

      \n
      {`local`}{` tanka `}{`=`}{` `}{`import`}{` `}{`\"github.com/grafana/jsonnet-libs/tanka-util/main.libsonnet\"`}{`;`}{`\n`}{`local`}{` kustomize `}{`=`}{` tanka.kustomize.`}{`new`}{`(`}{`std.thisFile`}{`);`}{`\n`}{`                                ↑ This is important`}
      \n

      {`Failed to find kustomization`}

      \n
      {`Error: unable to find one of 'kustomization.yaml', 'kustomization.yml' or 'Kustomization' in directory '/home/user/stuff/tanka/environments/default/flux2'`}
      \n

      {`Tanka failed to locate your kustomization on the filesystem. It looked at the\nrelative path you provided in `}{`kustomize.build()`}{`, starting from the directory\nof the file you called `}{`kustomize.build()`}{` from.`}

      \n

      {`Please check there is actually a valid kustomization at this place.`}

      \n\n \n
      ;\n}\n;\nMDXContent.isMDXComponent = true;\n "],"sourceRoot":""} \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-libraries-import-paths-md-4a685e6bfdb1f78a27f1.js b/pr-preview/pr-991/component---docs-libraries-import-paths-md-4a685e6bfdb1f78a27f1.js deleted file mode 100644 index 7aaf156db..000000000 --- a/pr-preview/pr-991/component---docs-libraries-import-paths-md-4a685e6bfdb1f78a27f1.js +++ /dev/null @@ -1,2 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[22],{OlZl:function(e,t,n){"use strict";n.r(t),n.d(t,"_frontmatter",(function(){return o})),n.d(t,"default",(function(){return m}));var a=n("wx14"),r=n("Ff2n"),b=(n("q1tI"),n("7ljp")),i=n("hhGP");n("qKvR");const l=["components"],o={};void 0!==o&&o&&o===Object(o)&&Object.isExtensible(o)&&!Object.prototype.hasOwnProperty.call(o,"__filemeta")&&Object.defineProperty(o,"__filemeta",{configurable:!0,value:{name:"_frontmatter",filename:"docs/libraries/import-paths.md"}});const c={_frontmatter:o},p=i.a;function m(e){let{components:t}=e,n=Object(r.a)(e,l);return Object(b.b)(p,Object(a.a)({},c,n,{components:t,mdxType:"MDXLayout"}),Object(b.b)("h1",{id:"import-paths"},"Import paths"),Object(b.b)("p",null,"When using ",Object(b.b)("inlineCode",{parentName:"p"},"import")," or ",Object(b.b)("inlineCode",{parentName:"p"},"importstr"),", Tanka considers the following directories to\nfind a suitable file for that specific import:"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",{parentName:"tr",align:null},"Rank"),Object(b.b)("th",{parentName:"tr",align:null},"Path"),Object(b.b)("th",{parentName:"tr",align:null},"Purpose"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",{parentName:"tr",align:null},"4"),Object(b.b)("td",{parentName:"tr",align:null},Object(b.b)("inlineCode",{parentName:"td"},"")),Object(b.b)("td",{parentName:"tr",align:null},"The directory of your environment, e.g. ",Object(b.b)("inlineCode",{parentName:"td"},"/environments/default"),".",Object(b.b)("br",null)," Put things that belong to this very environment here.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",{parentName:"tr",align:null},"3"),Object(b.b)("td",{parentName:"tr",align:null},Object(b.b)("inlineCode",{parentName:"td"},"/lib")),Object(b.b)("td",{parentName:"tr",align:null},"Project-global libraries, that are used in multiple environments, but are specific to this project.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",{parentName:"tr",align:null},"2"),Object(b.b)("td",{parentName:"tr",align:null},Object(b.b)("inlineCode",{parentName:"td"},"/vendor")),Object(b.b)("td",{parentName:"tr",align:null},"Per-environment vendor, can be used for ",Object(b.b)("a",{parentName:"td",href:"/pr-preview/pr-991/libraries/overriding#per-environment"},Object(b.b)("inlineCode",{parentName:"a"},"vendor")," overriding"))),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",{parentName:"tr",align:null},"1"),Object(b.b)("td",{parentName:"tr",align:null},Object(b.b)("inlineCode",{parentName:"td"},"/vendor")),Object(b.b)("td",{parentName:"tr",align:null},"Global vendor, holds external libraries installed using ",Object(b.b)("inlineCode",{parentName:"td"},"jb"),".")))),Object(b.b)("blockquote",null,Object(b.b)("p",{parentName:"blockquote"},Object(b.b)("strong",{parentName:"p"},"Note"),":"),Object(b.b)("ul",{parentName:"blockquote"},Object(b.b)("li",{parentName:"ul"},"If a file occurs in multiple paths, the one with the highest rank will be chosen."),Object(b.b)("li",{parentName:"ul"},Object(b.b)("inlineCode",{parentName:"li"},"/")," in above table means ",Object(b.b)("inlineCode",{parentName:"li"},""),", which is your project root."))))}void 0!==m&&m&&m===Object(m)&&Object.isExtensible(m)&&!Object.prototype.hasOwnProperty.call(m,"__filemeta")&&Object.defineProperty(m,"__filemeta",{configurable:!0,value:{name:"MDXContent",filename:"docs/libraries/import-paths.md"}}),m.isMDXComponent=!0}}]); -//# sourceMappingURL=component---docs-libraries-import-paths-md-4a685e6bfdb1f78a27f1.js.map \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-libraries-import-paths-md-4a685e6bfdb1f78a27f1.js.map b/pr-preview/pr-991/component---docs-libraries-import-paths-md-4a685e6bfdb1f78a27f1.js.map deleted file mode 100644 index 20612b40f..000000000 --- a/pr-preview/pr-991/component---docs-libraries-import-paths-md-4a685e6bfdb1f78a27f1.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./docs/libraries/import-paths.md"],"names":["_frontmatter","Object","isExtensible","prototype","hasOwnProperty","call","defineProperty","configurable","value","name","filename","layoutProps","MDXLayout","DefaultLayout","MDXContent","_ref","components","props","_objectWithoutProperties","_excluded","mdx","_extends","mdxType","parentName","isMDXComponent"],"mappings":"yRAMaA,EAAe,QAAG,IAAAA,UAAAC,OAAAD,IAAAC,OAAAC,aAAAF,KAAAC,OAAAE,UAAAC,eAAAC,KAAAL,EAAA,eAAAC,OAAAK,eAAAN,EAAA,cAAAO,cAAA,EAAAC,MAAA,CAAAC,KAAA,eAAAC,SAAA,oCAC/B,MAAMC,EAAc,CAClBX,gBAEIY,EAAYC,IACH,SAASC,EAAUC,GAG/B,IAHgC,WACjCC,GAEDD,EADIE,EAAKC,YAAAH,EAAAI,GAER,OAAOC,YAACR,EAASS,YAAA,GAAKV,EAAiBM,EAAK,CAAED,WAAYA,EAAYM,QAAQ,cAG5EF,YAAA,MACE,GAAM,gBAAc,gBAEtBA,YAAA,uBAAkBA,YAAA,cAAYG,WAAW,KAAG,UAAwB,OAAQH,YAAA,cAAYG,WAAW,KAAG,aAA2B,kGAEjIH,YAAA,aACEA,YAAA,SAAOG,WAAW,SAChBH,YAAA,MAAIG,WAAW,SACbH,YAAA,MAAIG,WAAW,KACb,MAAS,MAAI,QAEfH,YAAA,MAAIG,WAAW,KACb,MAAS,MAAI,QAEfH,YAAA,MAAIG,WAAW,KACb,MAAS,MAAI,aAInBH,YAAA,SAAOG,WAAW,SAChBH,YAAA,MAAIG,WAAW,SACbH,YAAA,MAAIG,WAAW,KACb,MAAS,MAAI,KAEfH,YAAA,MAAIG,WAAW,KACb,MAAS,MACRH,YAAA,cAAYG,WAAW,MAAI,cAC9BH,YAAA,MAAIG,WAAW,KACb,MAAS,MAAI,2CACgCH,YAAA,cAAYG,WAAW,MAAI,yBAAuC,IAAKH,YAAA,WAAM,2DAE9HA,YAAA,MAAIG,WAAW,SACbH,YAAA,MAAIG,WAAW,KACb,MAAS,MAAI,KAEfH,YAAA,MAAIG,WAAW,KACb,MAAS,MACRH,YAAA,cAAYG,WAAW,MAAI,SAC9BH,YAAA,MAAIG,WAAW,KACb,MAAS,MAAI,wGAGjBH,YAAA,MAAIG,WAAW,SACbH,YAAA,MAAIG,WAAW,KACb,MAAS,MAAI,KAEfH,YAAA,MAAIG,WAAW,KACb,MAAS,MACRH,YAAA,cAAYG,WAAW,MAAI,qBAC9BH,YAAA,MAAIG,WAAW,KACb,MAAS,MAAI,2CACgCH,YAAA,KAAGG,WAAW,KACzD,KAAQ,2DACPH,YAAA,cAAYG,WAAW,KAAG,UAAwB,iBAEzDH,YAAA,MAAIG,WAAW,SACbH,YAAA,MAAIG,WAAW,KACb,MAAS,MAAI,KAEfH,YAAA,MAAIG,WAAW,KACb,MAAS,MACRH,YAAA,cAAYG,WAAW,MAAI,YAC9BH,YAAA,MAAIG,WAAW,KACb,MAAS,MAAI,2DACgDH,YAAA,cAAYG,WAAW,MAAI,MAAoB,QAIpHH,YAAA,kBACEA,YAAA,KAAGG,WAAW,cAAaH,YAAA,UAAQG,WAAW,KAAG,QAAkB,KACnEH,YAAA,MAAIG,WAAW,cACbH,YAAA,MAAIG,WAAW,MAAI,qFACnBH,YAAA,MAAIG,WAAW,MAAKH,YAAA,cAAYG,WAAW,MAAI,KAAmB,yBAA0BH,YAAA,cAAYG,WAAW,MAAI,aAA2B,yCAKzJ,IAAAT,UAAAb,OAAAa,IAAAb,OAAAC,aAAAY,KAAAb,OAAAE,UAAAC,eAAAC,KAAAS,EAAA,eAAAb,OAAAK,eAAAQ,EAAA,cAAAP,cAAA,EAAAC,MAAA,CAAAC,KAAA,aAAAC,SAAA,oCAEDI,EAAWU,gBAAiB","file":"component---docs-libraries-import-paths-md-4a685e6bfdb1f78a27f1.js","sourcesContent":["import * as React from 'react'\n /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsxRuntime classic */\n/* @jsx mdx */\nimport DefaultLayout from \"/home/runner/work/tanka/tanka/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nexport const _frontmatter = {};\nconst layoutProps = {\n _frontmatter\n};\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n components,\n ...props\n}) {\n return \n\n\n

      {`Import paths`}

      \n

      {`When using `}{`import`}{` or `}{`importstr`}{`, Tanka considers the following directories to\nfind a suitable file for that specific import:`}

      \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
      {`Rank`}{`Path`}{`Purpose`}
      {`4`}{``}{`The directory of your environment, e.g. `}{`/environments/default`}{`.`}
      {` Put things that belong to this very environment here.`}
      {`3`}{`/lib`}{`Project-global libraries, that are used in multiple environments, but are specific to this project.`}
      {`2`}{`/vendor`}{`Per-environment vendor, can be used for `}{`vendor`}{` overriding`}
      {`1`}{`/vendor`}{`Global vendor, holds external libraries installed using `}{`jb`}{`.`}
      \n
      \n

      {`Note`}{`:`}

      \n
        \n
      • {`If a file occurs in multiple paths, the one with the highest rank will be chosen.`}
      • \n
      • {`/`}{` in above table means `}{``}{`, which is your project root.`}
      • \n
      \n
      \n\n
      ;\n}\n;\nMDXContent.isMDXComponent = true;\n "],"sourceRoot":""} \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-libraries-install-publish-md-1cb5bebde0944f8f75bb.js b/pr-preview/pr-991/component---docs-libraries-install-publish-md-1cb5bebde0944f8f75bb.js deleted file mode 100644 index d8a273e01..000000000 --- a/pr-preview/pr-991/component---docs-libraries-install-publish-md-1cb5bebde0944f8f75bb.js +++ /dev/null @@ -1,2 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[23],{pI5B:function(a,e,t){"use strict";t.r(e),t.d(e,"_frontmatter",(function(){return r})),t.d(e,"default",(function(){return i}));var s=t("wx14"),n=t("Ff2n"),m=(t("q1tI"),t("7ljp")),p=t("hhGP");t("qKvR");const c=["components"],r={};void 0!==r&&r&&r===Object(r)&&Object.isExtensible(r)&&!Object.prototype.hasOwnProperty.call(r,"__filemeta")&&Object.defineProperty(r,"__filemeta",{configurable:!0,value:{name:"_frontmatter",filename:"docs/libraries/install-publish.md"}});const b={_frontmatter:r},l=p.a;function i(a){let{components:e}=a,t=Object(n.a)(a,c);return Object(m.b)(l,Object(s.a)({},b,t,{components:e,mdxType:"MDXLayout"}),Object(m.b)("h1",{id:"installing-and-publishing"},"Installing and publishing"),Object(m.b)("p",null,"The tool for dealing with libraries is\n",Object(m.b)("a",{parentName:"p",href:"https://github.com/jsonnet-bundler/jsonnet-bundler"},Object(m.b)("inlineCode",{parentName:"a"},"jsonnet-bundler")),". It can\ninstall packages from any git source using ",Object(m.b)("inlineCode",{parentName:"p"},"ssh")," and GitHub over ",Object(m.b)("inlineCode",{parentName:"p"},"https"),"."),Object(m.b)("h2",{id:"install-a-library"},"Install a library"),Object(m.b)("p",null,"To install a library from GitHub, use one of the following:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"bash"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"$ jb install github.com/"),Object(m.b)("span",{parentName:"span",className:"mtk12"},"<"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"user"),Object(m.b)("span",{parentName:"span",className:"mtk12"},">"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"/"),Object(m.b)("span",{parentName:"span",className:"mtk12"},"<"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"repo"),Object(m.b)("span",{parentName:"span",className:"mtk12"},">")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"$ jb install github.com/"),Object(m.b)("span",{parentName:"span",className:"mtk12"},"<"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"user"),Object(m.b)("span",{parentName:"span",className:"mtk12"},">"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"/"),Object(m.b)("span",{parentName:"span",className:"mtk12"},"<"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"repo"),Object(m.b)("span",{parentName:"span",className:"mtk12"},">"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"/"),Object(m.b)("span",{parentName:"span",className:"mtk12"},"<"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"subdir"),Object(m.b)("span",{parentName:"span",className:"mtk12"},">")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"$ jb install github.com/"),Object(m.b)("span",{parentName:"span",className:"mtk12"},"<"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"user"),Object(m.b)("span",{parentName:"span",className:"mtk12"},">"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"/"),Object(m.b)("span",{parentName:"span",className:"mtk12"},"<"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"repo"),Object(m.b)("span",{parentName:"span",className:"mtk12"},">"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"/"),Object(m.b)("span",{parentName:"span",className:"mtk12"},"<"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"subdir"),Object(m.b)("span",{parentName:"span",className:"mtk12"},">"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"@"),Object(m.b)("span",{parentName:"span",className:"mtk12"},"<"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"version"),Object(m.b)("span",{parentName:"span",className:"mtk12"},">")))),Object(m.b)("p",null,"Otherwise, use the ssh syntax:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"bash"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"$ jb install git+ssh://git@mycode.server:"),Object(m.b)("span",{parentName:"span",className:"mtk12"},"<"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"path-to-repo"),Object(m.b)("span",{parentName:"span",className:"mtk12"},">"),Object(m.b)("span",{parentName:"span",className:"mtk1"},".git")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"$ jb install git+ssh://git@mycode.server:"),Object(m.b)("span",{parentName:"span",className:"mtk12"},"<"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"path-to-repo"),Object(m.b)("span",{parentName:"span",className:"mtk12"},">"),Object(m.b)("span",{parentName:"span",className:"mtk1"},".git/"),Object(m.b)("span",{parentName:"span",className:"mtk12"},"<"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"subdir"),Object(m.b)("span",{parentName:"span",className:"mtk12"},">")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"$ jb install git+ssh://git@mycode.server:"),Object(m.b)("span",{parentName:"span",className:"mtk12"},"<"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"path-to-repo"),Object(m.b)("span",{parentName:"span",className:"mtk12"},">"),Object(m.b)("span",{parentName:"span",className:"mtk1"},".git/"),Object(m.b)("span",{parentName:"span",className:"mtk12"},"<"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"subdir"),Object(m.b)("span",{parentName:"span",className:"mtk12"},">"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"@"),Object(m.b)("span",{parentName:"span",className:"mtk12"},"<"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"version"),Object(m.b)("span",{parentName:"span",className:"mtk12"},">")))),Object(m.b)("blockquote",null,Object(m.b)("p",{parentName:"blockquote"},Object(m.b)("strong",{parentName:"p"},"Note"),": ",Object(m.b)("inlineCode",{parentName:"p"},"version")," may be any git ref, such as commits, tags or branches")),Object(m.b)("h2",{id:"publish-to-github"},"Publish to Git(Hub)"),Object(m.b)("p",null,"Publishing is as easy as committing and pushing to a git remote.\n",Object(m.b)("a",{parentName:"p",href:"https://github.com"},"GitHub")," is recommended, as it is most common and supports\nfaster installing using http archives."),Object(m.b)("style",{className:"vscode-highlight-styles"},"\n \n .material-theme-darker {\nbackground-color: #212121;\ncolor: #EEFFFF;\n}\n\n.material-theme-darker .mtk1 { color: #FFFFFF; }\n.material-theme-darker .mtk2 { color: #212121; }\n.material-theme-darker .mtk3 { color: #545454; }\n.material-theme-darker .mtk4 { color: #F78C6C; }\n.material-theme-darker .mtk5 { color: #89DDFF; }\n.material-theme-darker .mtk6 { color: #C3E88D; }\n.material-theme-darker .mtk7 { color: #FFCB6B; }\n.material-theme-darker .mtk8 { color: #EEFFFF; }\n.material-theme-darker .mtk9 { color: #82AAFF; }\n.material-theme-darker .mtk10 { color: #FF5370; }\n.material-theme-darker .mtk11 { color: #F07178; }\n.material-theme-darker .mtk12 { color: #C792EA; }\n.material-theme-darker .mtk13 { color: #EEFFFF90; }\n.material-theme-darker .mtk14 { color: #65737E; }\n.material-theme-darker .mtk15 { color: #B2CCD6; }\n.material-theme-darker .mtk16 { color: #C17E70; }\n.material-theme-darker .mtki { font-style: italic; }\n.material-theme-darker .mtkb { font-weight: bold; }\n.material-theme-darker .mtku { text-decoration: underline; text-underline-position: under; }\n"))}void 0!==i&&i&&i===Object(i)&&Object.isExtensible(i)&&!Object.prototype.hasOwnProperty.call(i,"__filemeta")&&Object.defineProperty(i,"__filemeta",{configurable:!0,value:{name:"MDXContent",filename:"docs/libraries/install-publish.md"}}),i.isMDXComponent=!0}}]); -//# sourceMappingURL=component---docs-libraries-install-publish-md-1cb5bebde0944f8f75bb.js.map \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-libraries-install-publish-md-1cb5bebde0944f8f75bb.js.map b/pr-preview/pr-991/component---docs-libraries-install-publish-md-1cb5bebde0944f8f75bb.js.map deleted file mode 100644 index 79180ac0a..000000000 --- a/pr-preview/pr-991/component---docs-libraries-install-publish-md-1cb5bebde0944f8f75bb.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./docs/libraries/install-publish.md"],"names":["_frontmatter","Object","isExtensible","prototype","hasOwnProperty","call","defineProperty","configurable","value","name","filename","layoutProps","MDXLayout","DefaultLayout","MDXContent","_ref","components","props","_objectWithoutProperties","_excluded","mdx","_extends","mdxType","parentName","isMDXComponent"],"mappings":"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","file":"component---docs-libraries-install-publish-md-1cb5bebde0944f8f75bb.js","sourcesContent":["import * as React from 'react'\n /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsxRuntime classic */\n/* @jsx mdx */\nimport DefaultLayout from \"/home/runner/work/tanka/tanka/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nexport const _frontmatter = {};\nconst layoutProps = {\n _frontmatter\n};\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n components,\n ...props\n}) {\n return \n\n\n

      {`Installing and publishing`}

      \n

      {`The tool for dealing with libraries is\n`}{`jsonnet-bundler`}{`. It can\ninstall packages from any git source using `}{`ssh`}{` and GitHub over `}{`https`}{`.`}

      \n

      {`Install a library`}

      \n

      {`To install a library from GitHub, use one of the following:`}

      \n
      {`$ jb install github.com/`}{`<`}{`user`}{`>`}{`/`}{`<`}{`repo`}{`>`}{`\n`}{`$ jb install github.com/`}{`<`}{`user`}{`>`}{`/`}{`<`}{`repo`}{`>`}{`/`}{`<`}{`subdir`}{`>`}{`\n`}{`$ jb install github.com/`}{`<`}{`user`}{`>`}{`/`}{`<`}{`repo`}{`>`}{`/`}{`<`}{`subdir`}{`>`}{`@`}{`<`}{`version`}{`>`}
      \n

      {`Otherwise, use the ssh syntax:`}

      \n
      {`$ jb install git+ssh://git@mycode.server:`}{`<`}{`path-to-repo`}{`>`}{`.git`}{`\n`}{`$ jb install git+ssh://git@mycode.server:`}{`<`}{`path-to-repo`}{`>`}{`.git/`}{`<`}{`subdir`}{`>`}{`\n`}{`$ jb install git+ssh://git@mycode.server:`}{`<`}{`path-to-repo`}{`>`}{`.git/`}{`<`}{`subdir`}{`>`}{`@`}{`<`}{`version`}{`>`}
      \n
      \n

      {`Note`}{`: `}{`version`}{` may be any git ref, such as commits, tags or branches`}

      \n
      \n

      {`Publish to Git(Hub)`}

      \n

      {`Publishing is as easy as committing and pushing to a git remote.\n`}{`GitHub`}{` is recommended, as it is most common and supports\nfaster installing using http archives.`}

      \n\n \n
      ;\n}\n;\nMDXContent.isMDXComponent = true;\n "],"sourceRoot":""} \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-libraries-overriding-md-64d9881a00e7f2937b12.js b/pr-preview/pr-991/component---docs-libraries-overriding-md-64d9881a00e7f2937b12.js deleted file mode 100644 index d56878e02..000000000 --- a/pr-preview/pr-991/component---docs-libraries-overriding-md-64d9881a00e7f2937b12.js +++ /dev/null @@ -1,2 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[24],{"7Pa4":function(e,t,a){"use strict";a.r(t),a.d(t,"_frontmatter",(function(){return s})),a.d(t,"default",(function(){return b}));var n=a("wx14"),r=a("Ff2n"),o=(a("q1tI"),a("7ljp")),i=a("hhGP");a("qKvR");const l=["components"],s={};void 0!==s&&s&&s===Object(s)&&Object.isExtensible(s)&&!Object.prototype.hasOwnProperty.call(s,"__filemeta")&&Object.defineProperty(s,"__filemeta",{configurable:!0,value:{name:"_frontmatter",filename:"docs/libraries/overriding.md"}});const c={_frontmatter:s},m=i.a;function b(e){let{components:t}=e,a=Object(r.a)(e,l);return Object(o.b)(m,Object(n.a)({},c,a,{components:t,mdxType:"MDXLayout"}),Object(o.b)("h1",{id:"overriding-vendor"},"Overriding vendor"),Object(o.b)("p",null,"The ",Object(o.b)("inlineCode",{parentName:"p"},"vendor")," directory is immutable in its nature. You can't and should never\nmodify any files inside of it, ",Object(o.b)("inlineCode",{parentName:"p"},"jb")," will revert those changes on the next run anyway."),Object(o.b)("p",null,"Nevertheless, it can sometimes become required to add changes there, e.g. if an\nupstream library contains a bug that needs to be fixed immediately, without\nwaiting for the upstream maintainer to review it."),Object(o.b)("h2",{id:"shadowing"},"Shadowing"),Object(o.b)("p",null,"Because ",Object(o.b)("a",{parentName:"p",href:"/pr-preview/pr-991/libraries/import-paths"},"import paths")," are ranked in Tanka, you can use\na technique called shadowing: By putting a file with the exact same name in a\nhigher ranked path, Tanka will prefer that file instead of the original in\n",Object(o.b)("inlineCode",{parentName:"p"},"vendor"),", which has the lowest possible rank of 1."),Object(o.b)("p",null,"For example, if ",Object(o.b)("inlineCode",{parentName:"p"},"/vendor/foo/bar.libsonnet")," contained an error, you could create\n",Object(o.b)("inlineCode",{parentName:"p"},"/lib/foo/bar.libsonnet")," and fix it there."),Object(o.b)("blockquote",null,Object(o.b)("p",{parentName:"blockquote"},Object(o.b)("strong",{parentName:"p"},"Tip:")," Instead of copying the file to the new location and making the edits,\nuse an absolute import and ",Object(o.b)("a",{parentName:"p",href:"/pr-preview/pr-991/tutorial/environments#patching"},"patching"),":"),Object(o.b)("pre",{parentName:"blockquote",className:"material-theme-darker vscode-highlight","data-language":"jsonnet"},Object(o.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(o.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(o.b)("span",{parentName:"span",className:"mtk3 mtki"},"// in /lib/foo/bar.libsonnet:")),"\n",Object(o.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(o.b)("span",{parentName:"span",className:"mtk1"},"("),Object(o.b)("span",{parentName:"span",className:"mtk4"},"import"),Object(o.b)("span",{parentName:"span",className:"mtk1"}," "),Object(o.b)("span",{parentName:"span",className:"mtk6"},'"../../vendor/foo/bar.libsonnet"'),Object(o.b)("span",{parentName:"span",className:"mtk1"},") "),Object(o.b)("span",{parentName:"span",className:"mtk12"},"+"),Object(o.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(o.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(o.b)("span",{parentName:"span",className:"mtk1"}," "),Object(o.b)("span",{parentName:"span",className:"mtk10"},"foo+:"),Object(o.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(o.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(o.b)("span",{parentName:"span",className:"mtk1"}," "),Object(o.b)("span",{parentName:"span",className:"mtk10"},"bar:"),Object(o.b)("span",{parentName:"span",className:"mtk1"}," "),Object(o.b)("span",{parentName:"span",className:"mtk6"},'"fixed"')),"\n",Object(o.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(o.b)("span",{parentName:"span",className:"mtk1"}," }")),"\n",Object(o.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(o.b)("span",{parentName:"span",className:"mtk1"},"}"))))),Object(o.b)("blockquote",null,Object(o.b)("p",{parentName:"blockquote"},Object(o.b)("strong",{parentName:"p"},"Important:")," If the file you override is not the one you directly import,\nbut instead imported by another file first, the override will only occur if\nthe placement of the file is alongside your ",Object(o.b)("inlineCode",{parentName:"p"},"main.libsonnet"),". This is due to\nthe logic behind the Jsonnet importer. Example: We import\n",Object(o.b)("inlineCode",{parentName:"p"},"abc/main.libsonnet")," located in ",Object(o.b)("inlineCode",{parentName:"p"},"vendor/abc"),". Because Jsonnet first looks if\nfiles are locally present before considering the ",Object(o.b)("a",{parentName:"p",href:"/pr-preview/pr-991/libraries/import-paths"},"import\npaths"),", you need to make sure your override is\nactually picked up. In our example, you'd need to copy the ",Object(o.b)("inlineCode",{parentName:"p"},"main.libsonnet"),"\ninto ",Object(o.b)("inlineCode",{parentName:"p"},"lib/abc")," as well.")),Object(o.b)("h2",{id:"per-environment"},"Per environment"),Object(o.b)("p",null,"Another common case is overriding the entire ",Object(o.b)("inlineCode",{parentName:"p"},"vendor")," bundle per environment."),Object(o.b)("p",null,"This is handy, when you for example want to test a change of an upstream\nlibrary which is used in many environments (including ",Object(o.b)("inlineCode",{parentName:"p"},"prod"),") in a single one,\nwithout affecting all the others."),Object(o.b)("p",null,"For this, Tanka lets you have a separate ",Object(o.b)("inlineCode",{parentName:"p"},"vendor"),", ",Object(o.b)("inlineCode",{parentName:"p"},"jsonnetfile.json")," and\n",Object(o.b)("inlineCode",{parentName:"p"},"jsonnetfile.lock.json")," per environment. To do so:"),Object(o.b)("h4",{id:"create-tkrcyaml"},"Create ",Object(o.b)("inlineCode",{parentName:"h4"},"tkrc.yaml")),Object(o.b)("p",null,"Tanka normally uses the ",Object(o.b)("inlineCode",{parentName:"p"},"jsonnetfile.json")," from your project to find its root.\nAs we are going to create another one of that down the tree in the next step, we\nneed another marker for ",Object(o.b)("inlineCode",{parentName:"p"},""),"."),Object(o.b)("p",null,"For that, create an empty file called ",Object(o.b)("inlineCode",{parentName:"p"},"tkrc.yaml")," in your project's root,\nalongside the original ",Object(o.b)("inlineCode",{parentName:"p"},"jsonnetfile.json"),"."),Object(o.b)("blockquote",null,Object(o.b)("p",{parentName:"blockquote"},Object(o.b)("strong",{parentName:"p"},"Info"),": While the name suggests that ",Object(o.b)("inlineCode",{parentName:"p"},"tkrc.yaml")," could be used for setting\nparameters, this is not the case yet.",Object(o.b)("br",{parentName:"p"}),"\n","It might however be repurposed later, in case we need such functionality")),Object(o.b)("h4",{id:"add-a-vendor-to-your-environment"},"Add a ",Object(o.b)("inlineCode",{parentName:"h4"},"vendor")," to your environment"),Object(o.b)("p",null,"In your environments folder (e.g. ",Object(o.b)("inlineCode",{parentName:"p"},"/environments/default"),"):"),Object(o.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"bash"},Object(o.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(o.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(o.b)("span",{parentName:"span",className:"mtk3 mtki"},"# init jsonnet bundler (creates jsonnetfile.json)")),"\n",Object(o.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(o.b)("span",{parentName:"span",className:"mtk1"},"$ jb init")),"\n",Object(o.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(o.b)("span",{parentName:"span",className:"mtk1"})),"\n",Object(o.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(o.b)("span",{parentName:"span",className:"mtk3 mtki"},"# install the updated dependency")),"\n",Object(o.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(o.b)("span",{parentName:"span",className:"mtk1"},"$ jb install github.com/foo/bar@v2")))),Object(o.b)("blockquote",null,Object(o.b)("p",{parentName:"blockquote"},Object(o.b)("strong",{parentName:"p"},"Tip"),": You don't need to install everything into the new ",Object(o.b)("inlineCode",{parentName:"p"},"vendor/"),", as\npackages not present there can still be imported from the global ",Object(o.b)("inlineCode",{parentName:"p"},"/vendor"),".")),Object(o.b)("style",{className:"vscode-highlight-styles"},"\n \n .material-theme-darker {\nbackground-color: #212121;\ncolor: #EEFFFF;\n}\n\n.material-theme-darker .mtk1 { color: #FFFFFF; }\n.material-theme-darker .mtk2 { color: #212121; }\n.material-theme-darker .mtk3 { color: #545454; }\n.material-theme-darker .mtk4 { color: #F78C6C; }\n.material-theme-darker .mtk5 { color: #89DDFF; }\n.material-theme-darker .mtk6 { color: #C3E88D; }\n.material-theme-darker .mtk7 { color: #FFCB6B; }\n.material-theme-darker .mtk8 { color: #EEFFFF; }\n.material-theme-darker .mtk9 { color: #82AAFF; }\n.material-theme-darker .mtk10 { color: #FF5370; }\n.material-theme-darker .mtk11 { color: #F07178; }\n.material-theme-darker .mtk12 { color: #C792EA; }\n.material-theme-darker .mtk13 { color: #EEFFFF90; }\n.material-theme-darker .mtk14 { color: #65737E; }\n.material-theme-darker .mtk15 { color: #B2CCD6; }\n.material-theme-darker .mtk16 { color: #C17E70; }\n.material-theme-darker .mtki { font-style: italic; }\n.material-theme-darker .mtkb { font-weight: bold; }\n.material-theme-darker .mtku { text-decoration: underline; text-underline-position: under; }\n"))}void 0!==b&&b&&b===Object(b)&&Object.isExtensible(b)&&!Object.prototype.hasOwnProperty.call(b,"__filemeta")&&Object.defineProperty(b,"__filemeta",{configurable:!0,value:{name:"MDXContent",filename:"docs/libraries/overriding.md"}}),b.isMDXComponent=!0}}]); -//# sourceMappingURL=component---docs-libraries-overriding-md-64d9881a00e7f2937b12.js.map \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-libraries-overriding-md-64d9881a00e7f2937b12.js.map b/pr-preview/pr-991/component---docs-libraries-overriding-md-64d9881a00e7f2937b12.js.map deleted file mode 100644 index a373962cd..000000000 --- a/pr-preview/pr-991/component---docs-libraries-overriding-md-64d9881a00e7f2937b12.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./docs/libraries/overriding.md"],"names":["_frontmatter","Object","isExtensible","prototype","hasOwnProperty","call","defineProperty","configurable","value","name","filename","layoutProps","MDXLayout","DefaultLayout","MDXContent","_ref","components","props","_objectWithoutProperties","_excluded","mdx","_extends","mdxType","parentName","isMDXComponent"],"mappings":"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","file":"component---docs-libraries-overriding-md-64d9881a00e7f2937b12.js","sourcesContent":["import * as React from 'react'\n /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsxRuntime classic */\n/* @jsx mdx */\nimport DefaultLayout from \"/home/runner/work/tanka/tanka/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nexport const _frontmatter = {};\nconst layoutProps = {\n _frontmatter\n};\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n components,\n ...props\n}) {\n return \n\n\n

      {`Overriding vendor`}

      \n

      {`The `}{`vendor`}{` directory is immutable in its nature. You can't and should never\nmodify any files inside of it, `}{`jb`}{` will revert those changes on the next run anyway.`}

      \n

      {`Nevertheless, it can sometimes become required to add changes there, e.g. if an\nupstream library contains a bug that needs to be fixed immediately, without\nwaiting for the upstream maintainer to review it.`}

      \n

      {`Shadowing`}

      \n

      {`Because `}{`import paths`}{` are ranked in Tanka, you can use\na technique called shadowing: By putting a file with the exact same name in a\nhigher ranked path, Tanka will prefer that file instead of the original in\n`}{`vendor`}{`, which has the lowest possible rank of 1.`}

      \n

      {`For example, if `}{`/vendor/foo/bar.libsonnet`}{` contained an error, you could create\n`}{`/lib/foo/bar.libsonnet`}{` and fix it there.`}

      \n
      \n

      {`Tip:`}{` Instead of copying the file to the new location and making the edits,\nuse an absolute import and `}{`patching`}{`:`}

      \n
      {`// in /lib/foo/bar.libsonnet:`}{`\n`}{`(`}{`import`}{` `}{`\"../../vendor/foo/bar.libsonnet\"`}{`) `}{`+`}{` {`}{`\n`}{`  `}{`foo+:`}{` {`}{`\n`}{`    `}{`bar:`}{` `}{`\"fixed\"`}{`\n`}{`  }`}{`\n`}{`}`}
      \n
      \n
      \n

      {`Important:`}{` If the file you override is not the one you directly import,\nbut instead imported by another file first, the override will only occur if\nthe placement of the file is alongside your `}{`main.libsonnet`}{`. This is due to\nthe logic behind the Jsonnet importer. Example: We import\n`}{`abc/main.libsonnet`}{` located in `}{`vendor/abc`}{`. Because Jsonnet first looks if\nfiles are locally present before considering the `}{`import\npaths`}{`, you need to make sure your override is\nactually picked up. In our example, you'd need to copy the `}{`main.libsonnet`}{`\ninto `}{`lib/abc`}{` as well.`}

      \n
      \n

      {`Per environment`}

      \n

      {`Another common case is overriding the entire `}{`vendor`}{` bundle per environment.`}

      \n

      {`This is handy, when you for example want to test a change of an upstream\nlibrary which is used in many environments (including `}{`prod`}{`) in a single one,\nwithout affecting all the others.`}

      \n

      {`For this, Tanka lets you have a separate `}{`vendor`}{`, `}{`jsonnetfile.json`}{` and\n`}{`jsonnetfile.lock.json`}{` per environment. To do so:`}

      \n

      {`Create `}{`tkrc.yaml`}

      \n

      {`Tanka normally uses the `}{`jsonnetfile.json`}{` from your project to find its root.\nAs we are going to create another one of that down the tree in the next step, we\nneed another marker for `}{``}{`.`}

      \n

      {`For that, create an empty file called `}{`tkrc.yaml`}{` in your project's root,\nalongside the original `}{`jsonnetfile.json`}{`.`}

      \n
      \n

      {`Info`}{`: While the name suggests that `}{`tkrc.yaml`}{` could be used for setting\nparameters, this is not the case yet.`}

      {`\n`}{`It might however be repurposed later, in case we need such functionality`}

      \n
      \n

      {`Add a `}{`vendor`}{` to your environment`}

      \n

      {`In your environments folder (e.g. `}{`/environments/default`}{`):`}

      \n
      {`# init jsonnet bundler (creates jsonnetfile.json)`}{`\n`}{`$ jb init`}{`\n`}{`\n`}{`# install the updated dependency`}{`\n`}{`$ jb install github.com/foo/bar@v2`}
      \n
      \n

      {`Tip`}{`: You don't need to install everything into the new `}{`vendor/`}{`, as\npackages not present there can still be imported from the global `}{`/vendor`}{`.`}

      \n
      \n\n \n
      ;\n}\n;\nMDXContent.isMDXComponent = true;\n "],"sourceRoot":""} \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-namespaces-md-f7ccad740cade07e6477.js b/pr-preview/pr-991/component---docs-namespaces-md-f7ccad740cade07e6477.js deleted file mode 100644 index 960747ffd..000000000 --- a/pr-preview/pr-991/component---docs-namespaces-md-f7ccad740cade07e6477.js +++ /dev/null @@ -1,2 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[25],{"+UK2":function(e,a,t){"use strict";t.r(a),t.d(a,"_frontmatter",(function(){return l})),t.d(a,"default",(function(){return i}));var n=t("wx14"),r=t("Ff2n"),s=(t("q1tI"),t("7ljp")),m=t("hhGP");t("qKvR");const c=["components"],l={};void 0!==l&&l&&l===Object(l)&&Object.isExtensible(l)&&!Object.prototype.hasOwnProperty.call(l,"__filemeta")&&Object.defineProperty(l,"__filemeta",{configurable:!0,value:{name:"_frontmatter",filename:"docs/namespaces.md"}});const o={_frontmatter:l},p=m.a;function i(e){let{components:a}=e,t=Object(r.a)(e,c);return Object(s.b)(p,Object(n.a)({},o,t,{components:a,mdxType:"MDXLayout"}),Object(s.b)("h1",{id:"namespaces"},"Namespaces"),Object(s.b)("p",null,"When using Tanka, namespaces are handled slightly different compared to\n",Object(s.b)("inlineCode",{parentName:"p"},"kubectl"),", because environments offer more granular control than contexts used\nby ",Object(s.b)("inlineCode",{parentName:"p"},"kubectl"),"."),Object(s.b)("h2",{id:"default-namespaces"},"Default namespaces"),Object(s.b)("p",null,"In the ",Object(s.b)("a",{parentName:"p",href:"/pr-preview/pr-991/config/#file-format"},Object(s.b)("inlineCode",{parentName:"a"},"spec.json"))," of each environment, you can set the\n",Object(s.b)("inlineCode",{parentName:"p"},"spec.namespace")," field, which is the default namespace. The default namespace is\nset for every resource that ",Object(s.b)("strong",{parentName:"p"},"does not")," have a namespace ",Object(s.b)("strong",{parentName:"p"},"set from Jsonnet"),"."),Object(s.b)("table",null,Object(s.b)("thead",{parentName:"table"},Object(s.b)("tr",{parentName:"thead"},Object(s.b)("th",{parentName:"tr",align:null}),Object(s.b)("th",{parentName:"tr",align:null},"Scenario"),Object(s.b)("th",{parentName:"tr",align:null},"Action"))),Object(s.b)("tbody",{parentName:"table"},Object(s.b)("tr",{parentName:"tbody"},Object(s.b)("td",{parentName:"tr",align:null},"1."),Object(s.b)("td",{parentName:"tr",align:null},"Your resource ",Object(s.b)("strong",{parentName:"td"},"lacks namespace")," information (",Object(s.b)("inlineCode",{parentName:"td"},"metadata.namespace"),") unset or ",Object(s.b)("inlineCode",{parentName:"td"},'""')),Object(s.b)("td",{parentName:"tr",align:null},"Tanka sets ",Object(s.b)("inlineCode",{parentName:"td"},"metadata.namespace")," to the value of ",Object(s.b)("inlineCode",{parentName:"td"},"spec.namespace")," in ",Object(s.b)("inlineCode",{parentName:"td"},"spec.json"))),Object(s.b)("tr",{parentName:"tbody"},Object(s.b)("td",{parentName:"tr",align:null},"2."),Object(s.b)("td",{parentName:"tr",align:null},"Your resource ",Object(s.b)("strong",{parentName:"td"},"already has")," namespace information"),Object(s.b)("td",{parentName:"tr",align:null},"Tanka does nothing, accepting the explicit namespace")))),Object(s.b)("p",null,"While we recommend keeping environments limited to a single namespace, there are\nlegit cases where it's handy to have them span multiple namespaces, for example:"),Object(s.b)("ul",null,Object(s.b)("li",{parentName:"ul"},"Some other piece of software (Operators, etc) require resources to be in a specific namespace"),Object(s.b)("li",{parentName:"ul"},'A rarely changing "base" environment holding resources deployed for many clusters in the same way'),Object(s.b)("li",{parentName:"ul"},"etc.")),Object(s.b)("h2",{id:"cluster-wide-resources"},"Cluster-wide resources"),Object(s.b)("p",null,"Some resources in Kubernetes are cluster-wide, meaning they don't belong to a single namespace at all."),Object(s.b)("p",null,"Tanka will make an attempt to not add namespaces to ",Object(s.b)("em",{parentName:"p"},"known")," cluster-wide types.\nIt does this with a short list of types in ",Object(s.b)("a",{parentName:"p",href:"https://github.com/grafana/tanka/blob/main/pkg/process/namespace.go"},"the source code"),"."),Object(s.b)("p",null,"Tanka cannot feasibly maintain this list for all known custom resource types. In those cases, resources will have namespaces added to their manifests,\nand kubectl should happily apply them as non-namespaced resources."),Object(s.b)("p",null,"If this presents a problem for your workflow, you can ",Object(s.b)("strong",{parentName:"p"},"override this")," behavior\nper-resource, by setting the ",Object(s.b)("inlineCode",{parentName:"p"},"tanka.dev/namespaced")," annotation to ",Object(s.b)("inlineCode",{parentName:"p"},'"false"'),"\n(must be of ",Object(s.b)("inlineCode",{parentName:"p"},"string")," type):"),Object(s.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"jsonnet"},Object(s.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(s.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(s.b)("span",{parentName:"span",className:"mtk10"},"thing:"),Object(s.b)("span",{parentName:"span",className:"mtk1"}," clusterRole."),Object(s.b)("span",{parentName:"span",className:"mtk9"},"new"),Object(s.b)("span",{parentName:"span",className:"mtk1"},"("),Object(s.b)("span",{parentName:"span",className:"mtk6"},'"myClusterRole"'),Object(s.b)("span",{parentName:"span",className:"mtk1"},")")),"\n",Object(s.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(s.b)("span",{parentName:"span",className:"mtk1"}," "),Object(s.b)("span",{parentName:"span",className:"mtk12"},"+"),Object(s.b)("span",{parentName:"span",className:"mtk1"}," clusterRole.mixin.metadata."),Object(s.b)("span",{parentName:"span",className:"mtk9"},"withAnnotationsMixin"),Object(s.b)("span",{parentName:"span",className:"mtk1"},"({ "),Object(s.b)("span",{parentName:"span",className:"mtk6"},'"tanka.dev/namespaced"'),Object(s.b)("span",{parentName:"span",className:"mtk1"},": "),Object(s.b)("span",{parentName:"span",className:"mtk6"},'"false"'),Object(s.b)("span",{parentName:"span",className:"mtk1"}," })")))),Object(s.b)("style",{className:"vscode-highlight-styles"},"\n \n .material-theme-darker {\nbackground-color: #212121;\ncolor: #EEFFFF;\n}\n\n.material-theme-darker .mtk1 { color: #FFFFFF; }\n.material-theme-darker .mtk2 { color: #212121; }\n.material-theme-darker .mtk3 { color: #545454; }\n.material-theme-darker .mtk4 { color: #F78C6C; }\n.material-theme-darker .mtk5 { color: #89DDFF; }\n.material-theme-darker .mtk6 { color: #C3E88D; }\n.material-theme-darker .mtk7 { color: #FFCB6B; }\n.material-theme-darker .mtk8 { color: #EEFFFF; }\n.material-theme-darker .mtk9 { color: #82AAFF; }\n.material-theme-darker .mtk10 { color: #FF5370; }\n.material-theme-darker .mtk11 { color: #F07178; }\n.material-theme-darker .mtk12 { color: #C792EA; }\n.material-theme-darker .mtk13 { color: #EEFFFF90; }\n.material-theme-darker .mtk14 { color: #65737E; }\n.material-theme-darker .mtk15 { color: #B2CCD6; }\n.material-theme-darker .mtk16 { color: #C17E70; }\n.material-theme-darker .mtki { font-style: italic; }\n.material-theme-darker .mtkb { font-weight: bold; }\n.material-theme-darker .mtku { text-decoration: underline; text-underline-position: under; }\n"))}void 0!==i&&i&&i===Object(i)&&Object.isExtensible(i)&&!Object.prototype.hasOwnProperty.call(i,"__filemeta")&&Object.defineProperty(i,"__filemeta",{configurable:!0,value:{name:"MDXContent",filename:"docs/namespaces.md"}}),i.isMDXComponent=!0}}]); -//# sourceMappingURL=component---docs-namespaces-md-f7ccad740cade07e6477.js.map \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-namespaces-md-f7ccad740cade07e6477.js.map b/pr-preview/pr-991/component---docs-namespaces-md-f7ccad740cade07e6477.js.map deleted file mode 100644 index bf6f1024d..000000000 --- a/pr-preview/pr-991/component---docs-namespaces-md-f7ccad740cade07e6477.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./docs/namespaces.md"],"names":["_frontmatter","Object","isExtensible","prototype","hasOwnProperty","call","defineProperty","configurable","value","name","filename","layoutProps","MDXLayout","DefaultLayout","MDXContent","_ref","components","props","_objectWithoutProperties","_excluded","mdx","_extends","mdxType","parentName","isMDXComponent"],"mappings":"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","file":"component---docs-namespaces-md-f7ccad740cade07e6477.js","sourcesContent":["import * as React from 'react'\n /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsxRuntime classic */\n/* @jsx mdx */\nimport DefaultLayout from \"/home/runner/work/tanka/tanka/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nexport const _frontmatter = {};\nconst layoutProps = {\n _frontmatter\n};\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n components,\n ...props\n}) {\n return \n\n\n

      {`Namespaces`}

      \n

      {`When using Tanka, namespaces are handled slightly different compared to\n`}{`kubectl`}{`, because environments offer more granular control than contexts used\nby `}{`kubectl`}{`.`}

      \n

      {`Default namespaces`}

      \n

      {`In the `}{`spec.json`}{` of each environment, you can set the\n`}{`spec.namespace`}{` field, which is the default namespace. The default namespace is\nset for every resource that `}{`does not`}{` have a namespace `}{`set from Jsonnet`}{`.`}

      \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
      {`Scenario`}{`Action`}
      {`1.`}{`Your resource `}{`lacks namespace`}{` information (`}{`metadata.namespace`}{`) unset or `}{`\"\"`}{`Tanka sets `}{`metadata.namespace`}{` to the value of `}{`spec.namespace`}{` in `}{`spec.json`}
      {`2.`}{`Your resource `}{`already has`}{` namespace information`}{`Tanka does nothing, accepting the explicit namespace`}
      \n

      {`While we recommend keeping environments limited to a single namespace, there are\nlegit cases where it's handy to have them span multiple namespaces, for example:`}

      \n
        \n
      • {`Some other piece of software (Operators, etc) require resources to be in a specific namespace`}
      • \n
      • {`A rarely changing \"base\" environment holding resources deployed for many clusters in the same way`}
      • \n
      • {`etc.`}
      • \n
      \n

      {`Cluster-wide resources`}

      \n

      {`Some resources in Kubernetes are cluster-wide, meaning they don't belong to a single namespace at all.`}

      \n

      {`Tanka will make an attempt to not add namespaces to `}{`known`}{` cluster-wide types.\nIt does this with a short list of types in `}{`the source code`}{`.`}

      \n

      {`Tanka cannot feasibly maintain this list for all known custom resource types. In those cases, resources will have namespaces added to their manifests,\nand kubectl should happily apply them as non-namespaced resources.`}

      \n

      {`If this presents a problem for your workflow, you can `}{`override this`}{` behavior\nper-resource, by setting the `}{`tanka.dev/namespaced`}{` annotation to `}{`\"false\"`}{`\n(must be of `}{`string`}{` type):`}

      \n
      {`thing:`}{` clusterRole.`}{`new`}{`(`}{`\"myClusterRole\"`}{`)`}{`\n`}{`       `}{`+`}{` clusterRole.mixin.metadata.`}{`withAnnotationsMixin`}{`({ `}{`\"tanka.dev/namespaced\"`}{`: `}{`\"false\"`}{` })`}
      \n\n \n
      ;\n}\n;\nMDXContent.isMDXComponent = true;\n "],"sourceRoot":""} \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-server-side-apply-md-f1c4dacb6a0b385641be.js b/pr-preview/pr-991/component---docs-server-side-apply-md-f1c4dacb6a0b385641be.js deleted file mode 100644 index c2dffa195..000000000 --- a/pr-preview/pr-991/component---docs-server-side-apply-md-f1c4dacb6a0b385641be.js +++ /dev/null @@ -1,2 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[26],{"BC+V":function(e,t,a){"use strict";a.r(t),a.d(t,"_frontmatter",(function(){return s})),a.d(t,"default",(function(){return p}));var n=a("wx14"),r=a("Ff2n"),i=(a("q1tI"),a("7ljp")),l=a("hhGP");a("qKvR");const o=["components"],s={};void 0!==s&&s&&s===Object(s)&&Object.isExtensible(s)&&!Object.prototype.hasOwnProperty.call(s,"__filemeta")&&Object.defineProperty(s,"__filemeta",{configurable:!0,value:{name:"_frontmatter",filename:"docs/server-side-apply.md"}});const c={_frontmatter:s},m=l.a;function p(e){let{components:t}=e,a=Object(r.a)(e,o);return Object(i.b)(m,Object(n.a)({},c,a,{components:t,mdxType:"MDXLayout"}),Object(i.b)("h1",{id:"server-side-apply"},"Server-Side Apply"),Object(i.b)("p",null,"Tanka supports\n",Object(i.b)("a",{parentName:"p",href:"https://kubernetes.io/docs/reference/using-api/server-side-apply/"},"server-side apply"),",\nwhich requires at least Kubernetes 1.16+, and was promoted to stable status in 1.22."),Object(i.b)("p",null,"To enable server-side diff in tanka, add the following field to ",Object(i.b)("inlineCode",{parentName:"p"},"spec.json"),":"),Object(i.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"diff"},Object(i.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(i.b)("span",{parentName:"span",className:"mtk1"},"{")),"\n",Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(i.b)("span",{parentName:"span",className:"mtk1"},' "spec": {')),"\n",Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(i.b)("span",{parentName:"span",className:"mtk5"},"+"),Object(i.b)("span",{parentName:"span",className:"mtk6"},' "applyStrategy": "server",')),"\n",Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(i.b)("span",{parentName:"span",className:"mtk1"}," }")),"\n",Object(i.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(i.b)("span",{parentName:"span",className:"mtk1"},"}")))),Object(i.b)("p",null,"This also has the effect of changing the default ",Object(i.b)("a",{parentName:"p",href:"/pr-preview/pr-991/diff-strategy"},"diff strategy"),"\nto ",Object(i.b)("inlineCode",{parentName:"p"},"server"),", but this can be overridden via command line flags or ",Object(i.b)("inlineCode",{parentName:"p"},"spec.json"),"."),Object(i.b)("p",null,"While server-side apply doesn't have any effect on the resources being applied\nand is intended to be a general in-place upgrade to client-side apply, there are\ndifferences in how fields are managed that can make converting existing cluster\nresources a non-trival change."),Object(i.b)("p",null,"Identifying and fixing these changes are beyond the scope of this guide, but\nmany can be found before an apply by using the ",Object(i.b)("inlineCode",{parentName:"p"},"validate")," or ",Object(i.b)("inlineCode",{parentName:"p"},"server"),"\n",Object(i.b)("a",{parentName:"p",href:"/pr-preview/pr-991/diff-strategy"},"diff strategy"),"."),Object(i.b)("h2",{id:"field-conflicts"},"Field conflicts"),Object(i.b)("p",null,"As part of the changes, you may encounter error messages which\nrecommend the use of the ",Object(i.b)("inlineCode",{parentName:"p"},"--force-conflicts")," flag. Using ",Object(i.b)("inlineCode",{parentName:"p"},"tk apply --force"),"\nin server-side mode will enable that flag for kubectl instead of\n",Object(i.b)("inlineCode",{parentName:"p"},"kubectl --force"),", which no longer has any effect in server-side mode."),Object(i.b)("style",{className:"vscode-highlight-styles"},"\n \n .material-theme-darker {\nbackground-color: #212121;\ncolor: #EEFFFF;\n}\n\n.material-theme-darker .mtk1 { color: #FFFFFF; }\n.material-theme-darker .mtk2 { color: #212121; }\n.material-theme-darker .mtk3 { color: #545454; }\n.material-theme-darker .mtk4 { color: #F78C6C; }\n.material-theme-darker .mtk5 { color: #89DDFF; }\n.material-theme-darker .mtk6 { color: #C3E88D; }\n.material-theme-darker .mtk7 { color: #FFCB6B; }\n.material-theme-darker .mtk8 { color: #EEFFFF; }\n.material-theme-darker .mtk9 { color: #82AAFF; }\n.material-theme-darker .mtk10 { color: #FF5370; }\n.material-theme-darker .mtk11 { color: #F07178; }\n.material-theme-darker .mtk12 { color: #C792EA; }\n.material-theme-darker .mtk13 { color: #EEFFFF90; }\n.material-theme-darker .mtk14 { color: #65737E; }\n.material-theme-darker .mtk15 { color: #B2CCD6; }\n.material-theme-darker .mtk16 { color: #C17E70; }\n.material-theme-darker .mtki { font-style: italic; }\n.material-theme-darker .mtkb { font-weight: bold; }\n.material-theme-darker .mtku { text-decoration: underline; text-underline-position: under; }\n"))}void 0!==p&&p&&p===Object(p)&&Object.isExtensible(p)&&!Object.prototype.hasOwnProperty.call(p,"__filemeta")&&Object.defineProperty(p,"__filemeta",{configurable:!0,value:{name:"MDXContent",filename:"docs/server-side-apply.md"}}),p.isMDXComponent=!0}}]); -//# sourceMappingURL=component---docs-server-side-apply-md-f1c4dacb6a0b385641be.js.map \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-server-side-apply-md-f1c4dacb6a0b385641be.js.map b/pr-preview/pr-991/component---docs-server-side-apply-md-f1c4dacb6a0b385641be.js.map deleted file mode 100644 index 06d0b50ee..000000000 --- a/pr-preview/pr-991/component---docs-server-side-apply-md-f1c4dacb6a0b385641be.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./docs/server-side-apply.md"],"names":["_frontmatter","Object","isExtensible","prototype","hasOwnProperty","call","defineProperty","configurable","value","name","filename","layoutProps","MDXLayout","DefaultLayout","MDXContent","_ref","components","props","_objectWithoutProperties","_excluded","mdx","_extends","mdxType","parentName","isMDXComponent"],"mappings":"2RAMaA,EAAe,QAAG,IAAAA,UAAAC,OAAAD,IAAAC,OAAAC,aAAAF,KAAAC,OAAAE,UAAAC,eAAAC,KAAAL,EAAA,eAAAC,OAAAK,eAAAN,EAAA,cAAAO,cAAA,EAAAC,MAAA,CAAAC,KAAA,eAAAC,SAAA,+BAC/B,MAAMC,EAAc,CAClBX,gBAEIY,EAAYC,IACH,SAASC,EAAUC,GAG/B,IAHgC,WACjCC,GAEDD,EADIE,EAAKC,YAAAH,EAAAI,GAER,OAAOC,YAACR,EAASS,YAAA,GAAKV,EAAiBM,EAAK,CAAED,WAAYA,EAAYM,QAAQ,cAG5EF,YAAA,MACE,GAAM,qBAAmB,qBAE3BA,YAAA,4BACFA,YAAA,KAAGG,WAAW,IACR,KAAQ,qEAAmE,qBACjD,2FAE9BH,YAAA,4EAAuEA,YAAA,cAAYG,WAAW,KAAG,aAA2B,KAC5HH,YAAA,OACE,UAAa,yCACb,gBAAiB,QAChBA,YAAA,QAAMG,WAAW,MAChB,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,MACC,KAC9BH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,gBACW,KACxCH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,KACNH,YAAA,QAAMG,WAAW,OAC9B,UAAa,QAAM,mCAC8B,KAC3DH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,QACG,KAChCH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,QAE3BH,YAAA,6DAAwDA,YAAA,KAAGG,WAAW,IAClE,KAAQ,oCAAkC,iBACpB,QACzBH,YAAA,cAAYG,WAAW,KAAG,UAAwB,0DAA2DH,YAAA,cAAYG,WAAW,KAAG,aAA2B,KACnKH,YAAA,8RAIAA,YAAA,yIAC6CA,YAAA,cAAYG,WAAW,KAAG,YAA0B,OAAQH,YAAA,cAAYG,WAAW,KAAG,UAAwB,KAC7JH,YAAA,KAAGG,WAAW,IACR,KAAQ,oCAAkC,iBACpB,KAC1BH,YAAA,MACE,GAAM,mBAAiB,mBAEzBA,YAAA,qGACuBA,YAAA,cAAYG,WAAW,KAAG,qBAAmC,gBAAiBH,YAAA,cAAYG,WAAW,KAAG,oBAAkC,uEAEnKH,YAAA,cAAYG,WAAW,KAAG,mBAAiC,yDAEzDH,YAAA,SACE,UAAa,2BAAyB,glCA6B3C,IAAAN,UAAAb,OAAAa,IAAAb,OAAAC,aAAAY,KAAAb,OAAAE,UAAAC,eAAAC,KAAAS,EAAA,eAAAb,OAAAK,eAAAQ,EAAA,cAAAP,cAAA,EAAAC,MAAA,CAAAC,KAAA,aAAAC,SAAA,+BAEDI,EAAWU,gBAAiB","file":"component---docs-server-side-apply-md-f1c4dacb6a0b385641be.js","sourcesContent":["import * as React from 'react'\n /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsxRuntime classic */\n/* @jsx mdx */\nimport DefaultLayout from \"/home/runner/work/tanka/tanka/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nexport const _frontmatter = {};\nconst layoutProps = {\n _frontmatter\n};\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n components,\n ...props\n}) {\n return \n\n\n

      {`Server-Side Apply`}

      \n

      {`Tanka supports\n`}{`server-side apply`}{`,\nwhich requires at least Kubernetes 1.16+, and was promoted to stable status in 1.22.`}

      \n

      {`To enable server-side diff in tanka, add the following field to `}{`spec.json`}{`:`}

      \n
      {`{`}{`\n`}{`  \"spec\": {`}{`\n`}{`+`}{`    \"applyStrategy\": \"server\",`}{`\n`}{`  }`}{`\n`}{`}`}
      \n

      {`This also has the effect of changing the default `}{`diff strategy`}{`\nto `}{`server`}{`, but this can be overridden via command line flags or `}{`spec.json`}{`.`}

      \n

      {`While server-side apply doesn't have any effect on the resources being applied\nand is intended to be a general in-place upgrade to client-side apply, there are\ndifferences in how fields are managed that can make converting existing cluster\nresources a non-trival change.`}

      \n

      {`Identifying and fixing these changes are beyond the scope of this guide, but\nmany can be found before an apply by using the `}{`validate`}{` or `}{`server`}{`\n`}{`diff strategy`}{`.`}

      \n

      {`Field conflicts`}

      \n

      {`As part of the changes, you may encounter error messages which\nrecommend the use of the `}{`--force-conflicts`}{` flag. Using `}{`tk apply --force`}{`\nin server-side mode will enable that flag for kubectl instead of\n`}{`kubectl --force`}{`, which no longer has any effect in server-side mode.`}

      \n\n \n
      ;\n}\n;\nMDXContent.isMDXComponent = true;\n "],"sourceRoot":""} \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-targets-md-123f8be890eda328d792.js b/pr-preview/pr-991/component---docs-targets-md-123f8be890eda328d792.js deleted file mode 100644 index 9035b58d9..000000000 --- a/pr-preview/pr-991/component---docs-targets-md-123f8be890eda328d792.js +++ /dev/null @@ -1,2 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[27],{txtL:function(e,a,t){"use strict";t.r(a),t.d(a,"_frontmatter",(function(){return p})),t.d(a,"default",(function(){return o}));var n=t("wx14"),s=t("Ff2n"),c=(t("q1tI"),t("7ljp")),m=t("hhGP");t("qKvR");const l=["components"],p={};void 0!==p&&p&&p===Object(p)&&Object.isExtensible(p)&&!Object.prototype.hasOwnProperty.call(p,"__filemeta")&&Object.defineProperty(p,"__filemeta",{configurable:!0,value:{name:"_frontmatter",filename:"docs/targets.md"}});const r={_frontmatter:p},i=m.a;function o(e){let{components:a}=e,t=Object(s.a)(e,l);return Object(c.b)(i,Object(n.a)({},r,t,{components:a,mdxType:"MDXLayout"}),Object(c.b)("h1",{id:"output-filtering"},"Output Filtering"),Object(c.b)("p",null,"When a project becomes bigger over time and includes a lot of Kubernetes\nobjects, it may become required to operate on only a subset of them (e.g. apply\nonly a part of an application)."),Object(c.b)("p",null,"Tanka helps you with this, by allowing you to limit the used objects on the\ncommand line using the ",Object(c.b)("inlineCode",{parentName:"p"},"--target")," flag. Say you are deploying an ",Object(c.b)("inlineCode",{parentName:"p"},"nginx"),"\ninstance with a special ",Object(c.b)("inlineCode",{parentName:"p"},"nginx.conf")," and want to apply the ",Object(c.b)("inlineCode",{parentName:"p"},"ConfigMap")," first:"),Object(c.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"bash"},Object(c.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk3 mtki"},"# show the ConfigMap")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"},"$ tk show -t configmap/nginx "),Object(c.b)("span",{parentName:"span",className:"mtk9"},".")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"})),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk3 mtki"},"# all good? apply!")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"},"$ tk apply -t configmap/nginx "),Object(c.b)("span",{parentName:"span",className:"mtk9"},".")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"})),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk3 mtki"},"# and apply everything else:")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"},"$ tk apply "),Object(c.b)("span",{parentName:"span",className:"mtk9"},".")))),Object(c.b)("p",null,"The syntax of the ",Object(c.b)("inlineCode",{parentName:"p"},"--target")," / ",Object(c.b)("inlineCode",{parentName:"p"},"-t")," flag is ",Object(c.b)("inlineCode",{parentName:"p"},"--target=/"),". If\nmultiple objects match this pattern, all of them are used."),Object(c.b)("p",null,"The ",Object(c.b)("inlineCode",{parentName:"p"},"--target")," / ",Object(c.b)("inlineCode",{parentName:"p"},"-t")," flag can be specified multiple times, to work with\nmultiple objects."),Object(c.b)("h2",{id:"regular-expressions"},"Regular Expressions"),Object(c.b)("p",null,"The argument passed to the ",Object(c.b)("inlineCode",{parentName:"p"},"--target")," flag is interpreted as a\n",Object(c.b)("a",{parentName:"p",href:"https://github.com/google/re2/wiki/Syntax"},"RE2")," regular expression."),Object(c.b)("p",null,"This allows you to use all sorts of wildcards and other advanced matching\nfunctionality to select Kubernetes objects:"),Object(c.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"bash"},Object(c.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk3 mtki"},"# show all deployments")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"},"$ tk show "),Object(c.b)("span",{parentName:"span",className:"mtk9"},"."),Object(c.b)("span",{parentName:"span",className:"mtk1"}," -t "),Object(c.b)("span",{parentName:"span",className:"mtk5"},"'"),Object(c.b)("span",{parentName:"span",className:"mtk6"},"deployment/.*"),Object(c.b)("span",{parentName:"span",className:"mtk5"},"'")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"})),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk3 mtki"},'# show all objects named "loki"')),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"},"$ tk show "),Object(c.b)("span",{parentName:"span",className:"mtk9"},"."),Object(c.b)("span",{parentName:"span",className:"mtk1"}," -t "),Object(c.b)("span",{parentName:"span",className:"mtk5"},"'"),Object(c.b)("span",{parentName:"span",className:"mtk6"},".*/loki"),Object(c.b)("span",{parentName:"span",className:"mtk5"},"'")))),Object(c.b)("h3",{id:"gotchas"},"Gotchas"),Object(c.b)("p",null,"When using regular expressions, there are some things to watch out for:"),Object(c.b)("h4",{id:"line-anchors"},"Line Anchors"),Object(c.b)("p",null,"Tanka automatically surrounds your regular expression with line anchors:"),Object(c.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"text"},Object(c.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},"^$"))),Object(c.b)("p",null,"For example, ",Object(c.b)("inlineCode",{parentName:"p"},"--target 'deployment/.*'")," becomes ",Object(c.b)("inlineCode",{parentName:"p"},"^deployment/.*$"),"."),Object(c.b)("h4",{id:"quoting"},"Quoting"),Object(c.b)("p",null,"Regular expressions may consist of characters that have special meanings in\nshell. Always make sure to properly quote your regular expression using ",Object(c.b)("strong",{parentName:"p"},"single\nquotes"),"."),Object(c.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"zsh"},Object(c.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk3 mtki"},"# shell attempts to match the wildcard itself:")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"},"zsh-5.4.2$ tk show "),Object(c.b)("span",{parentName:"span",className:"mtk9"},"."),Object(c.b)("span",{parentName:"span",className:"mtk1"}," -t deployment/."),Object(c.b)("span",{parentName:"span",className:"mtk12"},"*")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"},"zsh: no matches found: deployment/."),Object(c.b)("span",{parentName:"span",className:"mtk12"},"*")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"})),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk3 mtki"},"# properly quoted:")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"},"zsh-5.4.2$ tk show "),Object(c.b)("span",{parentName:"span",className:"mtk9"},"."),Object(c.b)("span",{parentName:"span",className:"mtk1"}," -t "),Object(c.b)("span",{parentName:"span",className:"mtk5"},"'"),Object(c.b)("span",{parentName:"span",className:"mtk6"},"deployment/.*"),Object(c.b)("span",{parentName:"span",className:"mtk5"},"'")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"},"---")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"},"apiVersion: apps/v1")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"},"kind: Deployment")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk3 mtki"},"# ...")))),Object(c.b)("h2",{id:"excluding"},"Excluding"),Object(c.b)("p",null,"Sometimes it may be desirably to exclude a single object, instead of including all others."),Object(c.b)("p",null,"To do so, prepend the regular expression with an exclamation mark (",Object(c.b)("inlineCode",{parentName:"p"},"!"),"), like so:"),Object(c.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"bash"},Object(c.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk3 mtki"},"# filter out all Deployments")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"},"$ tk show "),Object(c.b)("span",{parentName:"span",className:"mtk9"},"."),Object(c.b)("span",{parentName:"span",className:"mtk1"}," -t "),Object(c.b)("span",{parentName:"span",className:"mtk5"},"'"),Object(c.b)("span",{parentName:"span",className:"mtk6"},"!deployment/.*"),Object(c.b)("span",{parentName:"span",className:"mtk5"},"'")))),Object(c.b)("style",{className:"vscode-highlight-styles"},"\n \n .material-theme-darker {\nbackground-color: #212121;\ncolor: #EEFFFF;\n}\n\n.material-theme-darker .mtk1 { color: #FFFFFF; }\n.material-theme-darker .mtk2 { color: #212121; }\n.material-theme-darker .mtk3 { color: #545454; }\n.material-theme-darker .mtk4 { color: #F78C6C; }\n.material-theme-darker .mtk5 { color: #89DDFF; }\n.material-theme-darker .mtk6 { color: #C3E88D; }\n.material-theme-darker .mtk7 { color: #FFCB6B; }\n.material-theme-darker .mtk8 { color: #EEFFFF; }\n.material-theme-darker .mtk9 { color: #82AAFF; }\n.material-theme-darker .mtk10 { color: #FF5370; }\n.material-theme-darker .mtk11 { color: #F07178; }\n.material-theme-darker .mtk12 { color: #C792EA; }\n.material-theme-darker .mtk13 { color: #EEFFFF90; }\n.material-theme-darker .mtk14 { color: #65737E; }\n.material-theme-darker .mtk15 { color: #B2CCD6; }\n.material-theme-darker .mtk16 { color: #C17E70; }\n.material-theme-darker .mtki { font-style: italic; }\n.material-theme-darker .mtkb { font-weight: bold; }\n.material-theme-darker .mtku { text-decoration: underline; text-underline-position: under; }\n"))}void 0!==o&&o&&o===Object(o)&&Object.isExtensible(o)&&!Object.prototype.hasOwnProperty.call(o,"__filemeta")&&Object.defineProperty(o,"__filemeta",{configurable:!0,value:{name:"MDXContent",filename:"docs/targets.md"}}),o.isMDXComponent=!0}}]); -//# sourceMappingURL=component---docs-targets-md-123f8be890eda328d792.js.map \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-targets-md-123f8be890eda328d792.js.map b/pr-preview/pr-991/component---docs-targets-md-123f8be890eda328d792.js.map deleted file mode 100644 index 1da77213f..000000000 --- a/pr-preview/pr-991/component---docs-targets-md-123f8be890eda328d792.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./docs/targets.md"],"names":["_frontmatter","Object","isExtensible","prototype","hasOwnProperty","call","defineProperty","configurable","value","name","filename","layoutProps","MDXLayout","DefaultLayout","MDXContent","_ref","components","props","_objectWithoutProperties","_excluded","mdx","_extends","mdxType","parentName","isMDXComponent"],"mappings":"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","file":"component---docs-targets-md-123f8be890eda328d792.js","sourcesContent":["import * as React from 'react'\n /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsxRuntime classic */\n/* @jsx mdx */\nimport DefaultLayout from \"/home/runner/work/tanka/tanka/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nexport const _frontmatter = {};\nconst layoutProps = {\n _frontmatter\n};\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n components,\n ...props\n}) {\n return \n\n\n

      {`Output Filtering`}

      \n

      {`When a project becomes bigger over time and includes a lot of Kubernetes\nobjects, it may become required to operate on only a subset of them (e.g. apply\nonly a part of an application).`}

      \n

      {`Tanka helps you with this, by allowing you to limit the used objects on the\ncommand line using the `}{`--target`}{` flag. Say you are deploying an `}{`nginx`}{`\ninstance with a special `}{`nginx.conf`}{` and want to apply the `}{`ConfigMap`}{` first:`}

      \n
      {`# show the ConfigMap`}{`\n`}{`$ tk show -t configmap/nginx `}{`.`}{`\n`}{`\n`}{`# all good? apply!`}{`\n`}{`$ tk apply -t configmap/nginx `}{`.`}{`\n`}{`\n`}{`# and apply everything else:`}{`\n`}{`$ tk apply `}{`.`}
      \n

      {`The syntax of the `}{`--target`}{` / `}{`-t`}{` flag is `}{`--target=/`}{`. If\nmultiple objects match this pattern, all of them are used.`}

      \n

      {`The `}{`--target`}{` / `}{`-t`}{` flag can be specified multiple times, to work with\nmultiple objects.`}

      \n

      {`Regular Expressions`}

      \n

      {`The argument passed to the `}{`--target`}{` flag is interpreted as a\n`}{`RE2`}{` regular expression.`}

      \n

      {`This allows you to use all sorts of wildcards and other advanced matching\nfunctionality to select Kubernetes objects:`}

      \n
      {`# show all deployments`}{`\n`}{`$ tk show `}{`.`}{` -t `}{`'`}{`deployment/.*`}{`'`}{`\n`}{`\n`}{`# show all objects named \"loki\"`}{`\n`}{`$ tk show `}{`.`}{` -t `}{`'`}{`.*/loki`}{`'`}
      \n

      {`Gotchas`}

      \n

      {`When using regular expressions, there are some things to watch out for:`}

      \n

      {`Line Anchors`}

      \n

      {`Tanka automatically surrounds your regular expression with line anchors:`}

      \n
      {`^$`}
      \n

      {`For example, `}{`--target 'deployment/.*'`}{` becomes `}{`^deployment/.*$`}{`.`}

      \n

      {`Quoting`}

      \n

      {`Regular expressions may consist of characters that have special meanings in\nshell. Always make sure to properly quote your regular expression using `}{`single\nquotes`}{`.`}

      \n
      {`# shell attempts to match the wildcard itself:`}{`\n`}{`zsh-5.4.2$ tk show `}{`.`}{` -t deployment/.`}{`*`}{`\n`}{`zsh: no matches found: deployment/.`}{`*`}{`\n`}{`\n`}{`# properly quoted:`}{`\n`}{`zsh-5.4.2$ tk show `}{`.`}{` -t `}{`'`}{`deployment/.*`}{`'`}{`\n`}{`---`}{`\n`}{`apiVersion: apps/v1`}{`\n`}{`kind: Deployment`}{`\n`}{`# ...`}
      \n

      {`Excluding`}

      \n

      {`Sometimes it may be desirably to exclude a single object, instead of including all others.`}

      \n

      {`To do so, prepend the regular expression with an exclamation mark (`}{`!`}{`), like so:`}

      \n
      {`# filter out all Deployments`}{`\n`}{`$ tk show `}{`.`}{` -t `}{`'`}{`!deployment/.*`}{`'`}
      \n\n \n
      ;\n}\n;\nMDXContent.isMDXComponent = true;\n "],"sourceRoot":""} \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-tutorial-abstraction-mdx-b97edf44038784f040f4.js b/pr-preview/pr-991/component---docs-tutorial-abstraction-mdx-b97edf44038784f040f4.js deleted file mode 100644 index e1498cd60..000000000 --- a/pr-preview/pr-991/component---docs-tutorial-abstraction-mdx-b97edf44038784f040f4.js +++ /dev/null @@ -1,2 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[28],{pcXi:function(a,e,s){"use strict";s.r(e),s.d(e,"_frontmatter",(function(){return N})),s.d(e,"default",(function(){return i}));var n=s("wx14"),t=s("Ff2n"),m=(s("q1tI"),s("7ljp")),p=s("hhGP"),c=s("Z+0r");s("qKvR");const b=["components"],N={};void 0!==N&&N&&N===Object(N)&&Object.isExtensible(N)&&!Object.prototype.hasOwnProperty.call(N,"__filemeta")&&Object.defineProperty(N,"__filemeta",{configurable:!0,value:{name:"_frontmatter",filename:"docs/tutorial/abstraction.mdx"}});const l={_frontmatter:N},r=p.a;function i(a){let{components:e}=a,s=Object(t.a)(a,b);return Object(m.b)(r,Object(n.a)({},l,s,{components:e,mdxType:"MDXLayout"}),Object(m.b)("h1",{id:"abstraction"},"Abstraction"),Object(m.b)("p",null,"While we won't need to touch the resource definitions directly that frequently\nanymore now that we have the ",Object(m.b)("inlineCode",{parentName:"p"},"_config")," object for our tunables, the\n",Object(m.b)("inlineCode",{parentName:"p"},"main.jsonnet")," file is still very long and hard to read. Especially because of\nall the brackets, it's even worse than yaml at the moment."),Object(m.b)("h2",{id:"splitting-it-up"},"Splitting it up"),Object(m.b)("p",null,"Let's start cleaning this up by separating logical pieces into distinct files:"),Object(m.b)("ul",null,Object(m.b)("li",{parentName:"ul"},Object(m.b)("inlineCode",{parentName:"li"},"main.jsonnet"),": Still our main file, containing the ",Object(m.b)("inlineCode",{parentName:"li"},"_config")," object and importing the other files"),Object(m.b)("li",{parentName:"ul"},Object(m.b)("inlineCode",{parentName:"li"},"grafana.jsonnet"),": ",Object(m.b)("inlineCode",{parentName:"li"},"Deployment")," and ",Object(m.b)("inlineCode",{parentName:"li"},"Service")," for the Grafana instance"),Object(m.b)("li",{parentName:"ul"},Object(m.b)("inlineCode",{parentName:"li"},"prometheus.jsonnet"),": ",Object(m.b)("inlineCode",{parentName:"li"},"Deployment")," and ",Object(m.b)("inlineCode",{parentName:"li"},"Service")," for the Prometheus server")),Object(m.b)("h5",{id:"environmentsdefaultgrafanajsonnet"},"/environments/default/grafana.jsonnet"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"jsonnet"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// DO NOT use the root level here.")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// Include the grafana subkey, otherwise $ won't work.")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"grafana:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"deployment:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"apiVersion:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'apps/v1'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"kind:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'Deployment'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"metadata:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"name:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"$"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"._config.grafana.name,")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"spec:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"selector:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"matchLabels:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"name:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"$"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"._config.grafana.name,")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"template:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"metadata:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"labels:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"name:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"$"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"._config.grafana.name,")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"spec:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"containers:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," [")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"image:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'grafana/grafana'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"name:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"$"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"._config.grafana.name,")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"ports:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," [{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"containerPort:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"$"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"._config.grafana.port,")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"name:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'ui'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," }],")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," ],")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"service:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"apiVersion:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'v1'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"kind:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'Service'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"metadata:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"labels:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"name:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"$"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"._config.grafana.name,")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"name:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"$"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"._config.grafana.name,")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"spec:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"ports:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," [{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"name:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'%s-ui'"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk12"},"%"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"$"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"._config.grafana.name,")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"port:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"$"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"._config.grafana.port,")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"targetPort:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"$"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"._config.grafana.port,")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," }],")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"selector:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"name:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"$"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"._config.grafana.name,")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"type:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'NodePort'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," }")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"}")))),Object(m.b)("p",null,"The file should contain just the same that was located under the ",Object(m.b)("inlineCode",{parentName:"p"},"grafana")," key\non the root object before. Do the same for ",Object(m.b)("inlineCode",{parentName:"p"},"/environments/default/prometheus.jsonnet")," as well."),Object(m.b)("h5",{id:"environmentsdefaultmainjsonnet"},"/environments/default/main.jsonnet"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"jsonnet"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// Think of `import` as copy-pasting the contents")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// of ./grafana.jsonnet here")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"("),Object(m.b)("span",{parentName:"span",className:"mtk4"},"import"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"grafana.jsonnet"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},") "),Object(m.b)("span",{parentName:"span",className:"mtk12"},"+")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"("),Object(m.b)("span",{parentName:"span",className:"mtk4"},"import"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"prometheus.jsonnet"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},") "),Object(m.b)("span",{parentName:"span",className:"mtk12"},"+")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk7"},"_config::"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"grafana:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"port:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"3000"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"name:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"grafana"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"prometheus:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"port:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"9090"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"name:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"prometheus"')),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," }")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," }")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"}")))),Object(m.b)("blockquote",null,Object(m.b)("p",{parentName:"blockquote"},Object(m.b)("strong",{parentName:"p"},"Clarification"),":",Object(m.b)("br",{parentName:"p"}),"\n","It might seem odd at first sight, that this code works, because\n",Object(m.b)("inlineCode",{parentName:"p"},"grafana.jsonnet")," still refers to the root object using ",Object(m.b)("inlineCode",{parentName:"p"},"$"),", even\nthough it is outside of the file's scope.",Object(m.b)("br",{parentName:"p"}),"\n","However, Jsonnet is lazy-evaluated which means that the contents of\n",Object(m.b)("inlineCode",{parentName:"p"},"grafana.jsonnet")," are ",Object(m.b)("strong",{parentName:"p"},'first "copied"')," into ",Object(m.b)("inlineCode",{parentName:"p"},"main.jsonnet")," (the root\nobject) and ",Object(m.b)("strong",{parentName:"p"},"then evaluated"),". This means the above code actually consists of\nall three objects joined to one big object, which is then converted to JSON.")),Object(m.b)("h2",{id:"helper-utilities"},"Helper utilities"),Object(m.b)("p",null,"While ",Object(m.b)("inlineCode",{parentName:"p"},"main.jsonnet")," is now short and very readable, the other two files are not\nreally an improvement over regular yaml, mostly because they are still full of\nboilerplate."),Object(m.b)("p",null,"Let's use functions to create some useful helpers to reduce the amount of\nrepetition. For that, we create a new file called ",Object(m.b)("inlineCode",{parentName:"p"},"kubernetes.libsonnet"),", which\nwill hold our Kubernetes utilities."),Object(m.b)("blockquote",null,Object(m.b)("p",{parentName:"blockquote"},Object(m.b)("strong",{parentName:"p"},"Note"),": The extension for Jsonnet libraries is ",Object(m.b)("inlineCode",{parentName:"p"},".libsonnet"),". While you do\nnot have to use it, it distinguishes helper code from actual configuration.")),Object(m.b)("h3",{id:"a-deployment-constructor"},"A Deployment constructor"),Object(m.b)("p",null,"Creating a ",Object(m.b)("inlineCode",{parentName:"p"},"Deployment")," requires some mandatory information and a lot of\nboilerplate. A function that creates one could look like this:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"jsonnet"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// hidden k namespace for this library")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk7"},"k::"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"deployment:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk9"},"new"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"(name, containers)"),Object(m.b)("span",{parentName:"span",className:"mtk12"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"apiVersion:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"apps/v1"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"kind:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"Deployment"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"metadata:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"name:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," name,")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"spec:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"selector:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," { "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"matchLabels:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"name:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," name,")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," }},")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"template:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"metadata:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," { "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"labels:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"name:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," name,")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," }},")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"spec:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," { "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"containers:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," containers }")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," }")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," }")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," }")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," }")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," }")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"}")))),Object(m.b)("p",null,"Invoking this function will substitute all the variables with the respective\npassed function parameters and return the assembled object."),Object(m.b)("p",null,"To use it, just add it to the root object in ",Object(m.b)("inlineCode",{parentName:"p"},"main.jsonnet"),":"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"jsonnet"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," ("),Object(m.b)("span",{parentName:"span",className:"mtk4"},"import"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"kubernetes.libsonnet"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},") "),Object(m.b)("span",{parentName:"span",className:"mtk12"},"+"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// this line adds it")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," ("),Object(m.b)("span",{parentName:"span",className:"mtk4"},"import"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"grafana.jsonnet"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},") "),Object(m.b)("span",{parentName:"span",className:"mtk12"},"+")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," ("),Object(m.b)("span",{parentName:"span",className:"mtk4"},"import"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"prometheus.jsonnet"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},") "),Object(m.b)("span",{parentName:"span",className:"mtk12"},"+")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," { "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"/* ... */"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," }")))),Object(m.b)("p",null,"Let's simplify our ",Object(m.b)("inlineCode",{parentName:"p"},"grafana.jsonnet")," a bit:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"jsonnet"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"grafana:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"deployment:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"$"),Object(m.b)("span",{parentName:"span",className:"mtk1"},".k.deployment."),Object(m.b)("span",{parentName:"span",className:"mtk9"},"new"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"("),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"grafana"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},", [{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," image: "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'grafana/grafana'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," name: "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'grafana'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," ports: [{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," containerPort: "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"3000"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," name: "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'ui'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," }],")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," }]),")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"service:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"apiVersion:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'v1'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"kind:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'Service'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"metadata:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"labels:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"name:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'grafana'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"name:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'grafana'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"spec:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"ports:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," [{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"name:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'grafana-ui'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"port:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"3000"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"targetPort:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"3000"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," }],")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"selector:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"name:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'grafana'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"type:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'NodePort'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," }")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"}")))),Object(m.b)("p",null,"This drastically simplified the creation of the ",Object(m.b)("inlineCode",{parentName:"p"},"Deployment"),", because we do not\nneed to remember how exactly a ",Object(m.b)("inlineCode",{parentName:"p"},"Deployment")," is structured anymore. Just call use\nour helper and you are good to go."),Object(m.b)("blockquote",null,Object(m.b)("p",{parentName:"blockquote"},Object(m.b)("strong",{parentName:"p"},"Task"),": Now try adding a constructor for a ",Object(m.b)("inlineCode",{parentName:"p"},"Service")," to\n",Object(m.b)("inlineCode",{parentName:"p"},"kubernetes.libsonnet")," and use both helpers to recreate the other objects as\nwell.")),Object(m.b)(c.a,{prev:"/tutorial/parameters",next:"/tutorial/k-lib",mdxType:"TutorialButtons"}),Object(m.b)("style",{className:"vscode-highlight-styles"},"\n \n .material-theme-darker {\nbackground-color: #212121;\ncolor: #EEFFFF;\n}\n\n.material-theme-darker .mtk1 { color: #FFFFFF; }\n.material-theme-darker .mtk2 { color: #212121; }\n.material-theme-darker .mtk3 { color: #545454; }\n.material-theme-darker .mtk4 { color: #F78C6C; }\n.material-theme-darker .mtk5 { color: #89DDFF; }\n.material-theme-darker .mtk6 { color: #C3E88D; }\n.material-theme-darker .mtk7 { color: #FFCB6B; }\n.material-theme-darker .mtk8 { color: #EEFFFF; }\n.material-theme-darker .mtk9 { color: #82AAFF; }\n.material-theme-darker .mtk10 { color: #FF5370; }\n.material-theme-darker .mtk11 { color: #F07178; }\n.material-theme-darker .mtk12 { color: #C792EA; }\n.material-theme-darker .mtk13 { color: #EEFFFF90; }\n.material-theme-darker .mtk14 { color: #65737E; }\n.material-theme-darker .mtk15 { color: #B2CCD6; }\n.material-theme-darker .mtk16 { color: #C17E70; }\n.material-theme-darker .mtki { font-style: italic; }\n.material-theme-darker .mtkb { font-weight: bold; }\n.material-theme-darker .mtku { text-decoration: underline; text-underline-position: under; }\n"))}void 0!==i&&i&&i===Object(i)&&Object.isExtensible(i)&&!Object.prototype.hasOwnProperty.call(i,"__filemeta")&&Object.defineProperty(i,"__filemeta",{configurable:!0,value:{name:"MDXContent",filename:"docs/tutorial/abstraction.mdx"}}),i.isMDXComponent=!0}}]); -//# sourceMappingURL=component---docs-tutorial-abstraction-mdx-b97edf44038784f040f4.js.map \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-tutorial-abstraction-mdx-b97edf44038784f040f4.js.map b/pr-preview/pr-991/component---docs-tutorial-abstraction-mdx-b97edf44038784f040f4.js.map deleted file mode 100644 index 2cf5acde2..000000000 --- a/pr-preview/pr-991/component---docs-tutorial-abstraction-mdx-b97edf44038784f040f4.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./docs/tutorial/abstraction.mdx"],"names":["_frontmatter","Object","isExtensible","prototype","hasOwnProperty","call","defineProperty","configurable","value","name","filename","layoutProps","MDXLayout","DefaultLayout","MDXContent","_ref","components","props","_objectWithoutProperties","_excluded","mdx","_extends","mdxType","parentName","TutorialButtons","prev","next","isMDXComponent"],"mappings":"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","file":"component---docs-tutorial-abstraction-mdx-b97edf44038784f040f4.js","sourcesContent":["import * as React from 'react'\n /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsxRuntime classic */\n/* @jsx mdx */\nimport DefaultLayout from \"/home/runner/work/tanka/tanka/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nimport TutorialButtons from \"./TutorialButtons\";\nexport const _frontmatter = {};\nconst layoutProps = {\n _frontmatter\n};\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n components,\n ...props\n}) {\n return \n\n\n

      {`Abstraction`}

      \n

      {`While we won't need to touch the resource definitions directly that frequently\nanymore now that we have the `}{`_config`}{` object for our tunables, the\n`}{`main.jsonnet`}{` file is still very long and hard to read. Especially because of\nall the brackets, it's even worse than yaml at the moment.`}

      \n

      {`Splitting it up`}

      \n

      {`Let's start cleaning this up by separating logical pieces into distinct files:`}

      \n
        \n
      • {`main.jsonnet`}{`: Still our main file, containing the `}{`_config`}{` object and importing the other files`}
      • \n
      • {`grafana.jsonnet`}{`: `}{`Deployment`}{` and `}{`Service`}{` for the Grafana instance`}
      • \n
      • {`prometheus.jsonnet`}{`: `}{`Deployment`}{` and `}{`Service`}{` for the Prometheus server`}
      • \n
      \n
      {`/environments/default/grafana.jsonnet`}
      \n
      {`{`}{`\n`}{`  `}{`// DO NOT use the root level here.`}{`\n`}{`  `}{`// Include the grafana subkey, otherwise $ won't work.`}{`\n`}{`  `}{`grafana:`}{` {`}{`\n`}{`    `}{`deployment:`}{` {`}{`\n`}{`      `}{`apiVersion:`}{` `}{`'apps/v1'`}{`,`}{`\n`}{`      `}{`kind:`}{` `}{`'Deployment'`}{`,`}{`\n`}{`      `}{`metadata:`}{` {`}{`\n`}{`        `}{`name:`}{` `}{`$`}{`._config.grafana.name,`}{`\n`}{`      },`}{`\n`}{`      `}{`spec:`}{` {`}{`\n`}{`        `}{`selector:`}{` {`}{`\n`}{`          `}{`matchLabels:`}{` {`}{`\n`}{`            `}{`name:`}{` `}{`$`}{`._config.grafana.name,`}{`\n`}{`          },`}{`\n`}{`        },`}{`\n`}{`        `}{`template:`}{` {`}{`\n`}{`          `}{`metadata:`}{` {`}{`\n`}{`            `}{`labels:`}{` {`}{`\n`}{`              `}{`name:`}{` `}{`$`}{`._config.grafana.name,`}{`\n`}{`            },`}{`\n`}{`          },`}{`\n`}{`          `}{`spec:`}{` {`}{`\n`}{`            `}{`containers:`}{` [`}{`\n`}{`              {`}{`\n`}{`                `}{`image:`}{` `}{`'grafana/grafana'`}{`,`}{`\n`}{`                `}{`name:`}{` `}{`$`}{`._config.grafana.name,`}{`\n`}{`                `}{`ports:`}{` [{`}{`\n`}{`                    `}{`containerPort:`}{` `}{`$`}{`._config.grafana.port,`}{`\n`}{`                    `}{`name:`}{` `}{`'ui'`}{`,`}{`\n`}{`                }],`}{`\n`}{`              },`}{`\n`}{`            ],`}{`\n`}{`          },`}{`\n`}{`        },`}{`\n`}{`      },`}{`\n`}{`    },`}{`\n`}{`    `}{`service:`}{` {`}{`\n`}{`      `}{`apiVersion:`}{` `}{`'v1'`}{`,`}{`\n`}{`      `}{`kind:`}{` `}{`'Service'`}{`,`}{`\n`}{`      `}{`metadata:`}{` {`}{`\n`}{`        `}{`labels:`}{` {`}{`\n`}{`          `}{`name:`}{` `}{`$`}{`._config.grafana.name,`}{`\n`}{`        },`}{`\n`}{`        `}{`name:`}{` `}{`$`}{`._config.grafana.name,`}{`\n`}{`      },`}{`\n`}{`      `}{`spec:`}{` {`}{`\n`}{`        `}{`ports:`}{` [{`}{`\n`}{`            `}{`name:`}{` `}{`'%s-ui'`}{` `}{`%`}{` `}{`$`}{`._config.grafana.name,`}{`\n`}{`            `}{`port:`}{` `}{`$`}{`._config.grafana.port,`}{`\n`}{`            `}{`targetPort:`}{` `}{`$`}{`._config.grafana.port,`}{`\n`}{`        }],`}{`\n`}{`        `}{`selector:`}{` {`}{`\n`}{`          `}{`name:`}{` `}{`$`}{`._config.grafana.name,`}{`\n`}{`        },`}{`\n`}{`        `}{`type:`}{` `}{`'NodePort'`}{`,`}{`\n`}{`      },`}{`\n`}{`    },`}{`\n`}{`  }`}{`\n`}{`}`}
      \n

      {`The file should contain just the same that was located under the `}{`grafana`}{` key\non the root object before. Do the same for `}{`/environments/default/prometheus.jsonnet`}{` as well.`}

      \n
      {`/environments/default/main.jsonnet`}
      \n
      {`// Think of \\`import\\` as copy-pasting the contents`}{`\n`}{`// of ./grafana.jsonnet here`}{`\n`}{`(`}{`import`}{` `}{`\"grafana.jsonnet\"`}{`) `}{`+`}{`\n`}{`(`}{`import`}{` `}{`\"prometheus.jsonnet\"`}{`) `}{`+`}{`\n`}{`{`}{`\n`}{`  `}{`_config::`}{` {`}{`\n`}{`    `}{`grafana:`}{` {`}{`\n`}{`      `}{`port:`}{` `}{`3000`}{`,`}{`\n`}{`      `}{`name:`}{` `}{`\"grafana\"`}{`,`}{`\n`}{`    },`}{`\n`}{`    `}{`prometheus:`}{` {`}{`\n`}{`      `}{`port:`}{` `}{`9090`}{`,`}{`\n`}{`      `}{`name:`}{` `}{`\"prometheus\"`}{`\n`}{`    }`}{`\n`}{`  }`}{`\n`}{`}`}
      \n
      \n

      {`Clarification`}{`:`}

      {`\n`}{`It might seem odd at first sight, that this code works, because\n`}{`grafana.jsonnet`}{` still refers to the root object using `}{`$`}{`, even\nthough it is outside of the file's scope.`}

      {`\n`}{`However, Jsonnet is lazy-evaluated which means that the contents of\n`}{`grafana.jsonnet`}{` are `}{`first \"copied\"`}{` into `}{`main.jsonnet`}{` (the root\nobject) and `}{`then evaluated`}{`. This means the above code actually consists of\nall three objects joined to one big object, which is then converted to JSON.`}

      \n
      \n

      {`Helper utilities`}

      \n

      {`While `}{`main.jsonnet`}{` is now short and very readable, the other two files are not\nreally an improvement over regular yaml, mostly because they are still full of\nboilerplate.`}

      \n

      {`Let's use functions to create some useful helpers to reduce the amount of\nrepetition. For that, we create a new file called `}{`kubernetes.libsonnet`}{`, which\nwill hold our Kubernetes utilities.`}

      \n
      \n

      {`Note`}{`: The extension for Jsonnet libraries is `}{`.libsonnet`}{`. While you do\nnot have to use it, it distinguishes helper code from actual configuration.`}

      \n
      \n

      {`A Deployment constructor`}

      \n

      {`Creating a `}{`Deployment`}{` requires some mandatory information and a lot of\nboilerplate. A function that creates one could look like this:`}

      \n
      {`{`}{`\n`}{`  `}{`// hidden k namespace for this library`}{`\n`}{`  `}{`k::`}{` {`}{`\n`}{`    `}{`deployment:`}{` {`}{`\n`}{`      `}{`new`}{`(name, containers)`}{`:`}{` {`}{`\n`}{`        `}{`apiVersion:`}{` `}{`\"apps/v1\"`}{`,`}{`\n`}{`        `}{`kind:`}{` `}{`\"Deployment\"`}{`,`}{`\n`}{`        `}{`metadata:`}{` {`}{`\n`}{`          `}{`name:`}{` name,`}{`\n`}{`        },`}{`\n`}{`        `}{`spec:`}{` {`}{`\n`}{`          `}{`selector:`}{` { `}{`matchLabels:`}{` {`}{`\n`}{`            `}{`name:`}{` name,`}{`\n`}{`          }},`}{`\n`}{`          `}{`template:`}{` {`}{`\n`}{`            `}{`metadata:`}{` { `}{`labels:`}{` {`}{`\n`}{`              `}{`name:`}{` name,`}{`\n`}{`            }},`}{`\n`}{`            `}{`spec:`}{` { `}{`containers:`}{` containers }`}{`\n`}{`          }`}{`\n`}{`        }`}{`\n`}{`      }`}{`\n`}{`    }`}{`\n`}{`  }`}{`\n`}{`}`}
      \n

      {`Invoking this function will substitute all the variables with the respective\npassed function parameters and return the assembled object.`}

      \n

      {`To use it, just add it to the root object in `}{`main.jsonnet`}{`:`}

      \n
      {`  (`}{`import`}{` `}{`\"kubernetes.libsonnet\"`}{`) `}{`+`}{` `}{`// this line adds it`}{`\n`}{`  (`}{`import`}{` `}{`\"grafana.jsonnet\"`}{`) `}{`+`}{`\n`}{`  (`}{`import`}{` `}{`\"prometheus.jsonnet\"`}{`) `}{`+`}{`\n`}{`  { `}{`/* ... */`}{` }`}
      \n

      {`Let's simplify our `}{`grafana.jsonnet`}{` a bit:`}

      \n
      {`{`}{`\n`}{`  `}{`grafana:`}{` {`}{`\n`}{`    `}{`deployment:`}{` `}{`$`}{`.k.deployment.`}{`new`}{`(`}{`\"grafana\"`}{`, [{`}{`\n`}{`      image: `}{`'grafana/grafana'`}{`,`}{`\n`}{`      name: `}{`'grafana'`}{`,`}{`\n`}{`      ports: [{`}{`\n`}{`          containerPort: `}{`3000`}{`,`}{`\n`}{`          name: `}{`'ui'`}{`,`}{`\n`}{`      }],`}{`\n`}{`    }]),`}{`\n`}{`    `}{`service:`}{` {`}{`\n`}{`      `}{`apiVersion:`}{` `}{`'v1'`}{`,`}{`\n`}{`      `}{`kind:`}{` `}{`'Service'`}{`,`}{`\n`}{`      `}{`metadata:`}{` {`}{`\n`}{`        `}{`labels:`}{` {`}{`\n`}{`          `}{`name:`}{` `}{`'grafana'`}{`,`}{`\n`}{`        },`}{`\n`}{`        `}{`name:`}{` `}{`'grafana'`}{`,`}{`\n`}{`      },`}{`\n`}{`      `}{`spec:`}{` {`}{`\n`}{`        `}{`ports:`}{` [{`}{`\n`}{`            `}{`name:`}{` `}{`'grafana-ui'`}{`,`}{`\n`}{`            `}{`port:`}{` `}{`3000`}{`,`}{`\n`}{`            `}{`targetPort:`}{` `}{`3000`}{`,`}{`\n`}{`        }],`}{`\n`}{`        `}{`selector:`}{` {`}{`\n`}{`          `}{`name:`}{` `}{`'grafana'`}{`,`}{`\n`}{`        },`}{`\n`}{`        `}{`type:`}{` `}{`'NodePort'`}{`,`}{`\n`}{`      },`}{`\n`}{`    },`}{`\n`}{`  }`}{`\n`}{`}`}
      \n

      {`This drastically simplified the creation of the `}{`Deployment`}{`, because we do not\nneed to remember how exactly a `}{`Deployment`}{` is structured anymore. Just call use\nour helper and you are good to go.`}

      \n
      \n

      {`Task`}{`: Now try adding a constructor for a `}{`Service`}{` to\n`}{`kubernetes.libsonnet`}{` and use both helpers to recreate the other objects as\nwell.`}

      \n
      \n\n \n\n \n
      ;\n}\n;\nMDXContent.isMDXComponent = true;\n "],"sourceRoot":""} \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-tutorial-environments-mdx-b932dda633298bd4750f.js b/pr-preview/pr-991/component---docs-tutorial-environments-mdx-b932dda633298bd4750f.js deleted file mode 100644 index 01b1cffae..000000000 --- a/pr-preview/pr-991/component---docs-tutorial-environments-mdx-b932dda633298bd4750f.js +++ /dev/null @@ -1,2 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[29],{RnbX:function(a,e,s){"use strict";s.r(e),s.d(e,"_frontmatter",(function(){return l})),s.d(e,"default",(function(){return i}));var n=s("wx14"),t=s("Ff2n"),m=(s("q1tI"),s("7ljp")),p=s("hhGP"),c=s("Z+0r");s("qKvR");const b=["components"],l={};void 0!==l&&l&&l===Object(l)&&Object.isExtensible(l)&&!Object.prototype.hasOwnProperty.call(l,"__filemeta")&&Object.defineProperty(l,"__filemeta",{configurable:!0,value:{name:"_frontmatter",filename:"docs/tutorial/environments.mdx"}});const N={_frontmatter:l},r=p.a;function i(a){let{components:e}=a,s=Object(t.a)(a,b);return Object(m.b)(r,Object(n.a)({},N,s,{components:e,mdxType:"MDXLayout"}),Object(m.b)("h1",{id:"environments"},"Environments"),Object(m.b)("p",null,"At this point, our configuration is already flexible and concise, but not\nreally reusable. Let's take a look at Tanka's third buzzword as well: ",Object(m.b)("strong",{parentName:"p"},"Environments"),"."),Object(m.b)("p",null,"These days, the same piece of software is usually deployed many times inside a\nsingle organization. This could be ",Object(m.b)("inlineCode",{parentName:"p"},"dev"),", ",Object(m.b)("inlineCode",{parentName:"p"},"testing")," and ",Object(m.b)("inlineCode",{parentName:"p"},"prod")," environments, but\nalso regions (",Object(m.b)("inlineCode",{parentName:"p"},"europe"),", ",Object(m.b)("inlineCode",{parentName:"p"},"us"),", ",Object(m.b)("inlineCode",{parentName:"p"},"asia"),") or individual customers (",Object(m.b)("inlineCode",{parentName:"p"},"foo-corp"),",\n",Object(m.b)("inlineCode",{parentName:"p"},"bar-gmbh"),", ",Object(m.b)("inlineCode",{parentName:"p"},"baz-inc"),")."),Object(m.b)("p",null,"Most of the application however is exactly the same across those environments ...\nusually only configuration, scaling or small details are different after all.\nYAML (and thus ",Object(m.b)("inlineCode",{parentName:"p"},"kubectl"),") provides us only one solution here: Duplicating the\ndirectory, changing the details, maintaining both. But what if you have 32\nenvironments? Correct! Then you have to maintain 32 directories of YAML. And we can all\nimagine the nightmare of these files drifting apart from each other."),Object(m.b)("p",null,"But again, ",Object(m.b)("strong",{parentName:"p"},"Jsonnet can be the solution"),": By extracting the actual objects\ninto a library, you can import them in as many environments as you need!"),Object(m.b)("h2",{id:"creating-a-library"},"Creating a library"),Object(m.b)("p",null,"A library is nothing special, just a folder of ",Object(m.b)("inlineCode",{parentName:"p"},".libsonnet")," files somewhere in the import paths:"),Object(m.b)("table",null,Object(m.b)("thead",{parentName:"table"},Object(m.b)("tr",{parentName:"thead"},Object(m.b)("th",{parentName:"tr",align:null},"Path"),Object(m.b)("th",{parentName:"tr",align:null},"Description"))),Object(m.b)("tbody",{parentName:"table"},Object(m.b)("tr",{parentName:"tbody"},Object(m.b)("td",{parentName:"tr",align:null},Object(m.b)("inlineCode",{parentName:"td"},"/lib")),Object(m.b)("td",{parentName:"tr",align:null},"Custom, user-created libraries only for this project.")),Object(m.b)("tr",{parentName:"tbody"},Object(m.b)("td",{parentName:"tr",align:null},Object(m.b)("inlineCode",{parentName:"td"},"/vendor")),Object(m.b)("td",{parentName:"tr",align:null},"External libraries installed using Jsonnet-bundler")))),Object(m.b)("p",null,"So for our purpose ",Object(m.b)("inlineCode",{parentName:"p"},"/lib")," fits best, as we are only creating it for our current\nproject. Let's set one up:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"bash"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"/$ mkdir lib/prom-grafana "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"# a folder for our prom-grafana library")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"/$ "),Object(m.b)("span",{parentName:"span",className:"mtk9"},"cd"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," lib/prom-grafana")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"})),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"/lib/prom-grafana$ touch prom-grafana.libsonnet "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"# library file that will be imported")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"/lib/prom-grafana$ touch config.libsonnet "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"# _config and images")))),Object(m.b)("h5",{id:"configlibsonnet"},"config.libsonnet"),Object(m.b)("p",null,"For documentation purposes it is handy to have a separate file for parameters and used images:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"jsonnet"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// +:: is important (we don't want to override the")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// _config object, just add to it)")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk7"},"_config+::"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// define a namespace for this library")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"promgrafana:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"grafana:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"port:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"3000"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"name:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"grafana"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"prometheus:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"port:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"9090"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"name:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"prometheus"')),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," }")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," }")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"})),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// again, make sure to use +::")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk7"},"_images+::"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"promgrafana:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"grafana:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"grafana/grafana"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"prometheus:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"prom/prometheus"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," }")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," }")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"}")))),Object(m.b)("h5",{id:"prom-grafanalibsonnet"},"prom-grafana.libsonnet"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"jsonnet"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk4"},"local"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," k "),Object(m.b)("span",{parentName:"span",className:"mtk12"},"="),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"import"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"ksonnet-util/kausal.libsonnet"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},";")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"})),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"("),Object(m.b)("span",{parentName:"span",className:"mtk4"},"import"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"./config.libsonnet"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},") "),Object(m.b)("span",{parentName:"span",className:"mtk12"},"+")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"local"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," deployment "),Object(m.b)("span",{parentName:"span",className:"mtk12"},"="),Object(m.b)("span",{parentName:"span",className:"mtk1"}," k.apps.v1.deployment,")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"local"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," container "),Object(m.b)("span",{parentName:"span",className:"mtk12"},"="),Object(m.b)("span",{parentName:"span",className:"mtk1"}," k.core.v1.container,")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"local"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," port "),Object(m.b)("span",{parentName:"span",className:"mtk12"},"="),Object(m.b)("span",{parentName:"span",className:"mtk1"}," k.core.v1.containerPort,")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"local"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," service "),Object(m.b)("span",{parentName:"span",className:"mtk12"},"="),Object(m.b)("span",{parentName:"span",className:"mtk1"}," k.core.v1.service,")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"})),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// alias our params, too long to type every time")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"local"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," c "),Object(m.b)("span",{parentName:"span",className:"mtk12"},"="),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"$"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"._config.promgrafana,")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"})),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"promgrafana:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"prometheus:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"deployment:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," deployment."),Object(m.b)("span",{parentName:"span",className:"mtk9"},"new"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"(")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," name=c.prometheus.name, replicas="),Object(m.b)("span",{parentName:"span",className:"mtk4"},"1"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," containers=[")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," container."),Object(m.b)("span",{parentName:"span",className:"mtk9"},"new"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"(c.prometheus.name, $._images.promgrafana.prometheus)")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," + container."),Object(m.b)("span",{parentName:"span",className:"mtk9"},"withPorts"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"([port."),Object(m.b)("span",{parentName:"span",className:"mtk9"},"new"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"("),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"api"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},", c.prometheus.port)]),")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," ],")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," ),")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"service:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," k.util."),Object(m.b)("span",{parentName:"span",className:"mtk9"},"serviceFor"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"(self.deployment),")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"})),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"grafana:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"deployment:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," deployment."),Object(m.b)("span",{parentName:"span",className:"mtk9"},"new"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"(")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," name=c.grafana.name, replicas="),Object(m.b)("span",{parentName:"span",className:"mtk4"},"1"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," containers=[")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," container."),Object(m.b)("span",{parentName:"span",className:"mtk9"},"new"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"(c.grafana.name, $._images.promgrafana.grafana)")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," + container."),Object(m.b)("span",{parentName:"span",className:"mtk9"},"withPorts"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"([port."),Object(m.b)("span",{parentName:"span",className:"mtk9"},"new"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"("),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"ui"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},", c.grafana.port)]),")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," ],")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," ),")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"service:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," ")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," k.util."),Object(m.b)("span",{parentName:"span",className:"mtk9"},"serviceFor"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"(self.deployment)")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk12"},"+"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," service.mixin.spec."),Object(m.b)("span",{parentName:"span",className:"mtk9"},"withType"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"("),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"NodePort"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},"),")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," }")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"}")))),Object(m.b)("h2",{id:"dev-and-prod"},"Dev and Prod"),Object(m.b)("p",null,"So far we have only used the ",Object(m.b)("inlineCode",{parentName:"p"},"environments/default")," environment. Let's create some real ones:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"bash"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"/$ tk env add environments/prom-grafana/dev --namespace=prom-grafana-dev "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"# one for dev ...")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"/$ tk env add environments/prom-grafana/prod --namespace=prom-grafana-prod "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"# and one for prod")))),Object(m.b)("blockquote",null,Object(m.b)("p",{parentName:"blockquote"},Object(m.b)("strong",{parentName:"p"},"Note"),": Remember to set up the cluster's IP in the respective ",Object(m.b)("inlineCode",{parentName:"p"},"spec.json"),"!")),Object(m.b)("p",null,"All that's left now is importing the library and configuring it. For ",Object(m.b)("inlineCode",{parentName:"p"},"dev"),", the defaults defined in ",Object(m.b)("inlineCode",{parentName:"p"},"/lib/prom-grafana/config.libsonnet")," should be sufficient, so we do not override anything:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"jsonnet"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// environments/prom-grafana/dev")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk4"},"import"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"prom-grafana/prom-grafana.libsonnet"')))),Object(m.b)("p",null,"For ",Object(m.b)("inlineCode",{parentName:"p"},"prod")," however, it is a bad idea to rely on ",Object(m.b)("inlineCode",{parentName:"p"},"latest")," for the images .. let's\nadd some proper tags:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"jsonnet"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// environments/prom-grafana/prod")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"("),Object(m.b)("span",{parentName:"span",className:"mtk4"},"import"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"prom-grafana/prom-grafana.libsonnet"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},") "),Object(m.b)("span",{parentName:"span",className:"mtk12"},"+")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// again, we only want to patch, not replace, thus +::")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk7"},"_images+::"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// we update this one entirely, so we can replace this one (:)")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"promgrafana:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"prometheus:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"prom/prometheus:v2.14"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"grafana:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"grafana/grafana:6.5.2"')),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," }")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," }")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"}")))),Object(m.b)("h2",{id:"patching"},"Patching"),Object(m.b)("p",null,"The above works well for libraries we control ourselves, but what when another\nteam wrote the library, it was installed using ",Object(m.b)("inlineCode",{parentName:"p"},"jb")," from GitHub or you can't\nchange it easily?"),Object(m.b)("p",null,"Here comes the already familiar ",Object(m.b)("inlineCode",{parentName:"p"},"+:")," (or ",Object(m.b)("inlineCode",{parentName:"p"},"+::"),") syntax into play. It allows to\n",Object(m.b)("strong",{parentName:"p"},"partially")," override values of an object. Let's say we wanted to add some labels to the Prometheus ",Object(m.b)("inlineCode",{parentName:"p"},"Deployment"),", but our ",Object(m.b)("inlineCode",{parentName:"p"},"_config")," params don't allow us to. We can still do this in our ",Object(m.b)("inlineCode",{parentName:"p"},"main.jsonnet"),":"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"jsonnet"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"("),Object(m.b)("span",{parentName:"span",className:"mtk4"},"import"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"prom-grafana/prom-grafana.libsonnet"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},") "),Object(m.b)("span",{parentName:"span",className:"mtk12"},"+")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"promgrafana+:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"prometheus+:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"deployment+:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"metadata+:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"labels+:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"foo:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"bar"')),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," }")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," }")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," }")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," }")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," }")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"}")))),Object(m.b)("p",null,"By using the ",Object(m.b)("inlineCode",{parentName:"p"},"+:")," operator all the time and only ",Object(m.b)("inlineCode",{parentName:"p"},'foo: "bar"'),' uses "',Object(m.b)("inlineCode",{parentName:"p"},":"),'", we only\noverride the value of ',Object(m.b)("inlineCode",{parentName:"p"},'"foo"'),", while leaving the rest of the object like it was."),Object(m.b)("p",null,"Let's check it worked:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"yaml"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk6"},"$ tk show environments/prom-grafana/patched -t deployment/prometheus")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"apiVersion"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"apps/v1")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"kind"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"Deployment")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"metadata"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"labels"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"foo"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"bar"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"# <- There it is!")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"prometheus")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"namespace"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"default")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"spec"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"minReadySeconds"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"10")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"replicas"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"1")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"revisionHistoryLimit"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"10")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"selector"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"matchLabels"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"prometheus")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"template"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"metadata"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"labels"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"prometheus")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"spec"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"containers"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"-"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"image"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"prom/prometheus")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"imagePullPolicy"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"IfNotPresent")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"prometheus")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"ports"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"-"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"containerPort"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"9090")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"api")))),Object(m.b)(c.a,{prev:"/tutorial/k-lib",mdxType:"TutorialButtons"}),Object(m.b)("style",{className:"vscode-highlight-styles"},"\n \n .material-theme-darker {\nbackground-color: #212121;\ncolor: #EEFFFF;\n}\n\n.material-theme-darker .mtk1 { color: #FFFFFF; }\n.material-theme-darker .mtk2 { color: #212121; }\n.material-theme-darker .mtk3 { color: #545454; }\n.material-theme-darker .mtk4 { color: #F78C6C; }\n.material-theme-darker .mtk5 { color: #89DDFF; }\n.material-theme-darker .mtk6 { color: #C3E88D; }\n.material-theme-darker .mtk7 { color: #FFCB6B; }\n.material-theme-darker .mtk8 { color: #EEFFFF; }\n.material-theme-darker .mtk9 { color: #82AAFF; }\n.material-theme-darker .mtk10 { color: #FF5370; }\n.material-theme-darker .mtk11 { color: #F07178; }\n.material-theme-darker .mtk12 { color: #C792EA; }\n.material-theme-darker .mtk13 { color: #EEFFFF90; }\n.material-theme-darker .mtk14 { color: #65737E; }\n.material-theme-darker .mtk15 { color: #B2CCD6; }\n.material-theme-darker .mtk16 { color: #C17E70; }\n.material-theme-darker .mtki { font-style: italic; }\n.material-theme-darker .mtkb { font-weight: bold; }\n.material-theme-darker .mtku { text-decoration: underline; text-underline-position: under; }\n"))}void 0!==i&&i&&i===Object(i)&&Object.isExtensible(i)&&!Object.prototype.hasOwnProperty.call(i,"__filemeta")&&Object.defineProperty(i,"__filemeta",{configurable:!0,value:{name:"MDXContent",filename:"docs/tutorial/environments.mdx"}}),i.isMDXComponent=!0}}]); -//# sourceMappingURL=component---docs-tutorial-environments-mdx-b932dda633298bd4750f.js.map \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-tutorial-environments-mdx-b932dda633298bd4750f.js.map b/pr-preview/pr-991/component---docs-tutorial-environments-mdx-b932dda633298bd4750f.js.map deleted file mode 100644 index 2c7cab416..000000000 --- a/pr-preview/pr-991/component---docs-tutorial-environments-mdx-b932dda633298bd4750f.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./docs/tutorial/environments.mdx"],"names":["_frontmatter","Object","isExtensible","prototype","hasOwnProperty","call","defineProperty","configurable","value","name","filename","layoutProps","MDXLayout","DefaultLayout","MDXContent","_ref","components","props","_objectWithoutProperties","_excluded","mdx","_extends","mdxType","parentName","TutorialButtons","prev","isMDXComponent"],"mappings":"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","file":"component---docs-tutorial-environments-mdx-b932dda633298bd4750f.js","sourcesContent":["import * as React from 'react'\n /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsxRuntime classic */\n/* @jsx mdx */\nimport DefaultLayout from \"/home/runner/work/tanka/tanka/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nimport TutorialButtons from \"./TutorialButtons\";\nexport const _frontmatter = {};\nconst layoutProps = {\n _frontmatter\n};\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n components,\n ...props\n}) {\n return \n\n\n

      {`Environments`}

      \n

      {`At this point, our configuration is already flexible and concise, but not\nreally reusable. Let's take a look at Tanka's third buzzword as well: `}{`Environments`}{`.`}

      \n

      {`These days, the same piece of software is usually deployed many times inside a\nsingle organization. This could be `}{`dev`}{`, `}{`testing`}{` and `}{`prod`}{` environments, but\nalso regions (`}{`europe`}{`, `}{`us`}{`, `}{`asia`}{`) or individual customers (`}{`foo-corp`}{`,\n`}{`bar-gmbh`}{`, `}{`baz-inc`}{`).`}

      \n

      {`Most of the application however is exactly the same across those environments ...\nusually only configuration, scaling or small details are different after all.\nYAML (and thus `}{`kubectl`}{`) provides us only one solution here: Duplicating the\ndirectory, changing the details, maintaining both. But what if you have 32\nenvironments? Correct! Then you have to maintain 32 directories of YAML. And we can all\nimagine the nightmare of these files drifting apart from each other.`}

      \n

      {`But again, `}{`Jsonnet can be the solution`}{`: By extracting the actual objects\ninto a library, you can import them in as many environments as you need!`}

      \n

      {`Creating a library`}

      \n

      {`A library is nothing special, just a folder of `}{`.libsonnet`}{` files somewhere in the import paths:`}

      \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
      {`Path`}{`Description`}
      {`/lib`}{`Custom, user-created libraries only for this project.`}
      {`/vendor`}{`External libraries installed using Jsonnet-bundler`}
      \n

      {`So for our purpose `}{`/lib`}{` fits best, as we are only creating it for our current\nproject. Let's set one up:`}

      \n
      {`/$ mkdir lib/prom-grafana `}{`# a folder for our prom-grafana library`}{`\n`}{`/$ `}{`cd`}{` lib/prom-grafana`}{`\n`}{`\n`}{`/lib/prom-grafana$ touch prom-grafana.libsonnet `}{`# library file that will be imported`}{`\n`}{`/lib/prom-grafana$ touch config.libsonnet `}{`# _config and images`}
      \n
      {`config.libsonnet`}
      \n

      {`For documentation purposes it is handy to have a separate file for parameters and used images:`}

      \n
      {`{`}{`\n`}{`  `}{`// +:: is important (we don't want to override the`}{`\n`}{`  `}{`// _config object, just add to it)`}{`\n`}{`  `}{`_config+::`}{` {`}{`\n`}{`    `}{`// define a namespace for this library`}{`\n`}{`    `}{`promgrafana:`}{` {`}{`\n`}{`      `}{`grafana:`}{` {`}{`\n`}{`        `}{`port:`}{` `}{`3000`}{`,`}{`\n`}{`        `}{`name:`}{` `}{`\"grafana\"`}{`,`}{`\n`}{`      },`}{`\n`}{`      `}{`prometheus:`}{` {`}{`\n`}{`        `}{`port:`}{` `}{`9090`}{`,`}{`\n`}{`        `}{`name:`}{` `}{`\"prometheus\"`}{`\n`}{`      }`}{`\n`}{`    }`}{`\n`}{`  },`}{`\n`}{`\n`}{`  `}{`// again, make sure to use +::`}{`\n`}{`  `}{`_images+::`}{` {`}{`\n`}{`    `}{`promgrafana:`}{` {`}{`\n`}{`      `}{`grafana:`}{` `}{`\"grafana/grafana\"`}{`,`}{`\n`}{`      `}{`prometheus:`}{` `}{`\"prom/prometheus\"`}{`,`}{`\n`}{`    }`}{`\n`}{`  }`}{`\n`}{`}`}
      \n
      {`prom-grafana.libsonnet`}
      \n
      {`local`}{` k `}{`=`}{` `}{`import`}{` `}{`\"ksonnet-util/kausal.libsonnet\"`}{`;`}{`\n`}{`\n`}{`(`}{`import`}{` `}{`\"./config.libsonnet\"`}{`) `}{`+`}{`\n`}{`{`}{`\n`}{`  `}{`local`}{` deployment `}{`=`}{` k.apps.v1.deployment,`}{`\n`}{`  `}{`local`}{` container `}{`=`}{` k.core.v1.container,`}{`\n`}{`  `}{`local`}{` port `}{`=`}{` k.core.v1.containerPort,`}{`\n`}{`  `}{`local`}{` service `}{`=`}{` k.core.v1.service,`}{`\n`}{`\n`}{`  `}{`// alias our params, too long to type every time`}{`\n`}{`  `}{`local`}{` c `}{`=`}{` `}{`$`}{`._config.promgrafana,`}{`\n`}{`\n`}{`  `}{`promgrafana:`}{` {`}{`\n`}{`    `}{`prometheus:`}{` {`}{`\n`}{`      `}{`deployment:`}{` deployment.`}{`new`}{`(`}{`\n`}{`        name=c.prometheus.name, replicas=`}{`1`}{`,`}{`\n`}{`        containers=[`}{`\n`}{`          container.`}{`new`}{`(c.prometheus.name, $._images.promgrafana.prometheus)`}{`\n`}{`          + container.`}{`withPorts`}{`([port.`}{`new`}{`(`}{`\"api\"`}{`, c.prometheus.port)]),`}{`\n`}{`        ],`}{`\n`}{`      ),`}{`\n`}{`      `}{`service:`}{` k.util.`}{`serviceFor`}{`(self.deployment),`}{`\n`}{`    },`}{`\n`}{`\n`}{`    `}{`grafana:`}{` {`}{`\n`}{`      `}{`deployment:`}{` deployment.`}{`new`}{`(`}{`\n`}{`        name=c.grafana.name, replicas=`}{`1`}{`,`}{`\n`}{`        containers=[`}{`\n`}{`          container.`}{`new`}{`(c.grafana.name, $._images.promgrafana.grafana)`}{`\n`}{`          + container.`}{`withPorts`}{`([port.`}{`new`}{`(`}{`\"ui\"`}{`, c.grafana.port)]),`}{`\n`}{`        ],`}{`\n`}{`      ),`}{`\n`}{`      `}{`service:`}{` `}{`\n`}{`        k.util.`}{`serviceFor`}{`(self.deployment)`}{`\n`}{`        `}{`+`}{` service.mixin.spec.`}{`withType`}{`(`}{`\"NodePort\"`}{`),`}{`\n`}{`    },`}{`\n`}{`  }`}{`\n`}{`}`}
      \n

      {`Dev and Prod`}

      \n

      {`So far we have only used the `}{`environments/default`}{` environment. Let's create some real ones:`}

      \n
      {`/$ tk env add environments/prom-grafana/dev --namespace=prom-grafana-dev `}{`# one for dev ...`}{`\n`}{`/$ tk env add environments/prom-grafana/prod --namespace=prom-grafana-prod `}{`# and one for prod`}
      \n
      \n

      {`Note`}{`: Remember to set up the cluster's IP in the respective `}{`spec.json`}{`!`}

      \n
      \n

      {`All that's left now is importing the library and configuring it. For `}{`dev`}{`, the defaults defined in `}{`/lib/prom-grafana/config.libsonnet`}{` should be sufficient, so we do not override anything:`}

      \n
      {`// environments/prom-grafana/dev`}{`\n`}{`import`}{` `}{`\"prom-grafana/prom-grafana.libsonnet\"`}
      \n

      {`For `}{`prod`}{` however, it is a bad idea to rely on `}{`latest`}{` for the images .. let's\nadd some proper tags:`}

      \n
      {`// environments/prom-grafana/prod`}{`\n`}{`(`}{`import`}{` `}{`\"prom-grafana/prom-grafana.libsonnet\"`}{`) `}{`+`}{`\n`}{`{`}{`\n`}{`  `}{`// again, we only want to patch, not replace, thus +::`}{`\n`}{`  `}{`_images+::`}{` {`}{`\n`}{`    `}{`// we update this one entirely, so we can replace this one (:)`}{`\n`}{`    `}{`promgrafana:`}{` {`}{`\n`}{`      `}{`prometheus:`}{` `}{`\"prom/prometheus:v2.14\"`}{`,`}{`\n`}{`      `}{`grafana:`}{` `}{`\"grafana/grafana:6.5.2\"`}{`\n`}{`    }`}{`\n`}{`  }`}{`\n`}{`}`}
      \n

      {`Patching`}

      \n

      {`The above works well for libraries we control ourselves, but what when another\nteam wrote the library, it was installed using `}{`jb`}{` from GitHub or you can't\nchange it easily?`}

      \n

      {`Here comes the already familiar `}{`+:`}{` (or `}{`+::`}{`) syntax into play. It allows to\n`}{`partially`}{` override values of an object. Let's say we wanted to add some labels to the Prometheus `}{`Deployment`}{`, but our `}{`_config`}{` params don't allow us to. We can still do this in our `}{`main.jsonnet`}{`:`}

      \n
      {`(`}{`import`}{` `}{`\"prom-grafana/prom-grafana.libsonnet\"`}{`) `}{`+`}{`\n`}{`{`}{`\n`}{`  `}{`promgrafana+:`}{` {`}{`\n`}{`    `}{`prometheus+:`}{` {`}{`\n`}{`      `}{`deployment+:`}{` {`}{`\n`}{`        `}{`metadata+:`}{` {`}{`\n`}{`          `}{`labels+:`}{` {`}{`\n`}{`            `}{`foo:`}{` `}{`\"bar\"`}{`\n`}{`          }`}{`\n`}{`        }`}{`\n`}{`      }`}{`\n`}{`    }`}{`\n`}{`  }`}{`\n`}{`}`}
      \n

      {`By using the `}{`+:`}{` operator all the time and only `}{`foo: \"bar\"`}{` uses \"`}{`:`}{`\", we only\noverride the value of `}{`\"foo\"`}{`, while leaving the rest of the object like it was.`}

      \n

      {`Let's check it worked:`}

      \n
      {`$ tk show environments/prom-grafana/patched -t deployment/prometheus`}{`\n`}{`apiVersion`}{`:`}{` `}{`apps/v1`}{`\n`}{`kind`}{`:`}{` `}{`Deployment`}{`\n`}{`metadata`}{`:`}{`\n`}{`  `}{`labels`}{`:`}{`\n`}{`    `}{`foo`}{`:`}{` `}{`bar`}{` `}{`# <- There it is!`}{`\n`}{`  `}{`name`}{`:`}{` `}{`prometheus`}{`\n`}{`  `}{`namespace`}{`:`}{` `}{`default`}{`\n`}{`spec`}{`:`}{`\n`}{`  `}{`minReadySeconds`}{`:`}{` `}{`10`}{`\n`}{`  `}{`replicas`}{`:`}{` `}{`1`}{`\n`}{`  `}{`revisionHistoryLimit`}{`:`}{` `}{`10`}{`\n`}{`  `}{`selector`}{`:`}{`\n`}{`    `}{`matchLabels`}{`:`}{`\n`}{`      `}{`name`}{`:`}{` `}{`prometheus`}{`\n`}{`  `}{`template`}{`:`}{`\n`}{`    `}{`metadata`}{`:`}{`\n`}{`      `}{`labels`}{`:`}{`\n`}{`        `}{`name`}{`:`}{` `}{`prometheus`}{`\n`}{`    `}{`spec`}{`:`}{`\n`}{`      `}{`containers`}{`:`}{`\n`}{`      `}{`-`}{` `}{`image`}{`:`}{` `}{`prom/prometheus`}{`\n`}{`        `}{`imagePullPolicy`}{`:`}{` `}{`IfNotPresent`}{`\n`}{`        `}{`name`}{`:`}{` `}{`prometheus`}{`\n`}{`        `}{`ports`}{`:`}{`\n`}{`        `}{`-`}{` `}{`containerPort`}{`:`}{` `}{`9090`}{`\n`}{`          `}{`name`}{`:`}{` `}{`api`}
      \n\n \n\n \n
      ;\n}\n;\nMDXContent.isMDXComponent = true;\n "],"sourceRoot":""} \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-tutorial-jsonnet-mdx-2ddf63fe5f9271eb619f.js b/pr-preview/pr-991/component---docs-tutorial-jsonnet-mdx-2ddf63fe5f9271eb619f.js deleted file mode 100644 index afb603d6a..000000000 --- a/pr-preview/pr-991/component---docs-tutorial-jsonnet-mdx-2ddf63fe5f9271eb619f.js +++ /dev/null @@ -1,2 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[30],{H1MS:function(a,e,s){"use strict";s.r(e),s.d(e,"_frontmatter",(function(){return l})),s.d(e,"default",(function(){return i}));var n=s("wx14"),t=s("Ff2n"),m=(s("q1tI"),s("7ljp")),p=s("hhGP"),c=s("Z+0r");s("qKvR");const b=["components"],l={};void 0!==l&&l&&l===Object(l)&&Object.isExtensible(l)&&!Object.prototype.hasOwnProperty.call(l,"__filemeta")&&Object.defineProperty(l,"__filemeta",{configurable:!0,value:{name:"_frontmatter",filename:"docs/tutorial/jsonnet.mdx"}});const N={_frontmatter:l},r=p.a;function i(a){let{components:e}=a,s=Object(t.a)(a,b);return Object(m.b)(r,Object(n.a)({},N,s,{components:e,mdxType:"MDXLayout"}),Object(m.b)("h1",{id:"using-jsonnet"},"Using Jsonnet"),Object(m.b)("p",null,"The most powerful piece of Tanka is the ",Object(m.b)("a",{parentName:"p",href:"https://jsonnet.org"},"Jsonnet data templating\nlanguage"),". Jsonnet is a superset of JSON, adding variables,\nfunctions, patching (deep merging), arithmetic, conditionals and many more to\nit."),Object(m.b)("p",null,"It has a lot in common with more ",Object(m.b)("em",{parentName:"p"},"real")," programming languages such as JavaScript\nthan with markup languages, still it is tailored specifically to representing\ndata and configuration. As opposed to JSON (and YAML) it is a language meant for\nhumans, not for computers."),Object(m.b)("h2",{id:"creating-a-new-project"},"Creating a new project"),Object(m.b)("p",null,"To get started with Tanka and Jsonnet, let's initiate a new project, in which we will install both Prometheus and Grafana into our Kubernetes cluster:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"bash"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"$ mkdir prom-grafana "),Object(m.b)("span",{parentName:"span",className:"mtk12"},"&&"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk9"},"cd"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," prom-grafana "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"# create a new folder for the project and change to it")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"$ tk init "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"# initiate a new project")))),Object(m.b)("p",null,"This gives us the following directory structure:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"sh"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"├── environments")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"│   └── default "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"# default environment")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"│   ├── main.jsonnet "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"# main file (important!)")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"│   └── spec.json "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"# environment's config")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"├── jsonnetfile.json")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"├── lib "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"# libraries")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"└── vendor "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"# external libraries")))),Object(m.b)("p",null,"For the moment, we only really care about the ",Object(m.b)("inlineCode",{parentName:"p"},"environments/default")," folder. The\npurpose of the other directories will be explained later in this guide (mostly\nrelated to libraries)."),Object(m.b)("h2",{id:"environments"},"Environments"),Object(m.b)("p",null,"When using Tanka, you apply ",Object(m.b)("strong",{parentName:"p"},"configuration")," for an ",Object(m.b)("strong",{parentName:"p"},"Environment")," to a\nKubernetes ",Object(m.b)("strong",{parentName:"p"},"cluster"),". An Environment is some logical group of pieces that form\nan application stack."),Object(m.b)("p",null,Object(m.b)("a",{parentName:"p",href:"https://grafana.com"},"Grafana Labs")," for example runs ",Object(m.b)("a",{parentName:"p",href:"https://grafana.com/oss/loki/"},"Loki"),",\n",Object(m.b)("a",{parentName:"p",href:"https://cortexmetrics.io"},"Cortex")," and of course\n",Object(m.b)("a",{parentName:"p",href:"https://grafana.com/grafana/"},"Grafana")," for our ",Object(m.b)("a",{parentName:"p",href:"https://grafana.com/products/cloud/"},"Grafana\nCloud")," hosted offering. For each of these, we have a\nseparate environment. Furthermore, we like to see changes to our code in\nseparate ",Object(m.b)("inlineCode",{parentName:"p"},"dev")," setups to make sure they are all good for production usage – so\nwe have ",Object(m.b)("inlineCode",{parentName:"p"},"dev")," and ",Object(m.b)("inlineCode",{parentName:"p"},"prod")," environments for each app as well, as ",Object(m.b)("inlineCode",{parentName:"p"},"prod"),"\nenvironments usually require other configuration (secrets, scale, etc) than\n",Object(m.b)("inlineCode",{parentName:"p"},"dev"),". This roughly leaves us with the following:"),Object(m.b)("table",null,Object(m.b)("thead",{parentName:"table"},Object(m.b)("tr",{parentName:"thead"},Object(m.b)("th",{parentName:"tr",align:null}),Object(m.b)("th",{parentName:"tr",align:null},"Loki"),Object(m.b)("th",{parentName:"tr",align:null},"Cortex"),Object(m.b)("th",{parentName:"tr",align:null},"Grafana"))),Object(m.b)("tbody",{parentName:"table"},Object(m.b)("tr",{parentName:"tbody"},Object(m.b)("td",{parentName:"tr",align:null},Object(m.b)("inlineCode",{parentName:"td"},"prod")),Object(m.b)("td",{parentName:"tr",align:null},"Name: ",Object(m.b)("inlineCode",{parentName:"td"},"/environments/loki/prod")," ",Object(m.b)("br",null)," Namespace: ",Object(m.b)("inlineCode",{parentName:"td"},"loki-prod")),Object(m.b)("td",{parentName:"tr",align:null},"Name: ",Object(m.b)("inlineCode",{parentName:"td"},"/environments/cortex/prod")," ",Object(m.b)("br",null)," Namespace: ",Object(m.b)("inlineCode",{parentName:"td"},"cortex-prod")),Object(m.b)("td",{parentName:"tr",align:null},"Name: ",Object(m.b)("inlineCode",{parentName:"td"},"/environments/grafana/prod")," ",Object(m.b)("br",null)," Namespace: ",Object(m.b)("inlineCode",{parentName:"td"},"grafana-prod"))),Object(m.b)("tr",{parentName:"tbody"},Object(m.b)("td",{parentName:"tr",align:null},Object(m.b)("inlineCode",{parentName:"td"},"dev")),Object(m.b)("td",{parentName:"tr",align:null},"Name: ",Object(m.b)("inlineCode",{parentName:"td"},"/environments/loki/dev")," ",Object(m.b)("br",null)," Namespace: ",Object(m.b)("inlineCode",{parentName:"td"},"loki-dev")),Object(m.b)("td",{parentName:"tr",align:null},"Name: ",Object(m.b)("inlineCode",{parentName:"td"},"/environments/cortex/dev")," ",Object(m.b)("br",null)," Namespace: ",Object(m.b)("inlineCode",{parentName:"td"},"cortex-dev")),Object(m.b)("td",{parentName:"tr",align:null},"Name: ",Object(m.b)("inlineCode",{parentName:"td"},"/environments/grafana/dev")," ",Object(m.b)("br",null)," Namespace: ",Object(m.b)("inlineCode",{parentName:"td"},"grafana-dev"))))),Object(m.b)("p",null,"There is no limit in Environment complexity, create as many as you need to model\nyour own requirements. Grafana Labs for example also has all of these multiplied per\nhigh-availability region."),Object(m.b)("p",null,"To get started, a single environment is enough. Lets use the automatically\ncreated ",Object(m.b)("inlineCode",{parentName:"p"},"environnments/default")," for that."),Object(m.b)("h2",{id:"defining-resources"},"Defining Resources"),Object(m.b)("p",null,"While ",Object(m.b)("inlineCode",{parentName:"p"},"kubectl")," loads all ",Object(m.b)("inlineCode",{parentName:"p"},".yaml")," files in a certain folder, Tanka has a single\nfile that serves as the canonical source for all contents of an environment,\ncalled ",Object(m.b)("inlineCode",{parentName:"p"},"main.jsonnet"),". This is just like Go has the ",Object(m.b)("inlineCode",{parentName:"p"},"main.go")," or C++ the\n",Object(m.b)("inlineCode",{parentName:"p"},"main.cpp"),"."),Object(m.b)("p",null,"Similar to JSON, each ",Object(m.b)("inlineCode",{parentName:"p"},".jsonnet")," file holds a single object. The one returned by\n",Object(m.b)("inlineCode",{parentName:"p"},"main.jsonnet")," will hold all of your Kubernetes resources:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"jsonnet"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// main.jsonnet")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"some_deployment"'),Object(m.b)("span",{parentName:"span",className:"mtk12"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," { "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"/* ... */"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"some_service"'),Object(m.b)("span",{parentName:"span",className:"mtk12"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," { "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"/* ... */"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," }")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"}")))),Object(m.b)("p",null,"They may be deeply nested, Tanka extracts everything that looks like a\nKubernetes resource automatically."),Object(m.b)("p",null,"So let's rewrite the ",Object(m.b)("a",{parentName:"p",href:"/pr-preview/pr-991/tutorial/refresher#writing-the-yaml"},"previous ",Object(m.b)("inlineCode",{parentName:"a"},".yaml"))," to\nvery basic ",Object(m.b)("inlineCode",{parentName:"p"},".jsonnet"),":"),Object(m.b)("h5",{id:"environmentsdefaultmainjsonnet"},"environments/default/main.jsonnet:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"jsonnet"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// Grafana")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"grafana:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"deployment:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"apiVersion:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'apps/v1'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"kind:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'Deployment'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"metadata:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"name:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'grafana'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"spec:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"selector:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"matchLabels:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"name:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'grafana'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"template:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"metadata:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"labels:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"name:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'grafana'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"spec:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"containers:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," [")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"image:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'grafana/grafana'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"name:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'grafana'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"ports:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," [{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"containerPort:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"3000"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"name:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'ui'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," }],")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," ],")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"service:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"apiVersion:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'v1'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"kind:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'Service'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"metadata:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"labels:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"name:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'grafana'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"name:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'grafana'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"spec:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"ports:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," [{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"name:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'grafana-ui'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"port:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"3000"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"targetPort:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"3000"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," }],")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"selector:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"name:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'grafana'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"type:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'NodePort'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"})),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// Prometheus")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"prometheus:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"deployment:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"apiVersion:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'apps/v1'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"kind:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'Deployment'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"metadata:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"name:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'prometheus'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"spec:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"minReadySeconds:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"10"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"replicas:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"1"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"revisionHistoryLimit:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"10"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"selector:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"matchLabels:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"name:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'prometheus'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"template:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"metadata:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"labels:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"name:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'prometheus'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"spec:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"containers:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," [")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"image:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'prom/prometheus'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"imagePullPolicy:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'IfNotPresent'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"name:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'prometheus'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"ports:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," [")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"containerPort:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"9090"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"name:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'api'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," ],")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," ],")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"service:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"apiVersion:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'v1'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"kind:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'Service'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"metadata:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"labels:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"name:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'prometheus'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"name:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'prometheus'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"spec:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"ports:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," [")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"name:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'prometheus-api'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"port:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"9090"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"targetPort:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"9090"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," ],")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"selector:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"name:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"'prometheus'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"}")))),Object(m.b)("p",null,"At the moment, this is even more verbose because we have effectively converted\nYAML to JSON, which requires more characters by design."),Object(m.b)("p",null,"But Jsonnet opens up enough possibilities to improve this a lot, which will be\ncovered in the next sections."),Object(m.b)("h2",{id:"taking-a-look-at-the-generated-resources"},"Taking a look at the generated resources"),Object(m.b)("p",null,"So far so good, but can we make sure Tanka correctly finds our resources? We\ncan! By running ",Object(m.b)("inlineCode",{parentName:"p"},"tk show")," you can see the good old yaml, just as ",Object(m.b)("inlineCode",{parentName:"p"},"kubectl"),"\nreceives it:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"yaml"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"# run from the project root:")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk6"},"/prom-grafana$ tk show environments/default")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"apiVersion"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"apps/v1")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"kind"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"Deployment")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"metadata"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"grafana")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"spec"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"selector"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"# ...")))),Object(m.b)("p",null,"Spend some time here and try to identify resources from the output in the\n",Object(m.b)("inlineCode",{parentName:"p"},".jsonnet")," source."),Object(m.b)("blockquote",null,Object(m.b)("p",{parentName:"blockquote"},Object(m.b)("strong",{parentName:"p"},"Bonus:")," There is also ",Object(m.b)("inlineCode",{parentName:"p"},"tk eval"),", which displays the raw JSON object\n",Object(m.b)("inlineCode",{parentName:"p"},"main.jsonnet")," evaluates to. Tanka won't extract resources or mutate the structure\nhere, so you can verify how your Jsonnet works.")),Object(m.b)("h2",{id:"connecting-to-the-cluster"},"Connecting to the cluster"),Object(m.b)("p",null,"The YAML looks as expected? Let's apply it to the cluster. To do so, Tanka needs\nsome additional configuration."),Object(m.b)("p",null,"While ",Object(m.b)("inlineCode",{parentName:"p"},"kubectl")," uses a ",Object(m.b)("inlineCode",{parentName:"p"},"$KUBECONFIG")," environment variable and a file in the home\ndirectory to store the currently selected cluster, Tanka takes a more explicit\napproach:"),Object(m.b)("p",null,"Each environment has a file called ",Object(m.b)("inlineCode",{parentName:"p"},"spec.json"),", which includes the information\nto select a cluster:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"js"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk6"},"apiVersion"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},": "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk6"},"tanka.dev/v1alpha1"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk6"},"kind"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},": "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk6"},"Environment"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk6"},"metadata"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},": "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk6"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk6"},"default"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"')),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"},")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk6"},"spec"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},": "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk6"},"apiServer"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk6"},"https://127.0.0.1:6443"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},","),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// cluster to use")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk6"},"namespace"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk6"},"monitoring"),Object(m.b)("span",{parentName:"span",className:"mtk5"},'"'),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// default namespace for all created resources")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"}")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"}")))),Object(m.b)("p",null,"You still have to setup a cluster in ",Object(m.b)("inlineCode",{parentName:"p"},"$KUBECONFIG")," that matches this IP – Tanka\nwill automatically find and use it. This also means that all of your ",Object(m.b)("inlineCode",{parentName:"p"},"kubectl"),"\nclusters just work."),Object(m.b)("p",null,"This allows us to make sure that you will never accidentally apply to the wrong\ncluster."),Object(m.b)("blockquote",null,Object(m.b)("p",{parentName:"blockquote"},Object(m.b)("strong",{parentName:"p"},"Note"),": Tanka won't create the namespace for you -- you need to include it in\nJsonnet by adding it to ",Object(m.b)("inlineCode",{parentName:"p"},"environments/default/main.jsonnet"),":"),Object(m.b)("pre",{parentName:"blockquote",className:"material-theme-darker vscode-highlight","data-language":"jsonnet"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"my_namespace:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"apiVersion:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"v1"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"kind:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"Namespace"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"metadata:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"name:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"monitoring"')),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," }")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," }")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"}")))),Object(m.b)("p",{parentName:"blockquote"},"Alternatively, you can create the namespace manually:"),Object(m.b)("pre",{parentName:"blockquote",className:"material-theme-darker vscode-highlight","data-language":"bash"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"$ kubectl create ns monitoring")))),Object(m.b)("p",{parentName:"blockquote"},"This, however, will create an object that is not tracked by Tanka\nand thus needs to be taken care of via other means.")),Object(m.b)("h2",{id:"verifying-the-changes"},"Verifying the changes"),Object(m.b)("p",null,"Before applying to the cluster, Tanka gives you a chance to check that your\nchanges actually behave as expected: ",Object(m.b)("inlineCode",{parentName:"p"},"tk diff")," works just like ",Object(m.b)("inlineCode",{parentName:"p"},"git diff")," – you\nsee what will be changed."),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"diff"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"/prom-grafana$ tk diff environments/default")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"---"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," /tmp/LIVE-610130621/apps.v1.Deployment.monitoring.grafana 2019-12-17 20:14:45.213363586 +0100")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"+++"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," /tmp/MERGED-517481208/apps.v1.Deployment.monitoring.grafana 2019-12-17 20:14:45.213363586 +0100")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"@@"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," -0,0 +1,45 "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"@@")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"+"),Object(m.b)("span",{parentName:"span",className:"mtk6"},"apiVersion: apps/v1")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"+"),Object(m.b)("span",{parentName:"span",className:"mtk6"},"kind: Deployment")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"+"),Object(m.b)("span",{parentName:"span",className:"mtk6"},"metadata:")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"+"),Object(m.b)("span",{parentName:"span",className:"mtk6"}," name: grafana")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"+"),Object(m.b)("span",{parentName:"span",className:"mtk6"}," namespace: monitoring")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"+"),Object(m.b)("span",{parentName:"span",className:"mtk6"}," # ...")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"+"),Object(m.b)("span",{parentName:"span",className:"mtk6"},"spec:")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"+"),Object(m.b)("span",{parentName:"span",className:"mtk6"}," selector:")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"+"),Object(m.b)("span",{parentName:"span",className:"mtk6"}," matchLabels:")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"+"),Object(m.b)("span",{parentName:"span",className:"mtk6"}," name: grafana")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"+"),Object(m.b)("span",{parentName:"span",className:"mtk6"}," strategy:")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"+"),Object(m.b)("span",{parentName:"span",className:"mtk6"}," rollingUpdate:")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"+"),Object(m.b)("span",{parentName:"span",className:"mtk6"}," maxSurge: 25%")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"+"),Object(m.b)("span",{parentName:"span",className:"mtk6"}," maxUnavailable: 25%")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"+"),Object(m.b)("span",{parentName:"span",className:"mtk6"}," type: RollingUpdate")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"+"),Object(m.b)("span",{parentName:"span",className:"mtk6"}," template:")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"+"),Object(m.b)("span",{parentName:"span",className:"mtk6"}," metadata:")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"+"),Object(m.b)("span",{parentName:"span",className:"mtk6"}," creationTimestamp: null")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"+"),Object(m.b)("span",{parentName:"span",className:"mtk6"}," labels:")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"+"),Object(m.b)("span",{parentName:"span",className:"mtk6"}," name: grafana")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"+"),Object(m.b)("span",{parentName:"span",className:"mtk6"}," spec:")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"+"),Object(m.b)("span",{parentName:"span",className:"mtk6"}," containers:")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"+"),Object(m.b)("span",{parentName:"span",className:"mtk6"}," - image: grafana/grafana")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"+"),Object(m.b)("span",{parentName:"span",className:"mtk6"}," imagePullPolicy: IfNotPresent")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"+"),Object(m.b)("span",{parentName:"span",className:"mtk6"}," # ...")))),Object(m.b)("p",null,"As you can see, it shows everything as to-be created .. just as we'd expect,\nsince we are using a blank namespace."),Object(m.b)("blockquote",null,Object(m.b)("p",{parentName:"blockquote"},Object(m.b)("strong",{parentName:"p"},"Note"),": Diff may fail before the first apply when the namespace does not yet\nexist. This is a limitation of ",Object(m.b)("inlineCode",{parentName:"p"},"kubectl")," which is used for computing the\ndifferences.")),Object(m.b)("h2",{id:"applying-to-the-cluster"},"Applying to the cluster"),Object(m.b)("p",null,"Once it's all looking good, ",Object(m.b)("inlineCode",{parentName:"p"},"tk apply")," serves the exact same purpose as ",Object(m.b)("inlineCode",{parentName:"p"},"kubectl apply"),":"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"bash"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"/prom-grafana$ tk apply environments/default")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"Applying to namespace "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"'"),Object(m.b)("span",{parentName:"span",className:"mtk6"},"monitoring"),Object(m.b)("span",{parentName:"span",className:"mtk5"},"'"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," of cluster "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"'"),Object(m.b)("span",{parentName:"span",className:"mtk6"},"default"),Object(m.b)("span",{parentName:"span",className:"mtk5"},"'"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," at "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"'"),Object(m.b)("span",{parentName:"span",className:"mtk6"},"https://127.0.0.1:6443"),Object(m.b)("span",{parentName:"span",className:"mtk5"},"'"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," using context "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"'"),Object(m.b)("span",{parentName:"span",className:"mtk6"},"default"),Object(m.b)("span",{parentName:"span",className:"mtk5"},"'"),Object(m.b)("span",{parentName:"span",className:"mtk1"},".")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"Please "),Object(m.b)("span",{parentName:"span",className:"mtk9"},"type"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"'"),Object(m.b)("span",{parentName:"span",className:"mtk6"},"yes"),Object(m.b)("span",{parentName:"span",className:"mtk5"},"'"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," to confirm: yes")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"deployment.apps/grafana created")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"deployment.apps/prometheus created")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"service/grafana created")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"service/prometheus created")))),Object(m.b)("p",null,"It shows you the diff first and the chosen cluster once more and requires\ninteractive approval (type ",Object(m.b)("inlineCode",{parentName:"p"},"yes"),")."),Object(m.b)("p",null,"After that, ",Object(m.b)("inlineCode",{parentName:"p"},"kubectl")," is used to apply to the cluster. By ",Object(m.b)("strong",{parentName:"p"},"piping to\n",Object(m.b)("inlineCode",{parentName:"strong"},"kubectl"))," Tanka makes sure it ",Object(m.b)("strong",{parentName:"p"},"behaves exactly")," as you would expect it. No\nedge-cases of differing Kubernetes client implementations should ever occur."),Object(m.b)("h2",{id:"checking-it-worked"},"Checking it worked"),Object(m.b)("p",null,"Again, let's connect to Grafana:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"bash"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"$ kubectl port-forward --namespace=monitoring deployments/grafana 8080:3000")))),Object(m.b)("p",null,"And go to http://localhost:8080 for Grafana's UI."),Object(m.b)(c.a,{prev:"/tutorial/refresher",next:"/tutorial/parameters",mdxType:"TutorialButtons"}),Object(m.b)("style",{className:"vscode-highlight-styles"},"\n \n .material-theme-darker {\nbackground-color: #212121;\ncolor: #EEFFFF;\n}\n\n.material-theme-darker .mtk1 { color: #FFFFFF; }\n.material-theme-darker .mtk2 { color: #212121; }\n.material-theme-darker .mtk3 { color: #545454; }\n.material-theme-darker .mtk4 { color: #F78C6C; }\n.material-theme-darker .mtk5 { color: #89DDFF; }\n.material-theme-darker .mtk6 { color: #C3E88D; }\n.material-theme-darker .mtk7 { color: #FFCB6B; }\n.material-theme-darker .mtk8 { color: #EEFFFF; }\n.material-theme-darker .mtk9 { color: #82AAFF; }\n.material-theme-darker .mtk10 { color: #FF5370; }\n.material-theme-darker .mtk11 { color: #F07178; }\n.material-theme-darker .mtk12 { color: #C792EA; }\n.material-theme-darker .mtk13 { color: #EEFFFF90; }\n.material-theme-darker .mtk14 { color: #65737E; }\n.material-theme-darker .mtk15 { color: #B2CCD6; }\n.material-theme-darker .mtk16 { color: #C17E70; }\n.material-theme-darker .mtki { font-style: italic; }\n.material-theme-darker .mtkb { font-weight: bold; }\n.material-theme-darker .mtku { text-decoration: underline; text-underline-position: under; }\n"))}void 0!==i&&i&&i===Object(i)&&Object.isExtensible(i)&&!Object.prototype.hasOwnProperty.call(i,"__filemeta")&&Object.defineProperty(i,"__filemeta",{configurable:!0,value:{name:"MDXContent",filename:"docs/tutorial/jsonnet.mdx"}}),i.isMDXComponent=!0}}]); -//# sourceMappingURL=component---docs-tutorial-jsonnet-mdx-2ddf63fe5f9271eb619f.js.map \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-tutorial-jsonnet-mdx-2ddf63fe5f9271eb619f.js.map b/pr-preview/pr-991/component---docs-tutorial-jsonnet-mdx-2ddf63fe5f9271eb619f.js.map deleted file mode 100644 index c79722543..000000000 --- a/pr-preview/pr-991/component---docs-tutorial-jsonnet-mdx-2ddf63fe5f9271eb619f.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./docs/tutorial/jsonnet.mdx"],"names":["_frontmatter","Object","isExtensible","prototype","hasOwnProperty","call","defineProperty","configurable","value","name","filename","layoutProps","MDXLayout","DefaultLayout","MDXContent","_ref","components","props","_objectWithoutProperties","_excluded","mdx","_extends","mdxType","parentName","TutorialButtons","prev","next","isMDXComponent"],"mappings":"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","file":"component---docs-tutorial-jsonnet-mdx-2ddf63fe5f9271eb619f.js","sourcesContent":["import * as React from 'react'\n /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsxRuntime classic */\n/* @jsx mdx */\nimport DefaultLayout from \"/home/runner/work/tanka/tanka/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nimport TutorialButtons from \"./TutorialButtons\";\nexport const _frontmatter = {};\nconst layoutProps = {\n _frontmatter\n};\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n components,\n ...props\n}) {\n return \n\n\n

      {`Using Jsonnet`}

      \n

      {`The most powerful piece of Tanka is the `}{`Jsonnet data templating\nlanguage`}{`. Jsonnet is a superset of JSON, adding variables,\nfunctions, patching (deep merging), arithmetic, conditionals and many more to\nit.`}

      \n

      {`It has a lot in common with more `}{`real`}{` programming languages such as JavaScript\nthan with markup languages, still it is tailored specifically to representing\ndata and configuration. As opposed to JSON (and YAML) it is a language meant for\nhumans, not for computers.`}

      \n

      {`Creating a new project`}

      \n

      {`To get started with Tanka and Jsonnet, let's initiate a new project, in which we will install both Prometheus and Grafana into our Kubernetes cluster:`}

      \n
      {`$ mkdir prom-grafana `}{`&&`}{` `}{`cd`}{` prom-grafana `}{`# create a new folder for the project and change to it`}{`\n`}{`$ tk init `}{`# initiate a new project`}
      \n

      {`This gives us the following directory structure:`}

      \n
      {`├── environments`}{`\n`}{`│   └── default `}{`# default environment`}{`\n`}{`│       ├── main.jsonnet `}{`# main file (important!)`}{`\n`}{`│       └── spec.json `}{`# environment's config`}{`\n`}{`├── jsonnetfile.json`}{`\n`}{`├── lib `}{`# libraries`}{`\n`}{`└── vendor `}{`# external libraries`}
      \n

      {`For the moment, we only really care about the `}{`environments/default`}{` folder. The\npurpose of the other directories will be explained later in this guide (mostly\nrelated to libraries).`}

      \n

      {`Environments`}

      \n

      {`When using Tanka, you apply `}{`configuration`}{` for an `}{`Environment`}{` to a\nKubernetes `}{`cluster`}{`. An Environment is some logical group of pieces that form\nan application stack.`}

      \n

      {`Grafana Labs`}{` for example runs `}{`Loki`}{`,\n`}{`Cortex`}{` and of course\n`}{`Grafana`}{` for our `}{`Grafana\nCloud`}{` hosted offering. For each of these, we have a\nseparate environment. Furthermore, we like to see changes to our code in\nseparate `}{`dev`}{` setups to make sure they are all good for production usage – so\nwe have `}{`dev`}{` and `}{`prod`}{` environments for each app as well, as `}{`prod`}{`\nenvironments usually require other configuration (secrets, scale, etc) than\n`}{`dev`}{`. This roughly leaves us with the following:`}

      \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
      {`Loki`}{`Cortex`}{`Grafana`}
      {`prod`}{`Name: `}{`/environments/loki/prod`}{` `}
      {` Namespace: `}{`loki-prod`}
      {`Name: `}{`/environments/cortex/prod`}{` `}
      {` Namespace: `}{`cortex-prod`}
      {`Name: `}{`/environments/grafana/prod`}{` `}
      {` Namespace: `}{`grafana-prod`}
      {`dev`}{`Name: `}{`/environments/loki/dev`}{` `}
      {` Namespace: `}{`loki-dev`}
      {`Name: `}{`/environments/cortex/dev`}{` `}
      {` Namespace: `}{`cortex-dev`}
      {`Name: `}{`/environments/grafana/dev`}{` `}
      {` Namespace: `}{`grafana-dev`}
      \n

      {`There is no limit in Environment complexity, create as many as you need to model\nyour own requirements. Grafana Labs for example also has all of these multiplied per\nhigh-availability region.`}

      \n

      {`To get started, a single environment is enough. Lets use the automatically\ncreated `}{`environnments/default`}{` for that.`}

      \n

      {`Defining Resources`}

      \n

      {`While `}{`kubectl`}{` loads all `}{`.yaml`}{` files in a certain folder, Tanka has a single\nfile that serves as the canonical source for all contents of an environment,\ncalled `}{`main.jsonnet`}{`. This is just like Go has the `}{`main.go`}{` or C++ the\n`}{`main.cpp`}{`.`}

      \n

      {`Similar to JSON, each `}{`.jsonnet`}{` file holds a single object. The one returned by\n`}{`main.jsonnet`}{` will hold all of your Kubernetes resources:`}

      \n
      {`// main.jsonnet`}{`\n`}{`{`}{`\n`}{`    `}{`\"some_deployment\"`}{`:`}{` { `}{`/* ... */`}{` },`}{`\n`}{`    `}{`\"some_service\"`}{`:`}{` { `}{`/* ... */`}{` }`}{`\n`}{`}`}
      \n

      {`They may be deeply nested, Tanka extracts everything that looks like a\nKubernetes resource automatically.`}

      \n

      {`So let's rewrite the `}{`previous `}{`.yaml`}{` to\nvery basic `}{`.jsonnet`}{`:`}

      \n
      {`environments/default/main.jsonnet:`}
      \n
      {`{`}{`\n`}{`  `}{`// Grafana`}{`\n`}{`  `}{`grafana:`}{` {`}{`\n`}{`    `}{`deployment:`}{` {`}{`\n`}{`      `}{`apiVersion:`}{` `}{`'apps/v1'`}{`,`}{`\n`}{`      `}{`kind:`}{` `}{`'Deployment'`}{`,`}{`\n`}{`      `}{`metadata:`}{` {`}{`\n`}{`        `}{`name:`}{` `}{`'grafana'`}{`,`}{`\n`}{`      },`}{`\n`}{`      `}{`spec:`}{` {`}{`\n`}{`        `}{`selector:`}{` {`}{`\n`}{`          `}{`matchLabels:`}{` {`}{`\n`}{`            `}{`name:`}{` `}{`'grafana'`}{`,`}{`\n`}{`          },`}{`\n`}{`        },`}{`\n`}{`        `}{`template:`}{` {`}{`\n`}{`          `}{`metadata:`}{` {`}{`\n`}{`            `}{`labels:`}{` {`}{`\n`}{`              `}{`name:`}{` `}{`'grafana'`}{`,`}{`\n`}{`            },`}{`\n`}{`          },`}{`\n`}{`          `}{`spec:`}{` {`}{`\n`}{`            `}{`containers:`}{` [`}{`\n`}{`              {`}{`\n`}{`                `}{`image:`}{` `}{`'grafana/grafana'`}{`,`}{`\n`}{`                `}{`name:`}{` `}{`'grafana'`}{`,`}{`\n`}{`                `}{`ports:`}{` [{`}{`\n`}{`                    `}{`containerPort:`}{` `}{`3000`}{`,`}{`\n`}{`                    `}{`name:`}{` `}{`'ui'`}{`,`}{`\n`}{`                }],`}{`\n`}{`              },`}{`\n`}{`            ],`}{`\n`}{`          },`}{`\n`}{`        },`}{`\n`}{`      },`}{`\n`}{`    },`}{`\n`}{`    `}{`service:`}{` {`}{`\n`}{`      `}{`apiVersion:`}{` `}{`'v1'`}{`,`}{`\n`}{`      `}{`kind:`}{` `}{`'Service'`}{`,`}{`\n`}{`      `}{`metadata:`}{` {`}{`\n`}{`        `}{`labels:`}{` {`}{`\n`}{`          `}{`name:`}{` `}{`'grafana'`}{`,`}{`\n`}{`        },`}{`\n`}{`        `}{`name:`}{` `}{`'grafana'`}{`,`}{`\n`}{`      },`}{`\n`}{`      `}{`spec:`}{` {`}{`\n`}{`        `}{`ports:`}{` [{`}{`\n`}{`            `}{`name:`}{` `}{`'grafana-ui'`}{`,`}{`\n`}{`            `}{`port:`}{` `}{`3000`}{`,`}{`\n`}{`            `}{`targetPort:`}{` `}{`3000`}{`,`}{`\n`}{`        }],`}{`\n`}{`        `}{`selector:`}{` {`}{`\n`}{`          `}{`name:`}{` `}{`'grafana'`}{`,`}{`\n`}{`        },`}{`\n`}{`        `}{`type:`}{` `}{`'NodePort'`}{`,`}{`\n`}{`      },`}{`\n`}{`    },`}{`\n`}{`  },`}{`\n`}{`\n`}{`  `}{`// Prometheus`}{`\n`}{`  `}{`prometheus:`}{` {`}{`\n`}{`    `}{`deployment:`}{` {`}{`\n`}{`      `}{`apiVersion:`}{` `}{`'apps/v1'`}{`,`}{`\n`}{`      `}{`kind:`}{` `}{`'Deployment'`}{`,`}{`\n`}{`      `}{`metadata:`}{` {`}{`\n`}{`        `}{`name:`}{` `}{`'prometheus'`}{`,`}{`\n`}{`      },`}{`\n`}{`      `}{`spec:`}{` {`}{`\n`}{`        `}{`minReadySeconds:`}{` `}{`10`}{`,`}{`\n`}{`        `}{`replicas:`}{` `}{`1`}{`,`}{`\n`}{`        `}{`revisionHistoryLimit:`}{` `}{`10`}{`,`}{`\n`}{`        `}{`selector:`}{` {`}{`\n`}{`          `}{`matchLabels:`}{` {`}{`\n`}{`            `}{`name:`}{` `}{`'prometheus'`}{`,`}{`\n`}{`          },`}{`\n`}{`        },`}{`\n`}{`        `}{`template:`}{` {`}{`\n`}{`          `}{`metadata:`}{` {`}{`\n`}{`            `}{`labels:`}{` {`}{`\n`}{`              `}{`name:`}{` `}{`'prometheus'`}{`,`}{`\n`}{`            },`}{`\n`}{`          },`}{`\n`}{`          `}{`spec:`}{` {`}{`\n`}{`            `}{`containers:`}{` [`}{`\n`}{`              {`}{`\n`}{`                `}{`image:`}{` `}{`'prom/prometheus'`}{`,`}{`\n`}{`                `}{`imagePullPolicy:`}{` `}{`'IfNotPresent'`}{`,`}{`\n`}{`                `}{`name:`}{` `}{`'prometheus'`}{`,`}{`\n`}{`                `}{`ports:`}{` [`}{`\n`}{`                  {`}{`\n`}{`                    `}{`containerPort:`}{` `}{`9090`}{`,`}{`\n`}{`                    `}{`name:`}{` `}{`'api'`}{`,`}{`\n`}{`                  },`}{`\n`}{`                ],`}{`\n`}{`              },`}{`\n`}{`            ],`}{`\n`}{`          },`}{`\n`}{`        },`}{`\n`}{`      },`}{`\n`}{`    },`}{`\n`}{`    `}{`service:`}{` {`}{`\n`}{`      `}{`apiVersion:`}{` `}{`'v1'`}{`,`}{`\n`}{`      `}{`kind:`}{` `}{`'Service'`}{`,`}{`\n`}{`      `}{`metadata:`}{` {`}{`\n`}{`        `}{`labels:`}{` {`}{`\n`}{`          `}{`name:`}{` `}{`'prometheus'`}{`,`}{`\n`}{`        },`}{`\n`}{`        `}{`name:`}{` `}{`'prometheus'`}{`,`}{`\n`}{`      },`}{`\n`}{`      `}{`spec:`}{` {`}{`\n`}{`        `}{`ports:`}{` [`}{`\n`}{`          {`}{`\n`}{`            `}{`name:`}{` `}{`'prometheus-api'`}{`,`}{`\n`}{`            `}{`port:`}{` `}{`9090`}{`,`}{`\n`}{`            `}{`targetPort:`}{` `}{`9090`}{`,`}{`\n`}{`          },`}{`\n`}{`        ],`}{`\n`}{`        `}{`selector:`}{` {`}{`\n`}{`          `}{`name:`}{` `}{`'prometheus'`}{`,`}{`\n`}{`        },`}{`\n`}{`      },`}{`\n`}{`    },`}{`\n`}{`  },`}{`\n`}{`}`}
      \n

      {`At the moment, this is even more verbose because we have effectively converted\nYAML to JSON, which requires more characters by design.`}

      \n

      {`But Jsonnet opens up enough possibilities to improve this a lot, which will be\ncovered in the next sections.`}

      \n

      {`Taking a look at the generated resources`}

      \n

      {`So far so good, but can we make sure Tanka correctly finds our resources? We\ncan! By running `}{`tk show`}{` you can see the good old yaml, just as `}{`kubectl`}{`\nreceives it:`}

      \n
      {`# run from the project root:`}{`\n`}{`/prom-grafana$ tk show environments/default`}{`\n`}{`apiVersion`}{`:`}{` `}{`apps/v1`}{`\n`}{`kind`}{`:`}{` `}{`Deployment`}{`\n`}{`metadata`}{`:`}{`\n`}{`  `}{`name`}{`:`}{` `}{`grafana`}{`\n`}{`spec`}{`:`}{`\n`}{`  `}{`selector`}{`:`}{`\n`}{`# ...`}
      \n

      {`Spend some time here and try to identify resources from the output in the\n`}{`.jsonnet`}{` source.`}

      \n
      \n

      {`Bonus:`}{` There is also `}{`tk eval`}{`, which displays the raw JSON object\n`}{`main.jsonnet`}{` evaluates to. Tanka won't extract resources or mutate the structure\nhere, so you can verify how your Jsonnet works.`}

      \n
      \n

      {`Connecting to the cluster`}

      \n

      {`The YAML looks as expected? Let's apply it to the cluster. To do so, Tanka needs\nsome additional configuration.`}

      \n

      {`While `}{`kubectl`}{` uses a `}{`$KUBECONFIG`}{` environment variable and a file in the home\ndirectory to store the currently selected cluster, Tanka takes a more explicit\napproach:`}

      \n

      {`Each environment has a file called `}{`spec.json`}{`, which includes the information\nto select a cluster:`}

      \n
      {`{`}{`\n`}{`  `}{`\"`}{`apiVersion`}{`\"`}{`: `}{`\"`}{`tanka.dev/v1alpha1`}{`\"`}{`,`}{`\n`}{`  `}{`\"`}{`kind`}{`\"`}{`: `}{`\"`}{`Environment`}{`\"`}{`,`}{`\n`}{`  `}{`\"`}{`metadata`}{`\"`}{`: `}{`{`}{`\n`}{`    `}{`\"`}{`name`}{`\"`}{`:`}{` `}{`\"`}{`default`}{`\"`}{`\n`}{`  `}{`},`}{`\n`}{`  `}{`\"`}{`spec`}{`\"`}{`: `}{`{`}{`\n`}{`    `}{`\"`}{`apiServer`}{`\"`}{`:`}{` `}{`\"`}{`https://127.0.0.1:6443`}{`\"`}{`,`}{` `}{`// cluster to use`}{`\n`}{`    `}{`\"`}{`namespace`}{`\"`}{`:`}{` `}{`\"`}{`monitoring`}{`\"`}{` `}{`// default namespace for all created resources`}{`\n`}{`  `}{`}`}{`\n`}{`}`}
      \n

      {`You still have to setup a cluster in `}{`$KUBECONFIG`}{` that matches this IP – Tanka\nwill automatically find and use it. This also means that all of your `}{`kubectl`}{`\nclusters just work.`}

      \n

      {`This allows us to make sure that you will never accidentally apply to the wrong\ncluster.`}

      \n
      \n

      {`Note`}{`: Tanka won't create the namespace for you -- you need to include it in\nJsonnet by adding it to `}{`environments/default/main.jsonnet`}{`:`}

      \n
      {`{`}{`\n`}{`  `}{`my_namespace:`}{` {`}{`\n`}{`    `}{`apiVersion:`}{` `}{`\"v1\"`}{`,`}{`\n`}{`    `}{`kind:`}{` `}{`\"Namespace\"`}{`,`}{`\n`}{`    `}{`metadata:`}{` {`}{`\n`}{`      `}{`name:`}{` `}{`\"monitoring\"`}{`\n`}{`    }`}{`\n`}{`  }`}{`\n`}{`}`}
      \n

      {`Alternatively, you can create the namespace manually:`}

      \n
      {`$ kubectl create ns monitoring`}
      \n

      {`This, however, will create an object that is not tracked by Tanka\nand thus needs to be taken care of via other means.`}

      \n
      \n

      {`Verifying the changes`}

      \n

      {`Before applying to the cluster, Tanka gives you a chance to check that your\nchanges actually behave as expected: `}{`tk diff`}{` works just like `}{`git diff`}{` – you\nsee what will be changed.`}

      \n
      {`/prom-grafana$ tk diff environments/default`}{`\n`}{`---`}{` /tmp/LIVE-610130621/apps.v1.Deployment.monitoring.grafana        2019-12-17 20:14:45.213363586 +0100`}{`\n`}{`+++`}{` /tmp/MERGED-517481208/apps.v1.Deployment.monitoring.grafana      2019-12-17 20:14:45.213363586 +0100`}{`\n`}{`@@`}{` -0,0 +1,45 `}{`@@`}{`\n`}{`+`}{`apiVersion: apps/v1`}{`\n`}{`+`}{`kind: Deployment`}{`\n`}{`+`}{`metadata:`}{`\n`}{`+`}{`  name: grafana`}{`\n`}{`+`}{`  namespace: monitoring`}{`\n`}{`+`}{`  # ...`}{`\n`}{`+`}{`spec:`}{`\n`}{`+`}{`  selector:`}{`\n`}{`+`}{`    matchLabels:`}{`\n`}{`+`}{`      name: grafana`}{`\n`}{`+`}{`  strategy:`}{`\n`}{`+`}{`    rollingUpdate:`}{`\n`}{`+`}{`      maxSurge: 25%`}{`\n`}{`+`}{`      maxUnavailable: 25%`}{`\n`}{`+`}{`    type: RollingUpdate`}{`\n`}{`+`}{`  template:`}{`\n`}{`+`}{`    metadata:`}{`\n`}{`+`}{`      creationTimestamp: null`}{`\n`}{`+`}{`      labels:`}{`\n`}{`+`}{`        name: grafana`}{`\n`}{`+`}{`    spec:`}{`\n`}{`+`}{`      containers:`}{`\n`}{`+`}{`      - image: grafana/grafana`}{`\n`}{`+`}{`        imagePullPolicy: IfNotPresent`}{`\n`}{`+`}{`    # ...`}
      \n

      {`As you can see, it shows everything as to-be created .. just as we'd expect,\nsince we are using a blank namespace.`}

      \n
      \n

      {`Note`}{`: Diff may fail before the first apply when the namespace does not yet\nexist. This is a limitation of `}{`kubectl`}{` which is used for computing the\ndifferences.`}

      \n
      \n

      {`Applying to the cluster`}

      \n

      {`Once it's all looking good, `}{`tk apply`}{` serves the exact same purpose as `}{`kubectl apply`}{`:`}

      \n
      {`/prom-grafana$ tk apply environments/default`}{`\n`}{`Applying to namespace `}{`'`}{`monitoring`}{`'`}{` of cluster `}{`'`}{`default`}{`'`}{` at `}{`'`}{`https://127.0.0.1:6443`}{`'`}{` using context `}{`'`}{`default`}{`'`}{`.`}{`\n`}{`Please `}{`type`}{` `}{`'`}{`yes`}{`'`}{` to confirm: yes`}{`\n`}{`deployment.apps/grafana created`}{`\n`}{`deployment.apps/prometheus created`}{`\n`}{`service/grafana created`}{`\n`}{`service/prometheus created`}
      \n

      {`It shows you the diff first and the chosen cluster once more and requires\ninteractive approval (type `}{`yes`}{`).`}

      \n

      {`After that, `}{`kubectl`}{` is used to apply to the cluster. By `}{`piping to\n`}{`kubectl`}{` Tanka makes sure it `}{`behaves exactly`}{` as you would expect it. No\nedge-cases of differing Kubernetes client implementations should ever occur.`}

      \n

      {`Checking it worked`}

      \n

      {`Again, let's connect to Grafana:`}

      \n
      {`$ kubectl port-forward --namespace=monitoring deployments/grafana 8080:3000`}
      \n

      {`And go to http://localhost:8080 for Grafana's UI.`}

      \n\n \n\n \n
      ;\n}\n;\nMDXContent.isMDXComponent = true;\n "],"sourceRoot":""} \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-tutorial-k-lib-mdx-badaa4a6d50be9d82125.js b/pr-preview/pr-991/component---docs-tutorial-k-lib-mdx-badaa4a6d50be9d82125.js deleted file mode 100644 index 803b15894..000000000 --- a/pr-preview/pr-991/component---docs-tutorial-k-lib-mdx-badaa4a6d50be9d82125.js +++ /dev/null @@ -1,2 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[31],{"3kBX":function(e,a,n){"use strict";n.r(a),n.d(a,"_frontmatter",(function(){return l})),n.d(a,"default",(function(){return N}));var t=n("wx14"),s=n("Ff2n"),m=(n("q1tI"),n("7ljp")),p=n("hhGP"),c=n("Z+0r");n("qKvR");const b=["components"],l={};void 0!==l&&l&&l===Object(l)&&Object.isExtensible(l)&&!Object.prototype.hasOwnProperty.call(l,"__filemeta")&&Object.defineProperty(l,"__filemeta",{configurable:!0,value:{name:"_frontmatter",filename:"docs/tutorial/k-lib.mdx"}});const r={_frontmatter:l},i=p.a;function N(e){let{components:a}=e,n=Object(s.a)(e,b);return Object(m.b)(i,Object(t.a)({},r,n,{components:a,mdxType:"MDXLayout"}),Object(m.b)("h1",{id:"kubernetes-library"},"Kubernetes library"),Object(m.b)("p",null,"The last section has shown that using a library for creating Kubernetes objects\ncan drastically simplify the code you need to write. However, there is a huge\namount of different kinds of objects and the Kubernetes API is evolving (and\nthus changing) quite rapidly."),Object(m.b)("p",null,"Writing and maintaining such a library could be a full-time job on it's own.\nLuckily, it is possible to generate such a library from the Kubernetes OpenAPI\nspecification! Even better, it has already been done for you."),Object(m.b)("h2",{id:"k8s-libsonnet"},"k8s-libsonnet"),Object(m.b)("p",null,"The library is called ",Object(m.b)("inlineCode",{parentName:"p"},"k8s-libsonnet")," (replacing the discontinued ",Object(m.b)("inlineCode",{parentName:"p"},"ksonnet-lib"),"),\ncurrently available at ",Object(m.b)("a",{parentName:"p",href:"https://github.com/jsonnet-libs/k8s-libsonnet"},"https://github.com/jsonnet-libs/k8s-libsonnet"),"."),Object(m.b)("blockquote",null,Object(m.b)("p",{parentName:"blockquote"},Object(m.b)("strong",{parentName:"p"},"Note"),": The ",Object(m.b)("inlineCode",{parentName:"p"},"ksonnet")," project has been abandoned, the library is not maintained\nanymore. However, the community backed by Grafana Labs has picked up on this with\nthe ",Object(m.b)("inlineCode",{parentName:"p"},"k8s-libsonnet")," library.")),Object(m.b)("p",null,"As ",Object(m.b)("inlineCode",{parentName:"p"},"k8s-libsonnet")," has broken compatibility in a few places with ",Object(m.b)("inlineCode",{parentName:"p"},"ksonnet-lib")," (for good\nreason), we have instrumented the widely used ",Object(m.b)("inlineCode",{parentName:"p"},"ksonnet-util")," library with a\ncompatibility layer to improve the developer and user experience:\n",Object(m.b)("a",{parentName:"p",href:"https://github.com/grafana/jsonnet-libs/tree/master/ksonnet-util"},"https://github.com/grafana/jsonnet-libs/tree/master/ksonnet-util")),Object(m.b)("p",null,"If you do not have any strong reasons against it, just adopt the wrapper as\nwell, it will ease your work. Many of the original ",Object(m.b)("inlineCode",{parentName:"p"},"ksonnet-util")," enhancements\nhave already made their way into ",Object(m.b)("inlineCode",{parentName:"p"},"k8s-libsonnet"),"."),Object(m.b)("p",null,"The docs for ",Object(m.b)("inlineCode",{parentName:"p"},"k8s-libsonnet")," library can be found here:\n",Object(m.b)("a",{parentName:"p",href:"https://jsonnet-libs.github.io/k8s-libsonnet/"},"https://jsonnet-libs.github.io/k8s-libsonnet/")),Object(m.b)("h2",{id:"installation"},"Installation"),Object(m.b)("p",null,"Like every other external library, ",Object(m.b)("inlineCode",{parentName:"p"},"k8s-libsonnet")," can be installed using\n",Object(m.b)("inlineCode",{parentName:"p"},"jsonnet-bundler"),".\nHowever, Tanka already ",Object(m.b)("strong",{parentName:"p"},"did this for you")," during ",Object(m.b)("a",{parentName:"p",href:"/pr-preview/pr-991/tutorial/jsonnet#creating-a-new-project"},"project\ncreation (",Object(m.b)("inlineCode",{parentName:"a"},"tk init"),")"),":"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"bash"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"$ tk init")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," └─ jb install github.com/jsonnet-libs/k8s-libsonnet/1.21@main github.com/grafana/jsonnet-libs/ksonnet-util")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"})))),Object(m.b)("p",null,"This created the following structure in ",Object(m.b)("inlineCode",{parentName:"p"},"/vendor"),":"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"bash"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"vendor")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"├── github.com")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"│   ├── grafana")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"│   │   └── jsonnet-libs")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"│   │   └── ksonnet-util")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"│   │   ├── ...")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"│   │   └── kausal.libsonnet "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"# Grafana's wrapper")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"│   └── jsonnet-libs")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"│   └── k8s-libsonnet")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"│   └── 1.21")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"│   ├── ...")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"│   └── main.libsonnet "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"# k8s-libsonnet entrypoint")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"├── 1.21 -"),Object(m.b)("span",{parentName:"span",className:"mtk12"},">"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," github.com/jsonnet-libs/k8s-libsonnet/1.21")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"└── ksonnet-util -"),Object(m.b)("span",{parentName:"span",className:"mtk12"},">"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," github.com/grafana/jsonnet-libs/ksonnet-util")))),Object(m.b)("blockquote",null,Object(m.b)("p",{parentName:"blockquote"},Object(m.b)("strong",{parentName:"p"},"Info"),": The ",Object(m.b)("inlineCode",{parentName:"p"},"vendor/")," is the location for external libraries, while ",Object(m.b)("inlineCode",{parentName:"p"},"lib/"),"\ncan be used for your own ones. Check ",Object(m.b)("a",{parentName:"p",href:"/pr-preview/pr-991/libraries/import-paths"},"import paths"),"\nfor more information.")),Object(m.b)("h4",{id:"aliasing"},"Aliasing"),Object(m.b)("p",null,"Because of how ",Object(m.b)("inlineCode",{parentName:"p"},"jb")," works, the library can be imported as\n",Object(m.b)("inlineCode",{parentName:"p"},"github.com/jsonnet-libs/k8s-libsonnet/1.21/main.libsonnet"),". Most external\nlibraries (including our wrapper) expect it as a simple ",Object(m.b)("inlineCode",{parentName:"p"},"k.libsonnet")," (without\nthe package prefix)."),Object(m.b)("p",null,"To support both, Tanka automatically created an alias file for you:\n",Object(m.b)("inlineCode",{parentName:"p"},"/lib/k.libsonnet")," that just imports the actual library, exposing it under this\nalternative name as well."),Object(m.b)("blockquote",null,Object(m.b)("p",{parentName:"blockquote"},Object(m.b)("strong",{parentName:"p"},"More information"),":\nThis works, because ",Object(m.b)("inlineCode",{parentName:"p"},"import")," behaves like copy-pasting. So the contents of\n",Object(m.b)("inlineCode",{parentName:"p"},"k8s-libsonnet/1.21"),' are "copied" into our new file, making them behave exactly the\nsame.')),Object(m.b)("h2",{id:"using-it"},"Using it"),Object(m.b)("p",null,"First we need to import it in ",Object(m.b)("inlineCode",{parentName:"p"},"main.jsonnet"),":"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"diff"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"-"),Object(m.b)("span",{parentName:"span",className:"mtk10"},' local k = import "kubernetes.libsonnet";')),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk5"},"+"),Object(m.b)("span",{parentName:"span",className:"mtk6"},' local k = import "github.com/grafana/jsonnet-libs/ksonnet-util/kausal.libsonnet";')),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},' local grafana = import "grafana.jsonnet";')),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},' local prometheus = import "prometheus.jsonnet";')),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," { /* ... */ }")))),Object(m.b)("blockquote",null,Object(m.b)("p",{parentName:"blockquote"},Object(m.b)("strong",{parentName:"p"},"Note"),": ",Object(m.b)("inlineCode",{parentName:"p"},"ksonnet-util")," imports literal ",Object(m.b)("inlineCode",{parentName:"p"},"k.libsonnet"),", so ",Object(m.b)("a",{parentName:"p",href:"#aliasing"},"aliasing")," is\na must here. This works, because ",Object(m.b)("inlineCode",{parentName:"p"},"/lib")," and ",Object(m.b)("inlineCode",{parentName:"p"},"/vendor")," are automatically searched\nfor libraries, and ",Object(m.b)("inlineCode",{parentName:"p"},"k.libsonnet")," can be found in ",Object(m.b)("inlineCode",{parentName:"p"},"/lib")," due to aforementioned\naliasing.")),Object(m.b)("p",null,"Now that we have installed the correct version, let's use it in\n",Object(m.b)("inlineCode",{parentName:"p"},"/environments/default/grafana.jsonnet")," instead of our own helper:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"jsonnet"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk4"},"local"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," k "),Object(m.b)("span",{parentName:"span",className:"mtk12"},"="),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"import"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"github.com/grafana/jsonnet-libs/ksonnet-util/kausal.libsonnet"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},";")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"})),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// use locals to extract the parts we need")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"local"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," deploy "),Object(m.b)("span",{parentName:"span",className:"mtk12"},"="),Object(m.b)("span",{parentName:"span",className:"mtk1"}," k.apps.v1.deployment,")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"local"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," container "),Object(m.b)("span",{parentName:"span",className:"mtk12"},"="),Object(m.b)("span",{parentName:"span",className:"mtk1"}," k.core.v1.container,")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"local"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," port "),Object(m.b)("span",{parentName:"span",className:"mtk12"},"="),Object(m.b)("span",{parentName:"span",className:"mtk1"}," k.core.v1.containerPort,")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"local"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," service "),Object(m.b)("span",{parentName:"span",className:"mtk12"},"="),Object(m.b)("span",{parentName:"span",className:"mtk1"}," k.core.v1.service,")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// defining the objects:")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"grafana:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// deployment constructor: name, replicas, containers")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"deployment:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," deploy."),Object(m.b)("span",{parentName:"span",className:"mtk9"},"new"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"(name=$._config.grafana.name, replicas="),Object(m.b)("span",{parentName:"span",className:"mtk4"},"1"),Object(m.b)("span",{parentName:"span",className:"mtk1"},", containers=[")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// container constructor")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," container."),Object(m.b)("span",{parentName:"span",className:"mtk9"},"new"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"($._config.grafana.name, "),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"grafana/grafana"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},")")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," + container."),Object(m.b)("span",{parentName:"span",className:"mtk9"},"withPorts"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"( "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// add ports to the container")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," [port."),Object(m.b)("span",{parentName:"span",className:"mtk9"},"new"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"("),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"ui"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},", $._config.grafana.port)] "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// port constructor")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," ),")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," ]),")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"})),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// instead of using a service constructor, our wrapper provides")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"// a handy helper to automatically generate a service for a Deployment")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"service:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," k.util.serv.util."),Object(m.b)("span",{parentName:"span",className:"mtk9"},"serviceFor"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"(self.deployment)")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk12"},"+"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," service.mixin.spec."),Object(m.b)("span",{parentName:"span",className:"mtk9"},"withType"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"("),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"NodePort"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},"),")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," }")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"}")))),Object(m.b)("h2",{id:"full-example"},"Full example"),Object(m.b)("p",null,"Now that creating the individual objects does not take more than 5 lines, we can\nmerge it all back into a single file (",Object(m.b)("inlineCode",{parentName:"p"},"main.jsonnet"),") and take a look at the\nwhole picture:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"jsonnet"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk4"},"local"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," k "),Object(m.b)("span",{parentName:"span",className:"mtk12"},"="),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"import"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"github.com/grafana/jsonnet-libs/ksonnet-util/kausal.libsonnet"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},";")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"})),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"{")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk7"},"_config::"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"grafana:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"port:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"3000"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"name:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"grafana"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"prometheus:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"port:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"9090"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"name:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"prometheus"')),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," }")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"})),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"local"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," deployment "),Object(m.b)("span",{parentName:"span",className:"mtk12"},"="),Object(m.b)("span",{parentName:"span",className:"mtk1"}," k.apps.v1.deployment,")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"local"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," container "),Object(m.b)("span",{parentName:"span",className:"mtk12"},"="),Object(m.b)("span",{parentName:"span",className:"mtk1"}," k.core.v1.container,")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"local"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," port "),Object(m.b)("span",{parentName:"span",className:"mtk12"},"="),Object(m.b)("span",{parentName:"span",className:"mtk1"}," k.core.v1.containerPort,")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"local"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," service "),Object(m.b)("span",{parentName:"span",className:"mtk12"},"="),Object(m.b)("span",{parentName:"span",className:"mtk1"}," k.core.v1.service,")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"})),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"prometheus:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"deployment:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," deployment."),Object(m.b)("span",{parentName:"span",className:"mtk9"},"new"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"(")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," name=$._config.prometheus.name, replicas="),Object(m.b)("span",{parentName:"span",className:"mtk4"},"1"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," containers=[")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," container."),Object(m.b)("span",{parentName:"span",className:"mtk9"},"new"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"($._config.prometheus.name, "),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"prom/prometheus"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},")")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," + container."),Object(m.b)("span",{parentName:"span",className:"mtk9"},"withPorts"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"([port."),Object(m.b)("span",{parentName:"span",className:"mtk9"},"new"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"("),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"api"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},", $._config.prometheus.port)]),")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," ],")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," ),")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"service:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," k.util."),Object(m.b)("span",{parentName:"span",className:"mtk9"},"serviceFor"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"(self.deployment),")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"grafana:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"deployment:"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," deployment."),Object(m.b)("span",{parentName:"span",className:"mtk9"},"new"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"(")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," name=$._config.grafana.name, replicas="),Object(m.b)("span",{parentName:"span",className:"mtk4"},"1"),Object(m.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," containers=[")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," container."),Object(m.b)("span",{parentName:"span",className:"mtk9"},"new"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"($._config.grafana.name, "),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"grafana/grafana"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},")")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," + container."),Object(m.b)("span",{parentName:"span",className:"mtk9"},"withPorts"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"([port."),Object(m.b)("span",{parentName:"span",className:"mtk9"},"new"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"("),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"ui"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},", $._config.grafana.port)]),")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," ],")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," ),")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk10"},"service:")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," k.util."),Object(m.b)("span",{parentName:"span",className:"mtk9"},"serviceFor"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"(self.deployment)")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk12"},"+"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," service.mixin.spec."),Object(m.b)("span",{parentName:"span",className:"mtk9"},"withType"),Object(m.b)("span",{parentName:"span",className:"mtk1"},"("),Object(m.b)("span",{parentName:"span",className:"mtk6"},'"NodePort"'),Object(m.b)("span",{parentName:"span",className:"mtk1"},"),")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"}")))),Object(m.b)("p",null,"That's a pretty big improvement, considering how verbose and error-prone it was\nbefore!"),Object(m.b)(c.a,{prev:"/tutorial/abstraction",next:"/tutorial/environments",mdxType:"TutorialButtons"}),Object(m.b)("style",{className:"vscode-highlight-styles"},"\n \n .material-theme-darker {\nbackground-color: #212121;\ncolor: #EEFFFF;\n}\n\n.material-theme-darker .mtk1 { color: #FFFFFF; }\n.material-theme-darker .mtk2 { color: #212121; }\n.material-theme-darker .mtk3 { color: #545454; }\n.material-theme-darker .mtk4 { color: #F78C6C; }\n.material-theme-darker .mtk5 { color: #89DDFF; }\n.material-theme-darker .mtk6 { color: #C3E88D; }\n.material-theme-darker .mtk7 { color: #FFCB6B; }\n.material-theme-darker .mtk8 { color: #EEFFFF; }\n.material-theme-darker .mtk9 { color: #82AAFF; }\n.material-theme-darker .mtk10 { color: #FF5370; }\n.material-theme-darker .mtk11 { color: #F07178; }\n.material-theme-darker .mtk12 { color: #C792EA; }\n.material-theme-darker .mtk13 { color: #EEFFFF90; }\n.material-theme-darker .mtk14 { color: #65737E; }\n.material-theme-darker .mtk15 { color: #B2CCD6; }\n.material-theme-darker .mtk16 { color: #C17E70; }\n.material-theme-darker .mtki { font-style: italic; }\n.material-theme-darker .mtkb { font-weight: bold; }\n.material-theme-darker .mtku { text-decoration: underline; text-underline-position: under; }\n"))}void 0!==N&&N&&N===Object(N)&&Object.isExtensible(N)&&!Object.prototype.hasOwnProperty.call(N,"__filemeta")&&Object.defineProperty(N,"__filemeta",{configurable:!0,value:{name:"MDXContent",filename:"docs/tutorial/k-lib.mdx"}}),N.isMDXComponent=!0}}]); -//# sourceMappingURL=component---docs-tutorial-k-lib-mdx-badaa4a6d50be9d82125.js.map \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-tutorial-k-lib-mdx-badaa4a6d50be9d82125.js.map b/pr-preview/pr-991/component---docs-tutorial-k-lib-mdx-badaa4a6d50be9d82125.js.map deleted file mode 100644 index 034a9efd4..000000000 --- a/pr-preview/pr-991/component---docs-tutorial-k-lib-mdx-badaa4a6d50be9d82125.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./docs/tutorial/k-lib.mdx"],"names":["_frontmatter","Object","isExtensible","prototype","hasOwnProperty","call","defineProperty","configurable","value","name","filename","layoutProps","MDXLayout","DefaultLayout","MDXContent","_ref","components","props","_objectWithoutProperties","_excluded","mdx","_extends","mdxType","parentName","TutorialButtons","prev","next","isMDXComponent"],"mappings":"uSAOaA,EAAe,QAAG,IAAAA,UAAAC,OAAAD,IAAAC,OAAAC,aAAAF,KAAAC,OAAAE,UAAAC,eAAAC,KAAAL,EAAA,eAAAC,OAAAK,eAAAN,EAAA,cAAAO,cAAA,EAAAC,MAAA,CAAAC,KAAA,eAAAC,SAAA,6BAC/B,MAAMC,EAAc,CAClBX,gBAEIY,EAAYC,IACH,SAASC,EAAUC,GAG/B,IAHgC,WACjCC,GAEDD,EADIE,EAAKC,YAAAH,EAAAI,GAER,OAAOC,YAACR,EAASS,YAAA,GAAKV,EAAiBM,EAAK,CAAED,WAAYA,EAAYM,QAAQ,cAG5EF,YAAA,MACE,GAAM,sBAAoB,sBAE5BA,YAAA,wRAIAA,YAAA,wOAGAA,YAAA,MACE,GAAM,iBAAe,iBAEvBA,YAAA,kCAA6BA,YAAA,cAAYG,WAAW,KAAG,iBAA+B,gCAAiCH,YAAA,cAAYG,WAAW,KAAG,eAA6B,8BACzJH,YAAA,KAAGG,WAAW,IAC/B,KAAQ,iDAA+C,iDACD,KAC1DH,YAAA,kBACEA,YAAA,KAAGG,WAAW,cAAaH,YAAA,UAAQG,WAAW,KAAG,QAAkB,SAAUH,YAAA,cAAYG,WAAW,KAAG,WAAyB,sJAEhIH,YAAA,cAAYG,WAAW,KAAG,iBAA+B,cAE3DH,YAAA,eAAUA,YAAA,cAAYG,WAAW,KAAG,iBAA+B,kDAAmDH,YAAA,cAAYG,WAAW,KAAG,eAA6B,6DACjIH,YAAA,cAAYG,WAAW,KAAG,gBAA8B,uFAEtGH,YAAA,KAAGG,WAAW,IACR,KAAQ,oEAAkE,qEAE9EH,YAAA,4IACiDA,YAAA,cAAYG,WAAW,KAAG,gBAA8B,mDAC1EH,YAAA,cAAYG,WAAW,KAAG,iBAA+B,KACxFH,YAAA,yBAAoBA,YAAA,cAAYG,WAAW,KAAG,iBAA+B,gCAC/EH,YAAA,KAAGG,WAAW,IACR,KAAQ,iDAA+C,kDAE3DH,YAAA,MACE,GAAM,gBAAc,gBAEtBA,YAAA,+CAA0CA,YAAA,cAAYG,WAAW,KAAG,iBAA+B,4BACrGH,YAAA,cAAYG,WAAW,KAAG,mBAAiC,6BACpCH,YAAA,UAAQG,WAAW,KAAG,oBAA8B,WAAYH,YAAA,KAAGG,WAAW,IAC/F,KAAQ,8DAA4D,sBAEhEH,YAAA,cAAYG,WAAW,KAAG,WAAyB,KAAS,KACpEH,YAAA,OACE,UAAa,yCACb,gBAAiB,QAChBA,YAAA,QAAMG,WAAW,MAChB,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,cACS,KACtCH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,iHAC4G,KACzIH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,YAErBH,YAAA,oDAA+CA,YAAA,cAAYG,WAAW,KAAG,WAAyB,KAClGH,YAAA,OACE,UAAa,yCACb,gBAAiB,QAChBA,YAAA,QAAMG,WAAW,MAChB,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,WACM,KACnCH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,mBACc,KAC3CH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,oBACe,KAC5CH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,6BACwB,KACrDH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,iCAC4B,KACzDH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,4BACuB,KACpDH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,yCAC8BH,YAAA,QAAMG,WAAW,OAClE,UAAa,aAAW,wBACc,KAChDH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,yBACoB,KACjDH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,8BACyB,KACtDH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,yBACoB,KACjDH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,4BACuB,KACpDH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,yCAC8BH,YAAA,QAAMG,WAAW,OAClE,UAAa,aAAW,+BACqB,KACvDH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,cACGH,YAAA,QAAMG,WAAW,OACvC,UAAa,SAAO,KACPH,YAAA,QAAMG,WAAW,OAC9B,UAAa,QAAM,gDAC2C,KACxEH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,sBACWH,YAAA,QAAMG,WAAW,OAC/C,UAAa,SAAO,KACPH,YAAA,QAAMG,WAAW,OAC9B,UAAa,QAAM,oDAE3BH,YAAA,kBACEA,YAAA,KAAGG,WAAW,cAAaH,YAAA,UAAQG,WAAW,KAAG,QAAkB,SAAUH,YAAA,cAAYG,WAAW,KAAG,WAAyB,kDAAmDH,YAAA,cAAYG,WAAW,KAAG,QAAsB,0CAClMH,YAAA,KAAGG,WAAW,IAC3C,KAAQ,6CAA2C,gBAC9B,4BAG3BH,YAAA,MACE,GAAM,YAAU,YAElBA,YAAA,2BAAsBA,YAAA,cAAYG,WAAW,KAAG,MAAoB,2CACtEH,YAAA,cAAYG,WAAW,KAAG,6DAA2E,6EAC7CH,YAAA,cAAYG,WAAW,KAAG,eAA6B,mCAE7GH,YAAA,iFACFA,YAAA,cAAYG,WAAW,KAAG,oBAAkC,4FAE1DH,YAAA,kBACEA,YAAA,KAAGG,WAAW,cAAaH,YAAA,UAAQG,WAAW,KAAG,oBAA8B,0BAC/DH,YAAA,cAAYG,WAAW,KAAG,UAAwB,mDACtEH,YAAA,cAAYG,WAAW,KAAG,sBAAoC,2EAG5DH,YAAA,MACE,GAAM,YAAU,YAElBA,YAAA,0CAAqCA,YAAA,cAAYG,WAAW,KAAG,gBAA8B,KAC7FH,YAAA,OACE,UAAa,yCACb,gBAAiB,QAChBA,YAAA,QAAMG,WAAW,MAChB,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,KACNH,YAAA,QAAMG,WAAW,OAC9B,UAAa,SAAO,8CACwC,KACtEH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,KACNH,YAAA,QAAMG,WAAW,OAC9B,UAAa,QAAM,uFACkF,KAC/GH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,gDAC2C,KACxEH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,sDACiD,KAC9EH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,sBAE3BH,YAAA,kBACEA,YAAA,KAAGG,WAAW,cAAaH,YAAA,UAAQG,WAAW,KAAG,QAAkB,KAAMH,YAAA,cAAYG,WAAW,KAAG,gBAA8B,oBAAqBH,YAAA,cAAYG,WAAW,KAAG,eAA6B,QAASH,YAAA,KAAGG,WAAW,IAChO,KAAQ,aAAW,YACF,yCACQH,YAAA,cAAYG,WAAW,KAAG,QAAsB,QAASH,YAAA,cAAYG,WAAW,KAAG,WAAyB,mDAC1HH,YAAA,cAAYG,WAAW,KAAG,eAA6B,oBAAqBH,YAAA,cAAYG,WAAW,KAAG,QAAsB,sCAG7IH,YAAA,6EACFA,YAAA,cAAYG,WAAW,KAAG,yCAAuD,+BAC/EH,YAAA,OACE,UAAa,yCACb,gBAAiB,WAChBA,YAAA,QAAMG,WAAW,MAChB,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,SACFH,YAAA,QAAMG,WAAW,OAClC,UAAa,QAAM,OACJH,YAAA,QAAMG,WAAW,OAChC,UAAa,SAAO,KACPH,YAAA,QAAMG,WAAW,OAC9B,UAAa,QAAM,KACNH,YAAA,QAAMG,WAAW,OAC9B,UAAa,QAAM,UACDH,YAAA,QAAMG,WAAW,OACnC,UAAa,QAAM,KACNH,YAAA,QAAMG,WAAW,OAC9B,UAAa,QAAM,mEACwDH,YAAA,QAAMG,WAAW,OAC5F,UAAa,QAAM,MACC,KAC9BH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,UACE,KACzBH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,MACC,KAC9BH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,MACLH,YAAA,QAAMG,WAAW,OAC/B,UAAa,aAAW,+CACqC,KACvEH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,MACLH,YAAA,QAAMG,WAAW,OAC/B,UAAa,QAAM,SACFH,YAAA,QAAMG,WAAW,OAClC,UAAa,QAAM,YACCH,YAAA,QAAMG,WAAW,OACrC,UAAa,SAAO,KACPH,YAAA,QAAMG,WAAW,OAC9B,UAAa,QAAM,2BACsB,KACnDH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,MACLH,YAAA,QAAMG,WAAW,OAC/B,UAAa,QAAM,SACFH,YAAA,QAAMG,WAAW,OAClC,UAAa,QAAM,eACIH,YAAA,QAAMG,WAAW,OACxC,UAAa,SAAO,KACPH,YAAA,QAAMG,WAAW,OAC9B,UAAa,QAAM,0BACqB,KAClDH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,MACLH,YAAA,QAAMG,WAAW,OAC/B,UAAa,QAAM,SACFH,YAAA,QAAMG,WAAW,OAClC,UAAa,QAAM,UACDH,YAAA,QAAMG,WAAW,OACnC,UAAa,SAAO,KACPH,YAAA,QAAMG,WAAW,OAC9B,UAAa,QAAM,8BACyB,KACtDH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,MACLH,YAAA,QAAMG,WAAW,OAC/B,UAAa,QAAM,SACFH,YAAA,QAAMG,WAAW,OAClC,UAAa,QAAM,aACEH,YAAA,QAAMG,WAAW,OACtC,UAAa,SAAO,KACPH,YAAA,QAAMG,WAAW,OAC9B,UAAa,QAAM,wBACmB,KAChDH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,MACLH,YAAA,QAAMG,WAAW,OAC/B,UAAa,aAAW,6BACmB,KACrDH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,MACLH,YAAA,QAAMG,WAAW,OAC/B,UAAa,SAAO,YACAH,YAAA,QAAMG,WAAW,OACrC,UAAa,QAAM,OACE,KAC/BH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,QACHH,YAAA,QAAMG,WAAW,OACjC,UAAa,aAAW,0DACgD,KAClFH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,QACHH,YAAA,QAAMG,WAAW,OACjC,UAAa,SAAO,eACGH,YAAA,QAAMG,WAAW,OACxC,UAAa,QAAM,YACCH,YAAA,QAAMG,WAAW,OACrC,UAAa,QAAM,OACJH,YAAA,QAAMG,WAAW,OAChC,UAAa,QAAM,2CACgCH,YAAA,QAAMG,WAAW,OACpE,UAAa,QAAM,KACNH,YAAA,QAAMG,WAAW,OAC9B,UAAa,QAAM,mBACc,KAC3CH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,UACDH,YAAA,QAAMG,WAAW,OACnC,UAAa,aAAW,6BACmB,KACrDH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,oBACSH,YAAA,QAAMG,WAAW,OAC7C,UAAa,QAAM,OACJH,YAAA,QAAMG,WAAW,OAChC,UAAa,QAAM,6BACkBH,YAAA,QAAMG,WAAW,OACtD,UAAa,QAAM,qBACUH,YAAA,QAAMG,WAAW,OAC9C,UAAa,QAAM,MACC,KAC9BH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,sBACWH,YAAA,QAAMG,WAAW,OAC/C,UAAa,QAAM,aACEH,YAAA,QAAMG,WAAW,OACtC,UAAa,QAAM,MACLH,YAAA,QAAMG,WAAW,OAC/B,UAAa,aAAW,kCACwB,KAC1DH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,oBACSH,YAAA,QAAMG,WAAW,OAC7C,UAAa,QAAM,OACJH,YAAA,QAAMG,WAAW,OAChC,UAAa,QAAM,KACNH,YAAA,QAAMG,WAAW,OAC9B,UAAa,QAAM,QACHH,YAAA,QAAMG,WAAW,OACjC,UAAa,QAAM,+BACoBH,YAAA,QAAMG,WAAW,OACxD,UAAa,aAAW,wBACc,KAChDH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,eACU,KACvCH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,YACO,KACpCH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,UACE,KACzBH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,QACHH,YAAA,QAAMG,WAAW,OACjC,UAAa,aAAW,oEAC0D,KAC5FH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,QACHH,YAAA,QAAMG,WAAW,OACjC,UAAa,aAAW,2EACiE,KACnGH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,QACHH,YAAA,QAAMG,WAAW,OACjC,UAAa,SAAO,YACAH,YAAA,QAAMG,WAAW,OACrC,UAAa,QAAM,sBACWH,YAAA,QAAMG,WAAW,OAC/C,UAAa,QAAM,cACGH,YAAA,QAAMG,WAAW,OACvC,UAAa,QAAM,sBACiB,KAC9CH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,iBACMH,YAAA,QAAMG,WAAW,OAC1C,UAAa,SAAO,KACPH,YAAA,QAAMG,WAAW,OAC9B,UAAa,QAAM,wBACaH,YAAA,QAAMG,WAAW,OACjD,UAAa,QAAM,YACCH,YAAA,QAAMG,WAAW,OACrC,UAAa,QAAM,KACNH,YAAA,QAAMG,WAAW,OAC9B,UAAa,QAAM,cACGH,YAAA,QAAMG,WAAW,OACvC,UAAa,QAAM,OACE,KAC/BH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,QACG,KAChCH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,QAE3BH,YAAA,MACE,GAAM,gBAAc,gBAEtBA,YAAA,oIACoCA,YAAA,cAAYG,WAAW,KAAG,gBAA8B,4CAE5FH,YAAA,OACE,UAAa,yCACb,gBAAiB,WAChBA,YAAA,QAAMG,WAAW,MAChB,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,SACFH,YAAA,QAAMG,WAAW,OAClC,UAAa,QAAM,OACJH,YAAA,QAAMG,WAAW,OAChC,UAAa,SAAO,KACPH,YAAA,QAAMG,WAAW,OAC9B,UAAa,QAAM,KACNH,YAAA,QAAMG,WAAW,OAC9B,UAAa,QAAM,UACDH,YAAA,QAAMG,WAAW,OACnC,UAAa,QAAM,KACNH,YAAA,QAAMG,WAAW,OAC9B,UAAa,QAAM,mEACwDH,YAAA,QAAMG,WAAW,OAC5F,UAAa,QAAM,MACC,KAC9BH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,UACE,KACzBH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,MACC,KAC9BH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,MACLH,YAAA,QAAMG,WAAW,OAC/B,UAAa,QAAM,aACEH,YAAA,QAAMG,WAAW,OACtC,UAAa,QAAM,OACE,KAC/BH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,QACHH,YAAA,QAAMG,WAAW,OACjC,UAAa,SAAO,YACAH,YAAA,QAAMG,WAAW,OACrC,UAAa,QAAM,OACE,KAC/BH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,UACDH,YAAA,QAAMG,WAAW,OACnC,UAAa,SAAO,SACHH,YAAA,QAAMG,WAAW,OAClC,UAAa,QAAM,KACNH,YAAA,QAAMG,WAAW,OAC9B,UAAa,QAAM,QACHH,YAAA,QAAMG,WAAW,OACjC,UAAa,QAAM,MACC,KAC9BH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,UACDH,YAAA,QAAMG,WAAW,OACnC,UAAa,SAAO,SACHH,YAAA,QAAMG,WAAW,OAClC,UAAa,QAAM,KACNH,YAAA,QAAMG,WAAW,OAC9B,UAAa,QAAM,aACEH,YAAA,QAAMG,WAAW,OACtC,UAAa,QAAM,MACC,KAC9BH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,WACM,KACnCH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,QACHH,YAAA,QAAMG,WAAW,OACjC,UAAa,SAAO,eACGH,YAAA,QAAMG,WAAW,OACxC,UAAa,QAAM,OACE,KAC/BH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,UACDH,YAAA,QAAMG,WAAW,OACnC,UAAa,SAAO,SACHH,YAAA,QAAMG,WAAW,OAClC,UAAa,QAAM,KACNH,YAAA,QAAMG,WAAW,OAC9B,UAAa,QAAM,QACHH,YAAA,QAAMG,WAAW,OACjC,UAAa,QAAM,MACC,KAC9BH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,UACDH,YAAA,QAAMG,WAAW,OACnC,UAAa,SAAO,SACHH,YAAA,QAAMG,WAAW,OAClC,UAAa,QAAM,KACNH,YAAA,QAAMG,WAAW,OAC9B,UAAa,QAAM,iBACY,KACzCH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,UACK,KAClCH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,SACI,KACjCH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,UACE,KACzBH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,MACLH,YAAA,QAAMG,WAAW,OAC/B,UAAa,QAAM,SACFH,YAAA,QAAMG,WAAW,OAClC,UAAa,QAAM,gBACKH,YAAA,QAAMG,WAAW,OACzC,UAAa,SAAO,KACPH,YAAA,QAAMG,WAAW,OAC9B,UAAa,QAAM,2BACsB,KACnDH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,MACLH,YAAA,QAAMG,WAAW,OAC/B,UAAa,QAAM,SACFH,YAAA,QAAMG,WAAW,OAClC,UAAa,QAAM,eACIH,YAAA,QAAMG,WAAW,OACxC,UAAa,SAAO,KACPH,YAAA,QAAMG,WAAW,OAC9B,UAAa,QAAM,0BACqB,KAClDH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,MACLH,YAAA,QAAMG,WAAW,OAC/B,UAAa,QAAM,SACFH,YAAA,QAAMG,WAAW,OAClC,UAAa,QAAM,UACDH,YAAA,QAAMG,WAAW,OACnC,UAAa,SAAO,KACPH,YAAA,QAAMG,WAAW,OAC9B,UAAa,QAAM,8BACyB,KACtDH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,MACLH,YAAA,QAAMG,WAAW,OAC/B,UAAa,QAAM,SACFH,YAAA,QAAMG,WAAW,OAClC,UAAa,QAAM,aACEH,YAAA,QAAMG,WAAW,OACtC,UAAa,SAAO,KACPH,YAAA,QAAMG,WAAW,OAC9B,UAAa,QAAM,wBACmB,KAChDH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,UACE,KACzBH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,MACLH,YAAA,QAAMG,WAAW,OAC/B,UAAa,SAAO,eACGH,YAAA,QAAMG,WAAW,OACxC,UAAa,QAAM,OACE,KAC/BH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,QACHH,YAAA,QAAMG,WAAW,OACjC,UAAa,SAAO,eACGH,YAAA,QAAMG,WAAW,OACxC,UAAa,QAAM,gBACKH,YAAA,QAAMG,WAAW,OACzC,UAAa,QAAM,OACJH,YAAA,QAAMG,WAAW,OAChC,UAAa,QAAM,MACC,KAC9BH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,mDACwCH,YAAA,QAAMG,WAAW,OAC5E,UAAa,QAAM,KACNH,YAAA,QAAMG,WAAW,OAC9B,UAAa,QAAM,MACC,KAC9BH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,uBACkB,KAC/CH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,sBACWH,YAAA,QAAMG,WAAW,OAC/C,UAAa,QAAM,OACJH,YAAA,QAAMG,WAAW,OAChC,UAAa,QAAM,gCACqBH,YAAA,QAAMG,WAAW,OACzD,UAAa,QAAM,qBACUH,YAAA,QAAMG,WAAW,OAC9C,UAAa,QAAM,MACC,KAC9BH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,wBACaH,YAAA,QAAMG,WAAW,OACjD,UAAa,QAAM,aACEH,YAAA,QAAMG,WAAW,OACtC,UAAa,QAAM,WACAH,YAAA,QAAMG,WAAW,OACpC,UAAa,QAAM,OACJH,YAAA,QAAMG,WAAW,OAChC,UAAa,QAAM,KACNH,YAAA,QAAMG,WAAW,OAC9B,UAAa,QAAM,SACFH,YAAA,QAAMG,WAAW,OAClC,UAAa,QAAM,oCAC+B,KAC5DH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,aACQ,KACrCH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,WACM,KACnCH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,QACHH,YAAA,QAAMG,WAAW,OACjC,UAAa,SAAO,YACAH,YAAA,QAAMG,WAAW,OACrC,UAAa,QAAM,YACCH,YAAA,QAAMG,WAAW,OACrC,UAAa,QAAM,cACGH,YAAA,QAAMG,WAAW,OACvC,UAAa,QAAM,uBACkB,KAC/CH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,SACI,KACjCH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,MACLH,YAAA,QAAMG,WAAW,OAC/B,UAAa,SAAO,YACAH,YAAA,QAAMG,WAAW,OACrC,UAAa,QAAM,OACE,KAC/BH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,QACHH,YAAA,QAAMG,WAAW,OACjC,UAAa,SAAO,eACGH,YAAA,QAAMG,WAAW,OACxC,UAAa,QAAM,gBACKH,YAAA,QAAMG,WAAW,OACzC,UAAa,QAAM,OACJH,YAAA,QAAMG,WAAW,OAChC,UAAa,QAAM,MACC,KAC9BH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,gDACqCH,YAAA,QAAMG,WAAW,OACzE,UAAa,QAAM,KACNH,YAAA,QAAMG,WAAW,OAC9B,UAAa,QAAM,MACC,KAC9BH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,uBACkB,KAC/CH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,sBACWH,YAAA,QAAMG,WAAW,OAC/C,UAAa,QAAM,OACJH,YAAA,QAAMG,WAAW,OAChC,UAAa,QAAM,6BACkBH,YAAA,QAAMG,WAAW,OACtD,UAAa,QAAM,qBACUH,YAAA,QAAMG,WAAW,OAC9C,UAAa,QAAM,MACC,KAC9BH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,wBACaH,YAAA,QAAMG,WAAW,OACjD,UAAa,QAAM,aACEH,YAAA,QAAMG,WAAW,OACtC,UAAa,QAAM,WACAH,YAAA,QAAMG,WAAW,OACpC,UAAa,QAAM,OACJH,YAAA,QAAMG,WAAW,OAChC,UAAa,QAAM,KACNH,YAAA,QAAMG,WAAW,OAC9B,UAAa,QAAM,QACHH,YAAA,QAAMG,WAAW,OACjC,UAAa,QAAM,iCAC4B,KACzDH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,aACQ,KACrCH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,WACM,KACnCH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,QACHH,YAAA,QAAMG,WAAW,OACjC,UAAa,SAAO,aACO,KACrCH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,iBACMH,YAAA,QAAMG,WAAW,OAC1C,UAAa,QAAM,cACGH,YAAA,QAAMG,WAAW,OACvC,UAAa,QAAM,sBACiB,KAC9CH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,UACDH,YAAA,QAAMG,WAAW,OACnC,UAAa,SAAO,KACPH,YAAA,QAAMG,WAAW,OAC9B,UAAa,QAAM,wBACaH,YAAA,QAAMG,WAAW,OACjD,UAAa,QAAM,YACCH,YAAA,QAAMG,WAAW,OACrC,UAAa,QAAM,KACNH,YAAA,QAAMG,WAAW,OAC9B,UAAa,QAAM,cACGH,YAAA,QAAMG,WAAW,OACvC,UAAa,QAAM,OACE,KAC/BH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,SACI,KACjCH,YAAA,QAAMG,WAAW,OACT,UAAa,yBACZH,YAAA,QAAMG,WAAW,OAChB,UAAa,QAAM,QAE3BH,YAAA,qGAGAA,YAACI,IAAe,CAACC,KAAK,wBAAwBC,KAAK,yBAAyBJ,QAAQ,oBAEpFF,YAAA,SACE,UAAa,2BAAyB,glCA6B3C,IAAAN,UAAAb,OAAAa,IAAAb,OAAAC,aAAAY,KAAAb,OAAAE,UAAAC,eAAAC,KAAAS,EAAA,eAAAb,OAAAK,eAAAQ,EAAA,cAAAP,cAAA,EAAAC,MAAA,CAAAC,KAAA,aAAAC,SAAA,6BAEDI,EAAWa,gBAAiB","file":"component---docs-tutorial-k-lib-mdx-badaa4a6d50be9d82125.js","sourcesContent":["import * as React from 'react'\n /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsxRuntime classic */\n/* @jsx mdx */\nimport DefaultLayout from \"/home/runner/work/tanka/tanka/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nimport TutorialButtons from \"./TutorialButtons\";\nexport const _frontmatter = {};\nconst layoutProps = {\n _frontmatter\n};\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n components,\n ...props\n}) {\n return \n\n\n

      {`Kubernetes library`}

      \n

      {`The last section has shown that using a library for creating Kubernetes objects\ncan drastically simplify the code you need to write. However, there is a huge\namount of different kinds of objects and the Kubernetes API is evolving (and\nthus changing) quite rapidly.`}

      \n

      {`Writing and maintaining such a library could be a full-time job on it's own.\nLuckily, it is possible to generate such a library from the Kubernetes OpenAPI\nspecification! Even better, it has already been done for you.`}

      \n

      {`k8s-libsonnet`}

      \n

      {`The library is called `}{`k8s-libsonnet`}{` (replacing the discontinued `}{`ksonnet-lib`}{`),\ncurrently available at `}{`https://github.com/jsonnet-libs/k8s-libsonnet`}{`.`}

      \n
      \n

      {`Note`}{`: The `}{`ksonnet`}{` project has been abandoned, the library is not maintained\nanymore. However, the community backed by Grafana Labs has picked up on this with\nthe `}{`k8s-libsonnet`}{` library.`}

      \n
      \n

      {`As `}{`k8s-libsonnet`}{` has broken compatibility in a few places with `}{`ksonnet-lib`}{` (for good\nreason), we have instrumented the widely used `}{`ksonnet-util`}{` library with a\ncompatibility layer to improve the developer and user experience:\n`}{`https://github.com/grafana/jsonnet-libs/tree/master/ksonnet-util`}

      \n

      {`If you do not have any strong reasons against it, just adopt the wrapper as\nwell, it will ease your work. Many of the original `}{`ksonnet-util`}{` enhancements\nhave already made their way into `}{`k8s-libsonnet`}{`.`}

      \n

      {`The docs for `}{`k8s-libsonnet`}{` library can be found here:\n`}{`https://jsonnet-libs.github.io/k8s-libsonnet/`}

      \n

      {`Installation`}

      \n

      {`Like every other external library, `}{`k8s-libsonnet`}{` can be installed using\n`}{`jsonnet-bundler`}{`.\nHowever, Tanka already `}{`did this for you`}{` during `}{`project\ncreation (`}{`tk init`}{`)`}{`:`}

      \n
      {`$ tk init`}{`\n`}{`  └─ jb install github.com/jsonnet-libs/k8s-libsonnet/1.21@main github.com/grafana/jsonnet-libs/ksonnet-util`}{`\n`}
      \n

      {`This created the following structure in `}{`/vendor`}{`:`}

      \n
      {`vendor`}{`\n`}{`├── github.com`}{`\n`}{`│   ├── grafana`}{`\n`}{`│   │   └── jsonnet-libs`}{`\n`}{`│   │       └── ksonnet-util`}{`\n`}{`│   │           ├── ...`}{`\n`}{`│   │           └── kausal.libsonnet `}{`# Grafana's wrapper`}{`\n`}{`│   └── jsonnet-libs`}{`\n`}{`│       └── k8s-libsonnet`}{`\n`}{`│           └── 1.21`}{`\n`}{`│               ├── ...`}{`\n`}{`│               └── main.libsonnet   `}{`# k8s-libsonnet entrypoint`}{`\n`}{`├── 1.21 -`}{`>`}{` github.com/jsonnet-libs/k8s-libsonnet/1.21`}{`\n`}{`└── ksonnet-util -`}{`>`}{` github.com/grafana/jsonnet-libs/ksonnet-util`}
      \n
      \n

      {`Info`}{`: The `}{`vendor/`}{` is the location for external libraries, while `}{`lib/`}{`\ncan be used for your own ones. Check `}{`import paths`}{`\nfor more information.`}

      \n
      \n

      {`Aliasing`}

      \n

      {`Because of how `}{`jb`}{` works, the library can be imported as\n`}{`github.com/jsonnet-libs/k8s-libsonnet/1.21/main.libsonnet`}{`. Most external\nlibraries (including our wrapper) expect it as a simple `}{`k.libsonnet`}{` (without\nthe package prefix).`}

      \n

      {`To support both, Tanka automatically created an alias file for you:\n`}{`/lib/k.libsonnet`}{` that just imports the actual library, exposing it under this\nalternative name as well.`}

      \n
      \n

      {`More information`}{`:\nThis works, because `}{`import`}{` behaves like copy-pasting. So the contents of\n`}{`k8s-libsonnet/1.21`}{` are \"copied\" into our new file, making them behave exactly the\nsame.`}

      \n
      \n

      {`Using it`}

      \n

      {`First we need to import it in `}{`main.jsonnet`}{`:`}

      \n
      {`-`}{` local k = import \"kubernetes.libsonnet\";`}{`\n`}{`+`}{` local k = import \"github.com/grafana/jsonnet-libs/ksonnet-util/kausal.libsonnet\";`}{`\n`}{`  local grafana = import \"grafana.jsonnet\";`}{`\n`}{`  local prometheus = import \"prometheus.jsonnet\";`}{`\n`}{`  { /* ... */ }`}
      \n
      \n

      {`Note`}{`: `}{`ksonnet-util`}{` imports literal `}{`k.libsonnet`}{`, so `}{`aliasing`}{` is\na must here. This works, because `}{`/lib`}{` and `}{`/vendor`}{` are automatically searched\nfor libraries, and `}{`k.libsonnet`}{` can be found in `}{`/lib`}{` due to aforementioned\naliasing.`}

      \n
      \n

      {`Now that we have installed the correct version, let's use it in\n`}{`/environments/default/grafana.jsonnet`}{` instead of our own helper:`}

      \n
      {`local`}{` k `}{`=`}{` `}{`import`}{` `}{`\"github.com/grafana/jsonnet-libs/ksonnet-util/kausal.libsonnet\"`}{`;`}{`\n`}{`\n`}{`{`}{`\n`}{`  `}{`// use locals to extract the parts we need`}{`\n`}{`  `}{`local`}{` deploy `}{`=`}{` k.apps.v1.deployment,`}{`\n`}{`  `}{`local`}{` container `}{`=`}{` k.core.v1.container,`}{`\n`}{`  `}{`local`}{` port `}{`=`}{` k.core.v1.containerPort,`}{`\n`}{`  `}{`local`}{` service `}{`=`}{` k.core.v1.service,`}{`\n`}{`  `}{`// defining the objects:`}{`\n`}{`  `}{`grafana:`}{` {`}{`\n`}{`    `}{`// deployment constructor: name, replicas, containers`}{`\n`}{`    `}{`deployment:`}{` deploy.`}{`new`}{`(name=$._config.grafana.name, replicas=`}{`1`}{`, containers=[`}{`\n`}{`      `}{`// container constructor`}{`\n`}{`      container.`}{`new`}{`($._config.grafana.name, `}{`\"grafana/grafana\"`}{`)`}{`\n`}{`      + container.`}{`withPorts`}{`( `}{`// add ports to the container`}{`\n`}{`          [port.`}{`new`}{`(`}{`\"ui\"`}{`, $._config.grafana.port)] `}{`// port constructor`}{`\n`}{`        ),`}{`\n`}{`    ]),`}{`\n`}{`\n`}{`    `}{`// instead of using a service constructor, our wrapper provides`}{`\n`}{`    `}{`// a handy helper to automatically generate a service for a Deployment`}{`\n`}{`    `}{`service:`}{` k.util.serv.util.`}{`serviceFor`}{`(self.deployment)`}{`\n`}{`             `}{`+`}{` service.mixin.spec.`}{`withType`}{`(`}{`\"NodePort\"`}{`),`}{`\n`}{`  }`}{`\n`}{`}`}
      \n

      {`Full example`}

      \n

      {`Now that creating the individual objects does not take more than 5 lines, we can\nmerge it all back into a single file (`}{`main.jsonnet`}{`) and take a look at the\nwhole picture:`}

      \n
      {`local`}{` k `}{`=`}{` `}{`import`}{` `}{`\"github.com/grafana/jsonnet-libs/ksonnet-util/kausal.libsonnet\"`}{`;`}{`\n`}{`\n`}{`{`}{`\n`}{`  `}{`_config::`}{` {`}{`\n`}{`    `}{`grafana:`}{` {`}{`\n`}{`      `}{`port:`}{` `}{`3000`}{`,`}{`\n`}{`      `}{`name:`}{` `}{`\"grafana\"`}{`,`}{`\n`}{`    },`}{`\n`}{`    `}{`prometheus:`}{` {`}{`\n`}{`      `}{`port:`}{` `}{`9090`}{`,`}{`\n`}{`      `}{`name:`}{` `}{`\"prometheus\"`}{`\n`}{`    }`}{`\n`}{`  },`}{`\n`}{`\n`}{`  `}{`local`}{` deployment `}{`=`}{` k.apps.v1.deployment,`}{`\n`}{`  `}{`local`}{` container `}{`=`}{` k.core.v1.container,`}{`\n`}{`  `}{`local`}{` port `}{`=`}{` k.core.v1.containerPort,`}{`\n`}{`  `}{`local`}{` service `}{`=`}{` k.core.v1.service,`}{`\n`}{`\n`}{`  `}{`prometheus:`}{` {`}{`\n`}{`    `}{`deployment:`}{` deployment.`}{`new`}{`(`}{`\n`}{`      name=$._config.prometheus.name, replicas=`}{`1`}{`,`}{`\n`}{`      containers=[`}{`\n`}{`        container.`}{`new`}{`($._config.prometheus.name, `}{`\"prom/prometheus\"`}{`)`}{`\n`}{`        + container.`}{`withPorts`}{`([port.`}{`new`}{`(`}{`\"api\"`}{`, $._config.prometheus.port)]),`}{`\n`}{`      ],`}{`\n`}{`    ),`}{`\n`}{`    `}{`service:`}{` k.util.`}{`serviceFor`}{`(self.deployment),`}{`\n`}{`  },`}{`\n`}{`  `}{`grafana:`}{` {`}{`\n`}{`    `}{`deployment:`}{` deployment.`}{`new`}{`(`}{`\n`}{`      name=$._config.grafana.name, replicas=`}{`1`}{`,`}{`\n`}{`      containers=[`}{`\n`}{`        container.`}{`new`}{`($._config.grafana.name, `}{`\"grafana/grafana\"`}{`)`}{`\n`}{`        + container.`}{`withPorts`}{`([port.`}{`new`}{`(`}{`\"ui\"`}{`, $._config.grafana.port)]),`}{`\n`}{`      ],`}{`\n`}{`    ),`}{`\n`}{`    `}{`service:`}{`\n`}{`      k.util.`}{`serviceFor`}{`(self.deployment)`}{`\n`}{`      `}{`+`}{` service.mixin.spec.`}{`withType`}{`(`}{`\"NodePort\"`}{`),`}{`\n`}{`  },`}{`\n`}{`}`}
      \n

      {`That's a pretty big improvement, considering how verbose and error-prone it was\nbefore!`}

      \n\n \n\n \n
      ;\n}\n;\nMDXContent.isMDXComponent = true;\n "],"sourceRoot":""} \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-tutorial-overview-mdx-d759ec549ebb3c839c6b.js b/pr-preview/pr-991/component---docs-tutorial-overview-mdx-d759ec549ebb3c839c6b.js deleted file mode 100644 index ba03ebb12..000000000 --- a/pr-preview/pr-991/component---docs-tutorial-overview-mdx-d759ec549ebb3c839c6b.js +++ /dev/null @@ -1,2 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[32],{hwtK:function(e,t,a){"use strict";a.r(t),a.d(t,"_frontmatter",(function(){return p})),a.d(t,"default",(function(){return m}));var n=a("wx14"),r=a("Ff2n"),o=(a("q1tI"),a("7ljp")),i=a("hhGP"),l=a("Z+0r");a("qKvR");const b=["components"],p={};void 0!==p&&p&&p===Object(p)&&Object.isExtensible(p)&&!Object.prototype.hasOwnProperty.call(p,"__filemeta")&&Object.defineProperty(p,"__filemeta",{configurable:!0,value:{name:"_frontmatter",filename:"docs/tutorial/overview.mdx"}});const c={_frontmatter:p},s=i.a;function m(e){let{components:t}=e,a=Object(r.a)(e,b);return Object(o.b)(s,Object(n.a)({},c,a,{components:t,mdxType:"MDXLayout"}),Object(o.b)("h1",{id:"tutorial"},"Tutorial"),Object(o.b)("h2",{id:"learning-how-to-use-tanka"},"Learning how to use Tanka"),Object(o.b)("p",null,"Welcome to the Tanka tutorial!\nThe following sections will explain how to deploy an example stack,\n(",Object(o.b)("a",{parentName:"p",href:"https://hub.docker.com/r/grafana/grafana"},"Grafana")," and\n",Object(o.b)("a",{parentName:"p",href:"https://hub.docker.com/r/prom/prometheus"},"Prometheus"),"), to Kubernetes. We will also deal with parameters, differences between ",Object(o.b)("inlineCode",{parentName:"p"},"dev")," and ",Object(o.b)("inlineCode",{parentName:"p"},"prod")," and how to stop worrying and love libraries."),Object(o.b)("p",null,"To do so, we have the following steps:"),Object(o.b)("ol",null,Object(o.b)("li",{parentName:"ol"},Object(o.b)("a",{parentName:"li",href:"/pr-preview/pr-991/tutorial/refresher"},"Deploying ",Object(o.b)("strong",{parentName:"a"},"without")," Tanka first"),": Using good old ",Object(o.b)("inlineCode",{parentName:"li"},"kubectl")," to understand what Tanka will do for us."),Object(o.b)("li",{parentName:"ol"},Object(o.b)("a",{parentName:"li",href:"/pr-preview/pr-991/tutorial/jsonnet"},"Using Jsonnet"),": Doing the same thing once again, but this time with Tanka and Jsonnet."),Object(o.b)("li",{parentName:"ol"},Object(o.b)("a",{parentName:"li",href:"/pr-preview/pr-991/tutorial/parameters"},"Parameterizing"),": Using Variables to avoid data duplication."),Object(o.b)("li",{parentName:"ol"},Object(o.b)("a",{parentName:"li",href:"/pr-preview/pr-991/tutorial/abstraction"},"Abstraction"),": Splitting components into individual parts."),Object(o.b)("li",{parentName:"ol"},Object(o.b)("a",{parentName:"li",href:"/pr-preview/pr-991/tutorial/environments"},"Environments"),": Dealing with differences between ",Object(o.b)("inlineCode",{parentName:"li"},"dev")," and ",Object(o.b)("inlineCode",{parentName:"li"},"prod"),"."),Object(o.b)("li",{parentName:"ol"},Object(o.b)("a",{parentName:"li",href:"/pr-preview/pr-991/tutorial/k-lib"},Object(o.b)("inlineCode",{parentName:"a"},"k.libsonnet")),": Avoid having to remember API resources.")),Object(o.b)("p",null,"Completing this gives a solid knowledge of Tanka's fundamentals. Let's get started!"),Object(o.b)("h2",{id:"resources"},"Resources"),Object(o.b)("ul",null,Object(o.b)("li",{parentName:"ul"},"The final outcome of this tutorial can be seen here:\n",Object(o.b)("a",{parentName:"li",href:"https://github.com/grafana/tanka/tree/main/examples/prom-grafana"},"https://github.com/grafana/tanka/examples/prom-grafana"))),Object(o.b)(l.a,{next:"/tutorial/refresher",mdxType:"TutorialButtons"}))}void 0!==m&&m&&m===Object(m)&&Object.isExtensible(m)&&!Object.prototype.hasOwnProperty.call(m,"__filemeta")&&Object.defineProperty(m,"__filemeta",{configurable:!0,value:{name:"MDXContent",filename:"docs/tutorial/overview.mdx"}}),m.isMDXComponent=!0}}]); -//# sourceMappingURL=component---docs-tutorial-overview-mdx-d759ec549ebb3c839c6b.js.map \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-tutorial-overview-mdx-d759ec549ebb3c839c6b.js.map b/pr-preview/pr-991/component---docs-tutorial-overview-mdx-d759ec549ebb3c839c6b.js.map deleted file mode 100644 index 6fcf47a07..000000000 --- a/pr-preview/pr-991/component---docs-tutorial-overview-mdx-d759ec549ebb3c839c6b.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./docs/tutorial/overview.mdx"],"names":["_frontmatter","Object","isExtensible","prototype","hasOwnProperty","call","defineProperty","configurable","value","name","filename","layoutProps","MDXLayout","DefaultLayout","MDXContent","_ref","components","props","_objectWithoutProperties","_excluded","mdx","_extends","mdxType","parentName","TutorialButtons","next","isMDXComponent"],"mappings":"qSAOaA,EAAe,QAAG,IAAAA,UAAAC,OAAAD,IAAAC,OAAAC,aAAAF,KAAAC,OAAAE,UAAAC,eAAAC,KAAAL,EAAA,eAAAC,OAAAK,eAAAN,EAAA,cAAAO,cAAA,EAAAC,MAAA,CAAAC,KAAA,eAAAC,SAAA,gCAC/B,MAAMC,EAAc,CAClBX,gBAEIY,EAAYC,IACH,SAASC,EAAUC,GAG/B,IAHgC,WACjCC,GAEDD,EADIE,EAAKC,YAAAH,EAAAI,GAER,OAAOC,YAACR,EAASS,YAAA,GAAKV,EAAiBM,EAAK,CAAED,WAAYA,EAAYM,QAAQ,cAG5EF,YAAA,MACE,GAAM,YAAU,YAElBA,YAAA,MACE,GAAM,6BAA2B,6BAEnCA,YAAA,kHAEDA,YAAA,KAAGG,WAAW,IACT,KAAQ,4CAA0C,WAClC,SACtBH,YAAA,KAAGG,WAAW,IACR,KAAQ,4CAA0C,cAC/B,4EAA6EH,YAAA,cAAYG,WAAW,KAAG,OAAqB,QAASH,YAAA,cAAYG,WAAW,KAAG,QAAsB,iDAC5MH,YAAA,mDACAA,YAAA,UACEA,YAAA,MAAIG,WAAW,MAAKH,YAAA,KAAGG,WAAW,KAC9B,KAAQ,yCAAuC,aAChCH,YAAA,UAAQG,WAAW,KAAG,WAAqB,gBAAoB,oBAAqBH,YAAA,cAAYG,WAAW,MAAI,WAAyB,6CAC3JH,YAAA,MAAIG,WAAW,MAAKH,YAAA,KAAGG,WAAW,KAC9B,KAAQ,uCAAqC,iBACvB,4EAC1BH,YAAA,MAAIG,WAAW,MAAKH,YAAA,KAAGG,WAAW,KAC9B,KAAQ,0CAAwC,kBACzB,gDAC3BH,YAAA,MAAIG,WAAW,MAAKH,YAAA,KAAGG,WAAW,KAC9B,KAAQ,2CAAyC,eAC7B,iDACxBH,YAAA,MAAIG,WAAW,MAAKH,YAAA,KAAGG,WAAW,KAC9B,KAAQ,4CAA0C,gBAC7B,sCAAuCH,YAAA,cAAYG,WAAW,MAAI,OAAqB,QAASH,YAAA,cAAYG,WAAW,MAAI,QAAsB,KAC1KH,YAAA,MAAIG,WAAW,MAAKH,YAAA,KAAGG,WAAW,KAC9B,KAAQ,qCACPH,YAAA,cAAYG,WAAW,KAAG,gBAAiC,8CAElEH,YAAA,gGACAA,YAAA,MACE,GAAM,aAAW,aAEnBA,YAAA,UACEA,YAAA,MAAIG,WAAW,MAAI,yDACvBH,YAAA,KAAGG,WAAW,KACN,KAAQ,oEAAkE,4DAIhFH,YAACI,IAAe,CAACC,KAAK,sBAAsBH,QAAQ,0BAGvD,IAAAR,UAAAb,OAAAa,IAAAb,OAAAC,aAAAY,KAAAb,OAAAE,UAAAC,eAAAC,KAAAS,EAAA,eAAAb,OAAAK,eAAAQ,EAAA,cAAAP,cAAA,EAAAC,MAAA,CAAAC,KAAA,aAAAC,SAAA,gCAEDI,EAAWY,gBAAiB","file":"component---docs-tutorial-overview-mdx-d759ec549ebb3c839c6b.js","sourcesContent":["import * as React from 'react'\n /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsxRuntime classic */\n/* @jsx mdx */\nimport DefaultLayout from \"/home/runner/work/tanka/tanka/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nimport TutorialButtons from \"./TutorialButtons\";\nexport const _frontmatter = {};\nconst layoutProps = {\n _frontmatter\n};\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n components,\n ...props\n}) {\n return \n\n\n

      {`Tutorial`}

      \n

      {`Learning how to use Tanka`}

      \n

      {`Welcome to the Tanka tutorial!\nThe following sections will explain how to deploy an example stack,\n(`}{`Grafana`}{` and\n`}{`Prometheus`}{`), to Kubernetes. We will also deal with parameters, differences between `}{`dev`}{` and `}{`prod`}{` and how to stop worrying and love libraries.`}

      \n

      {`To do so, we have the following steps:`}

      \n
        \n
      1. {`Deploying `}{`without`}{` Tanka first`}{`: Using good old `}{`kubectl`}{` to understand what Tanka will do for us.`}
      2. \n
      3. {`Using Jsonnet`}{`: Doing the same thing once again, but this time with Tanka and Jsonnet.`}
      4. \n
      5. {`Parameterizing`}{`: Using Variables to avoid data duplication.`}
      6. \n
      7. {`Abstraction`}{`: Splitting components into individual parts.`}
      8. \n
      9. {`Environments`}{`: Dealing with differences between `}{`dev`}{` and `}{`prod`}{`.`}
      10. \n
      11. {`k.libsonnet`}{`: Avoid having to remember API resources.`}
      12. \n
      \n

      {`Completing this gives a solid knowledge of Tanka's fundamentals. Let's get started!`}

      \n

      {`Resources`}

      \n \n\n \n\n
      ;\n}\n;\nMDXContent.isMDXComponent = true;\n "],"sourceRoot":""} \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-tutorial-parameterizing-mdx-cb9c8ff66607e77042cd.js b/pr-preview/pr-991/component---docs-tutorial-parameterizing-mdx-cb9c8ff66607e77042cd.js deleted file mode 100644 index 8a700d597..000000000 --- a/pr-preview/pr-991/component---docs-tutorial-parameterizing-mdx-cb9c8ff66607e77042cd.js +++ /dev/null @@ -1,2 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[33],{qTU8:function(e,a,t){"use strict";t.r(a),t.d(a,"_frontmatter",(function(){return r})),t.d(a,"default",(function(){return o}));var n=t("wx14"),s=t("Ff2n"),c=(t("q1tI"),t("7ljp")),m=t("hhGP"),p=t("Z+0r");t("qKvR");const l=["components"],r={};void 0!==r&&r&&r===Object(r)&&Object.isExtensible(r)&&!Object.prototype.hasOwnProperty.call(r,"__filemeta")&&Object.defineProperty(r,"__filemeta",{configurable:!0,value:{name:"_frontmatter",filename:"docs/tutorial/parameterizing.mdx"}});const b={_frontmatter:r},i=m.a;function o(e){let{components:a}=e,t=Object(s.a)(e,l);return Object(c.b)(i,Object(n.a)({},b,t,{components:a,mdxType:"MDXLayout"}),Object(c.b)("h1",{id:"parameterizing"},"Parameterizing"),Object(c.b)("p",null,"Deploying using Tanka worked well, but it did not really improve the situation\nin terms of maintainability and readability."),Object(c.b)("p",null,"To do so, the following sections will explore some ways Jsonnet provides us with."),Object(c.b)("h2",{id:"config-object"},"Config object"),Object(c.b)("p",null,"The most straightforward thing to do is creating a hidden object that holds all\nactual values in a single place to be consumed by the actual resources."),Object(c.b)("p",null,"Luckily, Jsonnet has the ",Object(c.b)("inlineCode",{parentName:"p"},'key:: "value"')," stanza for private fields. Such are\nonly available during compiling and will be removed from the actual output."),Object(c.b)("p",null,"Such an object could look like this:"),Object(c.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"jsonnet"},Object(c.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"},"{")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"}," "),Object(c.b)("span",{parentName:"span",className:"mtk7"},"_config::"),Object(c.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"}," "),Object(c.b)("span",{parentName:"span",className:"mtk10"},"grafana:"),Object(c.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"}," "),Object(c.b)("span",{parentName:"span",className:"mtk10"},"port:"),Object(c.b)("span",{parentName:"span",className:"mtk1"}," "),Object(c.b)("span",{parentName:"span",className:"mtk4"},"3000"),Object(c.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"}," "),Object(c.b)("span",{parentName:"span",className:"mtk10"},"name:"),Object(c.b)("span",{parentName:"span",className:"mtk1"}," "),Object(c.b)("span",{parentName:"span",className:"mtk6"},'"grafana"'),Object(c.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"}," "),Object(c.b)("span",{parentName:"span",className:"mtk10"},"prometheus:"),Object(c.b)("span",{parentName:"span",className:"mtk1"}," {")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"}," "),Object(c.b)("span",{parentName:"span",className:"mtk10"},"port:"),Object(c.b)("span",{parentName:"span",className:"mtk1"}," "),Object(c.b)("span",{parentName:"span",className:"mtk4"},"9090"),Object(c.b)("span",{parentName:"span",className:"mtk1"},",")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"}," "),Object(c.b)("span",{parentName:"span",className:"mtk10"},"name:"),Object(c.b)("span",{parentName:"span",className:"mtk1"}," "),Object(c.b)("span",{parentName:"span",className:"mtk6"},'"prometheus"')),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"}," }")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"}," }")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"},"}")))),Object(c.b)("p",null,"We can then replace hardcoded values with a reference to this object:"),Object(c.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"diff"},Object(c.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"},"{ // <- This is $")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"}," _config:: { /* .. */ },")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"}," grafana: {")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"}," service: {")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"}," apiVersion: 'v1',")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"}," kind: 'Service',")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"}," metadata: {")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"}," labels: {")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk5"},"-"),Object(c.b)("span",{parentName:"span",className:"mtk10"}," name: 'grafana',")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk5"},"+"),Object(c.b)("span",{parentName:"span",className:"mtk6"}," name: $._config.grafana.name, // $ refers to the outermost object")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk5"},"-"),Object(c.b)("span",{parentName:"span",className:"mtk10"}," name: 'grafana',")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk5"},"+"),Object(c.b)("span",{parentName:"span",className:"mtk6"}," name: $._config.grafana.name,")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"}," spec: {")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"}," ports: [{")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk5"},"-"),Object(c.b)("span",{parentName:"span",className:"mtk10"}," name: 'grafana-ui',")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk5"},"+"),Object(c.b)("span",{parentName:"span",className:"mtk6"}," name: '%s-ui' % $._config.grafana.name, // printf-style formatting")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk5"},"-"),Object(c.b)("span",{parentName:"span",className:"mtk10"}," port: 3000,")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk5"},"+"),Object(c.b)("span",{parentName:"span",className:"mtk6"}," port: $._config.grafana.port,")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk5"},"-"),Object(c.b)("span",{parentName:"span",className:"mtk10"}," targetPort: 3000,")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk5"},"+"),Object(c.b)("span",{parentName:"span",className:"mtk6"}," targetPort: $._config.grafana.port,")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"}," }],")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"}," selector: {")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk5"},"-"),Object(c.b)("span",{parentName:"span",className:"mtk10"}," name: 'grafana',")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk5"},"+"),Object(c.b)("span",{parentName:"span",className:"mtk6"}," name: $._config.grafana.name,")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"}," type: 'NodePort',")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"}," },")),"\n",Object(c.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(c.b)("span",{parentName:"span",className:"mtk1"},"}")))),Object(c.b)("p",null,"Here we see that we can easily refer to other parts of the configuration using\nthe outer-most object ",Object(c.b)("inlineCode",{parentName:"p"},"$")," (the root level). Every value is just a regular\nvariable that you can refer to using the same familiar syntax from other C-like\nlanguages."),Object(c.b)("p",null,"Now we do not only have a single place to change tunables, but also won't suffer\nfrom mismatching labels and selectors anymore, as they are defined in a single\nplace and all changed at once."),Object(c.b)(p.a,{prev:"/tutorial/jsonnet",next:"/tutorial/abstraction",mdxType:"TutorialButtons"}),Object(c.b)("style",{className:"vscode-highlight-styles"},"\n \n .material-theme-darker {\nbackground-color: #212121;\ncolor: #EEFFFF;\n}\n\n.material-theme-darker .mtk1 { color: #FFFFFF; }\n.material-theme-darker .mtk2 { color: #212121; }\n.material-theme-darker .mtk3 { color: #545454; }\n.material-theme-darker .mtk4 { color: #F78C6C; }\n.material-theme-darker .mtk5 { color: #89DDFF; }\n.material-theme-darker .mtk6 { color: #C3E88D; }\n.material-theme-darker .mtk7 { color: #FFCB6B; }\n.material-theme-darker .mtk8 { color: #EEFFFF; }\n.material-theme-darker .mtk9 { color: #82AAFF; }\n.material-theme-darker .mtk10 { color: #FF5370; }\n.material-theme-darker .mtk11 { color: #F07178; }\n.material-theme-darker .mtk12 { color: #C792EA; }\n.material-theme-darker .mtk13 { color: #EEFFFF90; }\n.material-theme-darker .mtk14 { color: #65737E; }\n.material-theme-darker .mtk15 { color: #B2CCD6; }\n.material-theme-darker .mtk16 { color: #C17E70; }\n.material-theme-darker .mtki { font-style: italic; }\n.material-theme-darker .mtkb { font-weight: bold; }\n.material-theme-darker .mtku { text-decoration: underline; text-underline-position: under; }\n"))}void 0!==o&&o&&o===Object(o)&&Object.isExtensible(o)&&!Object.prototype.hasOwnProperty.call(o,"__filemeta")&&Object.defineProperty(o,"__filemeta",{configurable:!0,value:{name:"MDXContent",filename:"docs/tutorial/parameterizing.mdx"}}),o.isMDXComponent=!0}}]); -//# sourceMappingURL=component---docs-tutorial-parameterizing-mdx-cb9c8ff66607e77042cd.js.map \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-tutorial-parameterizing-mdx-cb9c8ff66607e77042cd.js.map b/pr-preview/pr-991/component---docs-tutorial-parameterizing-mdx-cb9c8ff66607e77042cd.js.map deleted file mode 100644 index 8c67f3f1f..000000000 --- a/pr-preview/pr-991/component---docs-tutorial-parameterizing-mdx-cb9c8ff66607e77042cd.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./docs/tutorial/parameterizing.mdx"],"names":["_frontmatter","Object","isExtensible","prototype","hasOwnProperty","call","defineProperty","configurable","value","name","filename","layoutProps","MDXLayout","DefaultLayout","MDXContent","_ref","components","props","_objectWithoutProperties","_excluded","mdx","_extends","mdxType","parentName","TutorialButtons","prev","next","isMDXComponent"],"mappings":"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","file":"component---docs-tutorial-parameterizing-mdx-cb9c8ff66607e77042cd.js","sourcesContent":["import * as React from 'react'\n /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsxRuntime classic */\n/* @jsx mdx */\nimport DefaultLayout from \"/home/runner/work/tanka/tanka/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nimport TutorialButtons from \"./TutorialButtons\";\nexport const _frontmatter = {};\nconst layoutProps = {\n _frontmatter\n};\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n components,\n ...props\n}) {\n return \n\n\n

      {`Parameterizing`}

      \n

      {`Deploying using Tanka worked well, but it did not really improve the situation\nin terms of maintainability and readability.`}

      \n

      {`To do so, the following sections will explore some ways Jsonnet provides us with.`}

      \n

      {`Config object`}

      \n

      {`The most straightforward thing to do is creating a hidden object that holds all\nactual values in a single place to be consumed by the actual resources.`}

      \n

      {`Luckily, Jsonnet has the `}{`key:: \"value\"`}{` stanza for private fields. Such are\nonly available during compiling and will be removed from the actual output.`}

      \n

      {`Such an object could look like this:`}

      \n
      {`{`}{`\n`}{`  `}{`_config::`}{` {`}{`\n`}{`    `}{`grafana:`}{` {`}{`\n`}{`      `}{`port:`}{` `}{`3000`}{`,`}{`\n`}{`      `}{`name:`}{` `}{`\"grafana\"`}{`,`}{`\n`}{`    },`}{`\n`}{`    `}{`prometheus:`}{` {`}{`\n`}{`      `}{`port:`}{` `}{`9090`}{`,`}{`\n`}{`      `}{`name:`}{` `}{`\"prometheus\"`}{`\n`}{`    }`}{`\n`}{`  }`}{`\n`}{`}`}
      \n

      {`We can then replace hardcoded values with a reference to this object:`}

      \n
      {`{ // <- This is $`}{`\n`}{`  _config:: { /* .. */ },`}{`\n`}{`  grafana: {`}{`\n`}{`    service: {`}{`\n`}{`      apiVersion: 'v1',`}{`\n`}{`      kind: 'Service',`}{`\n`}{`      metadata: {`}{`\n`}{`        labels: {`}{`\n`}{`-`}{`         name: 'grafana',`}{`\n`}{`+`}{`         name: $._config.grafana.name, // $ refers to the outermost object`}{`\n`}{`        },`}{`\n`}{`-`}{`       name: 'grafana',`}{`\n`}{`+`}{`       name: $._config.grafana.name,`}{`\n`}{`      },`}{`\n`}{`      spec: {`}{`\n`}{`        ports: [{`}{`\n`}{`-`}{`           name: 'grafana-ui',`}{`\n`}{`+`}{`           name: '%s-ui' % $._config.grafana.name, // printf-style formatting`}{`\n`}{`-`}{`           port: 3000,`}{`\n`}{`+`}{`           port: $._config.grafana.port,`}{`\n`}{`-`}{`           targetPort: 3000,`}{`\n`}{`+`}{`           targetPort: $._config.grafana.port,`}{`\n`}{`        }],`}{`\n`}{`        selector: {`}{`\n`}{`-`}{`          name: 'grafana',`}{`\n`}{`+`}{`          name: $._config.grafana.name,`}{`\n`}{`        },`}{`\n`}{`        type: 'NodePort',`}{`\n`}{`      },`}{`\n`}{`    },`}{`\n`}{`  },`}{`\n`}{`}`}
      \n

      {`Here we see that we can easily refer to other parts of the configuration using\nthe outer-most object `}{`$`}{` (the root level). Every value is just a regular\nvariable that you can refer to using the same familiar syntax from other C-like\nlanguages.`}

      \n

      {`Now we do not only have a single place to change tunables, but also won't suffer\nfrom mismatching labels and selectors anymore, as they are defined in a single\nplace and all changed at once.`}

      \n\n \n\n \n
      ;\n}\n;\nMDXContent.isMDXComponent = true;\n "],"sourceRoot":""} \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-tutorial-refresher-mdx-81bba2a6cc6987e2c96b.js b/pr-preview/pr-991/component---docs-tutorial-refresher-mdx-81bba2a6cc6987e2c96b.js deleted file mode 100644 index 3671459a0..000000000 --- a/pr-preview/pr-991/component---docs-tutorial-refresher-mdx-81bba2a6cc6987e2c96b.js +++ /dev/null @@ -1,2 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[34],{Xb6S:function(a,e,s){"use strict";s.r(e),s.d(e,"_frontmatter",(function(){return l})),s.d(e,"default",(function(){return i}));var t=s("wx14"),n=s("Ff2n"),m=(s("q1tI"),s("7ljp")),p=s("hhGP"),c=s("Z+0r");s("qKvR");const b=["components"],l={};void 0!==l&&l&&l===Object(l)&&Object.isExtensible(l)&&!Object.prototype.hasOwnProperty.call(l,"__filemeta")&&Object.defineProperty(l,"__filemeta",{configurable:!0,value:{name:"_frontmatter",filename:"docs/tutorial/refresher.mdx"}});const N={_frontmatter:l},r=p.a;function i(a){let{components:e}=a,s=Object(n.a)(a,b);return Object(m.b)(r,Object(t.a)({},N,s,{components:e,mdxType:"MDXLayout"}),Object(m.b)("h1",{id:"refresher-on-deploying"},"Refresher on deploying"),Object(m.b)("h2",{id:"deploying-to-kubernetes-using-kubectl"},"Deploying to Kubernetes using kubectl"),Object(m.b)("p",null,"To understand how Tanka works, it is important to know what steps are required\nfor the task of deploying Grafana and Prometheus to Kubernetes:"),Object(m.b)("ol",null,Object(m.b)("li",{parentName:"ol"},"Prometheus",Object(m.b)("ul",{parentName:"li"},Object(m.b)("li",{parentName:"ul"},"A ",Object(m.b)("inlineCode",{parentName:"li"},"Deployment")," must be created, to run the ",Object(m.b)("inlineCode",{parentName:"li"},"prom/prometheus")," image"),Object(m.b)("li",{parentName:"ul"},"Also a ",Object(m.b)("inlineCode",{parentName:"li"},"Service")," is needed for Grafana to be able to connect port ",Object(m.b)("inlineCode",{parentName:"li"},"9090")," of\nPrometheus."))),Object(m.b)("li",{parentName:"ol"},"Grafana",Object(m.b)("ul",{parentName:"li"},Object(m.b)("li",{parentName:"ul"},"Another ",Object(m.b)("inlineCode",{parentName:"li"},"Deployment")," is required for the Grafana server."),Object(m.b)("li",{parentName:"ul"},"To connect to the web interface, we will be using a ",Object(m.b)("inlineCode",{parentName:"li"},"Service")," of type\n",Object(m.b)("inlineCode",{parentName:"li"},"NodePort"),".")))),Object(m.b)("p",null,"Before taking a look how Tanka can help doing so, let's recall how to do it with\nplain ",Object(m.b)("inlineCode",{parentName:"p"},"kubectl"),"."),Object(m.b)("h2",{id:"writing-the-yaml"},"Writing the yaml"),Object(m.b)("p",null,Object(m.b)("inlineCode",{parentName:"p"},"kubectl")," expects the resources it should create in ",Object(m.b)("inlineCode",{parentName:"p"},".yaml")," format. For Grafana\n..."),Object(m.b)("h5",{id:"grafanayaml"},"grafana.yaml:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"yaml"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"# Grafana server Deployment")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"apiVersion"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"apps/v1")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"kind"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"Deployment")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"metadata"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"grafana")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"spec"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"selector"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"matchLabels"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"grafana")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"template"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"metadata"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"labels"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"grafana")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"spec"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"containers"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"-"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"image"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"grafana/grafana")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"grafana")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"ports"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"-"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"containerPort"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"3000")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"ui")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"---")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"# Grafana UI Service NodePort")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"apiVersion"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"v1")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"kind"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"Service")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"metadata"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"labels"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"grafana")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"grafana")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"spec"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"ports"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"-"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"grafana-ui")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"port"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"3000")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"targetPort"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"3000")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"selector"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"grafana")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"type"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"NodePort")))),Object(m.b)("p",null,"... and for Prometheus:"),Object(m.b)("h5",{id:"prometheusyaml"},"prometheus.yaml"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"yaml"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"# Prometheus server Deployment")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"apiVersion"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"apps/v1")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"kind"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"Deployment")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"metadata"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"prometheus")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"spec"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"selector"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"matchLabels"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"prometheus")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"template"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"metadata"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"labels"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"prometheus")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"spec"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"containers"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"-"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"image"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"prom/prometheus")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"prometheus")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"ports"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"-"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"containerPort"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"9090")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"api")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"---")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"# Prometheus API Service")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"apiVersion"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"v1")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"kind"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"Service")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"metadata"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"labels"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"prometheus")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"prometheus")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk11"},"spec"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"ports"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk5"},"-"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"prometheus-api")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"port"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"9090")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"targetPort"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk4"},"9090")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"selector"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk11"},"name"),Object(m.b)("span",{parentName:"span",className:"mtk5"},":"),Object(m.b)("span",{parentName:"span",className:"mtk1"}," "),Object(m.b)("span",{parentName:"span",className:"mtk6"},"prometheus")))),Object(m.b)("p",null,"That's pretty verbose, right?"),Object(m.b)("p",null,"Even worse, there are labels and matchers (e.g. ",Object(m.b)("inlineCode",{parentName:"p"},"prometheus"),") that need to be\nexactly the same scattered across the file. It's a nightmare to debug and\nfurthermore harms readability a lot."),Object(m.b)("h2",{id:"deploying-to-the-cluster"},"Deploying to the cluster"),Object(m.b)("p",null,"To actually apply those resources, copy them into ",Object(m.b)("inlineCode",{parentName:"p"},".yaml")," files and use:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"bash"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"$ kubectl apply -f prometheus.yaml -f grafana.yaml")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"deployment.apps/grafana created")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"deployment.apps/prometheus created")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"service/grafana created")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"service/prometheus created")))),Object(m.b)("h2",{id:"checking-it-worked"},"Checking it worked"),Object(m.b)("p",null,"So far so good, but can we tell it actually did what we wanted? Let's test that\nGrafana can connect to Prometheus!"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"bash"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk3 mtki"},"# Temporarily forward Grafana to localhost")),"\n",Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"kubectl port-forward deployments/grafana 8080:3000")))),Object(m.b)("p",null,"Now go to http://localhost:8080 in your browser and login using ",Object(m.b)("inlineCode",{parentName:"p"},"admin:admin"),".\nThen navigate to ",Object(m.b)("inlineCode",{parentName:"p"},"Connections > Data sources > Add new data source"),", choose\n",Object(m.b)("inlineCode",{parentName:"p"},"Prometheus")," as type and enter ",Object(m.b)("inlineCode",{parentName:"p"},"http://prometheus:9090")," as URL. Hit\n",Object(m.b)("inlineCode",{parentName:"p"},"Save & Test")," which should yield a big green bar telling you everything is good."),Object(m.b)("p",null,"Cool! This worked out well for this small example, but the ",Object(m.b)("inlineCode",{parentName:"p"},".yaml")," files are\nhard to read and maintain. Especially when you need to deploy this exact same\nthing in ",Object(m.b)("inlineCode",{parentName:"p"},"dev")," and ",Object(m.b)("inlineCode",{parentName:"p"},"prod")," your choices are very limited."),Object(m.b)("p",null,"Let's explore how Tanka can help us here in the next section!"),Object(m.b)("h2",{id:"cleaning-up"},"Cleaning up"),Object(m.b)("p",null,"Let's remove everything we created to start fresh with Jsonnet in the next section:"),Object(m.b)("pre",{className:"material-theme-darker vscode-highlight","data-language":"bash"},Object(m.b)("code",{parentName:"pre",className:"vscode-highlight-code"},Object(m.b)("span",{parentName:"code",className:"vscode-highlight-line"},Object(m.b)("span",{parentName:"span",className:"mtk1"},"$ kubectl delete -f prometheus.yaml -f grafana.yaml")))),Object(m.b)(c.a,{prev:"/tutorial/overview",next:"/tutorial/jsonnet",mdxType:"TutorialButtons"}),Object(m.b)("style",{className:"vscode-highlight-styles"},"\n \n .material-theme-darker {\nbackground-color: #212121;\ncolor: #EEFFFF;\n}\n\n.material-theme-darker .mtk1 { color: #FFFFFF; }\n.material-theme-darker .mtk2 { color: #212121; }\n.material-theme-darker .mtk3 { color: #545454; }\n.material-theme-darker .mtk4 { color: #F78C6C; }\n.material-theme-darker .mtk5 { color: #89DDFF; }\n.material-theme-darker .mtk6 { color: #C3E88D; }\n.material-theme-darker .mtk7 { color: #FFCB6B; }\n.material-theme-darker .mtk8 { color: #EEFFFF; }\n.material-theme-darker .mtk9 { color: #82AAFF; }\n.material-theme-darker .mtk10 { color: #FF5370; }\n.material-theme-darker .mtk11 { color: #F07178; }\n.material-theme-darker .mtk12 { color: #C792EA; }\n.material-theme-darker .mtk13 { color: #EEFFFF90; }\n.material-theme-darker .mtk14 { color: #65737E; }\n.material-theme-darker .mtk15 { color: #B2CCD6; }\n.material-theme-darker .mtk16 { color: #C17E70; }\n.material-theme-darker .mtki { font-style: italic; }\n.material-theme-darker .mtkb { font-weight: bold; }\n.material-theme-darker .mtku { text-decoration: underline; text-underline-position: under; }\n"))}void 0!==i&&i&&i===Object(i)&&Object.isExtensible(i)&&!Object.prototype.hasOwnProperty.call(i,"__filemeta")&&Object.defineProperty(i,"__filemeta",{configurable:!0,value:{name:"MDXContent",filename:"docs/tutorial/refresher.mdx"}}),i.isMDXComponent=!0}}]); -//# sourceMappingURL=component---docs-tutorial-refresher-mdx-81bba2a6cc6987e2c96b.js.map \ No newline at end of file diff --git a/pr-preview/pr-991/component---docs-tutorial-refresher-mdx-81bba2a6cc6987e2c96b.js.map b/pr-preview/pr-991/component---docs-tutorial-refresher-mdx-81bba2a6cc6987e2c96b.js.map deleted file mode 100644 index edc59ef96..000000000 --- a/pr-preview/pr-991/component---docs-tutorial-refresher-mdx-81bba2a6cc6987e2c96b.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./docs/tutorial/refresher.mdx"],"names":["_frontmatter","Object","isExtensible","prototype","hasOwnProperty","call","defineProperty","configurable","value","name","filename","layoutProps","MDXLayout","DefaultLayout","MDXContent","_ref","components","props","_objectWithoutProperties","_excluded","mdx","_extends","mdxType","parentName","TutorialButtons","prev","next","isMDXComponent"],"mappings":"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","file":"component---docs-tutorial-refresher-mdx-81bba2a6cc6987e2c96b.js","sourcesContent":["import * as React from 'react'\n /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsxRuntime classic */\n/* @jsx mdx */\nimport DefaultLayout from \"/home/runner/work/tanka/tanka/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nimport TutorialButtons from \"./TutorialButtons\";\nexport const _frontmatter = {};\nconst layoutProps = {\n _frontmatter\n};\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n components,\n ...props\n}) {\n return \n\n\n

      {`Refresher on deploying`}

      \n

      {`Deploying to Kubernetes using kubectl`}

      \n

      {`To understand how Tanka works, it is important to know what steps are required\nfor the task of deploying Grafana and Prometheus to Kubernetes:`}

      \n
        \n
      1. {`Prometheus`}\n
          \n
        • {`A `}{`Deployment`}{` must be created, to run the `}{`prom/prometheus`}{` image`}
        • \n
        • {`Also a `}{`Service`}{` is needed for Grafana to be able to connect port `}{`9090`}{` of\nPrometheus.`}
        • \n
        \n
      2. \n
      3. {`Grafana`}\n
          \n
        • {`Another `}{`Deployment`}{` is required for the Grafana server.`}
        • \n
        • {`To connect to the web interface, we will be using a `}{`Service`}{` of type\n`}{`NodePort`}{`.`}
        • \n
        \n
      4. \n
      \n

      {`Before taking a look how Tanka can help doing so, let's recall how to do it with\nplain `}{`kubectl`}{`.`}

      \n

      {`Writing the yaml`}

      \n

      {`kubectl`}{` expects the resources it should create in `}{`.yaml`}{` format. For Grafana\n...`}

      \n
      {`grafana.yaml:`}
      \n
      {`# Grafana server Deployment`}{`\n`}{`apiVersion`}{`:`}{` `}{`apps/v1`}{`\n`}{`kind`}{`:`}{` `}{`Deployment`}{`\n`}{`metadata`}{`:`}{`\n`}{`  `}{`name`}{`:`}{` `}{`grafana`}{`\n`}{`spec`}{`:`}{`\n`}{`  `}{`selector`}{`:`}{`\n`}{`    `}{`matchLabels`}{`:`}{`\n`}{`      `}{`name`}{`:`}{` `}{`grafana`}{`\n`}{`  `}{`template`}{`:`}{`\n`}{`    `}{`metadata`}{`:`}{`\n`}{`      `}{`labels`}{`:`}{`\n`}{`        `}{`name`}{`:`}{` `}{`grafana`}{`\n`}{`    `}{`spec`}{`:`}{`\n`}{`      `}{`containers`}{`:`}{`\n`}{`        `}{`-`}{` `}{`image`}{`:`}{` `}{`grafana/grafana`}{`\n`}{`          `}{`name`}{`:`}{` `}{`grafana`}{`\n`}{`          `}{`ports`}{`:`}{`\n`}{`            `}{`-`}{` `}{`containerPort`}{`:`}{` `}{`3000`}{`\n`}{`              `}{`name`}{`:`}{` `}{`ui`}{`\n`}{`---`}{`\n`}{`# Grafana UI Service NodePort`}{`\n`}{`apiVersion`}{`:`}{` `}{`v1`}{`\n`}{`kind`}{`:`}{` `}{`Service`}{`\n`}{`metadata`}{`:`}{`\n`}{`  `}{`labels`}{`:`}{`\n`}{`    `}{`name`}{`:`}{` `}{`grafana`}{`\n`}{`  `}{`name`}{`:`}{` `}{`grafana`}{`\n`}{`spec`}{`:`}{`\n`}{`  `}{`ports`}{`:`}{`\n`}{`    `}{`-`}{` `}{`name`}{`:`}{` `}{`grafana-ui`}{`\n`}{`      `}{`port`}{`:`}{` `}{`3000`}{`\n`}{`      `}{`targetPort`}{`:`}{` `}{`3000`}{`\n`}{`  `}{`selector`}{`:`}{`\n`}{`    `}{`name`}{`:`}{` `}{`grafana`}{`\n`}{`  `}{`type`}{`:`}{` `}{`NodePort`}
      \n

      {`... and for Prometheus:`}

      \n
      {`prometheus.yaml`}
      \n
      {`# Prometheus server Deployment`}{`\n`}{`apiVersion`}{`:`}{` `}{`apps/v1`}{`\n`}{`kind`}{`:`}{` `}{`Deployment`}{`\n`}{`metadata`}{`:`}{`\n`}{`  `}{`name`}{`:`}{` `}{`prometheus`}{`\n`}{`spec`}{`:`}{`\n`}{`  `}{`selector`}{`:`}{`\n`}{`    `}{`matchLabels`}{`:`}{`\n`}{`      `}{`name`}{`:`}{` `}{`prometheus`}{`\n`}{`  `}{`template`}{`:`}{`\n`}{`    `}{`metadata`}{`:`}{`\n`}{`      `}{`labels`}{`:`}{`\n`}{`        `}{`name`}{`:`}{` `}{`prometheus`}{`\n`}{`    `}{`spec`}{`:`}{`\n`}{`      `}{`containers`}{`:`}{`\n`}{`        `}{`-`}{` `}{`image`}{`:`}{` `}{`prom/prometheus`}{`\n`}{`          `}{`name`}{`:`}{` `}{`prometheus`}{`\n`}{`          `}{`ports`}{`:`}{`\n`}{`            `}{`-`}{` `}{`containerPort`}{`:`}{` `}{`9090`}{`\n`}{`              `}{`name`}{`:`}{` `}{`api`}{`\n`}{`---`}{`\n`}{`# Prometheus API Service`}{`\n`}{`apiVersion`}{`:`}{` `}{`v1`}{`\n`}{`kind`}{`:`}{` `}{`Service`}{`\n`}{`metadata`}{`:`}{`\n`}{`  `}{`labels`}{`:`}{`\n`}{`    `}{`name`}{`:`}{` `}{`prometheus`}{`\n`}{`  `}{`name`}{`:`}{` `}{`prometheus`}{`\n`}{`spec`}{`:`}{`\n`}{`  `}{`ports`}{`:`}{`\n`}{`    `}{`-`}{` `}{`name`}{`:`}{` `}{`prometheus-api`}{`\n`}{`      `}{`port`}{`:`}{` `}{`9090`}{`\n`}{`      `}{`targetPort`}{`:`}{` `}{`9090`}{`\n`}{`  `}{`selector`}{`:`}{`\n`}{`    `}{`name`}{`:`}{` `}{`prometheus`}
      \n

      {`That's pretty verbose, right?`}

      \n

      {`Even worse, there are labels and matchers (e.g. `}{`prometheus`}{`) that need to be\nexactly the same scattered across the file. It's a nightmare to debug and\nfurthermore harms readability a lot.`}

      \n

      {`Deploying to the cluster`}

      \n

      {`To actually apply those resources, copy them into `}{`.yaml`}{` files and use:`}

      \n
      {`$ kubectl apply -f prometheus.yaml -f grafana.yaml`}{`\n`}{`deployment.apps/grafana created`}{`\n`}{`deployment.apps/prometheus created`}{`\n`}{`service/grafana created`}{`\n`}{`service/prometheus created`}
      \n

      {`Checking it worked`}

      \n

      {`So far so good, but can we tell it actually did what we wanted? Let's test that\nGrafana can connect to Prometheus!`}

      \n
      {`# Temporarily forward Grafana to localhost`}{`\n`}{`kubectl port-forward deployments/grafana 8080:3000`}
      \n

      {`Now go to http://localhost:8080 in your browser and login using `}{`admin:admin`}{`.\nThen navigate to `}{`Connections > Data sources > Add new data source`}{`, choose\n`}{`Prometheus`}{` as type and enter `}{`http://prometheus:9090`}{` as URL. Hit\n`}{`Save & Test`}{` which should yield a big green bar telling you everything is good.`}

      \n

      {`Cool! This worked out well for this small example, but the `}{`.yaml`}{` files are\nhard to read and maintain. Especially when you need to deploy this exact same\nthing in `}{`dev`}{` and `}{`prod`}{` your choices are very limited.`}

      \n

      {`Let's explore how Tanka can help us here in the next section!`}

      \n

      {`Cleaning up`}

      \n

      {`Let's remove everything we created to start fresh with Jsonnet in the next section:`}

      \n
      {`$ kubectl delete -f prometheus.yaml -f grafana.yaml`}
      \n\n \n\n \n
      ;\n}\n;\nMDXContent.isMDXComponent = true;\n "],"sourceRoot":""} \ No newline at end of file diff --git a/pr-preview/pr-991/config/index.html b/pr-preview/pr-991/config/index.html deleted file mode 100644 index a028047b4..000000000 --- a/pr-preview/pr-991/config/index.html +++ /dev/null @@ -1,54 +0,0 @@ -Configuration Reference | Tanka
      That's my logoGrafana TankaFlexible, reusable and concise configuration for Kubernetes
      Edit page
      IntroductionInstallation
      Tutorial
      Writing Jsonnet
      Libraries
      Advanced features
      References
      Configuration ReferenceFile formatJsonnet accessDirectory structureEnvironment variablesCommand-line completionDiff strategiesNamespacesFormatting
      Frequently asked questionsKnown issues

      Configuration Reference

      Tanka's behavior can be customized per Environment using a file called spec.json

      File format

      {
      -  // Config format revision. Currently only "v1alpha1"
      -  "apiVersion": "v1alpha1",
      -  // Always "Environment". Reserved for future use
      -  "kind": "Environment",
      -
      -  // Descriptive fields
      -  "metadata": {
      -    // Name of the Environment. Automatically set to the relative
      -    // path from the project root
      -    "name": "<string>",
      -
      -    // Arbitrary key:value string pairs. Not parsed by Tanka
      -    "labels": { "<string>": "<string>" }
      -  },
      -
      -  // Properties influencing Tanka's behavior
      -  "spec": {
      -    // The Kubernetes cluster to use.
      -    // Must be the full URL, e.g. https://cluster.fqdn:6443
      -

      Jsonnet access

      It is possible to access above data from Jsonnet:

      local tk = import "tk";
      -
      -{
      -  // The cluster IP
      -  cluster: tk.env.spec.apiServer,
      -  // The labels of your Environment
      -  labels: tk.env.metadata.labels,
      -}
      \ No newline at end of file diff --git a/pr-preview/pr-991/diff-strategy/index.html b/pr-preview/pr-991/diff-strategy/index.html deleted file mode 100644 index a46ee277e..000000000 --- a/pr-preview/pr-991/diff-strategy/index.html +++ /dev/null @@ -1,64 +0,0 @@ -Diff strategies | Tanka
      That's my logoGrafana TankaFlexible, reusable and concise configuration for Kubernetes
      Edit page
      IntroductionInstallation
      Tutorial
      Writing Jsonnet
      Libraries
      Advanced features
      References
      Configuration ReferenceDirectory structureEnvironment variablesCommand-line completionDiff strategiesNativeSubsetExternal diff utilitiesNamespacesFormatting
      Frequently asked questionsKnown issues

      Diff Strategies

      Tanka supports two different ways of computing differences between the local -configuration and the live cluster state: Either native kubectl diff -f - -is used, which gives the best possible results, but is only possible for -clusters with -server-side diff -support (Kubernetes 1.13+).

      When this is not available, Tanka falls back to subset mode.

      You can specify the diff-strategy to use on the command line as well:

      # native
      -tk diff --diff-strategy=native .
      -
      -# validate: Like native but with a server-side validation
      -tk diff --diff-strategy=validate .
      -
      -# server-side
      -tk diff --diff-strategy=server .
      -
      -# subset
      -tk diff --diff-strategy=subset .

      Native

      The native diff mode is recommended, because it uses kubectl diff underneath, -which sends the objects to the Kubernetes API server and computes the -differences over there.

      This has the huge benefit that all possible changes by webhooks and other -internal components of Kubernetes can be encountered as well.

      However, this is a fairly new feature and only available on Kubernetes 1.13 or -later. Only the API server (master nodes) needs to have that -version, worker nodes do not matter.

      There is a -known issue -with kubectl diff, which affects ports configured to use both TCP and UDP.

      Server-side diffs

      There are two additional modes which extend native: validate and server. -While all kubectl diff commands are sent to the API server, these two -methods take advantage of an additional server-side diff mode (which uses the -kubectl diff --server-side flag, complementing the -server-side apply mode).

      Since a plain server diff often produces cruft, and wouldn't be representative -of a client-side apply, the validate method allows the server-side diff to -check that all models are valid server-side, but still displays the native -diff output to the user.

      Subset

      If native diffing is not supported by your cluster, Tanka provides subset diff -as a fallback method.

      Subset diff only compares fields present in the local configuration and -ignores all other fields. When you remove a field locally, you will see no -differences.

      This is required, because Kubernetes adds dynamic fields to the state during -runtime, which we cannot know of on the client side. To produce a somewhat -usable output, we can effectively only compare what we already know about.

      If this is a problem for you, consider switching to native mode.

      External diff utilities

      You can use external diff utilities by setting the environment variable -KUBECTL_EXTERNAL_DIFF. If you want to use a GUI or interactive diff utility -you must also set KUBECTL_INTERACTIVE_DIFF=1 to prevent Tanka from capturing -stdout.

      \ No newline at end of file diff --git a/pr-preview/pr-991/directory-structure/index.html b/pr-preview/pr-991/directory-structure/index.html deleted file mode 100644 index 59c27299f..000000000 --- a/pr-preview/pr-991/directory-structure/index.html +++ /dev/null @@ -1,65 +0,0 @@ -Directory structure | Tanka
      That's my logoGrafana TankaFlexible, reusable and concise configuration for Kubernetes
      Edit page
      IntroductionInstallation
      Tutorial
      Writing Jsonnet
      Libraries
      Advanced features
      References
      Configuration ReferenceDirectory structureEnvironmentsRoot and BaseLibrariesEnvironment variablesCommand-line completionDiff strategiesNamespacesFormatting
      Frequently asked questionsKnown issues

      Directory structure

      Tanka uses the following directories and special files:

      . # the project (<rootDir>)
      -├── environments # code defining clusters
      -│   └── default # <baseDir>
      -│       ├── main.jsonnet # starting point of the Jsonnet compilation
      -│       └── spec.json # environment's config
      -├── jsonnetfile.json # direct dependencies
      -├── jsonnetfile.lock.json # all dependencies with exact versions
      -├── lib # libraries for this project only
      -│   └── k.libsonnet # alias file for vendor/github.com/jsonnet-libs/k8s-libsonnet/1.21/main.libsonnet
      -└── vendor # external libraries installed using jb
      -    ├── github.com
      -    │   ├── grafana
      -    │   │   └── jsonnet-libs
      -    │   │       └── ksonnet-util # Grafana Labs' usability extensions to k.libsonnet
      -    │   │           ├── ...
      -    │   │           └── kausal.libsonnet
      -    │   └── jsonnet-libs
      -    │       └── k8s-libsonnet
      -    │           └── 1.21 # kubernetes library
      -    │               ├── ...
      -

      Environments

      Tanka organizes configuration in environments. For the rationale behind this, -see the section in the tutorial.

      An environment consists of at least two files:

      spec.json

      This file configures environment properties such as cluster connection -(spec.apiServer), default namespace (spec.namespace), etc.

      For the full set of options, see the Golang source -code.

      main.jsonnet

      Like other programming languages, Jsonnet needs an entrypoint into the -evaluation, something to begin with. main.jsonnet is exactly this: The very -first file being evaluated, importing or directly specifying everything required -for this specific environment.

      Root and Base

      When talking about directories, Tanka uses the following terms:

      TermDescriptionIdentifier file
      rootDirThe root of your projectjsonnetfile.json or tkrc.yaml
      baseDirThe directory of the current environmentmain.jsonnet

      Regardless what subdirectory of the project you are in, Tanka will always be -able to identify both directories, by searching for the identifier files in the -parent directories.
      -Tanka needs these for correctly setting up the import paths.

      This is similar to how git always works, by looking for the .git directory.

      Libraries

      Tanka relies heavily on code-reuse, so libraries are a natural thing. Roughly -spoken, they can be imported from two paths:

      • /lib: Project local libraries
      • /vendor External libraries

      For more details consider the import paths.

      jsonnetfile.json and the lock

      jb records all external packages installed in a file called -jsonnetfile.json. This file is the source of truth about what should be -included in vendor/. However, it should only include what is really directly -required, all recursive dependencies will be handled just fine.

      jsonnetfile.lock.json is generated on every run of jsonnet-bundler, including -a list of packages that must be included in vendor/, along with the exact -version and a sha256 hash of the package contents.

      Both files should be checked into source control: The jsonnetfile.json -specifies what you need and the jsonnetfile.lock.json is important to make -sure that subsequent jb install invocations always do the exact same thing.

      Tip: The vendor/ directory can be safely added to .gitignore to keep your -repository size down, as long as jsonnetfile.lock.json is checked in.

      \ No newline at end of file diff --git a/pr-preview/pr-991/env-vars/index.html b/pr-preview/pr-991/env-vars/index.html deleted file mode 100644 index 083727270..000000000 --- a/pr-preview/pr-991/env-vars/index.html +++ /dev/null @@ -1,7 +0,0 @@ -Environment variables | Tanka
      That's my logoGrafana TankaFlexible, reusable and concise configuration for Kubernetes
      Edit page
      IntroductionInstallation
      Tutorial
      Writing Jsonnet
      Libraries
      Advanced features
      References
      Frequently asked questionsKnown issues

      Environment Variables

      TANKA_JB_PATH

      Description: Path to the jb tool executable
      -Default: $PATH/jb

      TANKA_KUBECTL_PATH

      Description: Path to the kubectl tool executable
      -Default: $PATH/kubectl

      TANKA_KUBECTL_TRACE

      Description: Print all calls to kubectl
      -Default: false

      TANKA_HELM_PATH

      Description: Path to the helm executable
      -Default: $PATH/helm

      TANKA_KUSTOMIZE_PATH

      Description: Path to the kustomize executable
      -Default: $PATH/kustomize

      PAGER

      Description: Pager to use when displaying output. Set to an empty string to disable paging. -Default: less --RAW-CONTROL-CHARS --quit-if-one-screen --no-init

      \ No newline at end of file diff --git a/pr-preview/pr-991/exporting/index.html b/pr-preview/pr-991/exporting/index.html deleted file mode 100644 index b54bb7d87..000000000 --- a/pr-preview/pr-991/exporting/index.html +++ /dev/null @@ -1,56 +0,0 @@ -Exporting as YAML | Tanka
      That's my logoGrafana TankaFlexible, reusable and concise configuration for Kubernetes
      Edit page
      IntroductionInstallation
      Tutorial
      Writing Jsonnet
      Libraries
      Advanced features
      Garbage collectionHelm supportKustomize supportOutput filteringExporting as YAMLFilenamesMultiple environmentsPerformance featuresInline environmentsServer-Side Apply
      References
      Frequently asked questionsKnown issues

      Exporting as YAML

      Tanka provides you with a day-to-day workflow for working with Kubernetes clusters:

      • tk show for quickly checking the YAML representation looks good
      • tk diff to ensure your changes will behave like they should
      • tk apply makes it happen

      However sometimes it can be required to integrate with other tooling that does -only support .yaml files.

      For that case, tk export can be used:

      #           <outputDir> <environment>
      -$ tk export promtail/   environments/promtail

      Note: The arguments flipped in v0.14.0, the <outputDir> comes first now.

      This will create a separate .yaml file for each Kubernetes resource included in your Jsonnet.

      Filenames

      Tanka by default uses the following pattern:

      ${apiVersion}.${kind}-${metadata.name}.yaml
      -
      -# examples:
      -apps-v1.Deployment-distributor.yaml
      -v1.ConfigMap-loki.yaml
      -v1.Service-ingester.yaml

      If that does not fit your need, you can provide your own pattern using the --format flag:

      tk export promtail environments/promtail --format='{{.metadata.labels.app}}-{{.metadata.name}}-{{.kind}}'

      The syntax is Go text/template. See https://pkg.go.dev/text/template -for reference.

      This would include the label named app, the name and kind of the resource:

      loki-distributor-Deployment
      -loki-loki-ConfigMap
      -loki-ingester-Service

      You can optionally use the template function lower for lower-casing fields, e.g. in the above example

      ... --format='{{.metadata.labels.app}}-{{.metadata.name}}-{{.kind | lower}}'

      would yield

      loki-distributor-deployment

      etc.

      You can also use a different file extension by providing --extension='yml', for example.

      Multiple environments

      Tanka can also export multiple inline environments, as showcased in Use case: consistent inline -environments. This follows the same -principles as describe before with the addition that you can also refer to Environment specific data through the env -keyword.

      For example an export might refer to data from the Environment spec:

      # Format based on environment {{env.<...>}}
      -$ tk export exportDir environments/dev/ \
      -  --format '{{env.metadata.labels.cluster}}/{{env.spec.namespace}}//{{.kind}}-{{.metadata.name}}'

      Even more advanced use cases allow you to export multiple environments in a single execution:

      # Export multiple environments
      -$ tk export exportDir environments/dev/ environments/qa/
      -# Recursive export
      -$ tk export exportDir environments/ --recursive
      -# Recursive export with labelSelector
      -$ tk export exportDir environments/ -r -l team=infra

      Performance features

      When exporting a large amount of environments, jsonnet evaluation can become a bottleneck. To speed up the process, Tanka provides a few optional features.

      Partial export (in a GitOps context)

      Given multiple environments, one may want to only export the environments that were modified since the last export. This is enabled by passing both the --merge-strategy=replace-envs flags.

      When these flags are passed, Tanka will:

      1. Delete the manifests that were previously exported by the environments that are being exported. This is done by looking at the manifest.json file that is generated by Tanka when exporting. The related entries are also removed from the manifest.json file.
      2. Generate the manifests for the targeted environments into the output directory.
      3. Add in the new manifests entries into the manifest.json file and re-export it.

      Finding out which environments to export

      Tanka provides the tk tool importers command to figure out which main.jsonnet need to be re-exported based on what files were modified in a workspace.

      If, for example, the lib/my-lib/main.libsonnet file was modified, you could run the command like this to find which files to export:

      # Find out which envs to re-export
      -$ tk tool importers lib/my-lib/main.libsonnet
      -my-repo-path/jsonnet/environments/my-env/main.jsonnet
      -
      -# Re-export the envs
      -$ tk export myoutputdir my-repo-path/jsonnet/environments/my-env/main.jsonnet --merge-strategy=replace-envs

      Note that deleted environments need special consideration when doing this. -The tk tool importers utility only works with existing files so deleting an environment will result in stale manifest.json entries and moving an environment will result in manifest conflicts. -In order to correctly handle deleted environments, they need to be passed to the export command:

      $ tk export myoutputdir my-repo-path/jsonnet/environments/my-new-env-path/main.jsonnet --merge-strategy=replace-envs \
      -  --merge-deleted-envs my-repo-path/jsonnet/environments/my-old-env-path/main.jsonnet \
      -  --merge-deleted-envs my-repo-path/jsonnet/environments/other-deleted-env-path/main.jsonnet

      Using a memory ballast

      Read this blog post for more information about memory ballasts.

      For large environments that load lots of data into memory on evaluation, a memory ballast can dramatically improve performance. This feature is exposed through the --mem-ballast-size-bytes flag on the export command.

      Anecdotally (Grafana Labs), environments that took around a minute to load were able to load in around 45 secs with a ballast of 5GB (--mem-ballast-size-bytes=5368709120). Decreasing the ballast size resulted in negative impact on performance, and increasing it more did not result in any noticeable impact.

      Caching

      Tanka can also cache the results of the export. This is useful if you often export the same files and want to avoid recomputing them. The cache key is calculated from the main file and all of its transitive imports, so any change to any file possibly used in an environment will invalidate the cache.

      This is configured by two flags:

      • --cache-path: The local filesystem path where the cache will be stored. The cache is a flat directory of json files (one per environment).
      • --cache-envs: If exporting multiple environments, this flag can be used to specify, with regexes, which environments to cache. If not specified, all environments are cached.

      Notes:

      • Using the cache might be slower than evaluating jsonnet directy. It is only recommended for environments that are very CPU intensive to evaluate.
      • To use object storage, you can point the --cache-path to a FUSE mount, such as s3fs
      \ No newline at end of file diff --git a/pr-preview/pr-991/f0e45107-91cefa4606c78384043e.js b/pr-preview/pr-991/f0e45107-91cefa4606c78384043e.js deleted file mode 100644 index fafdfc58c..000000000 --- a/pr-preview/pr-991/f0e45107-91cefa4606c78384043e.js +++ /dev/null @@ -1,2 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[35],{p7SW:function(t,e,i){"use strict";i.d(e,"a",(function(){return ri}));i("U3f4");var s=i("pNPk"),r=i.n(s),n=i("2EcY"),a={3:"abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile",5:"class enum extends super const export import",6:"enum",strict:"implements interface let package private protected public static yield",strictBind:"eval arguments"},o="break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this",p={5:o,6:o+" const class extends export import super"},h=/^in(stanceof)?$/,c="ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࢠ-ࢴࢶ-ࢽऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳱᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿯ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞹꟷ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭥꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",l="‌‍·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࣓-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍ୖୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఄా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ංඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ູົຼ່-ໍ໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜔ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠐-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭ᳲ-᳴᳷-᳹᷀-᷹᷻-᷿‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱ꣿ-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_",u=new RegExp("["+c+"]"),d=new RegExp("["+c+l+"]");c=l=null;var f=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,157,310,10,21,11,7,153,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,477,28,11,0,9,21,190,52,76,44,33,24,27,35,30,0,12,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,54,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,86,26,230,43,117,63,32,0,257,0,11,39,8,0,22,0,12,39,3,3,20,0,35,56,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,270,921,103,110,18,195,2749,1070,4050,582,8634,568,8,30,114,29,19,47,17,3,32,20,6,18,689,63,129,68,12,0,67,12,65,1,31,6129,15,754,9486,286,82,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,4149,196,60,67,1213,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42710,42,4148,12,221,3,5761,15,7472,3104,541],m=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,525,10,176,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,4,9,83,11,7,0,161,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,280,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,19306,9,135,4,60,6,26,9,1016,45,17,3,19723,1,5319,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,2214,6,110,6,6,9,792487,239];function y(t,e){for(var i=65536,s=0;st)return!1;if((i+=e[s+1])>=t)return!0}}function g(t,e){return t<65?36===t:t<91||(t<97?95===t:t<123||(t<=65535?t>=170&&u.test(String.fromCharCode(t)):!1!==e&&y(t,f)))}function v(t,e){return t<48?36===t:t<58||!(t<65)&&(t<91||(t<97?95===t:t<123||(t<=65535?t>=170&&d.test(String.fromCharCode(t)):!1!==e&&(y(t,f)||y(t,m)))))}var x=function(t,e){void 0===e&&(e={}),this.label=t,this.keyword=e.keyword,this.beforeExpr=!!e.beforeExpr,this.startsExpr=!!e.startsExpr,this.isLoop=!!e.isLoop,this.isAssign=!!e.isAssign,this.prefix=!!e.prefix,this.postfix=!!e.postfix,this.binop=e.binop||null,this.updateContext=null};function b(t,e){return new x(t,{beforeExpr:!0,binop:e})}var _={beforeExpr:!0},k={startsExpr:!0},S={};function w(t,e){return void 0===e&&(e={}),e.keyword=t,S[t]=new x(t,e)}var E={num:new x("num",k),regexp:new x("regexp",k),string:new x("string",k),name:new x("name",k),eof:new x("eof"),bracketL:new x("[",{beforeExpr:!0,startsExpr:!0}),bracketR:new x("]"),braceL:new x("{",{beforeExpr:!0,startsExpr:!0}),braceR:new x("}"),parenL:new x("(",{beforeExpr:!0,startsExpr:!0}),parenR:new x(")"),comma:new x(",",_),semi:new x(";",_),colon:new x(":",_),dot:new x("."),question:new x("?",_),arrow:new x("=>",_),template:new x("template"),invalidTemplate:new x("invalidTemplate"),ellipsis:new x("...",_),backQuote:new x("`",k),dollarBraceL:new x("${",{beforeExpr:!0,startsExpr:!0}),eq:new x("=",{beforeExpr:!0,isAssign:!0}),assign:new x("_=",{beforeExpr:!0,isAssign:!0}),incDec:new x("++/--",{prefix:!0,postfix:!0,startsExpr:!0}),prefix:new x("!/~",{beforeExpr:!0,prefix:!0,startsExpr:!0}),logicalOR:b("||",1),logicalAND:b("&&",2),bitwiseOR:b("|",3),bitwiseXOR:b("^",4),bitwiseAND:b("&",5),equality:b("==/!=/===/!==",6),relational:b("/<=/>=",7),bitShift:b("<>/>>>",8),plusMin:new x("+/-",{beforeExpr:!0,binop:9,prefix:!0,startsExpr:!0}),modulo:b("%",10),star:b("*",10),slash:b("/",10),starstar:new x("**",{beforeExpr:!0}),_break:w("break"),_case:w("case",_),_catch:w("catch"),_continue:w("continue"),_debugger:w("debugger"),_default:w("default",_),_do:w("do",{isLoop:!0,beforeExpr:!0}),_else:w("else",_),_finally:w("finally"),_for:w("for",{isLoop:!0}),_function:w("function",k),_if:w("if"),_return:w("return",_),_switch:w("switch"),_throw:w("throw",_),_try:w("try"),_var:w("var"),_const:w("const"),_while:w("while",{isLoop:!0}),_with:w("with"),_new:w("new",{beforeExpr:!0,startsExpr:!0}),_this:w("this",k),_super:w("super",k),_class:w("class",k),_extends:w("extends",_),_export:w("export"),_import:w("import"),_null:w("null",k),_true:w("true",k),_false:w("false",k),_in:w("in",{beforeExpr:!0,binop:7}),_instanceof:w("instanceof",{beforeExpr:!0,binop:7}),_typeof:w("typeof",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_void:w("void",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_delete:w("delete",{beforeExpr:!0,prefix:!0,startsExpr:!0})},A=/\r\n?|\n|\u2028|\u2029/,C=new RegExp(A.source,"g");function I(t,e){return 10===t||13===t||!e&&(8232===t||8233===t)}var L=/[\u1680\u180e\u2000-\u200a\u202f\u205f\u3000\ufeff]/,P=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g,N=Object.prototype,T=N.hasOwnProperty,R=N.toString;function O(t,e){return T.call(t,e)}var j=Array.isArray||function(t){return"[object Array]"===R.call(t)},V=function(t,e){this.line=t,this.column=e};V.prototype.offset=function(t){return new V(this.line,this.column+t)};var D=function(t,e,i){this.start=e,this.end=i,null!==t.sourceFile&&(this.source=t.sourceFile)};function F(t,e){for(var i=1,s=0;;){C.lastIndex=s;var r=C.exec(t);if(!(r&&r.index=2015&&(e.ecmaVersion-=2009),null==e.allowReserved&&(e.allowReserved=e.ecmaVersion<5),j(e.onToken)){var s=e.onToken;e.onToken=function(t){return s.push(t)}}return j(e.onComment)&&(e.onComment=function(t,e){return function(i,s,r,n,a,o){var p={type:i?"Block":"Line",value:s,start:r,end:n};t.locations&&(p.loc=new D(this,a,o)),t.ranges&&(p.range=[r,n]),e.push(p)}}(e,e.onComment)),e}function U(t,e){return 2|(t?4:0)|(e?8:0)}function q(t){return new RegExp("^(?:"+t.replace(/ /g,"|")+")$")}var X=function(t,e,i){this.options=t=M(t),this.sourceFile=t.sourceFile,this.keywords=q(p[t.ecmaVersion>=6?6:5]);var s="";if(!t.allowReserved){for(var r=t.ecmaVersion;!(s=a[r]);r--);"module"===t.sourceType&&(s+=" await")}this.reservedWords=q(s);var n=(s?s+" ":"")+a.strict;this.reservedWordsStrict=q(n),this.reservedWordsStrictBind=q(n+" "+a.strictBind),this.input=String(e),this.containsEsc=!1,i?(this.pos=i,this.lineStart=this.input.lastIndexOf("\n",i-1)+1,this.curLine=this.input.slice(0,this.lineStart).split(A).length):(this.pos=this.lineStart=0,this.curLine=1),this.type=E.eof,this.value=null,this.start=this.end=this.pos,this.startLoc=this.endLoc=this.curPosition(),this.lastTokEndLoc=this.lastTokStartLoc=null,this.lastTokStart=this.lastTokEnd=this.pos,this.context=this.initialContext(),this.exprAllowed=!0,this.inModule="module"===t.sourceType,this.strict=this.inModule||this.strictDirective(this.pos),this.potentialArrowAt=-1,this.yieldPos=this.awaitPos=0,this.labels=[],0===this.pos&&t.allowHashBang&&"#!"===this.input.slice(0,2)&&this.skipLineComment(2),this.scopeStack=[],this.enterScope(1),this.regexpState=null},J={inFunction:{configurable:!0},inGenerator:{configurable:!0},inAsync:{configurable:!0}};X.prototype.parse=function(){var t=this.options.program||this.startNode();return this.nextToken(),this.parseTopLevel(t)},J.inFunction.get=function(){return(2&this.currentVarScope().flags)>0},J.inGenerator.get=function(){return(8&this.currentVarScope().flags)>0},J.inAsync.get=function(){return(4&this.currentVarScope().flags)>0},X.extend=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];for(var i=this,s=0;s-1&&this.raiseRecoverable(t.trailingComma,"Comma is not permitted after the rest element");var i=e?t.parenthesizedAssign:t.parenthesizedBind;i>-1&&this.raiseRecoverable(i,"Parenthesized pattern")}},W.checkExpressionErrors=function(t,e){if(!t)return!1;var i=t.shorthandAssign,s=t.doubleProto;if(!e)return i>=0||s>=0;i>=0&&this.raise(i,"Shorthand property assignments are valid only in destructuring patterns"),s>=0&&this.raiseRecoverable(s,"Redefinition of __proto__ property")},W.checkYieldAwaitInDefaultParams=function(){this.yieldPos&&(!this.awaitPos||this.yieldPos=6&&(t.sourceType=this.options.sourceType),this.finishNode(t,"Program")};var Q={kind:"loop"},K={kind:"switch"};G.isLet=function(){if(this.options.ecmaVersion<6||!this.isContextual("let"))return!1;P.lastIndex=this.pos;var t=P.exec(this.input),e=this.pos+t[0].length,i=this.input.charCodeAt(e);if(91===i||123===i)return!0;if(g(i,!0)){for(var s=e+1;v(this.input.charCodeAt(s),!0);)++s;var r=this.input.slice(e,s);if(!h.test(r))return!0}return!1},G.isAsyncFunction=function(){if(this.options.ecmaVersion<8||!this.isContextual("async"))return!1;P.lastIndex=this.pos;var t=P.exec(this.input),e=this.pos+t[0].length;return!(A.test(this.input.slice(this.pos,e))||"function"!==this.input.slice(e,e+8)||e+8!==this.input.length&&v(this.input.charAt(e+8)))},G.parseStatement=function(t,e,i){var s,r=this.type,n=this.startNode();switch(this.isLet()&&(r=E._var,s="let"),r){case E._break:case E._continue:return this.parseBreakContinueStatement(n,r.keyword);case E._debugger:return this.parseDebuggerStatement(n);case E._do:return this.parseDoStatement(n);case E._for:return this.parseForStatement(n);case E._function:return t&&(this.strict||"if"!==t)&&this.options.ecmaVersion>=6&&this.unexpected(),this.parseFunctionStatement(n,!1,!t);case E._class:return t&&this.unexpected(),this.parseClass(n,!0);case E._if:return this.parseIfStatement(n);case E._return:return this.parseReturnStatement(n);case E._switch:return this.parseSwitchStatement(n);case E._throw:return this.parseThrowStatement(n);case E._try:return this.parseTryStatement(n);case E._const:case E._var:return s=s||this.value,t&&"var"!==s&&this.unexpected(),this.parseVarStatement(n,s);case E._while:return this.parseWhileStatement(n);case E._with:return this.parseWithStatement(n);case E.braceL:return this.parseBlock(!0,n);case E.semi:return this.parseEmptyStatement(n);case E._export:case E._import:return this.options.allowImportExportEverywhere||(e||this.raise(this.start,"'import' and 'export' may only appear at the top level"),this.inModule||this.raise(this.start,"'import' and 'export' may appear only with 'sourceType: module'")),r===E._import?this.parseImport(n):this.parseExport(n,i);default:if(this.isAsyncFunction())return t&&this.unexpected(),this.next(),this.parseFunctionStatement(n,!0,!t);var a=this.value,o=this.parseExpression();return r===E.name&&"Identifier"===o.type&&this.eat(E.colon)?this.parseLabeledStatement(n,a,o,t):this.parseExpressionStatement(n,o)}},G.parseBreakContinueStatement=function(t,e){var i="break"===e;this.next(),this.eat(E.semi)||this.insertSemicolon()?t.label=null:this.type!==E.name?this.unexpected():(t.label=this.parseIdent(),this.semicolon());for(var s=0;s=6?this.eat(E.semi):this.semicolon(),this.finishNode(t,"DoWhileStatement")},G.parseForStatement=function(t){this.next();var e=this.options.ecmaVersion>=9&&(this.inAsync||!this.inFunction&&this.options.allowAwaitOutsideFunction)&&this.eatContextual("await")?this.lastTokStart:-1;if(this.labels.push(Q),this.enterScope(0),this.expect(E.parenL),this.type===E.semi)return e>-1&&this.unexpected(e),this.parseFor(t,null);var i=this.isLet();if(this.type===E._var||this.type===E._const||i){var s=this.startNode(),r=i?"let":this.value;return this.next(),this.parseVar(s,!0,r),this.finishNode(s,"VariableDeclaration"),!(this.type===E._in||this.options.ecmaVersion>=6&&this.isContextual("of"))||1!==s.declarations.length||"var"!==r&&s.declarations[0].init?(e>-1&&this.unexpected(e),this.parseFor(t,s)):(this.options.ecmaVersion>=9&&(this.type===E._in?e>-1&&this.unexpected(e):t.await=e>-1),this.parseForIn(t,s))}var n=new z,a=this.parseExpression(!0,n);return this.type===E._in||this.options.ecmaVersion>=6&&this.isContextual("of")?(this.options.ecmaVersion>=9&&(this.type===E._in?e>-1&&this.unexpected(e):t.await=e>-1),this.toAssignable(a,!1,n),this.checkLVal(a),this.parseForIn(t,a)):(this.checkExpressionErrors(n,!0),e>-1&&this.unexpected(e),this.parseFor(t,a))},G.parseFunctionStatement=function(t,e,i){return this.next(),this.parseFunction(t,Y|(i?0:Z),!1,e)},G.parseIfStatement=function(t){return this.next(),t.test=this.parseParenExpression(),t.consequent=this.parseStatement("if"),t.alternate=this.eat(E._else)?this.parseStatement("if"):null,this.finishNode(t,"IfStatement")},G.parseReturnStatement=function(t){return this.inFunction||this.options.allowReturnOutsideFunction||this.raise(this.start,"'return' outside of function"),this.next(),this.eat(E.semi)||this.insertSemicolon()?t.argument=null:(t.argument=this.parseExpression(),this.semicolon()),this.finishNode(t,"ReturnStatement")},G.parseSwitchStatement=function(t){var e;this.next(),t.discriminant=this.parseParenExpression(),t.cases=[],this.expect(E.braceL),this.labels.push(K),this.enterScope(0);for(var i=!1;this.type!==E.braceR;)if(this.type===E._case||this.type===E._default){var s=this.type===E._case;e&&this.finishNode(e,"SwitchCase"),t.cases.push(e=this.startNode()),e.consequent=[],this.next(),s?e.test=this.parseExpression():(i&&this.raiseRecoverable(this.lastTokStart,"Multiple default clauses"),i=!0,e.test=null),this.expect(E.colon)}else e||this.unexpected(),e.consequent.push(this.parseStatement(null));return this.exitScope(),e&&this.finishNode(e,"SwitchCase"),this.next(),this.labels.pop(),this.finishNode(t,"SwitchStatement")},G.parseThrowStatement=function(t){return this.next(),A.test(this.input.slice(this.lastTokEnd,this.start))&&this.raise(this.lastTokEnd,"Illegal newline after throw"),t.argument=this.parseExpression(),this.semicolon(),this.finishNode(t,"ThrowStatement")};var $=[];G.parseTryStatement=function(t){if(this.next(),t.block=this.parseBlock(),t.handler=null,this.type===E._catch){var e=this.startNode();if(this.next(),this.eat(E.parenL)){e.param=this.parseBindingAtom();var i="Identifier"===e.param.type;this.enterScope(i?32:0),this.checkLVal(e.param,i?4:2),this.expect(E.parenR)}else this.options.ecmaVersion<10&&this.unexpected(),e.param=null,this.enterScope(0);e.body=this.parseBlock(!1),this.exitScope(),t.handler=this.finishNode(e,"CatchClause")}return t.finalizer=this.eat(E._finally)?this.parseBlock():null,t.handler||t.finalizer||this.raise(t.start,"Missing catch or finally clause"),this.finishNode(t,"TryStatement")},G.parseVarStatement=function(t,e){return this.next(),this.parseVar(t,!1,e),this.semicolon(),this.finishNode(t,"VariableDeclaration")},G.parseWhileStatement=function(t){return this.next(),t.test=this.parseParenExpression(),this.labels.push(Q),t.body=this.parseStatement("while"),this.labels.pop(),this.finishNode(t,"WhileStatement")},G.parseWithStatement=function(t){return this.strict&&this.raise(this.start,"'with' in strict mode"),this.next(),t.object=this.parseParenExpression(),t.body=this.parseStatement("with"),this.finishNode(t,"WithStatement")},G.parseEmptyStatement=function(t){return this.next(),this.finishNode(t,"EmptyStatement")},G.parseLabeledStatement=function(t,e,i,s){for(var r=0,n=this.labels;r=0;o--){var p=this.labels[o];if(p.statementStart!==t.start)break;p.statementStart=this.start,p.kind=a}return this.labels.push({name:e,kind:a,statementStart:this.start}),t.body=this.parseStatement(s),("ClassDeclaration"===t.body.type||"VariableDeclaration"===t.body.type&&"var"!==t.body.kind||"FunctionDeclaration"===t.body.type&&(this.strict||t.body.generator||t.body.async))&&this.raiseRecoverable(t.body.start,"Invalid labeled declaration"),this.labels.pop(),t.label=i,this.finishNode(t,"LabeledStatement")},G.parseExpressionStatement=function(t,e){return t.expression=e,this.semicolon(),this.finishNode(t,"ExpressionStatement")},G.parseBlock=function(t,e){for(void 0===t&&(t=!0),void 0===e&&(e=this.startNode()),e.body=[],this.expect(E.braceL),t&&this.enterScope(0);!this.eat(E.braceR);){var i=this.parseStatement(null);e.body.push(i)}return t&&this.exitScope(),this.finishNode(e,"BlockStatement")},G.parseFor=function(t,e){return t.init=e,this.expect(E.semi),t.test=this.type===E.semi?null:this.parseExpression(),this.expect(E.semi),t.update=this.type===E.parenR?null:this.parseExpression(),this.expect(E.parenR),this.exitScope(),t.body=this.parseStatement("for"),this.labels.pop(),this.finishNode(t,"ForStatement")},G.parseForIn=function(t,e){var i=this.type===E._in?"ForInStatement":"ForOfStatement";return this.next(),"ForInStatement"===i&&("AssignmentPattern"===e.type||"VariableDeclaration"===e.type&&null!=e.declarations[0].init&&(this.strict||"Identifier"!==e.declarations[0].id.type))&&this.raise(e.start,"Invalid assignment in for-in loop head"),t.left=e,t.right="ForInStatement"===i?this.parseExpression():this.parseMaybeAssign(),this.expect(E.parenR),this.exitScope(),t.body=this.parseStatement("for"),this.labels.pop(),this.finishNode(t,i)},G.parseVar=function(t,e,i){for(t.declarations=[],t.kind=i;;){var s=this.startNode();if(this.parseVarId(s,i),this.eat(E.eq)?s.init=this.parseMaybeAssign(e):"const"!==i||this.type===E._in||this.options.ecmaVersion>=6&&this.isContextual("of")?"Identifier"===s.id.type||e&&(this.type===E._in||this.isContextual("of"))?s.init=null:this.raise(this.lastTokEnd,"Complex binding patterns require an initialization value"):this.unexpected(),t.declarations.push(this.finishNode(s,"VariableDeclarator")),!this.eat(E.comma))break}return t},G.parseVarId=function(t,e){t.id=this.parseBindingAtom(e),this.checkLVal(t.id,"var"===e?1:2,!1)};var Y=1,Z=2;G.parseFunction=function(t,e,i,s){this.initFunction(t),(this.options.ecmaVersion>=9||this.options.ecmaVersion>=6&&!s)&&(t.generator=this.eat(E.star)),this.options.ecmaVersion>=8&&(t.async=!!s),e&Y&&(t.id=4&e&&this.type!==E.name?null:this.parseIdent(),!t.id||e&Z||this.checkLVal(t.id,this.inModule&&!this.inFunction?2:3));var r=this.yieldPos,n=this.awaitPos;return this.yieldPos=0,this.awaitPos=0,this.enterScope(U(t.async,t.generator)),e&Y||(t.id=this.type===E.name?this.parseIdent():null),this.parseFunctionParams(t),this.parseFunctionBody(t,i),this.yieldPos=r,this.awaitPos=n,this.finishNode(t,e&Y?"FunctionDeclaration":"FunctionExpression")},G.parseFunctionParams=function(t){this.expect(E.parenL),t.params=this.parseBindingList(E.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams()},G.parseClass=function(t,e){this.next(),this.parseClassId(t,e),this.parseClassSuper(t);var i=this.startNode(),s=!1;for(i.body=[],this.expect(E.braceL);!this.eat(E.braceR);){var r=this.parseClassElement();r&&(i.body.push(r),"MethodDefinition"===r.type&&"constructor"===r.kind&&(s&&this.raise(r.start,"Duplicate constructor in the same class"),s=!0))}return t.body=this.finishNode(i,"ClassBody"),this.finishNode(t,e?"ClassDeclaration":"ClassExpression")},G.parseClassElement=function(){var t=this;if(this.eat(E.semi))return null;var e=this.startNode(),i=function(i,s){void 0===s&&(s=!1);var r=t.start,n=t.startLoc;return!!t.eatContextual(i)&&(!(t.type===E.parenL||s&&t.canInsertSemicolon())||(e.key&&t.unexpected(),e.computed=!1,e.key=t.startNodeAt(r,n),e.key.name=i,t.finishNode(e.key,"Identifier"),!1))};e.kind="method",e.static=i("static");var s=this.eat(E.star),r=!1;s||(this.options.ecmaVersion>=8&&i("async",!0)?(r=!0,s=this.options.ecmaVersion>=9&&this.eat(E.star)):i("get")?e.kind="get":i("set")&&(e.kind="set")),e.key||this.parsePropertyName(e);var n=e.key;return e.computed||e.static||!("Identifier"===n.type&&"constructor"===n.name||"Literal"===n.type&&"constructor"===n.value)?e.static&&"Identifier"===n.type&&"prototype"===n.name&&this.raise(n.start,"Classes may not have a static property named prototype"):("method"!==e.kind&&this.raise(n.start,"Constructor can't have get/set modifier"),s&&this.raise(n.start,"Constructor can't be a generator"),r&&this.raise(n.start,"Constructor can't be an async method"),e.kind="constructor"),this.parseClassMethod(e,s,r),"get"===e.kind&&0!==e.value.params.length&&this.raiseRecoverable(e.value.start,"getter should have no params"),"set"===e.kind&&1!==e.value.params.length&&this.raiseRecoverable(e.value.start,"setter should have exactly one param"),"set"===e.kind&&"RestElement"===e.value.params[0].type&&this.raiseRecoverable(e.value.params[0].start,"Setter cannot use rest params"),e},G.parseClassMethod=function(t,e,i){return t.value=this.parseMethod(e,i),this.finishNode(t,"MethodDefinition")},G.parseClassId=function(t,e){t.id=this.type===E.name?this.parseIdent():!0===e?this.unexpected():null},G.parseClassSuper=function(t){t.superClass=this.eat(E._extends)?this.parseExprSubscripts():null},G.parseExport=function(t,e){if(this.next(),this.eat(E.star))return this.expectContextual("from"),this.type!==E.string&&this.unexpected(),t.source=this.parseExprAtom(),this.semicolon(),this.finishNode(t,"ExportAllDeclaration");if(this.eat(E._default)){var i;if(this.checkExport(e,"default",this.lastTokStart),this.type===E._function||(i=this.isAsyncFunction())){var s=this.startNode();this.next(),i&&this.next(),t.declaration=this.parseFunction(s,4|Y,!1,i,!0)}else if(this.type===E._class){var r=this.startNode();t.declaration=this.parseClass(r,"nullableID")}else t.declaration=this.parseMaybeAssign(),this.semicolon();return this.finishNode(t,"ExportDefaultDeclaration")}if(this.shouldParseExportStatement())t.declaration=this.parseStatement(null),"VariableDeclaration"===t.declaration.type?this.checkVariableExport(e,t.declaration.declarations):this.checkExport(e,t.declaration.id.name,t.declaration.id.start),t.specifiers=[],t.source=null;else{if(t.declaration=null,t.specifiers=this.parseExportSpecifiers(e),this.eatContextual("from"))this.type!==E.string&&this.unexpected(),t.source=this.parseExprAtom();else{for(var n=0,a=t.specifiers;n=6&&t)switch(t.type){case"Identifier":this.inAsync&&"await"===t.name&&this.raise(t.start,"Can not use 'await' as identifier inside an async function");break;case"ObjectPattern":case"ArrayPattern":case"RestElement":break;case"ObjectExpression":t.type="ObjectPattern",i&&this.checkPatternErrors(i,!0);for(var s=0,r=t.properties;s=8&&!n&&"async"===a.name&&!this.canInsertSemicolon()&&this.eat(E._function))return this.parseFunction(this.startNodeAt(s,r),0,!1,!0);if(i&&!this.canInsertSemicolon()){if(this.eat(E.arrow))return this.parseArrowExpression(this.startNodeAt(s,r),[a],!1);if(this.options.ecmaVersion>=8&&"async"===a.name&&this.type===E.name&&!n)return a=this.parseIdent(),!this.canInsertSemicolon()&&this.eat(E.arrow)||this.unexpected(),this.parseArrowExpression(this.startNodeAt(s,r),[a],!0)}return a;case E.regexp:var o=this.value;return(e=this.parseLiteral(o.value)).regex={pattern:o.pattern,flags:o.flags},e;case E.num:case E.string:return this.parseLiteral(this.value);case E._null:case E._true:case E._false:return(e=this.startNode()).value=this.type===E._null?null:this.type===E._true,e.raw=this.type.keyword,this.next(),this.finishNode(e,"Literal");case E.parenL:var p=this.start,h=this.parseParenAndDistinguishExpression(i);return t&&(t.parenthesizedAssign<0&&!this.isSimpleAssignTarget(h)&&(t.parenthesizedAssign=p),t.parenthesizedBind<0&&(t.parenthesizedBind=p)),h;case E.bracketL:return e=this.startNode(),this.next(),e.elements=this.parseExprList(E.bracketR,!0,!0,t),this.finishNode(e,"ArrayExpression");case E.braceL:return this.parseObj(!1,t);case E._function:return e=this.startNode(),this.next(),this.parseFunction(e,0);case E._class:return this.parseClass(this.startNode(),!1);case E._new:return this.parseNew();case E.backQuote:return this.parseTemplate();default:this.unexpected()}},et.parseLiteral=function(t){var e=this.startNode();return e.value=t,e.raw=this.input.slice(this.start,this.end),this.next(),this.finishNode(e,"Literal")},et.parseParenExpression=function(){this.expect(E.parenL);var t=this.parseExpression();return this.expect(E.parenR),t},et.parseParenAndDistinguishExpression=function(t){var e,i=this.start,s=this.startLoc,r=this.options.ecmaVersion>=8;if(this.options.ecmaVersion>=6){this.next();var n,a=this.start,o=this.startLoc,p=[],h=!0,c=!1,l=new z,u=this.yieldPos,d=this.awaitPos;for(this.yieldPos=0,this.awaitPos=0;this.type!==E.parenR;){if(h?h=!1:this.expect(E.comma),r&&this.afterTrailingComma(E.parenR,!0)){c=!0;break}if(this.type===E.ellipsis){n=this.start,p.push(this.parseParenItem(this.parseRestBinding())),this.type===E.comma&&this.raise(this.start,"Comma is not permitted after the rest element");break}p.push(this.parseMaybeAssign(!1,l,this.parseParenItem))}var f=this.start,m=this.startLoc;if(this.expect(E.parenR),t&&!this.canInsertSemicolon()&&this.eat(E.arrow))return this.checkPatternErrors(l,!1),this.checkYieldAwaitInDefaultParams(),this.yieldPos=u,this.awaitPos=d,this.parseParenArrowList(i,s,p);p.length&&!c||this.unexpected(this.lastTokStart),n&&this.unexpected(n),this.checkExpressionErrors(l,!0),this.yieldPos=u||this.yieldPos,this.awaitPos=d||this.awaitPos,p.length>1?((e=this.startNodeAt(a,o)).expressions=p,this.finishNodeAt(e,"SequenceExpression",f,m)):e=p[0]}else e=this.parseParenExpression();if(this.options.preserveParens){var y=this.startNodeAt(i,s);return y.expression=e,this.finishNode(y,"ParenthesizedExpression")}return e},et.parseParenItem=function(t){return t},et.parseParenArrowList=function(t,e,i){return this.parseArrowExpression(this.startNodeAt(t,e),i)};var it=[];et.parseNew=function(){var t=this.startNode(),e=this.parseIdent(!0);if(this.options.ecmaVersion>=6&&this.eat(E.dot)){t.meta=e;var i=this.containsEsc;return t.property=this.parseIdent(!0),("target"!==t.property.name||i)&&this.raiseRecoverable(t.property.start,"The only valid meta property for new is new.target"),this.inNonArrowFunction()||this.raiseRecoverable(t.start,"new.target can only be used in functions"),this.finishNode(t,"MetaProperty")}var s=this.start,r=this.startLoc;return t.callee=this.parseSubscripts(this.parseExprAtom(),s,r,!0),this.eat(E.parenL)?t.arguments=this.parseExprList(E.parenR,this.options.ecmaVersion>=8,!1):t.arguments=it,this.finishNode(t,"NewExpression")},et.parseTemplateElement=function(t){var e=t.isTagged,i=this.startNode();return this.type===E.invalidTemplate?(e||this.raiseRecoverable(this.start,"Bad escape sequence in untagged template literal"),i.value={raw:this.value,cooked:null}):i.value={raw:this.input.slice(this.start,this.end).replace(/\r\n?/g,"\n"),cooked:this.value},this.next(),i.tail=this.type===E.backQuote,this.finishNode(i,"TemplateElement")},et.parseTemplate=function(t){void 0===t&&(t={});var e=t.isTagged;void 0===e&&(e=!1);var i=this.startNode();this.next(),i.expressions=[];var s=this.parseTemplateElement({isTagged:e});for(i.quasis=[s];!s.tail;)this.type===E.eof&&this.raise(this.pos,"Unterminated template literal"),this.expect(E.dollarBraceL),i.expressions.push(this.parseExpression()),this.expect(E.braceR),i.quasis.push(s=this.parseTemplateElement({isTagged:e}));return this.next(),this.finishNode(i,"TemplateLiteral")},et.isAsyncProp=function(t){return!t.computed&&"Identifier"===t.key.type&&"async"===t.key.name&&(this.type===E.name||this.type===E.num||this.type===E.string||this.type===E.bracketL||this.type.keyword||this.options.ecmaVersion>=9&&this.type===E.star)&&!A.test(this.input.slice(this.lastTokEnd,this.start))},et.parseObj=function(t,e){var i=this.startNode(),s=!0,r={};for(i.properties=[],this.next();!this.eat(E.braceR);){if(s)s=!1;else if(this.expect(E.comma),this.afterTrailingComma(E.braceR))break;var n=this.parseProperty(t,e);t||this.checkPropClash(n,r,e),i.properties.push(n)}return this.finishNode(i,t?"ObjectPattern":"ObjectExpression")},et.parseProperty=function(t,e){var i,s,r,n,a=this.startNode();if(this.options.ecmaVersion>=9&&this.eat(E.ellipsis))return t?(a.argument=this.parseIdent(!1),this.type===E.comma&&this.raise(this.start,"Comma is not permitted after the rest element"),this.finishNode(a,"RestElement")):(this.type===E.parenL&&e&&(e.parenthesizedAssign<0&&(e.parenthesizedAssign=this.start),e.parenthesizedBind<0&&(e.parenthesizedBind=this.start)),a.argument=this.parseMaybeAssign(!1,e),this.type===E.comma&&e&&e.trailingComma<0&&(e.trailingComma=this.start),this.finishNode(a,"SpreadElement"));this.options.ecmaVersion>=6&&(a.method=!1,a.shorthand=!1,(t||e)&&(r=this.start,n=this.startLoc),t||(i=this.eat(E.star)));var o=this.containsEsc;return this.parsePropertyName(a),!t&&!o&&this.options.ecmaVersion>=8&&!i&&this.isAsyncProp(a)?(s=!0,i=this.options.ecmaVersion>=9&&this.eat(E.star),this.parsePropertyName(a,e)):s=!1,this.parsePropertyValue(a,t,i,s,r,n,e,o),this.finishNode(a,"Property")},et.parsePropertyValue=function(t,e,i,s,r,n,a,o){if((i||s)&&this.type===E.colon&&this.unexpected(),this.eat(E.colon))t.value=e?this.parseMaybeDefault(this.start,this.startLoc):this.parseMaybeAssign(!1,a),t.kind="init";else if(this.options.ecmaVersion>=6&&this.type===E.parenL)e&&this.unexpected(),t.kind="init",t.method=!0,t.value=this.parseMethod(i,s);else if(e||o||!(this.options.ecmaVersion>=5)||t.computed||"Identifier"!==t.key.type||"get"!==t.key.name&&"set"!==t.key.name||this.type===E.comma||this.type===E.braceR)this.options.ecmaVersion>=6&&!t.computed&&"Identifier"===t.key.type?(this.checkUnreserved(t.key),t.kind="init",e?t.value=this.parseMaybeDefault(r,n,t.key):this.type===E.eq&&a?(a.shorthandAssign<0&&(a.shorthandAssign=this.start),t.value=this.parseMaybeDefault(r,n,t.key)):t.value=t.key,t.shorthand=!0):this.unexpected();else{(i||s)&&this.unexpected(),t.kind=t.key.name,this.parsePropertyName(t),t.value=this.parseMethod(!1);var p="get"===t.kind?0:1;if(t.value.params.length!==p){var h=t.value.start;"get"===t.kind?this.raiseRecoverable(h,"getter should have no params"):this.raiseRecoverable(h,"setter should have exactly one param")}else"set"===t.kind&&"RestElement"===t.value.params[0].type&&this.raiseRecoverable(t.value.params[0].start,"Setter cannot use rest params")}},et.parsePropertyName=function(t){if(this.options.ecmaVersion>=6){if(this.eat(E.bracketL))return t.computed=!0,t.key=this.parseMaybeAssign(),this.expect(E.bracketR),t.key;t.computed=!1}return t.key=this.type===E.num||this.type===E.string?this.parseExprAtom():this.parseIdent(!0)},et.initFunction=function(t){t.id=null,this.options.ecmaVersion>=6&&(t.generator=t.expression=!1),this.options.ecmaVersion>=8&&(t.async=!1)},et.parseMethod=function(t,e){var i=this.startNode(),s=this.yieldPos,r=this.awaitPos;return this.initFunction(i),this.options.ecmaVersion>=6&&(i.generator=t),this.options.ecmaVersion>=8&&(i.async=!!e),this.yieldPos=0,this.awaitPos=0,this.enterScope(U(e,i.generator)),this.expect(E.parenL),i.params=this.parseBindingList(E.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams(),this.parseFunctionBody(i,!1),this.yieldPos=s,this.awaitPos=r,this.finishNode(i,"FunctionExpression")},et.parseArrowExpression=function(t,e,i){var s=this.yieldPos,r=this.awaitPos;return this.enterScope(16|U(i,!1)),this.initFunction(t),this.options.ecmaVersion>=8&&(t.async=!!i),this.yieldPos=0,this.awaitPos=0,t.params=this.toAssignableList(e,!0),this.parseFunctionBody(t,!0),this.yieldPos=s,this.awaitPos=r,this.finishNode(t,"ArrowFunctionExpression")},et.parseFunctionBody=function(t,e){var i=e&&this.type!==E.braceL,s=this.strict,r=!1;if(i)t.body=this.parseMaybeAssign(),t.expression=!0,this.checkParams(t,!1);else{var n=this.options.ecmaVersion>=7&&!this.isSimpleParamList(t.params);s&&!n||(r=this.strictDirective(this.end))&&n&&this.raiseRecoverable(t.start,"Illegal 'use strict' directive in function with non-simple parameter list");var a=this.labels;this.labels=[],r&&(this.strict=!0),this.checkParams(t,!s&&!r&&!e&&this.isSimpleParamList(t.params)),t.body=this.parseBlock(!1),t.expression=!1,this.adaptDirectivePrologue(t.body.body),this.labels=a}this.exitScope(),this.strict&&t.id&&this.checkLVal(t.id,5),this.strict=s},et.isSimpleParamList=function(t){for(var e=0,i=t;e-1||r.var.indexOf(t)>-1,r.lexical.push(t)}else if(4===e){this.currentScope().lexical.push(t)}else if(3===e){var n=this.currentScope();s=n.lexical.indexOf(t)>-1,n.var.push(t)}else for(var a=this.scopeStack.length-1;a>=0;--a){var o=this.scopeStack[a];if(o.lexical.indexOf(t)>-1&&!(32&o.flags)&&o.lexical[0]===t&&(s=!0),o.var.push(t),3&o.flags)break}s&&this.raiseRecoverable(i,"Identifier '"+t+"' has already been declared")},rt.currentScope=function(){return this.scopeStack[this.scopeStack.length-1]},rt.currentVarScope=function(){for(var t=this.scopeStack.length-1;;t--){var e=this.scopeStack[t];if(3&e.flags)return e}},rt.inNonArrowFunction=function(){for(var t=this.scopeStack.length-1;t>=0;t--)if(2&this.scopeStack[t].flags&&!(16&this.scopeStack[t].flags))return!0;return!1};var at=function(t,e,i){this.type="",this.start=e,this.end=0,t.options.locations&&(this.loc=new D(t,i)),t.options.directSourceFile&&(this.sourceFile=t.options.directSourceFile),t.options.ranges&&(this.range=[e,0])},ot=X.prototype;function pt(t,e,i,s){return t.type=e,t.end=i,this.options.locations&&(t.loc.end=s),this.options.ranges&&(t.range[1]=i),t}ot.startNode=function(){return new at(this,this.start,this.startLoc)},ot.startNodeAt=function(t,e){return new at(this,t,e)},ot.finishNode=function(t,e){return pt.call(this,t,e,this.lastTokEnd,this.lastTokEndLoc)},ot.finishNodeAt=function(t,e,i,s){return pt.call(this,t,e,i,s)};var ht=function(t,e,i,s,r){this.token=t,this.isExpr=!!e,this.preserveSpace=!!i,this.override=s,this.generator=!!r},ct={b_stat:new ht("{",!1),b_expr:new ht("{",!0),b_tmpl:new ht("${",!1),p_stat:new ht("(",!1),p_expr:new ht("(",!0),q_tmpl:new ht("`",!0,!0,(function(t){return t.tryReadTemplateToken()})),f_stat:new ht("function",!1),f_expr:new ht("function",!0),f_expr_gen:new ht("function",!0,!1,null,!0),f_gen:new ht("function",!1,!1,null,!0)},lt=X.prototype;lt.initialContext=function(){return[ct.b_stat]},lt.braceIsBlock=function(t){var e=this.curContext();return e===ct.f_expr||e===ct.f_stat||(t!==E.colon||e!==ct.b_stat&&e!==ct.b_expr?t===E._return||t===E.name&&this.exprAllowed?A.test(this.input.slice(this.lastTokEnd,this.start)):t===E._else||t===E.semi||t===E.eof||t===E.parenR||t===E.arrow||(t===E.braceL?e===ct.b_stat:t!==E._var&&t!==E.name&&!this.exprAllowed):!e.isExpr)},lt.inGeneratorContext=function(){for(var t=this.context.length-1;t>=1;t--){var e=this.context[t];if("function"===e.token)return e.generator}return!1},lt.updateContext=function(t){var e,i=this.type;i.keyword&&t===E.dot?this.exprAllowed=!1:(e=i.updateContext)?e.call(this,t):this.exprAllowed=i.beforeExpr},E.parenR.updateContext=E.braceR.updateContext=function(){if(1!==this.context.length){var t=this.context.pop();t===ct.b_stat&&"function"===this.curContext().token&&(t=this.context.pop()),this.exprAllowed=!t.isExpr}else this.exprAllowed=!0},E.braceL.updateContext=function(t){this.context.push(this.braceIsBlock(t)?ct.b_stat:ct.b_expr),this.exprAllowed=!0},E.dollarBraceL.updateContext=function(){this.context.push(ct.b_tmpl),this.exprAllowed=!0},E.parenL.updateContext=function(t){var e=t===E._if||t===E._for||t===E._with||t===E._while;this.context.push(e?ct.p_stat:ct.p_expr),this.exprAllowed=!0},E.incDec.updateContext=function(){},E._function.updateContext=E._class.updateContext=function(t){t.beforeExpr&&t!==E.semi&&t!==E._else&&(t!==E.colon&&t!==E.braceL||this.curContext()!==ct.b_stat)?this.context.push(ct.f_expr):this.context.push(ct.f_stat),this.exprAllowed=!1},E.backQuote.updateContext=function(){this.curContext()===ct.q_tmpl?this.context.pop():this.context.push(ct.q_tmpl),this.exprAllowed=!1},E.star.updateContext=function(t){if(t===E._function){var e=this.context.length-1;this.context[e]===ct.f_expr?this.context[e]=ct.f_expr_gen:this.context[e]=ct.f_gen}this.exprAllowed=!0},E.name.updateContext=function(t){var e=!1;this.options.ecmaVersion>=6&&t!==E.dot&&("of"===this.value&&!this.exprAllowed||"yield"===this.value&&this.inGeneratorContext())&&(e=!0),this.exprAllowed=e};var ut={$LONE:["ASCII","ASCII_Hex_Digit","AHex","Alphabetic","Alpha","Any","Assigned","Bidi_Control","Bidi_C","Bidi_Mirrored","Bidi_M","Case_Ignorable","CI","Cased","Changes_When_Casefolded","CWCF","Changes_When_Casemapped","CWCM","Changes_When_Lowercased","CWL","Changes_When_NFKC_Casefolded","CWKCF","Changes_When_Titlecased","CWT","Changes_When_Uppercased","CWU","Dash","Default_Ignorable_Code_Point","DI","Deprecated","Dep","Diacritic","Dia","Emoji","Emoji_Component","Emoji_Modifier","Emoji_Modifier_Base","Emoji_Presentation","Extender","Ext","Grapheme_Base","Gr_Base","Grapheme_Extend","Gr_Ext","Hex_Digit","Hex","IDS_Binary_Operator","IDSB","IDS_Trinary_Operator","IDST","ID_Continue","IDC","ID_Start","IDS","Ideographic","Ideo","Join_Control","Join_C","Logical_Order_Exception","LOE","Lowercase","Lower","Math","Noncharacter_Code_Point","NChar","Pattern_Syntax","Pat_Syn","Pattern_White_Space","Pat_WS","Quotation_Mark","QMark","Radical","Regional_Indicator","RI","Sentence_Terminal","STerm","Soft_Dotted","SD","Terminal_Punctuation","Term","Unified_Ideograph","UIdeo","Uppercase","Upper","Variation_Selector","VS","White_Space","space","XID_Continue","XIDC","XID_Start","XIDS"],General_Category:["Cased_Letter","LC","Close_Punctuation","Pe","Connector_Punctuation","Pc","Control","Cc","cntrl","Currency_Symbol","Sc","Dash_Punctuation","Pd","Decimal_Number","Nd","digit","Enclosing_Mark","Me","Final_Punctuation","Pf","Format","Cf","Initial_Punctuation","Pi","Letter","L","Letter_Number","Nl","Line_Separator","Zl","Lowercase_Letter","Ll","Mark","M","Combining_Mark","Math_Symbol","Sm","Modifier_Letter","Lm","Modifier_Symbol","Sk","Nonspacing_Mark","Mn","Number","N","Open_Punctuation","Ps","Other","C","Other_Letter","Lo","Other_Number","No","Other_Punctuation","Po","Other_Symbol","So","Paragraph_Separator","Zp","Private_Use","Co","Punctuation","P","punct","Separator","Z","Space_Separator","Zs","Spacing_Mark","Mc","Surrogate","Cs","Symbol","S","Titlecase_Letter","Lt","Unassigned","Cn","Uppercase_Letter","Lu"],Script:["Adlam","Adlm","Ahom","Anatolian_Hieroglyphs","Hluw","Arabic","Arab","Armenian","Armn","Avestan","Avst","Balinese","Bali","Bamum","Bamu","Bassa_Vah","Bass","Batak","Batk","Bengali","Beng","Bhaiksuki","Bhks","Bopomofo","Bopo","Brahmi","Brah","Braille","Brai","Buginese","Bugi","Buhid","Buhd","Canadian_Aboriginal","Cans","Carian","Cari","Caucasian_Albanian","Aghb","Chakma","Cakm","Cham","Cherokee","Cher","Common","Zyyy","Coptic","Copt","Qaac","Cuneiform","Xsux","Cypriot","Cprt","Cyrillic","Cyrl","Deseret","Dsrt","Devanagari","Deva","Duployan","Dupl","Egyptian_Hieroglyphs","Egyp","Elbasan","Elba","Ethiopic","Ethi","Georgian","Geor","Glagolitic","Glag","Gothic","Goth","Grantha","Gran","Greek","Grek","Gujarati","Gujr","Gurmukhi","Guru","Han","Hani","Hangul","Hang","Hanunoo","Hano","Hatran","Hatr","Hebrew","Hebr","Hiragana","Hira","Imperial_Aramaic","Armi","Inherited","Zinh","Qaai","Inscriptional_Pahlavi","Phli","Inscriptional_Parthian","Prti","Javanese","Java","Kaithi","Kthi","Kannada","Knda","Katakana","Kana","Kayah_Li","Kali","Kharoshthi","Khar","Khmer","Khmr","Khojki","Khoj","Khudawadi","Sind","Lao","Laoo","Latin","Latn","Lepcha","Lepc","Limbu","Limb","Linear_A","Lina","Linear_B","Linb","Lisu","Lycian","Lyci","Lydian","Lydi","Mahajani","Mahj","Malayalam","Mlym","Mandaic","Mand","Manichaean","Mani","Marchen","Marc","Masaram_Gondi","Gonm","Meetei_Mayek","Mtei","Mende_Kikakui","Mend","Meroitic_Cursive","Merc","Meroitic_Hieroglyphs","Mero","Miao","Plrd","Modi","Mongolian","Mong","Mro","Mroo","Multani","Mult","Myanmar","Mymr","Nabataean","Nbat","New_Tai_Lue","Talu","Newa","Nko","Nkoo","Nushu","Nshu","Ogham","Ogam","Ol_Chiki","Olck","Old_Hungarian","Hung","Old_Italic","Ital","Old_North_Arabian","Narb","Old_Permic","Perm","Old_Persian","Xpeo","Old_South_Arabian","Sarb","Old_Turkic","Orkh","Oriya","Orya","Osage","Osge","Osmanya","Osma","Pahawh_Hmong","Hmng","Palmyrene","Palm","Pau_Cin_Hau","Pauc","Phags_Pa","Phag","Phoenician","Phnx","Psalter_Pahlavi","Phlp","Rejang","Rjng","Runic","Runr","Samaritan","Samr","Saurashtra","Saur","Sharada","Shrd","Shavian","Shaw","Siddham","Sidd","SignWriting","Sgnw","Sinhala","Sinh","Sora_Sompeng","Sora","Soyombo","Soyo","Sundanese","Sund","Syloti_Nagri","Sylo","Syriac","Syrc","Tagalog","Tglg","Tagbanwa","Tagb","Tai_Le","Tale","Tai_Tham","Lana","Tai_Viet","Tavt","Takri","Takr","Tamil","Taml","Tangut","Tang","Telugu","Telu","Thaana","Thaa","Thai","Tibetan","Tibt","Tifinagh","Tfng","Tirhuta","Tirh","Ugaritic","Ugar","Vai","Vaii","Warang_Citi","Wara","Yi","Yiii","Zanabazar_Square","Zanb"]};Array.prototype.push.apply(ut.$LONE,ut.General_Category),ut.gc=ut.General_Category,ut.sc=ut.Script_Extensions=ut.scx=ut.Script;var dt=X.prototype,ft=function(t){this.parser=t,this.validFlags="gim"+(t.options.ecmaVersion>=6?"uy":"")+(t.options.ecmaVersion>=9?"s":""),this.source="",this.flags="",this.start=0,this.switchU=!1,this.switchN=!1,this.pos=0,this.lastIntValue=0,this.lastStringValue="",this.lastAssertionIsQuantifiable=!1,this.numCapturingParens=0,this.maxBackReference=0,this.groupNames=[],this.backReferenceNames=[]};function mt(t){return t<=65535?String.fromCharCode(t):(t-=65536,String.fromCharCode(55296+(t>>10),56320+(1023&t)))}function yt(t){return 36===t||t>=40&&t<=43||46===t||63===t||t>=91&&t<=94||t>=123&&t<=125}function gt(t){return t>=65&&t<=90||t>=97&&t<=122}function vt(t){return gt(t)||95===t}function xt(t){return vt(t)||bt(t)}function bt(t){return t>=48&&t<=57}function _t(t){return t>=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102}function kt(t){return t>=65&&t<=70?t-65+10:t>=97&&t<=102?t-97+10:t-48}function St(t){return t>=48&&t<=55}ft.prototype.reset=function(t,e,i){var s=-1!==i.indexOf("u");this.start=0|t,this.source=e+"",this.flags=i,this.switchU=s&&this.parser.options.ecmaVersion>=6,this.switchN=s&&this.parser.options.ecmaVersion>=9},ft.prototype.raise=function(t){this.parser.raiseRecoverable(this.start,"Invalid regular expression: /"+this.source+"/: "+t)},ft.prototype.at=function(t){var e=this.source,i=e.length;if(t>=i)return-1;var s=e.charCodeAt(t);return!this.switchU||s<=55295||s>=57344||t+1>=i?s:(s<<10)+e.charCodeAt(t+1)-56613888},ft.prototype.nextIndex=function(t){var e=this.source,i=e.length;if(t>=i)return i;var s=e.charCodeAt(t);return!this.switchU||s<=55295||s>=57344||t+1>=i?t+1:t+2},ft.prototype.current=function(){return this.at(this.pos)},ft.prototype.lookahead=function(){return this.at(this.nextIndex(this.pos))},ft.prototype.advance=function(){this.pos=this.nextIndex(this.pos)},ft.prototype.eat=function(t){return this.current()===t&&(this.advance(),!0)},dt.validateRegExpFlags=function(t){for(var e=t.validFlags,i=t.flags,s=0;s-1&&this.raise(t.start,"Duplicate regular expression flag")}},dt.validateRegExpPattern=function(t){this.regexp_pattern(t),!t.switchN&&this.options.ecmaVersion>=9&&t.groupNames.length>0&&(t.switchN=!0,this.regexp_pattern(t))},dt.regexp_pattern=function(t){t.pos=0,t.lastIntValue=0,t.lastStringValue="",t.lastAssertionIsQuantifiable=!1,t.numCapturingParens=0,t.maxBackReference=0,t.groupNames.length=0,t.backReferenceNames.length=0,this.regexp_disjunction(t),t.pos!==t.source.length&&(t.eat(41)&&t.raise("Unmatched ')'"),(t.eat(93)||t.eat(125))&&t.raise("Lone quantifier brackets")),t.maxBackReference>t.numCapturingParens&&t.raise("Invalid escape");for(var e=0,i=t.backReferenceNames;e=9&&(i=t.eat(60)),t.eat(61)||t.eat(33))return this.regexp_disjunction(t),t.eat(41)||t.raise("Unterminated group"),t.lastAssertionIsQuantifiable=!i,!0}return t.pos=e,!1},dt.regexp_eatQuantifier=function(t,e){return void 0===e&&(e=!1),!!this.regexp_eatQuantifierPrefix(t,e)&&(t.eat(63),!0)},dt.regexp_eatQuantifierPrefix=function(t,e){return t.eat(42)||t.eat(43)||t.eat(63)||this.regexp_eatBracedQuantifier(t,e)},dt.regexp_eatBracedQuantifier=function(t,e){var i=t.pos;if(t.eat(123)){var s=0,r=-1;if(this.regexp_eatDecimalDigits(t)&&(s=t.lastIntValue,t.eat(44)&&this.regexp_eatDecimalDigits(t)&&(r=t.lastIntValue),t.eat(125)))return-1!==r&&r=9?this.regexp_groupSpecifier(t):63===t.current()&&t.raise("Invalid group"),this.regexp_disjunction(t),t.eat(41))return t.numCapturingParens+=1,!0;t.raise("Unterminated group")}return!1},dt.regexp_eatExtendedAtom=function(t){return t.eat(46)||this.regexp_eatReverseSolidusAtomEscape(t)||this.regexp_eatCharacterClass(t)||this.regexp_eatUncapturingGroup(t)||this.regexp_eatCapturingGroup(t)||this.regexp_eatInvalidBracedQuantifier(t)||this.regexp_eatExtendedPatternCharacter(t)},dt.regexp_eatInvalidBracedQuantifier=function(t){return this.regexp_eatBracedQuantifier(t,!0)&&t.raise("Nothing to repeat"),!1},dt.regexp_eatSyntaxCharacter=function(t){var e=t.current();return!!yt(e)&&(t.lastIntValue=e,t.advance(),!0)},dt.regexp_eatPatternCharacters=function(t){for(var e=t.pos,i=0;-1!==(i=t.current())&&!yt(i);)t.advance();return t.pos!==e},dt.regexp_eatExtendedPatternCharacter=function(t){var e=t.current();return!(-1===e||36===e||e>=40&&e<=43||46===e||63===e||91===e||94===e||124===e)&&(t.advance(),!0)},dt.regexp_groupSpecifier=function(t){if(t.eat(63)){if(this.regexp_eatGroupName(t))return-1!==t.groupNames.indexOf(t.lastStringValue)&&t.raise("Duplicate capture group name"),void t.groupNames.push(t.lastStringValue);t.raise("Invalid group")}},dt.regexp_eatGroupName=function(t){if(t.lastStringValue="",t.eat(60)){if(this.regexp_eatRegExpIdentifierName(t)&&t.eat(62))return!0;t.raise("Invalid capture group name")}return!1},dt.regexp_eatRegExpIdentifierName=function(t){if(t.lastStringValue="",this.regexp_eatRegExpIdentifierStart(t)){for(t.lastStringValue+=mt(t.lastIntValue);this.regexp_eatRegExpIdentifierPart(t);)t.lastStringValue+=mt(t.lastIntValue);return!0}return!1},dt.regexp_eatRegExpIdentifierStart=function(t){var e=t.pos,i=t.current();return t.advance(),92===i&&this.regexp_eatRegExpUnicodeEscapeSequence(t)&&(i=t.lastIntValue),function(t){return g(t,!0)||36===t||95===t}(i)?(t.lastIntValue=i,!0):(t.pos=e,!1)},dt.regexp_eatRegExpIdentifierPart=function(t){var e=t.pos,i=t.current();return t.advance(),92===i&&this.regexp_eatRegExpUnicodeEscapeSequence(t)&&(i=t.lastIntValue),function(t){return v(t,!0)||36===t||95===t||8204===t||8205===t}(i)?(t.lastIntValue=i,!0):(t.pos=e,!1)},dt.regexp_eatAtomEscape=function(t){return!!(this.regexp_eatBackReference(t)||this.regexp_eatCharacterClassEscape(t)||this.regexp_eatCharacterEscape(t)||t.switchN&&this.regexp_eatKGroupName(t))||(t.switchU&&(99===t.current()&&t.raise("Invalid unicode escape"),t.raise("Invalid escape")),!1)},dt.regexp_eatBackReference=function(t){var e=t.pos;if(this.regexp_eatDecimalEscape(t)){var i=t.lastIntValue;if(t.switchU)return i>t.maxBackReference&&(t.maxBackReference=i),!0;if(i<=t.numCapturingParens)return!0;t.pos=e}return!1},dt.regexp_eatKGroupName=function(t){if(t.eat(107)){if(this.regexp_eatGroupName(t))return t.backReferenceNames.push(t.lastStringValue),!0;t.raise("Invalid named reference")}return!1},dt.regexp_eatCharacterEscape=function(t){return this.regexp_eatControlEscape(t)||this.regexp_eatCControlLetter(t)||this.regexp_eatZero(t)||this.regexp_eatHexEscapeSequence(t)||this.regexp_eatRegExpUnicodeEscapeSequence(t)||!t.switchU&&this.regexp_eatLegacyOctalEscapeSequence(t)||this.regexp_eatIdentityEscape(t)},dt.regexp_eatCControlLetter=function(t){var e=t.pos;if(t.eat(99)){if(this.regexp_eatControlLetter(t))return!0;t.pos=e}return!1},dt.regexp_eatZero=function(t){return 48===t.current()&&!bt(t.lookahead())&&(t.lastIntValue=0,t.advance(),!0)},dt.regexp_eatControlEscape=function(t){var e=t.current();return 116===e?(t.lastIntValue=9,t.advance(),!0):110===e?(t.lastIntValue=10,t.advance(),!0):118===e?(t.lastIntValue=11,t.advance(),!0):102===e?(t.lastIntValue=12,t.advance(),!0):114===e&&(t.lastIntValue=13,t.advance(),!0)},dt.regexp_eatControlLetter=function(t){var e=t.current();return!!gt(e)&&(t.lastIntValue=e%32,t.advance(),!0)},dt.regexp_eatRegExpUnicodeEscapeSequence=function(t){var e,i=t.pos;if(t.eat(117)){if(this.regexp_eatFixedHexDigits(t,4)){var s=t.lastIntValue;if(t.switchU&&s>=55296&&s<=56319){var r=t.pos;if(t.eat(92)&&t.eat(117)&&this.regexp_eatFixedHexDigits(t,4)){var n=t.lastIntValue;if(n>=56320&&n<=57343)return t.lastIntValue=1024*(s-55296)+(n-56320)+65536,!0}t.pos=r,t.lastIntValue=s}return!0}if(t.switchU&&t.eat(123)&&this.regexp_eatHexDigits(t)&&t.eat(125)&&((e=t.lastIntValue)>=0&&e<=1114111))return!0;t.switchU&&t.raise("Invalid unicode escape"),t.pos=i}return!1},dt.regexp_eatIdentityEscape=function(t){if(t.switchU)return!!this.regexp_eatSyntaxCharacter(t)||!!t.eat(47)&&(t.lastIntValue=47,!0);var e=t.current();return!(99===e||t.switchN&&107===e)&&(t.lastIntValue=e,t.advance(),!0)},dt.regexp_eatDecimalEscape=function(t){t.lastIntValue=0;var e=t.current();if(e>=49&&e<=57){do{t.lastIntValue=10*t.lastIntValue+(e-48),t.advance()}while((e=t.current())>=48&&e<=57);return!0}return!1},dt.regexp_eatCharacterClassEscape=function(t){var e=t.current();if(function(t){return 100===t||68===t||115===t||83===t||119===t||87===t}(e))return t.lastIntValue=-1,t.advance(),!0;if(t.switchU&&this.options.ecmaVersion>=9&&(80===e||112===e)){if(t.lastIntValue=-1,t.advance(),t.eat(123)&&this.regexp_eatUnicodePropertyValueExpression(t)&&t.eat(125))return!0;t.raise("Invalid property name")}return!1},dt.regexp_eatUnicodePropertyValueExpression=function(t){var e=t.pos;if(this.regexp_eatUnicodePropertyName(t)&&t.eat(61)){var i=t.lastStringValue;if(this.regexp_eatUnicodePropertyValue(t)){var s=t.lastStringValue;return this.regexp_validateUnicodePropertyNameAndValue(t,i,s),!0}}if(t.pos=e,this.regexp_eatLoneUnicodePropertyNameOrValue(t)){var r=t.lastStringValue;return this.regexp_validateUnicodePropertyNameOrValue(t,r),!0}return!1},dt.regexp_validateUnicodePropertyNameAndValue=function(t,e,i){ut.hasOwnProperty(e)&&-1!==ut[e].indexOf(i)||t.raise("Invalid property name")},dt.regexp_validateUnicodePropertyNameOrValue=function(t,e){-1===ut.$LONE.indexOf(e)&&t.raise("Invalid property name")},dt.regexp_eatUnicodePropertyName=function(t){var e=0;for(t.lastStringValue="";vt(e=t.current());)t.lastStringValue+=mt(e),t.advance();return""!==t.lastStringValue},dt.regexp_eatUnicodePropertyValue=function(t){var e=0;for(t.lastStringValue="";xt(e=t.current());)t.lastStringValue+=mt(e),t.advance();return""!==t.lastStringValue},dt.regexp_eatLoneUnicodePropertyNameOrValue=function(t){return this.regexp_eatUnicodePropertyValue(t)},dt.regexp_eatCharacterClass=function(t){if(t.eat(91)){if(t.eat(94),this.regexp_classRanges(t),t.eat(93))return!0;t.raise("Unterminated character class")}return!1},dt.regexp_classRanges=function(t){for(;this.regexp_eatClassAtom(t);){var e=t.lastIntValue;if(t.eat(45)&&this.regexp_eatClassAtom(t)){var i=t.lastIntValue;!t.switchU||-1!==e&&-1!==i||t.raise("Invalid character class"),-1!==e&&-1!==i&&e>i&&t.raise("Range out of order in character class")}}},dt.regexp_eatClassAtom=function(t){var e=t.pos;if(t.eat(92)){if(this.regexp_eatClassEscape(t))return!0;if(t.switchU){var i=t.current();(99===i||St(i))&&t.raise("Invalid class escape"),t.raise("Invalid escape")}t.pos=e}var s=t.current();return 93!==s&&(t.lastIntValue=s,t.advance(),!0)},dt.regexp_eatClassEscape=function(t){var e=t.pos;if(t.eat(98))return t.lastIntValue=8,!0;if(t.switchU&&t.eat(45))return t.lastIntValue=45,!0;if(!t.switchU&&t.eat(99)){if(this.regexp_eatClassControlLetter(t))return!0;t.pos=e}return this.regexp_eatCharacterClassEscape(t)||this.regexp_eatCharacterEscape(t)},dt.regexp_eatClassControlLetter=function(t){var e=t.current();return!(!bt(e)&&95!==e)&&(t.lastIntValue=e%32,t.advance(),!0)},dt.regexp_eatHexEscapeSequence=function(t){var e=t.pos;if(t.eat(120)){if(this.regexp_eatFixedHexDigits(t,2))return!0;t.switchU&&t.raise("Invalid escape"),t.pos=e}return!1},dt.regexp_eatDecimalDigits=function(t){var e=t.pos,i=0;for(t.lastIntValue=0;bt(i=t.current());)t.lastIntValue=10*t.lastIntValue+(i-48),t.advance();return t.pos!==e},dt.regexp_eatHexDigits=function(t){var e=t.pos,i=0;for(t.lastIntValue=0;_t(i=t.current());)t.lastIntValue=16*t.lastIntValue+kt(i),t.advance();return t.pos!==e},dt.regexp_eatLegacyOctalEscapeSequence=function(t){if(this.regexp_eatOctalDigit(t)){var e=t.lastIntValue;if(this.regexp_eatOctalDigit(t)){var i=t.lastIntValue;e<=3&&this.regexp_eatOctalDigit(t)?t.lastIntValue=64*e+8*i+t.lastIntValue:t.lastIntValue=8*e+i}else t.lastIntValue=e;return!0}return!1},dt.regexp_eatOctalDigit=function(t){var e=t.current();return St(e)?(t.lastIntValue=e-48,t.advance(),!0):(t.lastIntValue=0,!1)},dt.regexp_eatFixedHexDigits=function(t,e){var i=t.pos;t.lastIntValue=0;for(var s=0;s>10),56320+(1023&t)))}Et.next=function(){this.options.onToken&&this.options.onToken(new wt(this)),this.lastTokEnd=this.end,this.lastTokStart=this.start,this.lastTokEndLoc=this.endLoc,this.lastTokStartLoc=this.startLoc,this.nextToken()},Et.getToken=function(){return this.next(),new wt(this)},"undefined"!=typeof Symbol&&(Et[Symbol.iterator]=function(){var t=this;return{next:function(){var e=t.getToken();return{done:e.type===E.eof,value:e}}}}),Et.curContext=function(){return this.context[this.context.length-1]},Et.nextToken=function(){var t=this.curContext();return t&&t.preserveSpace||this.skipSpace(),this.start=this.pos,this.options.locations&&(this.startLoc=this.curPosition()),this.pos>=this.input.length?this.finishToken(E.eof):t.override?t.override(this):void this.readToken(this.fullCharCodeAtPos())},Et.readToken=function(t){return g(t,this.options.ecmaVersion>=6)||92===t?this.readWord():this.getTokenFromCode(t)},Et.fullCharCodeAtPos=function(){var t=this.input.charCodeAt(this.pos);return t<=55295||t>=57344?t:(t<<10)+this.input.charCodeAt(this.pos+1)-56613888},Et.skipBlockComment=function(){var t,e=this.options.onComment&&this.curPosition(),i=this.pos,s=this.input.indexOf("*/",this.pos+=2);if(-1===s&&this.raise(this.pos-2,"Unterminated comment"),this.pos=s+2,this.options.locations)for(C.lastIndex=i;(t=C.exec(this.input))&&t.index8&&t<14||t>=5760&&L.test(String.fromCharCode(t))))break t;++this.pos}}},Et.finishToken=function(t,e){this.end=this.pos,this.options.locations&&(this.endLoc=this.curPosition());var i=this.type;this.type=t,this.value=e,this.updateContext(i)},Et.readToken_dot=function(){var t=this.input.charCodeAt(this.pos+1);if(t>=48&&t<=57)return this.readNumber(!0);var e=this.input.charCodeAt(this.pos+2);return this.options.ecmaVersion>=6&&46===t&&46===e?(this.pos+=3,this.finishToken(E.ellipsis)):(++this.pos,this.finishToken(E.dot))},Et.readToken_slash=function(){var t=this.input.charCodeAt(this.pos+1);return this.exprAllowed?(++this.pos,this.readRegexp()):61===t?this.finishOp(E.assign,2):this.finishOp(E.slash,1)},Et.readToken_mult_modulo_exp=function(t){var e=this.input.charCodeAt(this.pos+1),i=1,s=42===t?E.star:E.modulo;return this.options.ecmaVersion>=7&&42===t&&42===e&&(++i,s=E.starstar,e=this.input.charCodeAt(this.pos+2)),61===e?this.finishOp(E.assign,i+1):this.finishOp(s,i)},Et.readToken_pipe_amp=function(t){var e=this.input.charCodeAt(this.pos+1);return e===t?this.finishOp(124===t?E.logicalOR:E.logicalAND,2):61===e?this.finishOp(E.assign,2):this.finishOp(124===t?E.bitwiseOR:E.bitwiseAND,1)},Et.readToken_caret=function(){return 61===this.input.charCodeAt(this.pos+1)?this.finishOp(E.assign,2):this.finishOp(E.bitwiseXOR,1)},Et.readToken_plus_min=function(t){var e=this.input.charCodeAt(this.pos+1);return e===t?45!==e||this.inModule||62!==this.input.charCodeAt(this.pos+2)||0!==this.lastTokEnd&&!A.test(this.input.slice(this.lastTokEnd,this.pos))?this.finishOp(E.incDec,2):(this.skipLineComment(3),this.skipSpace(),this.nextToken()):61===e?this.finishOp(E.assign,2):this.finishOp(E.plusMin,1)},Et.readToken_lt_gt=function(t){var e=this.input.charCodeAt(this.pos+1),i=1;return e===t?(i=62===t&&62===this.input.charCodeAt(this.pos+2)?3:2,61===this.input.charCodeAt(this.pos+i)?this.finishOp(E.assign,i+1):this.finishOp(E.bitShift,i)):33!==e||60!==t||this.inModule||45!==this.input.charCodeAt(this.pos+2)||45!==this.input.charCodeAt(this.pos+3)?(61===e&&(i=2),this.finishOp(E.relational,i)):(this.skipLineComment(4),this.skipSpace(),this.nextToken())},Et.readToken_eq_excl=function(t){var e=this.input.charCodeAt(this.pos+1);return 61===e?this.finishOp(E.equality,61===this.input.charCodeAt(this.pos+2)?3:2):61===t&&62===e&&this.options.ecmaVersion>=6?(this.pos+=2,this.finishToken(E.arrow)):this.finishOp(61===t?E.eq:E.prefix,1)},Et.getTokenFromCode=function(t){switch(t){case 46:return this.readToken_dot();case 40:return++this.pos,this.finishToken(E.parenL);case 41:return++this.pos,this.finishToken(E.parenR);case 59:return++this.pos,this.finishToken(E.semi);case 44:return++this.pos,this.finishToken(E.comma);case 91:return++this.pos,this.finishToken(E.bracketL);case 93:return++this.pos,this.finishToken(E.bracketR);case 123:return++this.pos,this.finishToken(E.braceL);case 125:return++this.pos,this.finishToken(E.braceR);case 58:return++this.pos,this.finishToken(E.colon);case 63:return++this.pos,this.finishToken(E.question);case 96:if(this.options.ecmaVersion<6)break;return++this.pos,this.finishToken(E.backQuote);case 48:var e=this.input.charCodeAt(this.pos+1);if(120===e||88===e)return this.readRadixNumber(16);if(this.options.ecmaVersion>=6){if(111===e||79===e)return this.readRadixNumber(8);if(98===e||66===e)return this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.readNumber(!1);case 34:case 39:return this.readString(t);case 47:return this.readToken_slash();case 37:case 42:return this.readToken_mult_modulo_exp(t);case 124:case 38:return this.readToken_pipe_amp(t);case 94:return this.readToken_caret();case 43:case 45:return this.readToken_plus_min(t);case 60:case 62:return this.readToken_lt_gt(t);case 61:case 33:return this.readToken_eq_excl(t);case 126:return this.finishOp(E.prefix,1)}this.raise(this.pos,"Unexpected character '"+At(t)+"'")},Et.finishOp=function(t,e){var i=this.input.slice(this.pos,this.pos+e);return this.pos+=e,this.finishToken(t,i)},Et.readRegexp=function(){for(var t,e,i=this.pos;;){this.pos>=this.input.length&&this.raise(i,"Unterminated regular expression");var s=this.input.charAt(this.pos);if(A.test(s)&&this.raise(i,"Unterminated regular expression"),t)t=!1;else{if("["===s)e=!0;else if("]"===s&&e)e=!1;else if("/"===s&&!e)break;t="\\"===s}++this.pos}var r=this.input.slice(i,this.pos);++this.pos;var n=this.pos,a=this.readWord1();this.containsEsc&&this.unexpected(n);var o=this.regexpState||(this.regexpState=new ft(this));o.reset(i,r,a),this.validateRegExpFlags(o),this.validateRegExpPattern(o);var p=null;try{p=new RegExp(r,a)}catch(h){}return this.finishToken(E.regexp,{pattern:r,flags:a,value:p})},Et.readInt=function(t,e){for(var i=this.pos,s=0,r=0,n=null==e?1/0:e;r=97?a-97+10:a>=65?a-65+10:a>=48&&a<=57?a-48:1/0)>=t)break;++this.pos,s=s*t+o}return this.pos===i||null!=e&&this.pos-i!==e?null:s},Et.readRadixNumber=function(t){this.pos+=2;var e=this.readInt(t);return null==e&&this.raise(this.start+2,"Expected number in radix "+t),g(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(E.num,e)},Et.readNumber=function(t){var e=this.pos;t||null!==this.readInt(10)||this.raise(e,"Invalid number");var i=this.pos-e>=2&&48===this.input.charCodeAt(e);i&&this.strict&&this.raise(e,"Invalid number"),i&&/[89]/.test(this.input.slice(e,this.pos))&&(i=!1);var s=this.input.charCodeAt(this.pos);46!==s||i||(++this.pos,this.readInt(10),s=this.input.charCodeAt(this.pos)),69!==s&&101!==s||i||(43!==(s=this.input.charCodeAt(++this.pos))&&45!==s||++this.pos,null===this.readInt(10)&&this.raise(e,"Invalid number")),g(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number");var r=this.input.slice(e,this.pos),n=i?parseInt(r,8):parseFloat(r);return this.finishToken(E.num,n)},Et.readCodePoint=function(){var t;if(123===this.input.charCodeAt(this.pos)){this.options.ecmaVersion<6&&this.unexpected();var e=++this.pos;t=this.readHexChar(this.input.indexOf("}",this.pos)-this.pos),++this.pos,t>1114111&&this.invalidStringToken(e,"Code point out of bounds")}else t=this.readHexChar(4);return t},Et.readString=function(t){for(var e="",i=++this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated string constant");var s=this.input.charCodeAt(this.pos);if(s===t)break;92===s?(e+=this.input.slice(i,this.pos),e+=this.readEscapedChar(!1),i=this.pos):(I(s,this.options.ecmaVersion>=10)&&this.raise(this.start,"Unterminated string constant"),++this.pos)}return e+=this.input.slice(i,this.pos++),this.finishToken(E.string,e)};var Ct={};Et.tryReadTemplateToken=function(){this.inTemplateElement=!0;try{this.readTmplToken()}catch(t){if(t!==Ct)throw t;this.readInvalidTemplateToken()}this.inTemplateElement=!1},Et.invalidStringToken=function(t,e){if(this.inTemplateElement&&this.options.ecmaVersion>=9)throw Ct;this.raise(t,e)},Et.readTmplToken=function(){for(var t="",e=this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated template");var i=this.input.charCodeAt(this.pos);if(96===i||36===i&&123===this.input.charCodeAt(this.pos+1))return this.pos!==this.start||this.type!==E.template&&this.type!==E.invalidTemplate?(t+=this.input.slice(e,this.pos),this.finishToken(E.template,t)):36===i?(this.pos+=2,this.finishToken(E.dollarBraceL)):(++this.pos,this.finishToken(E.backQuote));if(92===i)t+=this.input.slice(e,this.pos),t+=this.readEscapedChar(!0),e=this.pos;else if(I(i)){switch(t+=this.input.slice(e,this.pos),++this.pos,i){case 13:10===this.input.charCodeAt(this.pos)&&++this.pos;case 10:t+="\n";break;default:t+=String.fromCharCode(i)}this.options.locations&&(++this.curLine,this.lineStart=this.pos),e=this.pos}else++this.pos}},Et.readInvalidTemplateToken=function(){for(;this.pos=48&&e<=55){var i=this.input.substr(this.pos-1,3).match(/^[0-7]+/)[0],s=parseInt(i,8);return s>255&&(i=i.slice(0,-1),s=parseInt(i,8)),this.pos+=i.length-1,e=this.input.charCodeAt(this.pos),"0"===i&&56!==e&&57!==e||!this.strict&&!t||this.invalidStringToken(this.pos-1-i.length,t?"Octal literal in template string":"Octal literal in strict mode"),String.fromCharCode(s)}return String.fromCharCode(e)}},Et.readHexChar=function(t){var e=this.pos,i=this.readInt(16,t);return null===i&&this.invalidStringToken(e,"Bad character escape sequence"),i},Et.readWord1=function(){this.containsEsc=!1;for(var t="",e=!0,i=this.pos,s=this.options.ecmaVersion>=6;this.pos",nbsp:" ",iexcl:"¡",cent:"¢",pound:"£",curren:"¤",yen:"¥",brvbar:"¦",sect:"§",uml:"¨",copy:"©",ordf:"ª",laquo:"«",not:"¬",shy:"­",reg:"®",macr:"¯",deg:"°",plusmn:"±",sup2:"²",sup3:"³",acute:"´",micro:"µ",para:"¶",middot:"·",cedil:"¸",sup1:"¹",ordm:"º",raquo:"»",frac14:"¼",frac12:"½",frac34:"¾",iquest:"¿",Agrave:"À",Aacute:"Á",Acirc:"Â",Atilde:"Ã",Auml:"Ä",Aring:"Å",AElig:"Æ",Ccedil:"Ç",Egrave:"È",Eacute:"É",Ecirc:"Ê",Euml:"Ë",Igrave:"Ì",Iacute:"Í",Icirc:"Î",Iuml:"Ï",ETH:"Ð",Ntilde:"Ñ",Ograve:"Ò",Oacute:"Ó",Ocirc:"Ô",Otilde:"Õ",Ouml:"Ö",times:"×",Oslash:"Ø",Ugrave:"Ù",Uacute:"Ú",Ucirc:"Û",Uuml:"Ü",Yacute:"Ý",THORN:"Þ",szlig:"ß",agrave:"à",aacute:"á",acirc:"â",atilde:"ã",auml:"ä",aring:"å",aelig:"æ",ccedil:"ç",egrave:"è",eacute:"é",ecirc:"ê",euml:"ë",igrave:"ì",iacute:"í",icirc:"î",iuml:"ï",eth:"ð",ntilde:"ñ",ograve:"ò",oacute:"ó",ocirc:"ô",otilde:"õ",ouml:"ö",divide:"÷",oslash:"ø",ugrave:"ù",uacute:"ú",ucirc:"û",uuml:"ü",yacute:"ý",thorn:"þ",yuml:"ÿ",OElig:"Œ",oelig:"œ",Scaron:"Š",scaron:"š",Yuml:"Ÿ",fnof:"ƒ",circ:"ˆ",tilde:"˜",Alpha:"Α",Beta:"Β",Gamma:"Γ",Delta:"Δ",Epsilon:"Ε",Zeta:"Ζ",Eta:"Η",Theta:"Θ",Iota:"Ι",Kappa:"Κ",Lambda:"Λ",Mu:"Μ",Nu:"Ν",Xi:"Ξ",Omicron:"Ο",Pi:"Π",Rho:"Ρ",Sigma:"Σ",Tau:"Τ",Upsilon:"Υ",Phi:"Φ",Chi:"Χ",Psi:"Ψ",Omega:"Ω",alpha:"α",beta:"β",gamma:"γ",delta:"δ",epsilon:"ε",zeta:"ζ",eta:"η",theta:"θ",iota:"ι",kappa:"κ",lambda:"λ",mu:"μ",nu:"ν",xi:"ξ",omicron:"ο",pi:"π",rho:"ρ",sigmaf:"ς",sigma:"σ",tau:"τ",upsilon:"υ",phi:"φ",chi:"χ",psi:"ψ",omega:"ω",thetasym:"ϑ",upsih:"ϒ",piv:"ϖ",ensp:" ",emsp:" ",thinsp:" ",zwnj:"‌",zwj:"‍",lrm:"‎",rlm:"‏",ndash:"–",mdash:"—",lsquo:"‘",rsquo:"’",sbquo:"‚",ldquo:"“",rdquo:"”",bdquo:"„",dagger:"†",Dagger:"‡",bull:"•",hellip:"…",permil:"‰",prime:"′",Prime:"″",lsaquo:"‹",rsaquo:"›",oline:"‾",frasl:"⁄",euro:"€",image:"ℑ",weierp:"℘",real:"ℜ",trade:"™",alefsym:"ℵ",larr:"←",uarr:"↑",rarr:"→",darr:"↓",harr:"↔",crarr:"↵",lArr:"⇐",uArr:"⇑",rArr:"⇒",dArr:"⇓",hArr:"⇔",forall:"∀",part:"∂",exist:"∃",empty:"∅",nabla:"∇",isin:"∈",notin:"∉",ni:"∋",prod:"∏",sum:"∑",minus:"−",lowast:"∗",radic:"√",prop:"∝",infin:"∞",ang:"∠",and:"∧",or:"∨",cap:"∩",cup:"∪",int:"∫",there4:"∴",sim:"∼",cong:"≅",asymp:"≈",ne:"≠",equiv:"≡",le:"≤",ge:"≥",sub:"⊂",sup:"⊃",nsub:"⊄",sube:"⊆",supe:"⊇",oplus:"⊕",otimes:"⊗",perp:"⊥",sdot:"⋅",lceil:"⌈",rceil:"⌉",lfloor:"⌊",rfloor:"⌋",lang:"〈",rang:"〉",loz:"◊",spades:"♠",clubs:"♣",hearts:"♥",diams:"♦"},Pt=/^[\da-fA-F]+$/,Nt=/^\d+$/,Tt=It.tokTypes,Rt=It.TokContext,Ot=It.tokContexts,jt=It.TokenType,Vt=It.isNewLine,Dt=It.isIdentifierStart,Ft=It.isIdentifierChar,Bt=new Rt("...
      ",!0,!0),qt={jsxName:new jt("jsxName"),jsxText:new jt("jsxText",{beforeExpr:!0}),jsxTagStart:new jt("jsxTagStart"),jsxTagEnd:new jt("jsxTagEnd")};function Xt(t){return t?"JSXIdentifier"===t.type?t.name:"JSXNamespacedName"===t.type?t.namespace.name+":"+t.name.name:"JSXMemberExpression"===t.type?Xt(t.object)+"."+Xt(t.property):void 0:t}qt.jsxTagStart.updateContext=function(){this.context.push(Ut),this.context.push(Bt),this.exprAllowed=!1},qt.jsxTagEnd.updateContext=function(t){var e=this.context.pop();e===Bt&&t===Tt.slash||e===Mt?(this.context.pop(),this.exprAllowed=this.curContext()===Ut):this.exprAllowed=!0};var Jt=function(t){return void 0===t&&(t={}),function(e){return function(t,e){return function(e){function i(){e.apply(this,arguments)}return e&&(i.__proto__=e),i.prototype=Object.create(e&&e.prototype),i.prototype.constructor=i,i.prototype.jsx_readToken=function(){for(var t="",e=this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated JSX contents");var i=this.input.charCodeAt(this.pos);switch(i){case 60:case 123:return this.pos===this.start?60===i&&this.exprAllowed?(++this.pos,this.finishToken(qt.jsxTagStart)):this.getTokenFromCode(i):(t+=this.input.slice(e,this.pos),this.finishToken(qt.jsxText,t));case 38:t+=this.input.slice(e,this.pos),t+=this.jsx_readEntity(),e=this.pos;break;default:Vt(i)?(t+=this.input.slice(e,this.pos),t+=this.jsx_readNewLine(!0),e=this.pos):++this.pos}}},i.prototype.jsx_readNewLine=function(t){var e,i=this.input.charCodeAt(this.pos);return++this.pos,13===i&&10===this.input.charCodeAt(this.pos)?(++this.pos,e=t?"\n":"\r\n"):e=String.fromCharCode(i),this.options.locations&&(++this.curLine,this.lineStart=this.pos),e},i.prototype.jsx_readString=function(t){for(var e="",i=++this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated string constant");var s=this.input.charCodeAt(this.pos);if(s===t)break;38===s?(e+=this.input.slice(i,this.pos),e+=this.jsx_readEntity(),i=this.pos):Vt(s)?(e+=this.input.slice(i,this.pos),e+=this.jsx_readNewLine(!1),i=this.pos):++this.pos}return e+=this.input.slice(i,this.pos++),this.finishToken(Tt.string,e)},i.prototype.jsx_readEntity=function(){var t,e="",i=0,s=this.input[this.pos];"&"!==s&&this.raise(this.pos,"Entity must start with an ampersand");for(var r=++this.pos;this.pos")}var a=r.name?"Element":"Fragment";return i["opening"+a]=r,i["closing"+a]=n,i.children=s,this.type===Tt.relational&&"<"===this.value&&this.raise(this.start,"Adjacent JSX elements must be wrapped in an enclosing tag"),this.finishNode(i,"JSX"+a)},i.prototype.jsx_parseText=function(t){var e=this.parseLiteral(t);return e.type="JSXText",e},i.prototype.jsx_parseElement=function(){var t=this.start,e=this.startLoc;return this.next(),this.jsx_parseElementAt(t,e)},i.prototype.parseExprAtom=function(t){return this.type===qt.jsxText?this.jsx_parseText(this.value):this.type===qt.jsxTagStart?this.jsx_parseElement():e.prototype.parseExprAtom.call(this,t)},i.prototype.readToken=function(t){var i=this.curContext();if(i===Ut)return this.jsx_readToken();if(i===Bt||i===Mt){if(Dt(t))return this.jsx_readWord();if(62==t)return++this.pos,this.finishToken(qt.jsxTagEnd);if((34===t||39===t)&&i==Bt)return this.jsx_readString(t)}return 60===t&&this.exprAllowed&&33!==this.input.charCodeAt(this.pos+1)?(++this.pos,this.finishToken(qt.jsxTagStart)):e.prototype.readToken.call(this,t)},i.prototype.updateContext=function(t){if(this.type==Tt.braceL){var i=this.curContext();i==Bt?this.context.push(Ot.b_expr):i==Ut?this.context.push(Ot.b_tmpl):e.prototype.updateContext.call(this,t),this.exprAllowed=!0}else{if(this.type!==Tt.slash||t!==qt.jsxTagStart)return e.prototype.updateContext.call(this,t);this.context.length-=2,this.context.push(Mt),this.exprAllowed=!1}},i}(e)}({allowNamespaces:!1!==t.allowNamespaces,allowNamespacedObjects:!!t.allowNamespacedObjects},e)}};Jt.tokTypes=qt;var Wt,Ht=function(t,e){return t(e={exports:{}},e.exports),e.exports}((function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.DynamicImportKey=void 0;var i=function(){function t(t,e){for(var i=0;ie)return{line:i+1,column:e-n,char:i};n=a}throw new Error("Could not determine location of character")}function ee(t,e){for(var i="";e--;)i+=t;return i}function ie(t,e,i){void 0===i&&(i=1);var s=Math.max(e.line-5,0),r=e.line,n=String(r).length,a=t.split("\n").slice(s,r),o=a[a.length-1].slice(0,e.column).replace(/\t/g," ").length,p=a.map((function(t,e){return i=n,(r=String(e+s+1))+ee(" ",i-r.length)+" : "+t.replace(/\t/g," ");var i,r})).join("\n");return p+="\n"+ee(" ",n+3+o)+ee("^",i)}"do if in for let new try var case else enum eval null this true void with await break catch class const false super throw while yield delete export import public return static switch typeof default extends finally package private continue debugger function arguments interface protected implements instanceof".split(" ").forEach((function(t){return Yt[t]=!0})),Zt.prototype={addDeclaration:function(t,e){for(var i=0,s=Kt(t);i1&&(c=e(n),o.push((function(e,i,o){t.prependRight(r.start,(a?"":i+"var ")+c+" = "),t.overwrite(r.start,s=r.start+1,n),t.appendLeft(s,o),t.overwrite(r.start,s=r.start+1,(a?"":i+"var ")+c+" = "+n+o),t.move(r.start,s,e)}))),pe(t,e,i,r,c,a,o);break;case"ArrayPattern":if(t.remove(s,s=r.start),r.elements.filter(Boolean).length>1){var l=e(n);o.push((function(e,i,o){t.prependRight(r.start,(a?"":i+"var ")+l+" = "),t.overwrite(r.start,s=r.start+1,n,{contentOnly:!0}),t.appendLeft(s,o),t.move(r.start,s,e)})),r.elements.forEach((function(r,n){r&&("RestElement"===r.type?he(t,e,i,s,r.argument,l+".slice("+n+")",a,o):he(t,e,i,s,r,l+"["+n+"]",a,o),s=r.end)}))}else{var u=re(r.elements,Boolean),d=r.elements[u];"RestElement"===d.type?he(t,e,i,s,d.argument,n+".slice("+u+")",a,o):he(t,e,i,s,d,n+"["+u+"]",a,o),s=d.end}t.remove(s,r.end);break;default:throw new Error("Unexpected node type in destructuring ("+r.type+")")}}var ce=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createScope=function(){var t=this;this.parentIsFunction=/Function/.test(this.parent.type),this.isFunctionBlock=this.parentIsFunction||"Root"===this.parent.type,this.scope=new Zt({block:!this.isFunctionBlock,parent:this.parent.findScope(!1),declare:function(e){return t.createdDeclarations.push(e)}}),this.parentIsFunction&&this.parent.params.forEach((function(e){t.scope.addDeclaration(e,"param")}))},e.prototype.initialise=function(t){this.thisAlias=null,this.argumentsAlias=null,this.defaultParameters=[],this.createdDeclarations=[],this.scope||this.createScope(),this.body.forEach((function(e){return e.initialise(t)})),this.scope.consolidate()},e.prototype.findLexicalBoundary=function(){return"Program"===this.type||/^Function/.test(this.parent.type)?this:this.parent.findLexicalBoundary()},e.prototype.findScope=function(t){return t&&!this.isFunctionBlock?this.parent.findScope(t):this.scope},e.prototype.getArgumentsAlias=function(){return this.argumentsAlias||(this.argumentsAlias=this.scope.createIdentifier("arguments")),this.argumentsAlias},e.prototype.getArgumentsArrayAlias=function(){return this.argumentsArrayAlias||(this.argumentsArrayAlias=this.scope.createIdentifier("argsArray")),this.argumentsArrayAlias},e.prototype.getThisAlias=function(){return this.thisAlias||(this.thisAlias=this.scope.createIdentifier("this")),this.thisAlias},e.prototype.getIndentation=function(){if(void 0===this.indentation){for(var t=this.program.magicString.original,e=this.synthetic||!this.body.length,i=e?this.start:this.body[0].start;i&&"\n"!==t[i];)i-=1;for(this.indentation="";;){var s=t[i+=1];if(" "!==s&&"\t"!==s)break;this.indentation+=s}for(var r=this.program.magicString.getIndentString(),n=this.parent;n;)"constructor"!==n.kind||n.parent.parent.superClass||(this.indentation=this.indentation.replace(r,"")),n=n.parent;e&&(this.indentation+=r)}return this.indentation},e.prototype.transpile=function(e,i){var s,r,n=this,a=this.getIndentation(),o=[];if(this.argumentsAlias&&o.push((function(t,i,s){var r=i+"var "+n.argumentsAlias+" = arguments"+s;e.appendLeft(t,r)})),this.thisAlias&&o.push((function(t,i,s){var r=i+"var "+n.thisAlias+" = this"+s;e.appendLeft(t,r)})),this.argumentsArrayAlias&&o.push((function(t,i,s){var r=n.scope.createIdentifier("i"),o=i+"var "+r+" = arguments.length, "+n.argumentsArrayAlias+" = Array("+r+");\n"+a+"while ( "+r+"-- ) "+n.argumentsArrayAlias+"["+r+"] = arguments["+r+"]"+s;e.appendLeft(t,o)})),/Function/.test(this.parent.type)?this.transpileParameters(this.parent.params,e,i,a,o):"CatchClause"===this.parent.type&&this.transpileParameters([this.parent.param],e,i,a,o),i.letConst&&this.isFunctionBlock&&this.transpileBlockScopedIdentifiers(e),t.prototype.transpile.call(this,e,i),this.createdDeclarations.length&&o.push((function(t,i,s){var r=i+"var "+n.createdDeclarations.join(", ")+s;e.appendLeft(t,r)})),this.synthetic)if("ArrowFunctionExpression"===this.parent.type){var p=this.body[0];o.length?(e.appendLeft(this.start,"{").prependRight(this.end,this.parent.getIndentation()+"}"),e.prependRight(p.start,"\n"+a+"return "),e.appendLeft(p.end,";\n")):i.arrow&&(e.prependRight(p.start,"{ return "),e.appendLeft(p.end,"; }"))}else o.length&&e.prependRight(this.start,"{").appendLeft(this.end,"}");r=this.body[0],s=r&&"ExpressionStatement"===r.type&&"Literal"===r.expression.type&&"use strict"===r.expression.value?this.body[0].end:this.synthetic||"Root"===this.parent.type?this.start:this.start+1;var h="\n"+a,c=";";o.forEach((function(t,e){e===o.length-1&&(c=";\n"),t(s,h,c)}))},e.prototype.transpileParameters=function(t,e,i,s,r){var n=this;t.forEach((function(a){if("AssignmentPattern"===a.type&&"Identifier"===a.left.type)i.defaultParameter&&r.push((function(t,i,s){var r=i+"if ( "+a.left.name+" === void 0 ) "+a.left.name;e.prependRight(a.left.end,r).move(a.left.end,a.right.end,t).appendLeft(a.right.end,s)}));else if("RestElement"===a.type)i.spreadRest&&r.push((function(i,r,o){var p=t[t.length-2];if(p)e.remove(p?p.end:a.start,a.end);else{for(var h=a.start,c=a.end;/\s/.test(e.original[h-1]);)h-=1;for(;/\s/.test(e.original[c]);)c+=1;e.remove(h,c)}var l=a.argument.name,u=n.scope.createIdentifier("len"),d=t.length-1;d?e.prependRight(i,r+"var "+l+" = [], "+u+" = arguments.length - "+d+";\n"+s+"while ( "+u+"-- > 0 ) "+l+"[ "+u+" ] = arguments[ "+u+" + "+d+" ]"+o):e.prependRight(i,r+"var "+l+" = [], "+u+" = arguments.length;\n"+s+"while ( "+u+"-- ) "+l+"[ "+u+" ] = arguments[ "+u+" ]"+o)}));else if("Identifier"!==a.type&&i.parameterDestructuring){var o=n.scope.createIdentifier("ref");ae(e,(function(t){return n.scope.createIdentifier(t)}),(function(t){var e=t.name;return n.scope.resolveName(e)}),a,o,!1,r),e.prependRight(a.start,o)}}))},e.prototype.transpileBlockScopedIdentifiers=function(t){var e=this;Object.keys(this.scope.blockScopedDeclarations).forEach((function(i){for(var s=0,r=e.scope.blockScopedDeclarations[i];s0},e}(Qt);function ye(t,e){var i=e.findDeclaration(t.name);if(i&&"const"===i.kind)throw new se(t.name+" is read-only",t)}var ge=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.initialise=function(e){if("Identifier"===this.left.type){var i=this.findScope(!1).findDeclaration(this.left.name),s=i&&i.node.ancestor(3);s&&"ForStatement"===s.type&&s.body.contains(this)&&(s.reassigned[this.left.name]=!0)}t.prototype.initialise.call(this,e)},e.prototype.transpile=function(e,i){"Identifier"===this.left.type&&ye(this.left,this.findScope(!1)),"**="===this.operator&&i.exponentiation?this.transpileExponentiation(e,i):/Pattern/.test(this.left.type)&&i.destructuring&&this.transpileDestructuring(e),t.prototype.transpile.call(this,e,i)},e.prototype.transpileDestructuring=function(t){var e=this,i=this.findScope(!0),s=this.findScope(!1),r=i.createDeclaration("assign");t.appendRight(this.left.end,"("+r),t.appendLeft(this.right.end,", ");var n=[];ae(t,(function(t){return i.createDeclaration(t)}),(function(t){var e=s.resolveName(t.name);return ye(t,s),e}),this.left,r,!0,n);var a=", ";n.forEach((function(t,i){i===n.length-1&&(a=""),t(e.end,"",a)})),"ExpressionStatement"===this.unparenthesizedParent().type?t.prependRight(this.end,")"):t.appendRight(this.end,", "+r+")")},e.prototype.transpileExponentiation=function(t){for(var e,i=this.findScope(!1),s=this.left.end;"*"!==t.original[s];)s+=1;t.remove(s,s+2);var r=this.left.unparenthesize();if("Identifier"===r.type)e=i.resolveName(r.name);else if("MemberExpression"===r.type){var n,a,o=!1,p=!1,h=this.findNearest(/(?:Statement|Declaration)$/),c=h.getIndentation();"Identifier"===r.property.type?a=r.computed?i.resolveName(r.property.name):r.property.name:(a=i.createDeclaration("property"),p=!0),"Identifier"===r.object.type?n=i.resolveName(r.object.name):(n=i.createDeclaration("object"),o=!0),r.start===h.start?o&&p?(t.prependRight(h.start,n+" = "),t.overwrite(r.object.end,r.property.start,";\n"+c+a+" = "),t.overwrite(r.property.end,r.end,";\n"+c+n+"["+a+"]")):o?(t.prependRight(h.start,n+" = "),t.appendLeft(r.object.end,";\n"+c),t.appendLeft(r.object.end,n)):p&&(t.prependRight(r.property.start,a+" = "),t.appendLeft(r.property.end,";\n"+c),t.move(r.property.start,r.property.end,this.start),t.appendLeft(r.object.end,"["+a+"]"),t.remove(r.object.end,r.property.start),t.remove(r.property.end,r.end)):(o&&p?(t.prependRight(r.start,"( "+n+" = "),t.overwrite(r.object.end,r.property.start,", "+a+" = "),t.overwrite(r.property.end,r.end,", "+n+"["+a+"]")):o?(t.prependRight(r.start,"( "+n+" = "),t.appendLeft(r.object.end,", "+n)):p&&(t.prependRight(r.property.start,"( "+a+" = "),t.appendLeft(r.property.end,", "),t.move(r.property.start,r.property.end,r.start),t.overwrite(r.object.end,r.property.start,"["+a+"]"),t.remove(r.property.end,r.end)),p&&t.appendLeft(this.end," )")),e=n+(r.computed||p?"["+a+"]":"."+a)}t.prependRight(this.right.start,"Math.pow( "+e+", "),t.appendLeft(this.right.end," )")},e}(Qt),ve=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.transpile=function(e,i){"**"===this.operator&&i.exponentiation&&(e.prependRight(this.start,"Math.pow( "),e.overwrite(this.left.end,this.right.start,", "),e.appendLeft(this.end," )")),t.prototype.transpile.call(this,e,i)},e}(Qt),xe=/(?:For(?:In|Of)?|While)Statement/,be=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.initialise=function(){var t=this.findNearest(xe),e=this.findNearest("SwitchCase");t&&(!e||t.depth>e.depth)&&(t.canBreak=!0,this.loop=t)},e.prototype.transpile=function(t){if(this.loop&&this.loop.shouldRewriteAsFunction){if(this.label)throw new se("Labels are not currently supported in a loop with locally-scoped variables",this);t.overwrite(this.start,this.start+5,"return 'break'")}},e}(Qt),_e=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.initialise=function(e){if(e.spreadRest&&this.arguments.length>1)for(var i=this.findLexicalBoundary(),s=this.arguments.length;s--;){var r=this.arguments[s];"SpreadElement"===r.type&&le(r.argument)&&(this.argumentsArrayAlias=i.getArgumentsArrayAlias())}t.prototype.initialise.call(this,e)},e.prototype.transpile=function(e,i){if(i.spreadRest&&this.arguments.length){var s,r=!1,n=this.arguments[0];if(1===this.arguments.length?"SpreadElement"===n.type&&(e.remove(n.start,n.argument.start),r=!0):r=ue(e,this.arguments,n.start,this.argumentsArrayAlias),r){var a=null;if("Super"===this.callee.type?a=this.callee:"MemberExpression"===this.callee.type&&"Super"===this.callee.object.type&&(a=this.callee.object),a||"MemberExpression"!==this.callee.type)s="void 0";else if("Identifier"===this.callee.object.type)s=this.callee.object.name;else{s=this.findScope(!0).createDeclaration("ref");var o=this.callee.object;e.prependRight(o.start,"("+s+" = "),e.appendLeft(o.end,")")}e.appendLeft(this.callee.end,".apply"),a?(a.noCall=!0,this.arguments.length>1&&("SpreadElement"!==n.type&&e.prependRight(n.start,"[ "),e.appendLeft(this.arguments[this.arguments.length-1].end," )"))):1===this.arguments.length?e.prependRight(n.start,s+", "):("SpreadElement"===n.type?e.appendLeft(n.start,s+", "):e.appendLeft(n.start,s+", [ "),e.appendLeft(this.arguments[this.arguments.length-1].end," )"))}}i.trailingFunctionCommas&&this.arguments.length&&fe(e,this.arguments[this.arguments.length-1].end),t.prototype.transpile.call(this,e,i)},e}(Qt),ke=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.transpile=function(e,i,s,r){var n=this;if(i.classes){var a=this.parent.name,o=e.getIndentString(),p=this.getIndentation()+(s?o:""),h=p+o,c=re(this.body,(function(t){return"constructor"===t.kind})),l=this.body[c],u="",d="";if(this.body.length?(e.remove(this.start,this.body[0].start),e.remove(this.body[this.body.length-1].end,this.end)):e.remove(this.start,this.end),l){l.value.body.isConstructorBody=!0;var f=this.body[c-1],m=this.body[c+1];c>0&&(e.remove(f.end,l.start),e.move(l.start,m?m.start:this.end-1,this.body[0].start)),s||e.appendLeft(l.end,";")}var y=!1!==this.program.options.namedFunctionExpressions,g=y||this.parent.superClass||"ClassDeclaration"!==this.parent.type;if(this.parent.superClass){var v="if ( "+r+" ) "+a+".__proto__ = "+r+";\n"+p+a+".prototype = Object.create( "+r+" && "+r+".prototype );\n"+p+a+".prototype.constructor = "+a+";";if(l)u+="\n\n"+p+v;else u+=(v="function "+a+" () {"+(r?"\n"+h+r+".apply(this, arguments);\n"+p+"}":"}")+(s?"":";")+(this.body.length?"\n\n"+p:"")+v)+"\n\n"+p}else if(!l){var x="function "+(g?a+" ":"")+"() {}";"ClassDeclaration"===this.parent.type&&(x+=";"),this.body.length&&(x+="\n\n"+p),u+=x}var b,_,k=this.findScope(!1),S=[],w=[];if(this.body.forEach((function(t,s){if(("get"===t.kind||"set"===t.kind)&&i.getterSetter)throw new se("getters and setters are not supported. Use `transforms: { getterSetter: false }` to skip transformation and disable this error",t);if("constructor"!==t.kind){if(t.static){var r=" "==e.original[t.start+6]?7:6;e.remove(t.start,t.start+r)}var o,h="method"!==t.kind,l=t.key.name;(Yt[l]||t.value.body.scope.references[l])&&(l=k.createIdentifier(l));var u=!1;if(t.computed||"Literal"!==t.key.type||(u=!0,t.computed=!0),h){if(t.computed)throw new Error("Computed accessor properties are not currently supported");e.remove(t.start,t.key.start),t.static?(~w.indexOf(t.key.name)||w.push(t.key.name),_||(_=k.createIdentifier("staticAccessors")),o=""+_):(~S.indexOf(t.key.name)||S.push(t.key.name),b||(b=k.createIdentifier("prototypeAccessors")),o=""+b)}else o=t.static?""+a:a+".prototype";t.computed||(o+="."),(c>0&&s===c+1||0===s&&c===n.body.length-1)&&(o="\n\n"+p+o);var d=t.key.end;if(t.computed)if(u)e.prependRight(t.key.start,"["),e.appendLeft(t.key.end,"]");else{for(;"]"!==e.original[d];)d+=1;d+=1}var f=t.computed||h||!y?"":l+" ",m=(h?"."+t.kind:"")+" = function"+(t.value.generator?"* ":" ")+f;e.remove(d,t.value.start),e.prependRight(t.value.start,m),e.appendLeft(t.end,";"),t.value.generator&&e.remove(t.start,t.key.start),e.prependRight(t.start,o)}else{var v=g?" "+a:"";e.overwrite(t.key.start,t.key.end,"function"+v)}})),S.length||w.length){var E=[],A=[];S.length&&(E.push("var "+b+" = { "+S.map((function(t){return t+": { configurable: true }"})).join(",")+" };"),A.push("Object.defineProperties( "+a+".prototype, "+b+" );")),w.length&&(E.push("var "+_+" = { "+w.map((function(t){return t+": { configurable: true }"})).join(",")+" };"),A.push("Object.defineProperties( "+a+", "+_+" );")),l&&(u+="\n\n"+p),u+=E.join("\n"+p),l||(u+="\n\n"+p),d+="\n\n"+p+A.join("\n"+p)}l?e.appendLeft(l.end,u):e.prependRight(this.start,u),e.appendLeft(this.end,d)}t.prototype.transpile.call(this,e,i)},e}(Qt);var Se=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.initialise=function(e){this.id?(this.name=this.id.name,this.findScope(!0).addDeclaration(this.id,"class")):this.name=this.findScope(!0).createIdentifier("defaultExport"),t.prototype.initialise.call(this,e)},e.prototype.transpile=function(t,e){if(e.classes){this.superClass||function(t,e){var i=t.start,s=t.end,r=e.getIndentString(),n=r.length,a=i-n;t.program.indentExclusions[a]||e.original.slice(a,i)!==r||e.remove(a,i);for(var o,p=new RegExp(r+"\\S","g"),h=e.original.slice(i,s);o=p.exec(h);){var c=i+o.index;t.program.indentExclusions[c]||e.remove(c,c+n)}}(this.body,t);var i=this.superClass&&(this.superClass.name||"superclass"),s=this.getIndentation(),r=s+t.getIndentString(),n="ExportDefaultDeclaration"===this.parent.type;n&&t.remove(this.parent.start,this.start);var a=this.start;this.id?(t.overwrite(a,this.id.start,"var "),a=this.id.end):t.prependLeft(a,"var "+this.name),this.superClass?this.superClass.end===this.body.start?(t.remove(a,this.superClass.start),t.appendLeft(a," = /*@__PURE__*/(function ("+i+") {\n"+r)):(t.overwrite(a,this.superClass.start," = "),t.overwrite(this.superClass.end,this.body.start,"/*@__PURE__*/(function ("+i+") {\n"+r)):a===this.body.start?t.appendLeft(a," = "):t.overwrite(a,this.body.start," = "),this.body.transpile(t,e,!!this.superClass,i);var o=n?"\n\n"+s+"export default "+this.name+";":"";this.superClass?(t.appendLeft(this.end,"\n\n"+r+"return "+this.name+";\n"+s+"}("),t.move(this.superClass.start,this.superClass.end,this.end),t.prependRight(this.end,"));"+o)):o&&t.prependRight(this.end,o)}else this.body.transpile(t,e,!1,null)},e}(Qt),we=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.initialise=function(e){this.name=(this.id?this.id.name:"VariableDeclarator"===this.parent.type?this.parent.id.name:"AssignmentExpression"!==this.parent.type?null:"Identifier"===this.parent.left.type?this.parent.left.name:"MemberExpression"===this.parent.left.type?this.parent.left.property.name:null)||this.findScope(!0).createIdentifier("anonymous"),t.prototype.initialise.call(this,e)},e.prototype.transpile=function(t,e){if(e.classes){var i=this.superClass&&(this.superClass.name||"superclass"),s=this.getIndentation(),r=s+t.getIndentString();this.superClass?(t.remove(this.start,this.superClass.start),t.remove(this.superClass.end,this.body.start),t.appendRight(this.start,"/*@__PURE__*/(function ("+i+") {\n"+r)):t.overwrite(this.start,this.body.start,"/*@__PURE__*/(function () {\n"+r),this.body.transpile(t,e,!0,i);var n="";this.superClass&&(n=t.slice(this.superClass.start,this.superClass.end),t.remove(this.superClass.start,this.superClass.end)),t.appendLeft(this.end,"\n\n"+r+"return "+this.name+";\n"+s+"}("+n+"))")}else this.body.transpile(t,e,!1)},e}(Qt),Ee=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.transpile=function(t){if(this.findNearest(xe).shouldRewriteAsFunction){if(this.label)throw new se("Labels are not currently supported in a loop with locally-scoped variables",this);t.overwrite(this.start,this.start+8,"return")}},e}(Qt),Ae=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.initialise=function(e){if(e.moduleExport)throw new se("export is not supported",this);t.prototype.initialise.call(this,e)},e}(Qt),Ce=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.initialise=function(e){if(e.moduleExport)throw new se("export is not supported",this);t.prototype.initialise.call(this,e)},e}(Qt),Ie=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.findScope=function(t){return t||!this.createdScope?this.parent.findScope(t):this.body.scope},e.prototype.initialise=function(e){if(this.body.createScope(),this.createdScope=!0,this.reassigned=Object.create(null),this.aliases=Object.create(null),this.thisRefs=[],t.prototype.initialise.call(this,e),e.letConst)for(var i=Object.keys(this.body.scope.declarations),s=i.length;s--;){for(var r=i[s],n=this.body.scope.declarations[r],a=n.instances.length;a--;){var o=n.instances[a].findNearest(/Function/);if(o&&o.depth>this.depth){this.shouldRewriteAsFunction=!0;for(var p=0,h=this.thisRefs;pe.depth&&(this.alias=e.getArgumentsAlias()),s&&s.body.contains(this)&&s.depth>e.depth&&(this.alias=e.getArgumentsAlias())}this.findScope(!1).addReference(this)}},e.prototype.transpile=function(t){this.alias&&t.overwrite(this.start,this.end,this.alias,{storeName:!0,contentOnly:!0})},e}(Qt),je=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.initialise=function(e){t.prototype.initialise.call(this,e)},e.prototype.transpile=function(e,i){("BlockStatement"!==this.consequent.type||"BlockStatement"===this.consequent.type&&this.consequent.synthetic)&&(e.appendLeft(this.consequent.start,"{ "),e.prependRight(this.consequent.end," }")),this.alternate&&"IfStatement"!==this.alternate.type&&("BlockStatement"!==this.alternate.type||"BlockStatement"===this.alternate.type&&this.alternate.synthetic)&&(e.appendLeft(this.alternate.start,"{ "),e.prependRight(this.alternate.end," }")),t.prototype.transpile.call(this,e,i)},e}(Qt),Ve=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.initialise=function(e){if(e.moduleImport)throw new se("import is not supported",this);t.prototype.initialise.call(this,e)},e}(Qt),De=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.initialise=function(e){this.findScope(!0).addDeclaration(this.local,"import"),t.prototype.initialise.call(this,e)},e}(Qt),Fe=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.initialise=function(e){this.findScope(!0).addDeclaration(this.local,"import"),t.prototype.initialise.call(this,e)},e}(Qt),Be=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.transpile=function(e,i){var s,r=this.name,n=r.start,a=r.name,o=this.value?this.value.start:this.name.end;e.overwrite(n,o,(/-/.test(s=a)?"'"+s+"'":s)+": "+(this.value?"":"true")),t.prototype.transpile.call(this,e,i)},e}(Qt);var Me=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.transpile=function(t){var e,i=!0,s=this.parent.children[this.parent.children.length-1];(s&&("JSXText"===(e=s).type&&!/\S/.test(e.value)&&/\n/.test(e.value))||this.parent.openingElement.attributes.length)&&(i=!1),t.overwrite(this.start,this.end,i?" )":")")},e}(Qt);var Ue=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.transpile=function(t){var e,i=!0,s=this.parent.children[this.parent.children.length-1];s&&("JSXText"===(e=s).type&&!/\S/.test(e.value)&&/\n/.test(e.value))&&(i=!1),t.overwrite(this.start,this.end,i?" )":")")},e}(Qt);function qe(t,e){return t=t.replace(/\u00a0/g," "),e&&/\n/.test(t)&&(t=t.replace(/\s+$/,"")),t=t.replace(/^\n\r?\s+/,"").replace(/\s*\n\r?\s*/gm," "),JSON.stringify(t)}var Xe=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.transpile=function(e,i){t.prototype.transpile.call(this,e,i);var s=this.children.filter((function(t){return"JSXText"!==t.type||(/\S/.test(t.raw)||!/\n/.test(t.raw))}));if(s.length){var r,n=(this.openingElement||this.openingFragment).end;for(r=0;r0&&(c.start===n?e.prependRight(n,", "):e.overwrite(n,c.start,", ")),h&&"JSXSpreadAttribute"!==c.type){var l=this.attributes[a-1],u=this.attributes[a+1];l&&"JSXSpreadAttribute"!==l.type||e.prependRight(c.start,"{ "),u&&"JSXSpreadAttribute"!==u.type||e.appendLeft(c.end," }")}n=c.end}if(h)if(1===r)p=s?"',":",";else{if(!this.program.options.objectAssign)throw new se("Mixed JSX attributes ending in spread requires specified objectAssign option with 'Object.assign' or polyfill helper.",this);p=s?"', "+this.program.options.objectAssign+"({},":", "+this.program.options.objectAssign+"({},",o=")"}else p=s?"', {":", {",o=" }";e.prependRight(this.name.end,p),o&&e.appendLeft(this.attributes[r-1].end,o)}else e.appendLeft(this.name.end,s?"', null":", null"),n=this.name.end;this.selfClosing?e.overwrite(n,this.end,this.attributes.length?")":" )"):e.remove(n,this.end)},e}(Qt),ze=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.transpile=function(t){t.overwrite(this.start,this.end,this.program.jsx+"( React.Fragment, null")},e}(Qt),Ge=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.transpile=function(e,i){e.remove(this.start,this.argument.start),e.remove(this.argument.end,this.end),t.prototype.transpile.call(this,e,i)},e}(Qt),Qe=/[\u2028-\u2029]/g,Ke={ArrayExpression:de,ArrowFunctionExpression:me,AssignmentExpression:ge,BinaryExpression:ve,BreakStatement:be,CallExpression:_e,ClassBody:ke,ClassDeclaration:Se,ClassExpression:we,ContinueStatement:Ee,DoWhileStatement:Ie,ExportNamedDeclaration:Ce,ExportDefaultDeclaration:Ae,ForStatement:Le,ForInStatement:Pe,ForOfStatement:Ne,FunctionDeclaration:Te,FunctionExpression:Re,Identifier:Oe,IfStatement:je,ImportDeclaration:Ve,ImportDefaultSpecifier:De,ImportSpecifier:Fe,JSXAttribute:Be,JSXClosingElement:Me,JSXClosingFragment:Ue,JSXElement:Xe,JSXExpressionContainer:Je,JSXFragment:We,JSXOpeningElement:He,JSXOpeningFragment:ze,JSXSpreadAttribute:Ge,Literal:function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.initialise=function(){"string"==typeof this.value&&this.program.indentExclusionElements.push(this)},e.prototype.transpile=function(t,e){if(e.numericLiteral&&this.raw.match(/^0[bo]/i)&&t.overwrite(this.start,this.end,String(this.value),{storeName:!0,contentOnly:!0}),this.regex){var i=this.regex,s=i.pattern,n=i.flags;if(e.stickyRegExp&&/y/.test(n))throw new se("Regular expression sticky flag is not supported",this);e.unicodeRegExp&&/u/.test(n)&&t.overwrite(this.start,this.end,"/"+r()(s,n)+"/"+n.replace("u",""),{contentOnly:!0})}else"string"==typeof this.value&&this.value.match(Qe)&&t.overwrite(this.start,this.end,this.raw.replace(Qe,(function(t){return"\u2028"==t?"\\u2028":"\\u2029"})),{contentOnly:!0})},e}(Qt),MemberExpression:function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.transpile=function(e,i){i.reservedProperties&&Yt[this.property.name]&&(e.overwrite(this.object.end,this.property.start,"['"),e.appendLeft(this.property.end,"']")),t.prototype.transpile.call(this,e,i)},e}(Qt),NewExpression:function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.initialise=function(e){if(e.spreadRest&&this.arguments.length)for(var i=this.findLexicalBoundary(),s=this.arguments.length;s--;){var r=this.arguments[s];if("SpreadElement"===r.type&&le(r.argument)){this.argumentsArrayAlias=i.getArgumentsArrayAlias();break}}t.prototype.initialise.call(this,e)},e.prototype.transpile=function(e,i){if(t.prototype.transpile.call(this,e,i),i.spreadRest&&this.arguments.length){var s=this.arguments[0];ue(e,this.arguments,s.start,this.argumentsArrayAlias,!0)&&(e.prependRight(this.start+"new".length," (Function.prototype.bind.apply("),e.overwrite(this.callee.end,s.start,", [ null ].concat( "),e.appendLeft(this.end," ))"))}this.arguments.length&&fe(e,this.arguments[this.arguments.length-1].end)},e}(Qt),ObjectExpression:function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.transpile=function(e,i){t.prototype.transpile.call(this,e,i);for(var s=this.start+1,r=0,n=0,a=null,o=null,p=0;pI&&e.remove(I,w.value.start),e.prependLeft(I," = ")):e.overwrite(w.start,w.key.end+1,"["+e.slice(w.start,w.key.end)+"] = "),!w.method||!w.computed&&i.conciseMethodProperty||(w.value.generator&&e.remove(w.start,w.key.start),e.prependRight(w.value.start,"function"+(w.value.generator?"*":"")+" "))}else"SpreadElement"===w.type?m&&S>0&&(x||(x=this.properties[S-1]),e.appendLeft(x.end,", "+m+" )"),x=null,m=null):(!k&&r&&(e.prependRight(w.start,"{"),e.appendLeft(w.end,"}")),_=!0);if(k&&("SpreadElement"===w.type||w.computed)){var L=_?this.properties[this.properties.length-1].end:this.end-1;","==e.original[L]&&++L;var P=e.slice(L,v);e.prependLeft(E,P),e.remove(L,v),k=!1}var N=w.end;if(Sthis.nearestFunction.depth)&&(this.loop.canReturn=!0,this.shouldWrap=!0),this.argument&&this.argument.initialise(t)},e.prototype.transpile=function(t,e){var i=this.shouldWrap&&this.loop&&this.loop.shouldRewriteAsFunction;this.argument?(i&&t.prependRight(this.argument.start,"{ v: "),this.argument.transpile(t,e),i&&t.appendLeft(this.argument.end," }")):i&&t.appendLeft(this.start+6," {}")},e}(Qt),Super:function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.initialise=function(t){if(t.classes){if(this.method=this.findNearest("MethodDefinition"),!this.method)throw new se("use of super outside class method",this);var e=this.findNearest("ClassBody").parent;if(this.superClassName=e.superClass&&(e.superClass.name||"superclass"),!this.superClassName)throw new se("super used in base class",this);if(this.isCalled="CallExpression"===this.parent.type&&this===this.parent.callee,"constructor"!==this.method.kind&&this.isCalled)throw new se("super() not allowed outside class constructor",this);if(this.isMember="MemberExpression"===this.parent.type,!this.isCalled&&!this.isMember)throw new se("Unexpected use of `super` (expected `super(...)` or `super.*`)",this)}if(t.arrow){var i=this.findLexicalBoundary(),s=this.findNearest("ArrowFunctionExpression"),r=this.findNearest(xe);s&&s.depth>i.depth&&(this.thisAlias=i.getThisAlias()),r&&r.body.contains(this)&&r.depth>i.depth&&(this.thisAlias=i.getThisAlias())}},e.prototype.transpile=function(t,e){if(e.classes){var i=this.isCalled||this.method.static?this.superClassName:this.superClassName+".prototype";t.overwrite(this.start,this.end,i,{storeName:!0,contentOnly:!0});var s=this.isCalled?this.parent:this.parent.parent;if(s&&"CallExpression"===s.type){this.noCall||t.appendLeft(s.callee.end,".call");var r=this.thisAlias||"this";s.arguments.length?t.appendLeft(s.arguments[0].start,r+", "):t.appendLeft(s.end-1,""+r)}}},e}(Qt),TaggedTemplateExpression:function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.initialise=function(e){if(e.templateString&&!e.dangerousTaggedTemplateString)throw new se("Tagged template strings are not supported. Use `transforms: { templateString: false }` to skip transformation and disable this error, or `transforms: { dangerousTaggedTemplateString: true }` if you know what you're doing",this);t.prototype.initialise.call(this,e)},e.prototype.transpile=function(e,i){if(i.templateString&&i.dangerousTaggedTemplateString){var s=this.quasi.expressions.concat(this.quasi.quasis).sort((function(t,e){return t.start-e.start})),r=this.program.body.scope,n=this.quasi.quasis.map((function(t){return JSON.stringify(t.value.cooked)})).join(", "),a=this.program.templateLiteralQuasis[n];a||(a=r.createIdentifier("templateObject"),e.prependRight(this.program.prependAt,"var "+a+" = Object.freeze(["+n+"]);\n"),this.program.templateLiteralQuasis[n]=a),e.overwrite(this.tag.end,s[0].start,"("+a);var o=s[0].start;s.forEach((function(t){"TemplateElement"===t.type?e.remove(o,t.end):e.overwrite(o,t.start,", "),o=t.end})),e.overwrite(o,this.end,")")}t.prototype.transpile.call(this,e,i)},e}(Qt),TemplateElement:function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.initialise=function(){this.program.indentExclusionElements.push(this)},e}(Qt),TemplateLiteral:function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.transpile=function(e,i){if(t.prototype.transpile.call(this,e,i),i.templateString&&"TaggedTemplateExpression"!==this.parent.type){var s=this.expressions.concat(this.quasis).sort((function(t,e){return t.start-e.start||t.end-e.end})).filter((function(t,e){return"TemplateElement"!==t.type||(!!t.value.raw||!e)}));if(s.length>=3){var r=s[0],n=s[2];"TemplateElement"===r.type&&""===r.value.raw&&"TemplateElement"===n.type&&s.shift()}var a=!(1===this.quasis.length&&0===this.expressions.length||"TemplateLiteral"===this.parent.type||"AssignmentExpression"===this.parent.type||"AssignmentPattern"===this.parent.type||"VariableDeclarator"===this.parent.type||"BinaryExpression"===this.parent.type&&"+"===this.parent.operator);a&&e.appendRight(this.start,"(");var o=this.start;s.forEach((function(t,i){var s=0===i?a?"(":"":" + ";if("TemplateElement"===t.type)e.overwrite(o,t.end,s+JSON.stringify(t.value.cooked));else{var r="Identifier"!==t.type;r&&(s+="("),e.remove(o,t.start),s&&e.prependRight(t.start,s),r&&e.appendLeft(t.end,")")}o=t.end})),a&&e.appendLeft(o,")"),e.overwrite(o,this.end,"",{contentOnly:!0})}},e}(Qt),ThisExpression:function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.initialise=function(t){var e=this.findLexicalBoundary();if(t.letConst)for(var i=this.findNearest(xe);i&&i.depth>e.depth;)i.thisRefs.push(this),i=i.parent.findNearest(xe);if(t.arrow){var s=this.findNearest("ArrowFunctionExpression");s&&s.depth>e.depth&&(this.alias=e.getThisAlias())}},e.prototype.transpile=function(t){this.alias&&t.overwrite(this.start,this.end,this.alias,{storeName:!0,contentOnly:!0})},e}(Qt),UpdateExpression:function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.initialise=function(e){if("Identifier"===this.argument.type){var i=this.findScope(!1).findDeclaration(this.argument.name),s=i&&i.node.ancestor(3);s&&"ForStatement"===s.type&&s.body.contains(this)&&(s.reassigned[this.argument.name]=!0)}t.prototype.initialise.call(this,e)},e.prototype.transpile=function(e,i){"Identifier"===this.argument.type&&ye(this.argument,this.findScope(!1)),t.prototype.transpile.call(this,e,i)},e}(Qt),VariableDeclaration:function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.initialise=function(t){this.scope=this.findScope("var"===this.kind),this.declarations.forEach((function(e){return e.initialise(t)}))},e.prototype.transpile=function(t,e){var i=this,s=this.getIndentation(),r=this.kind;if(e.letConst&&"var"!==r&&(r="var",t.overwrite(this.start,this.start+this.kind.length,r,{contentOnly:!0,storeName:!0})),e.destructuring&&"ForOfStatement"!==this.parent.type&&"ForInStatement"!==this.parent.type){var n,a=this.start;this.declarations.forEach((function(r,o){if(r.transpile(t,e),"Identifier"===r.id.type)o>0&&"Identifier"!==i.declarations[o-1].id.type&&t.overwrite(a,r.id.start,"var ");else{var p=xe.test(i.parent.type);0===o?t.remove(a,r.id.start):t.overwrite(a,r.id.start,";\n"+s);var h="Identifier"===r.init.type&&!r.init.rewritten,c=h?r.init.alias||r.init.name:r.findScope(!0).createIdentifier("ref");a=r.start;var l=[];h?t.remove(r.id.end,r.end):l.push((function(e,i,s){t.prependRight(r.id.end,"var "+c),t.appendLeft(r.init.end,""+s),t.move(r.id.end,r.end,e)}));var u=r.findScope(!1);ae(t,(function(t){return u.createIdentifier(t)}),(function(t){var e=t.name;return u.resolveName(e)}),r.id,c,p,l);var d=p?"var ":"",f=p?", ":";\n"+s;l.forEach((function(t,e){o===i.declarations.length-1&&e===l.length-1&&(f=p?"":";"),t(r.start,0===e?d:"",f)}))}a=r.end,n="Identifier"!==r.id.type})),n&&this.end>a&&t.overwrite(a,this.end,"",{contentOnly:!0})}else this.declarations.forEach((function(i){i.transpile(t,e)}))},e}(Qt),VariableDeclarator:function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.initialise=function(e){var i=this.parent.kind;"let"===i&&"ForStatement"===this.parent.parent.type&&(i="for.let"),this.parent.scope.addDeclaration(this.id,i),t.prototype.initialise.call(this,e)},e.prototype.transpile=function(t,e){if(!this.init&&e.letConst&&"var"!==this.parent.kind){var i=this.findNearest(/Function|^For(In|Of)?Statement|^(?:Do)?WhileStatement/);!i||/Function/.test(i.type)||this.isLeftDeclaratorOfLoop()||t.appendLeft(this.id.end," = (void 0)")}this.id&&this.id.transpile(t,e),this.init&&this.init.transpile(t,e)},e.prototype.isLeftDeclaratorOfLoop=function(){return this.parent&&"VariableDeclaration"===this.parent.type&&this.parent.parent&&("ForInStatement"===this.parent.parent.type||"ForOfStatement"===this.parent.parent.type)&&this.parent.parent.left&&this.parent.parent.left.declarations[0]===this},e}(Qt),WhileStatement:Ie},$e={Program:["body"],Literal:[]},Ye={IfStatement:"consequent",ForStatement:"body",ForInStatement:"body",ForOfStatement:"body",WhileStatement:"body",DoWhileStatement:"body",ArrowFunctionExpression:"body"};function Ze(t,e,i,s){this.type="Root",this.jsx=s.jsx||"React.createElement",this.options=s,this.source=t,this.magicString=new n.a(t),this.ast=e,this.depth=0,function t(e,i){if(e)if("length"in e)for(var s=e.length;s--;)t(e[s],i);else if(!e.__wrapped){e.__wrapped=!0,$e[e.type]||($e[e.type]=Object.keys(e).filter((function(t){return"object"==typeof e[t]})));var r=Ye[e.type];if(r&&"BlockStatement"!==e[r].type){var n=e[r];e[r]={start:n.start,end:n.end,type:"BlockStatement",body:[n],synthetic:!0}}e.parent=i,e.program=i.program||i,e.depth=i.depth+1,e.keys=$e[e.type],e.indentation=void 0;for(var a=0,o=$e[e.type];a0xffff code points that are a valid part of identifiers. The\n// offset starts at 0x10000, and each pair of numbers represents an\n// offset to the next range, and then a size of the range. They were\n// generated by bin/generate-identifier-regex.js\n\n// eslint-disable-next-line comma-spacing\nvar astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 157, 310, 10, 21, 11, 7, 153, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 477, 28, 11, 0, 9, 21, 190, 52, 76, 44, 33, 24, 27, 35, 30, 0, 12, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 85, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 159, 52, 19, 3, 54, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 86, 26, 230, 43, 117, 63, 32, 0, 257, 0, 11, 39, 8, 0, 22, 0, 12, 39, 3, 3, 20, 0, 35, 56, 264, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 270, 921, 103, 110, 18, 195, 2749, 1070, 4050, 582, 8634, 568, 8, 30, 114, 29, 19, 47, 17, 3, 32, 20, 6, 18, 689, 63, 129, 68, 12, 0, 67, 12, 65, 1, 31, 6129, 15, 754, 9486, 286, 82, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 4149, 196, 60, 67, 1213, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42710, 42, 4148, 12, 221, 3, 5761, 15, 7472, 3104, 541];\n\n// eslint-disable-next-line comma-spacing\nvar astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 525, 10, 176, 2, 54, 14, 32, 9, 16, 3, 46, 10, 54, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 4, 9, 83, 11, 7, 0, 161, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 193, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 84, 14, 5, 9, 243, 14, 166, 9, 280, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 406, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 19306, 9, 135, 4, 60, 6, 26, 9, 1016, 45, 17, 3, 19723, 1, 5319, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 2214, 6, 110, 6, 6, 9, 792487, 239];\n\n// This has a complexity linear to the value of the code. The\n// assumption is that looking up astral identifier characters is\n// rare.\nfunction isInAstralSet(code, set) {\n var pos = 0x10000;\n for (var i = 0; i < set.length; i += 2) {\n pos += set[i];\n if (pos > code) {\n return false;\n }\n pos += set[i + 1];\n if (pos >= code) {\n return true;\n }\n }\n}\n\n// Test whether a given character code starts an identifier.\n\nfunction isIdentifierStart(code, astral) {\n if (code < 65) {\n return code === 36;\n }\n if (code < 91) {\n return true;\n }\n if (code < 97) {\n return code === 95;\n }\n if (code < 123) {\n return true;\n }\n if (code <= 0xffff) {\n return code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code));\n }\n if (astral === false) {\n return false;\n }\n return isInAstralSet(code, astralIdentifierStartCodes);\n}\n\n// Test whether a given character is part of an identifier.\n\nfunction isIdentifierChar(code, astral) {\n if (code < 48) {\n return code === 36;\n }\n if (code < 58) {\n return true;\n }\n if (code < 65) {\n return false;\n }\n if (code < 91) {\n return true;\n }\n if (code < 97) {\n return code === 95;\n }\n if (code < 123) {\n return true;\n }\n if (code <= 0xffff) {\n return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code));\n }\n if (astral === false) {\n return false;\n }\n return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes);\n}\n\n// ## Token types\n\n// The assignment of fine-grained, information-carrying type objects\n// allows the tokenizer to store the information it has about a\n// token in a way that is very cheap for the parser to look up.\n\n// All token type variables start with an underscore, to make them\n// easy to recognize.\n\n// The `beforeExpr` property is used to disambiguate between regular\n// expressions and divisions. It is set on all token types that can\n// be followed by an expression (thus, a slash after them would be a\n// regular expression).\n//\n// The `startsExpr` property is used to check if the token ends a\n// `yield` expression. It is set on all token types that either can\n// directly start an expression (like a quotation mark) or can\n// continue an expression (like the body of a string).\n//\n// `isLoop` marks a keyword as starting a loop, which is important\n// to know when parsing a label, in order to allow or disallow\n// continue jumps to that label.\n\nvar TokenType = function TokenType(label, conf) {\n if (conf === void 0) conf = {};\n this.label = label;\n this.keyword = conf.keyword;\n this.beforeExpr = !!conf.beforeExpr;\n this.startsExpr = !!conf.startsExpr;\n this.isLoop = !!conf.isLoop;\n this.isAssign = !!conf.isAssign;\n this.prefix = !!conf.prefix;\n this.postfix = !!conf.postfix;\n this.binop = conf.binop || null;\n this.updateContext = null;\n};\nfunction binop(name, prec) {\n return new TokenType(name, {\n beforeExpr: true,\n binop: prec\n });\n}\nvar beforeExpr = {\n beforeExpr: true\n};\nvar startsExpr = {\n startsExpr: true\n};\n\n// Map keyword names to token types.\n\nvar keywords$1 = {};\n\n// Succinct definitions of keyword token types\nfunction kw(name, options) {\n if (options === void 0) options = {};\n options.keyword = name;\n return keywords$1[name] = new TokenType(name, options);\n}\nvar types = {\n num: new TokenType(\"num\", startsExpr),\n regexp: new TokenType(\"regexp\", startsExpr),\n string: new TokenType(\"string\", startsExpr),\n name: new TokenType(\"name\", startsExpr),\n eof: new TokenType(\"eof\"),\n // Punctuation token types.\n bracketL: new TokenType(\"[\", {\n beforeExpr: true,\n startsExpr: true\n }),\n bracketR: new TokenType(\"]\"),\n braceL: new TokenType(\"{\", {\n beforeExpr: true,\n startsExpr: true\n }),\n braceR: new TokenType(\"}\"),\n parenL: new TokenType(\"(\", {\n beforeExpr: true,\n startsExpr: true\n }),\n parenR: new TokenType(\")\"),\n comma: new TokenType(\",\", beforeExpr),\n semi: new TokenType(\";\", beforeExpr),\n colon: new TokenType(\":\", beforeExpr),\n dot: new TokenType(\".\"),\n question: new TokenType(\"?\", beforeExpr),\n arrow: new TokenType(\"=>\", beforeExpr),\n template: new TokenType(\"template\"),\n invalidTemplate: new TokenType(\"invalidTemplate\"),\n ellipsis: new TokenType(\"...\", beforeExpr),\n backQuote: new TokenType(\"`\", startsExpr),\n dollarBraceL: new TokenType(\"${\", {\n beforeExpr: true,\n startsExpr: true\n }),\n // Operators. These carry several kinds of properties to help the\n // parser use them properly (the presence of these properties is\n // what categorizes them as operators).\n //\n // `binop`, when present, specifies that this operator is a binary\n // operator, and will refer to its precedence.\n //\n // `prefix` and `postfix` mark the operator as a prefix or postfix\n // unary operator.\n //\n // `isAssign` marks all of `=`, `+=`, `-=` etcetera, which act as\n // binary operators with a very low precedence, that should result\n // in AssignmentExpression nodes.\n\n eq: new TokenType(\"=\", {\n beforeExpr: true,\n isAssign: true\n }),\n assign: new TokenType(\"_=\", {\n beforeExpr: true,\n isAssign: true\n }),\n incDec: new TokenType(\"++/--\", {\n prefix: true,\n postfix: true,\n startsExpr: true\n }),\n prefix: new TokenType(\"!/~\", {\n beforeExpr: true,\n prefix: true,\n startsExpr: true\n }),\n logicalOR: binop(\"||\", 1),\n logicalAND: binop(\"&&\", 2),\n bitwiseOR: binop(\"|\", 3),\n bitwiseXOR: binop(\"^\", 4),\n bitwiseAND: binop(\"&\", 5),\n equality: binop(\"==/!=/===/!==\", 6),\n relational: binop(\"/<=/>=\", 7),\n bitShift: binop(\"<>/>>>\", 8),\n plusMin: new TokenType(\"+/-\", {\n beforeExpr: true,\n binop: 9,\n prefix: true,\n startsExpr: true\n }),\n modulo: binop(\"%\", 10),\n star: binop(\"*\", 10),\n slash: binop(\"/\", 10),\n starstar: new TokenType(\"**\", {\n beforeExpr: true\n }),\n // Keyword token types.\n _break: kw(\"break\"),\n _case: kw(\"case\", beforeExpr),\n _catch: kw(\"catch\"),\n _continue: kw(\"continue\"),\n _debugger: kw(\"debugger\"),\n _default: kw(\"default\", beforeExpr),\n _do: kw(\"do\", {\n isLoop: true,\n beforeExpr: true\n }),\n _else: kw(\"else\", beforeExpr),\n _finally: kw(\"finally\"),\n _for: kw(\"for\", {\n isLoop: true\n }),\n _function: kw(\"function\", startsExpr),\n _if: kw(\"if\"),\n _return: kw(\"return\", beforeExpr),\n _switch: kw(\"switch\"),\n _throw: kw(\"throw\", beforeExpr),\n _try: kw(\"try\"),\n _var: kw(\"var\"),\n _const: kw(\"const\"),\n _while: kw(\"while\", {\n isLoop: true\n }),\n _with: kw(\"with\"),\n _new: kw(\"new\", {\n beforeExpr: true,\n startsExpr: true\n }),\n _this: kw(\"this\", startsExpr),\n _super: kw(\"super\", startsExpr),\n _class: kw(\"class\", startsExpr),\n _extends: kw(\"extends\", beforeExpr),\n _export: kw(\"export\"),\n _import: kw(\"import\"),\n _null: kw(\"null\", startsExpr),\n _true: kw(\"true\", startsExpr),\n _false: kw(\"false\", startsExpr),\n _in: kw(\"in\", {\n beforeExpr: true,\n binop: 7\n }),\n _instanceof: kw(\"instanceof\", {\n beforeExpr: true,\n binop: 7\n }),\n _typeof: kw(\"typeof\", {\n beforeExpr: true,\n prefix: true,\n startsExpr: true\n }),\n _void: kw(\"void\", {\n beforeExpr: true,\n prefix: true,\n startsExpr: true\n }),\n _delete: kw(\"delete\", {\n beforeExpr: true,\n prefix: true,\n startsExpr: true\n })\n};\n\n// Matches a whole line break (where CRLF is considered a single\n// line break). Used to count lines.\n\nvar lineBreak = /\\r\\n?|\\n|\\u2028|\\u2029/;\nvar lineBreakG = new RegExp(lineBreak.source, \"g\");\nfunction isNewLine(code, ecma2019String) {\n return code === 10 || code === 13 || !ecma2019String && (code === 0x2028 || code === 0x2029);\n}\nvar nonASCIIwhitespace = /[\\u1680\\u180e\\u2000-\\u200a\\u202f\\u205f\\u3000\\ufeff]/;\nvar skipWhiteSpace = /(?:\\s|\\/\\/.*|\\/\\*[^]*?\\*\\/)*/g;\nvar ref = Object.prototype;\nvar hasOwnProperty = ref.hasOwnProperty;\nvar toString = ref.toString;\n\n// Checks if an object has a property.\n\nfunction has(obj, propName) {\n return hasOwnProperty.call(obj, propName);\n}\nvar isArray = Array.isArray || function (obj) {\n return toString.call(obj) === \"[object Array]\";\n};\n\n// These are used when `options.locations` is on, for the\n// `startLoc` and `endLoc` properties.\n\nvar Position = function Position(line, col) {\n this.line = line;\n this.column = col;\n};\nPosition.prototype.offset = function offset(n) {\n return new Position(this.line, this.column + n);\n};\nvar SourceLocation = function SourceLocation(p, start, end) {\n this.start = start;\n this.end = end;\n if (p.sourceFile !== null) {\n this.source = p.sourceFile;\n }\n};\n\n// The `getLineInfo` function is mostly useful when the\n// `locations` option is off (for performance reasons) and you\n// want to find the line/column position for a given character\n// offset. `input` should be the code string that the offset refers\n// into.\n\nfunction getLineInfo(input, offset) {\n for (var line = 1, cur = 0;;) {\n lineBreakG.lastIndex = cur;\n var match = lineBreakG.exec(input);\n if (match && match.index < offset) {\n ++line;\n cur = match.index + match[0].length;\n } else {\n return new Position(line, offset - cur);\n }\n }\n}\n\n// A second optional argument can be given to further configure\n// the parser process. These options are recognized:\n\nvar defaultOptions = {\n // `ecmaVersion` indicates the ECMAScript version to parse. Must be\n // either 3, 5, 6 (2015), 7 (2016), 8 (2017), 9 (2018), or 10\n // (2019). This influences support for strict mode, the set of\n // reserved words, and support for new syntax features. The default\n // is 9.\n ecmaVersion: 9,\n // `sourceType` indicates the mode the code should be parsed in.\n // Can be either `\"script\"` or `\"module\"`. This influences global\n // strict mode and parsing of `import` and `export` declarations.\n sourceType: \"script\",\n // `onInsertedSemicolon` can be a callback that will be called\n // when a semicolon is automatically inserted. It will be passed\n // th position of the comma as an offset, and if `locations` is\n // enabled, it is given the location as a `{line, column}` object\n // as second argument.\n onInsertedSemicolon: null,\n // `onTrailingComma` is similar to `onInsertedSemicolon`, but for\n // trailing commas.\n onTrailingComma: null,\n // By default, reserved words are only enforced if ecmaVersion >= 5.\n // Set `allowReserved` to a boolean value to explicitly turn this on\n // an off. When this option has the value \"never\", reserved words\n // and keywords can also not be used as property names.\n allowReserved: null,\n // When enabled, a return at the top level is not considered an\n // error.\n allowReturnOutsideFunction: false,\n // When enabled, import/export statements are not constrained to\n // appearing at the top of the program.\n allowImportExportEverywhere: false,\n // When enabled, await identifiers are allowed to appear at the top-level scope,\n // but they are still not allowed in non-async functions.\n allowAwaitOutsideFunction: false,\n // When enabled, hashbang directive in the beginning of file\n // is allowed and treated as a line comment.\n allowHashBang: false,\n // When `locations` is on, `loc` properties holding objects with\n // `start` and `end` properties in `{line, column}` form (with\n // line being 1-based and column 0-based) will be attached to the\n // nodes.\n locations: false,\n // A function can be passed as `onToken` option, which will\n // cause Acorn to call that function with object in the same\n // format as tokens returned from `tokenizer().getToken()`. Note\n // that you are not allowed to call the parser from the\n // callback—that will corrupt its internal state.\n onToken: null,\n // A function can be passed as `onComment` option, which will\n // cause Acorn to call that function with `(block, text, start,\n // end)` parameters whenever a comment is skipped. `block` is a\n // boolean indicating whether this is a block (`/* */`) comment,\n // `text` is the content of the comment, and `start` and `end` are\n // character offsets that denote the start and end of the comment.\n // When the `locations` option is on, two more parameters are\n // passed, the full `{line, column}` locations of the start and\n // end of the comments. Note that you are not allowed to call the\n // parser from the callback—that will corrupt its internal state.\n onComment: null,\n // Nodes have their start and end characters offsets recorded in\n // `start` and `end` properties (directly on the node, rather than\n // the `loc` object, which holds line/column data. To also add a\n // [semi-standardized][range] `range` property holding a `[start,\n // end]` array with the same numbers, set the `ranges` option to\n // `true`.\n //\n // [range]: https://bugzilla.mozilla.org/show_bug.cgi?id=745678\n ranges: false,\n // It is possible to parse multiple files into a single AST by\n // passing the tree produced by parsing the first file as\n // `program` option in subsequent parses. This will add the\n // toplevel forms of the parsed file to the `Program` (top) node\n // of an existing parse tree.\n program: null,\n // When `locations` is on, you can pass this to record the source\n // file in every node's `loc` object.\n sourceFile: null,\n // This value, if given, is stored in every node, whether\n // `locations` is on or off.\n directSourceFile: null,\n // When enabled, parenthesized expressions are represented by\n // (non-standard) ParenthesizedExpression nodes\n preserveParens: false\n};\n\n// Interpret and default an options object\n\nfunction getOptions(opts) {\n var options = {};\n for (var opt in defaultOptions) {\n options[opt] = opts && has(opts, opt) ? opts[opt] : defaultOptions[opt];\n }\n if (options.ecmaVersion >= 2015) {\n options.ecmaVersion -= 2009;\n }\n if (options.allowReserved == null) {\n options.allowReserved = options.ecmaVersion < 5;\n }\n if (isArray(options.onToken)) {\n var tokens = options.onToken;\n options.onToken = function (token) {\n return tokens.push(token);\n };\n }\n if (isArray(options.onComment)) {\n options.onComment = pushComment(options, options.onComment);\n }\n return options;\n}\nfunction pushComment(options, array) {\n return function (block, text, start, end, startLoc, endLoc) {\n var comment = {\n type: block ? \"Block\" : \"Line\",\n value: text,\n start: start,\n end: end\n };\n if (options.locations) {\n comment.loc = new SourceLocation(this, startLoc, endLoc);\n }\n if (options.ranges) {\n comment.range = [start, end];\n }\n array.push(comment);\n };\n}\n\n// Each scope gets a bitset that may contain these flags\nvar SCOPE_TOP = 1;\nvar SCOPE_FUNCTION = 2;\nvar SCOPE_VAR = SCOPE_TOP | SCOPE_FUNCTION;\nvar SCOPE_ASYNC = 4;\nvar SCOPE_GENERATOR = 8;\nvar SCOPE_ARROW = 16;\nvar SCOPE_SIMPLE_CATCH = 32;\nfunction functionFlags(async, generator) {\n return SCOPE_FUNCTION | (async ? SCOPE_ASYNC : 0) | (generator ? SCOPE_GENERATOR : 0);\n}\n\n// Used in checkLVal and declareName to determine the type of a binding\nvar BIND_NONE = 0;\nvar BIND_VAR = 1;\nvar BIND_LEXICAL = 2;\nvar BIND_FUNCTION = 3;\nvar BIND_SIMPLE_CATCH = 4;\nvar BIND_OUTSIDE = 5; // Special case for function names as bound inside the function\n\nfunction keywordRegexp(words) {\n return new RegExp(\"^(?:\" + words.replace(/ /g, \"|\") + \")$\");\n}\nvar Parser = function Parser(options, input, startPos) {\n this.options = options = getOptions(options);\n this.sourceFile = options.sourceFile;\n this.keywords = keywordRegexp(keywords[options.ecmaVersion >= 6 ? 6 : 5]);\n var reserved = \"\";\n if (!options.allowReserved) {\n for (var v = options.ecmaVersion;; v--) {\n if (reserved = reservedWords[v]) {\n break;\n }\n }\n if (options.sourceType === \"module\") {\n reserved += \" await\";\n }\n }\n this.reservedWords = keywordRegexp(reserved);\n var reservedStrict = (reserved ? reserved + \" \" : \"\") + reservedWords.strict;\n this.reservedWordsStrict = keywordRegexp(reservedStrict);\n this.reservedWordsStrictBind = keywordRegexp(reservedStrict + \" \" + reservedWords.strictBind);\n this.input = String(input);\n\n // Used to signal to callers of `readWord1` whether the word\n // contained any escape sequences. This is needed because words with\n // escape sequences must not be interpreted as keywords.\n this.containsEsc = false;\n\n // Set up token state\n\n // The current position of the tokenizer in the input.\n if (startPos) {\n this.pos = startPos;\n this.lineStart = this.input.lastIndexOf(\"\\n\", startPos - 1) + 1;\n this.curLine = this.input.slice(0, this.lineStart).split(lineBreak).length;\n } else {\n this.pos = this.lineStart = 0;\n this.curLine = 1;\n }\n\n // Properties of the current token:\n // Its type\n this.type = types.eof;\n // For tokens that include more information than their type, the value\n this.value = null;\n // Its start and end offset\n this.start = this.end = this.pos;\n // And, if locations are used, the {line, column} object\n // corresponding to those offsets\n this.startLoc = this.endLoc = this.curPosition();\n\n // Position information for the previous token\n this.lastTokEndLoc = this.lastTokStartLoc = null;\n this.lastTokStart = this.lastTokEnd = this.pos;\n\n // The context stack is used to superficially track syntactic\n // context to predict whether a regular expression is allowed in a\n // given position.\n this.context = this.initialContext();\n this.exprAllowed = true;\n\n // Figure out if it's a module code.\n this.inModule = options.sourceType === \"module\";\n this.strict = this.inModule || this.strictDirective(this.pos);\n\n // Used to signify the start of a potential arrow function\n this.potentialArrowAt = -1;\n\n // Positions to delayed-check that yield/await does not exist in default parameters.\n this.yieldPos = this.awaitPos = 0;\n // Labels in scope.\n this.labels = [];\n\n // If enabled, skip leading hashbang line.\n if (this.pos === 0 && options.allowHashBang && this.input.slice(0, 2) === \"#!\") {\n this.skipLineComment(2);\n }\n\n // Scope tracking for duplicate variable names (see scope.js)\n this.scopeStack = [];\n this.enterScope(SCOPE_TOP);\n\n // For RegExp validation\n this.regexpState = null;\n};\nvar prototypeAccessors = {\n inFunction: {\n configurable: true\n },\n inGenerator: {\n configurable: true\n },\n inAsync: {\n configurable: true\n }\n};\nParser.prototype.parse = function parse() {\n var node = this.options.program || this.startNode();\n this.nextToken();\n return this.parseTopLevel(node);\n};\nprototypeAccessors.inFunction.get = function () {\n return (this.currentVarScope().flags & SCOPE_FUNCTION) > 0;\n};\nprototypeAccessors.inGenerator.get = function () {\n return (this.currentVarScope().flags & SCOPE_GENERATOR) > 0;\n};\nprototypeAccessors.inAsync.get = function () {\n return (this.currentVarScope().flags & SCOPE_ASYNC) > 0;\n};\nParser.extend = function extend() {\n var plugins = [],\n len = arguments.length;\n while (len--) plugins[len] = arguments[len];\n var cls = this;\n for (var i = 0; i < plugins.length; i++) {\n cls = plugins[i](cls);\n }\n return cls;\n};\nParser.parse = function parse(input, options) {\n return new this(options, input).parse();\n};\nParser.parseExpressionAt = function parseExpressionAt(input, pos, options) {\n var parser = new this(options, input, pos);\n parser.nextToken();\n return parser.parseExpression();\n};\nParser.tokenizer = function tokenizer(input, options) {\n return new this(options, input);\n};\nObject.defineProperties(Parser.prototype, prototypeAccessors);\nvar pp = Parser.prototype;\n\n// ## Parser utilities\n\nvar literal = /^(?:'((?:\\\\.|[^'])*?)'|\"((?:\\\\.|[^\"])*?)\"|;)/;\npp.strictDirective = function (start) {\n var this$1 = this;\n for (;;) {\n skipWhiteSpace.lastIndex = start;\n start += skipWhiteSpace.exec(this$1.input)[0].length;\n var match = literal.exec(this$1.input.slice(start));\n if (!match) {\n return false;\n }\n if ((match[1] || match[2]) === \"use strict\") {\n return true;\n }\n start += match[0].length;\n }\n};\n\n// Predicate that tests whether the next token is of the given\n// type, and if yes, consumes it as a side effect.\n\npp.eat = function (type) {\n if (this.type === type) {\n this.next();\n return true;\n } else {\n return false;\n }\n};\n\n// Tests whether parsed token is a contextual keyword.\n\npp.isContextual = function (name) {\n return this.type === types.name && this.value === name && !this.containsEsc;\n};\n\n// Consumes contextual keyword if possible.\n\npp.eatContextual = function (name) {\n if (!this.isContextual(name)) {\n return false;\n }\n this.next();\n return true;\n};\n\n// Asserts that following token is given contextual keyword.\n\npp.expectContextual = function (name) {\n if (!this.eatContextual(name)) {\n this.unexpected();\n }\n};\n\n// Test whether a semicolon can be inserted at the current position.\n\npp.canInsertSemicolon = function () {\n return this.type === types.eof || this.type === types.braceR || lineBreak.test(this.input.slice(this.lastTokEnd, this.start));\n};\npp.insertSemicolon = function () {\n if (this.canInsertSemicolon()) {\n if (this.options.onInsertedSemicolon) {\n this.options.onInsertedSemicolon(this.lastTokEnd, this.lastTokEndLoc);\n }\n return true;\n }\n};\n\n// Consume a semicolon, or, failing that, see if we are allowed to\n// pretend that there is a semicolon at this position.\n\npp.semicolon = function () {\n if (!this.eat(types.semi) && !this.insertSemicolon()) {\n this.unexpected();\n }\n};\npp.afterTrailingComma = function (tokType, notNext) {\n if (this.type === tokType) {\n if (this.options.onTrailingComma) {\n this.options.onTrailingComma(this.lastTokStart, this.lastTokStartLoc);\n }\n if (!notNext) {\n this.next();\n }\n return true;\n }\n};\n\n// Expect a token of a given type. If found, consume it, otherwise,\n// raise an unexpected token error.\n\npp.expect = function (type) {\n this.eat(type) || this.unexpected();\n};\n\n// Raise an unexpected token error.\n\npp.unexpected = function (pos) {\n this.raise(pos != null ? pos : this.start, \"Unexpected token\");\n};\nfunction DestructuringErrors() {\n this.shorthandAssign = this.trailingComma = this.parenthesizedAssign = this.parenthesizedBind = this.doubleProto = -1;\n}\npp.checkPatternErrors = function (refDestructuringErrors, isAssign) {\n if (!refDestructuringErrors) {\n return;\n }\n if (refDestructuringErrors.trailingComma > -1) {\n this.raiseRecoverable(refDestructuringErrors.trailingComma, \"Comma is not permitted after the rest element\");\n }\n var parens = isAssign ? refDestructuringErrors.parenthesizedAssign : refDestructuringErrors.parenthesizedBind;\n if (parens > -1) {\n this.raiseRecoverable(parens, \"Parenthesized pattern\");\n }\n};\npp.checkExpressionErrors = function (refDestructuringErrors, andThrow) {\n if (!refDestructuringErrors) {\n return false;\n }\n var shorthandAssign = refDestructuringErrors.shorthandAssign;\n var doubleProto = refDestructuringErrors.doubleProto;\n if (!andThrow) {\n return shorthandAssign >= 0 || doubleProto >= 0;\n }\n if (shorthandAssign >= 0) {\n this.raise(shorthandAssign, \"Shorthand property assignments are valid only in destructuring patterns\");\n }\n if (doubleProto >= 0) {\n this.raiseRecoverable(doubleProto, \"Redefinition of __proto__ property\");\n }\n};\npp.checkYieldAwaitInDefaultParams = function () {\n if (this.yieldPos && (!this.awaitPos || this.yieldPos < this.awaitPos)) {\n this.raise(this.yieldPos, \"Yield expression cannot be a default value\");\n }\n if (this.awaitPos) {\n this.raise(this.awaitPos, \"Await expression cannot be a default value\");\n }\n};\npp.isSimpleAssignTarget = function (expr) {\n if (expr.type === \"ParenthesizedExpression\") {\n return this.isSimpleAssignTarget(expr.expression);\n }\n return expr.type === \"Identifier\" || expr.type === \"MemberExpression\";\n};\nvar pp$1 = Parser.prototype;\n\n// ### Statement parsing\n\n// Parse a program. Initializes the parser, reads any number of\n// statements, and wraps them in a Program node. Optionally takes a\n// `program` argument. If present, the statements will be appended\n// to its body instead of creating a new node.\n\npp$1.parseTopLevel = function (node) {\n var this$1 = this;\n var exports = {};\n if (!node.body) {\n node.body = [];\n }\n while (this.type !== types.eof) {\n var stmt = this$1.parseStatement(null, true, exports);\n node.body.push(stmt);\n }\n this.adaptDirectivePrologue(node.body);\n this.next();\n if (this.options.ecmaVersion >= 6) {\n node.sourceType = this.options.sourceType;\n }\n return this.finishNode(node, \"Program\");\n};\nvar loopLabel = {\n kind: \"loop\"\n};\nvar switchLabel = {\n kind: \"switch\"\n};\npp$1.isLet = function () {\n if (this.options.ecmaVersion < 6 || !this.isContextual(\"let\")) {\n return false;\n }\n skipWhiteSpace.lastIndex = this.pos;\n var skip = skipWhiteSpace.exec(this.input);\n var next = this.pos + skip[0].length,\n nextCh = this.input.charCodeAt(next);\n if (nextCh === 91 || nextCh === 123) {\n return true;\n } // '{' and '['\n if (isIdentifierStart(nextCh, true)) {\n var pos = next + 1;\n while (isIdentifierChar(this.input.charCodeAt(pos), true)) {\n ++pos;\n }\n var ident = this.input.slice(next, pos);\n if (!keywordRelationalOperator.test(ident)) {\n return true;\n }\n }\n return false;\n};\n\n// check 'async [no LineTerminator here] function'\n// - 'async /*foo*/ function' is OK.\n// - 'async /*\\n*/ function' is invalid.\npp$1.isAsyncFunction = function () {\n if (this.options.ecmaVersion < 8 || !this.isContextual(\"async\")) {\n return false;\n }\n skipWhiteSpace.lastIndex = this.pos;\n var skip = skipWhiteSpace.exec(this.input);\n var next = this.pos + skip[0].length;\n return !lineBreak.test(this.input.slice(this.pos, next)) && this.input.slice(next, next + 8) === \"function\" && (next + 8 === this.input.length || !isIdentifierChar(this.input.charAt(next + 8)));\n};\n\n// Parse a single statement.\n//\n// If expecting a statement and finding a slash operator, parse a\n// regular expression literal. This is to handle cases like\n// `if (foo) /blah/.exec(foo)`, where looking at the previous token\n// does not help.\n\npp$1.parseStatement = function (context, topLevel, exports) {\n var starttype = this.type,\n node = this.startNode(),\n kind;\n if (this.isLet()) {\n starttype = types._var;\n kind = \"let\";\n }\n\n // Most types of statements are recognized by the keyword they\n // start with. Many are trivial to parse, some require a bit of\n // complexity.\n\n switch (starttype) {\n case types._break:\n case types._continue:\n return this.parseBreakContinueStatement(node, starttype.keyword);\n case types._debugger:\n return this.parseDebuggerStatement(node);\n case types._do:\n return this.parseDoStatement(node);\n case types._for:\n return this.parseForStatement(node);\n case types._function:\n if (context && (this.strict || context !== \"if\") && this.options.ecmaVersion >= 6) {\n this.unexpected();\n }\n return this.parseFunctionStatement(node, false, !context);\n case types._class:\n if (context) {\n this.unexpected();\n }\n return this.parseClass(node, true);\n case types._if:\n return this.parseIfStatement(node);\n case types._return:\n return this.parseReturnStatement(node);\n case types._switch:\n return this.parseSwitchStatement(node);\n case types._throw:\n return this.parseThrowStatement(node);\n case types._try:\n return this.parseTryStatement(node);\n case types._const:\n case types._var:\n kind = kind || this.value;\n if (context && kind !== \"var\") {\n this.unexpected();\n }\n return this.parseVarStatement(node, kind);\n case types._while:\n return this.parseWhileStatement(node);\n case types._with:\n return this.parseWithStatement(node);\n case types.braceL:\n return this.parseBlock(true, node);\n case types.semi:\n return this.parseEmptyStatement(node);\n case types._export:\n case types._import:\n if (!this.options.allowImportExportEverywhere) {\n if (!topLevel) {\n this.raise(this.start, \"'import' and 'export' may only appear at the top level\");\n }\n if (!this.inModule) {\n this.raise(this.start, \"'import' and 'export' may appear only with 'sourceType: module'\");\n }\n }\n return starttype === types._import ? this.parseImport(node) : this.parseExport(node, exports);\n\n // If the statement does not start with a statement keyword or a\n // brace, it's an ExpressionStatement or LabeledStatement. We\n // simply start parsing an expression, and afterwards, if the\n // next token is a colon and the expression was a simple\n // Identifier node, we switch to interpreting it as a label.\n default:\n if (this.isAsyncFunction()) {\n if (context) {\n this.unexpected();\n }\n this.next();\n return this.parseFunctionStatement(node, true, !context);\n }\n var maybeName = this.value,\n expr = this.parseExpression();\n if (starttype === types.name && expr.type === \"Identifier\" && this.eat(types.colon)) {\n return this.parseLabeledStatement(node, maybeName, expr, context);\n } else {\n return this.parseExpressionStatement(node, expr);\n }\n }\n};\npp$1.parseBreakContinueStatement = function (node, keyword) {\n var this$1 = this;\n var isBreak = keyword === \"break\";\n this.next();\n if (this.eat(types.semi) || this.insertSemicolon()) {\n node.label = null;\n } else if (this.type !== types.name) {\n this.unexpected();\n } else {\n node.label = this.parseIdent();\n this.semicolon();\n }\n\n // Verify that there is an actual destination to break or\n // continue to.\n var i = 0;\n for (; i < this.labels.length; ++i) {\n var lab = this$1.labels[i];\n if (node.label == null || lab.name === node.label.name) {\n if (lab.kind != null && (isBreak || lab.kind === \"loop\")) {\n break;\n }\n if (node.label && isBreak) {\n break;\n }\n }\n }\n if (i === this.labels.length) {\n this.raise(node.start, \"Unsyntactic \" + keyword);\n }\n return this.finishNode(node, isBreak ? \"BreakStatement\" : \"ContinueStatement\");\n};\npp$1.parseDebuggerStatement = function (node) {\n this.next();\n this.semicolon();\n return this.finishNode(node, \"DebuggerStatement\");\n};\npp$1.parseDoStatement = function (node) {\n this.next();\n this.labels.push(loopLabel);\n node.body = this.parseStatement(\"do\");\n this.labels.pop();\n this.expect(types._while);\n node.test = this.parseParenExpression();\n if (this.options.ecmaVersion >= 6) {\n this.eat(types.semi);\n } else {\n this.semicolon();\n }\n return this.finishNode(node, \"DoWhileStatement\");\n};\n\n// Disambiguating between a `for` and a `for`/`in` or `for`/`of`\n// loop is non-trivial. Basically, we have to parse the init `var`\n// statement or expression, disallowing the `in` operator (see\n// the second parameter to `parseExpression`), and then check\n// whether the next token is `in` or `of`. When there is no init\n// part (semicolon immediately after the opening parenthesis), it\n// is a regular `for` loop.\n\npp$1.parseForStatement = function (node) {\n this.next();\n var awaitAt = this.options.ecmaVersion >= 9 && (this.inAsync || !this.inFunction && this.options.allowAwaitOutsideFunction) && this.eatContextual(\"await\") ? this.lastTokStart : -1;\n this.labels.push(loopLabel);\n this.enterScope(0);\n this.expect(types.parenL);\n if (this.type === types.semi) {\n if (awaitAt > -1) {\n this.unexpected(awaitAt);\n }\n return this.parseFor(node, null);\n }\n var isLet = this.isLet();\n if (this.type === types._var || this.type === types._const || isLet) {\n var init$1 = this.startNode(),\n kind = isLet ? \"let\" : this.value;\n this.next();\n this.parseVar(init$1, true, kind);\n this.finishNode(init$1, \"VariableDeclaration\");\n if ((this.type === types._in || this.options.ecmaVersion >= 6 && this.isContextual(\"of\")) && init$1.declarations.length === 1 && !(kind !== \"var\" && init$1.declarations[0].init)) {\n if (this.options.ecmaVersion >= 9) {\n if (this.type === types._in) {\n if (awaitAt > -1) {\n this.unexpected(awaitAt);\n }\n } else {\n node.await = awaitAt > -1;\n }\n }\n return this.parseForIn(node, init$1);\n }\n if (awaitAt > -1) {\n this.unexpected(awaitAt);\n }\n return this.parseFor(node, init$1);\n }\n var refDestructuringErrors = new DestructuringErrors();\n var init = this.parseExpression(true, refDestructuringErrors);\n if (this.type === types._in || this.options.ecmaVersion >= 6 && this.isContextual(\"of\")) {\n if (this.options.ecmaVersion >= 9) {\n if (this.type === types._in) {\n if (awaitAt > -1) {\n this.unexpected(awaitAt);\n }\n } else {\n node.await = awaitAt > -1;\n }\n }\n this.toAssignable(init, false, refDestructuringErrors);\n this.checkLVal(init);\n return this.parseForIn(node, init);\n } else {\n this.checkExpressionErrors(refDestructuringErrors, true);\n }\n if (awaitAt > -1) {\n this.unexpected(awaitAt);\n }\n return this.parseFor(node, init);\n};\npp$1.parseFunctionStatement = function (node, isAsync, declarationPosition) {\n this.next();\n return this.parseFunction(node, FUNC_STATEMENT | (declarationPosition ? 0 : FUNC_HANGING_STATEMENT), false, isAsync);\n};\npp$1.parseIfStatement = function (node) {\n this.next();\n node.test = this.parseParenExpression();\n // allow function declarations in branches, but only in non-strict mode\n node.consequent = this.parseStatement(\"if\");\n node.alternate = this.eat(types._else) ? this.parseStatement(\"if\") : null;\n return this.finishNode(node, \"IfStatement\");\n};\npp$1.parseReturnStatement = function (node) {\n if (!this.inFunction && !this.options.allowReturnOutsideFunction) {\n this.raise(this.start, \"'return' outside of function\");\n }\n this.next();\n\n // In `return` (and `break`/`continue`), the keywords with\n // optional arguments, we eagerly look for a semicolon or the\n // possibility to insert one.\n\n if (this.eat(types.semi) || this.insertSemicolon()) {\n node.argument = null;\n } else {\n node.argument = this.parseExpression();\n this.semicolon();\n }\n return this.finishNode(node, \"ReturnStatement\");\n};\npp$1.parseSwitchStatement = function (node) {\n var this$1 = this;\n this.next();\n node.discriminant = this.parseParenExpression();\n node.cases = [];\n this.expect(types.braceL);\n this.labels.push(switchLabel);\n this.enterScope(0);\n\n // Statements under must be grouped (by label) in SwitchCase\n // nodes. `cur` is used to keep the node that we are currently\n // adding statements to.\n\n var cur;\n for (var sawDefault = false; this.type !== types.braceR;) {\n if (this$1.type === types._case || this$1.type === types._default) {\n var isCase = this$1.type === types._case;\n if (cur) {\n this$1.finishNode(cur, \"SwitchCase\");\n }\n node.cases.push(cur = this$1.startNode());\n cur.consequent = [];\n this$1.next();\n if (isCase) {\n cur.test = this$1.parseExpression();\n } else {\n if (sawDefault) {\n this$1.raiseRecoverable(this$1.lastTokStart, \"Multiple default clauses\");\n }\n sawDefault = true;\n cur.test = null;\n }\n this$1.expect(types.colon);\n } else {\n if (!cur) {\n this$1.unexpected();\n }\n cur.consequent.push(this$1.parseStatement(null));\n }\n }\n this.exitScope();\n if (cur) {\n this.finishNode(cur, \"SwitchCase\");\n }\n this.next(); // Closing brace\n this.labels.pop();\n return this.finishNode(node, \"SwitchStatement\");\n};\npp$1.parseThrowStatement = function (node) {\n this.next();\n if (lineBreak.test(this.input.slice(this.lastTokEnd, this.start))) {\n this.raise(this.lastTokEnd, \"Illegal newline after throw\");\n }\n node.argument = this.parseExpression();\n this.semicolon();\n return this.finishNode(node, \"ThrowStatement\");\n};\n\n// Reused empty array added for node fields that are always empty.\n\nvar empty = [];\npp$1.parseTryStatement = function (node) {\n this.next();\n node.block = this.parseBlock();\n node.handler = null;\n if (this.type === types._catch) {\n var clause = this.startNode();\n this.next();\n if (this.eat(types.parenL)) {\n clause.param = this.parseBindingAtom();\n var simple = clause.param.type === \"Identifier\";\n this.enterScope(simple ? SCOPE_SIMPLE_CATCH : 0);\n this.checkLVal(clause.param, simple ? BIND_SIMPLE_CATCH : BIND_LEXICAL);\n this.expect(types.parenR);\n } else {\n if (this.options.ecmaVersion < 10) {\n this.unexpected();\n }\n clause.param = null;\n this.enterScope(0);\n }\n clause.body = this.parseBlock(false);\n this.exitScope();\n node.handler = this.finishNode(clause, \"CatchClause\");\n }\n node.finalizer = this.eat(types._finally) ? this.parseBlock() : null;\n if (!node.handler && !node.finalizer) {\n this.raise(node.start, \"Missing catch or finally clause\");\n }\n return this.finishNode(node, \"TryStatement\");\n};\npp$1.parseVarStatement = function (node, kind) {\n this.next();\n this.parseVar(node, false, kind);\n this.semicolon();\n return this.finishNode(node, \"VariableDeclaration\");\n};\npp$1.parseWhileStatement = function (node) {\n this.next();\n node.test = this.parseParenExpression();\n this.labels.push(loopLabel);\n node.body = this.parseStatement(\"while\");\n this.labels.pop();\n return this.finishNode(node, \"WhileStatement\");\n};\npp$1.parseWithStatement = function (node) {\n if (this.strict) {\n this.raise(this.start, \"'with' in strict mode\");\n }\n this.next();\n node.object = this.parseParenExpression();\n node.body = this.parseStatement(\"with\");\n return this.finishNode(node, \"WithStatement\");\n};\npp$1.parseEmptyStatement = function (node) {\n this.next();\n return this.finishNode(node, \"EmptyStatement\");\n};\npp$1.parseLabeledStatement = function (node, maybeName, expr, context) {\n var this$1 = this;\n for (var i$1 = 0, list = this$1.labels; i$1 < list.length; i$1 += 1) {\n var label = list[i$1];\n if (label.name === maybeName) {\n this$1.raise(expr.start, \"Label '\" + maybeName + \"' is already declared\");\n }\n }\n var kind = this.type.isLoop ? \"loop\" : this.type === types._switch ? \"switch\" : null;\n for (var i = this.labels.length - 1; i >= 0; i--) {\n var label$1 = this$1.labels[i];\n if (label$1.statementStart === node.start) {\n // Update information about previous labels on this node\n label$1.statementStart = this$1.start;\n label$1.kind = kind;\n } else {\n break;\n }\n }\n this.labels.push({\n name: maybeName,\n kind: kind,\n statementStart: this.start\n });\n node.body = this.parseStatement(context);\n if (node.body.type === \"ClassDeclaration\" || node.body.type === \"VariableDeclaration\" && node.body.kind !== \"var\" || node.body.type === \"FunctionDeclaration\" && (this.strict || node.body.generator || node.body.async)) {\n this.raiseRecoverable(node.body.start, \"Invalid labeled declaration\");\n }\n this.labels.pop();\n node.label = expr;\n return this.finishNode(node, \"LabeledStatement\");\n};\npp$1.parseExpressionStatement = function (node, expr) {\n node.expression = expr;\n this.semicolon();\n return this.finishNode(node, \"ExpressionStatement\");\n};\n\n// Parse a semicolon-enclosed block of statements, handling `\"use\n// strict\"` declarations when `allowStrict` is true (used for\n// function bodies).\n\npp$1.parseBlock = function (createNewLexicalScope, node) {\n var this$1 = this;\n if (createNewLexicalScope === void 0) createNewLexicalScope = true;\n if (node === void 0) node = this.startNode();\n node.body = [];\n this.expect(types.braceL);\n if (createNewLexicalScope) {\n this.enterScope(0);\n }\n while (!this.eat(types.braceR)) {\n var stmt = this$1.parseStatement(null);\n node.body.push(stmt);\n }\n if (createNewLexicalScope) {\n this.exitScope();\n }\n return this.finishNode(node, \"BlockStatement\");\n};\n\n// Parse a regular `for` loop. The disambiguation code in\n// `parseStatement` will already have parsed the init statement or\n// expression.\n\npp$1.parseFor = function (node, init) {\n node.init = init;\n this.expect(types.semi);\n node.test = this.type === types.semi ? null : this.parseExpression();\n this.expect(types.semi);\n node.update = this.type === types.parenR ? null : this.parseExpression();\n this.expect(types.parenR);\n this.exitScope();\n node.body = this.parseStatement(\"for\");\n this.labels.pop();\n return this.finishNode(node, \"ForStatement\");\n};\n\n// Parse a `for`/`in` and `for`/`of` loop, which are almost\n// same from parser's perspective.\n\npp$1.parseForIn = function (node, init) {\n var type = this.type === types._in ? \"ForInStatement\" : \"ForOfStatement\";\n this.next();\n if (type === \"ForInStatement\") {\n if (init.type === \"AssignmentPattern\" || init.type === \"VariableDeclaration\" && init.declarations[0].init != null && (this.strict || init.declarations[0].id.type !== \"Identifier\")) {\n this.raise(init.start, \"Invalid assignment in for-in loop head\");\n }\n }\n node.left = init;\n node.right = type === \"ForInStatement\" ? this.parseExpression() : this.parseMaybeAssign();\n this.expect(types.parenR);\n this.exitScope();\n node.body = this.parseStatement(\"for\");\n this.labels.pop();\n return this.finishNode(node, type);\n};\n\n// Parse a list of variable declarations.\n\npp$1.parseVar = function (node, isFor, kind) {\n var this$1 = this;\n node.declarations = [];\n node.kind = kind;\n for (;;) {\n var decl = this$1.startNode();\n this$1.parseVarId(decl, kind);\n if (this$1.eat(types.eq)) {\n decl.init = this$1.parseMaybeAssign(isFor);\n } else if (kind === \"const\" && !(this$1.type === types._in || this$1.options.ecmaVersion >= 6 && this$1.isContextual(\"of\"))) {\n this$1.unexpected();\n } else if (decl.id.type !== \"Identifier\" && !(isFor && (this$1.type === types._in || this$1.isContextual(\"of\")))) {\n this$1.raise(this$1.lastTokEnd, \"Complex binding patterns require an initialization value\");\n } else {\n decl.init = null;\n }\n node.declarations.push(this$1.finishNode(decl, \"VariableDeclarator\"));\n if (!this$1.eat(types.comma)) {\n break;\n }\n }\n return node;\n};\npp$1.parseVarId = function (decl, kind) {\n decl.id = this.parseBindingAtom(kind);\n this.checkLVal(decl.id, kind === \"var\" ? BIND_VAR : BIND_LEXICAL, false);\n};\nvar FUNC_STATEMENT = 1;\nvar FUNC_HANGING_STATEMENT = 2;\nvar FUNC_NULLABLE_ID = 4;\n\n// Parse a function declaration or literal (depending on the\n// `isStatement` parameter).\n\npp$1.parseFunction = function (node, statement, allowExpressionBody, isAsync) {\n this.initFunction(node);\n if (this.options.ecmaVersion >= 9 || this.options.ecmaVersion >= 6 && !isAsync) {\n node.generator = this.eat(types.star);\n }\n if (this.options.ecmaVersion >= 8) {\n node.async = !!isAsync;\n }\n if (statement & FUNC_STATEMENT) {\n node.id = statement & FUNC_NULLABLE_ID && this.type !== types.name ? null : this.parseIdent();\n if (node.id && !(statement & FUNC_HANGING_STATEMENT)) {\n this.checkLVal(node.id, this.inModule && !this.inFunction ? BIND_LEXICAL : BIND_FUNCTION);\n }\n }\n var oldYieldPos = this.yieldPos,\n oldAwaitPos = this.awaitPos;\n this.yieldPos = 0;\n this.awaitPos = 0;\n this.enterScope(functionFlags(node.async, node.generator));\n if (!(statement & FUNC_STATEMENT)) {\n node.id = this.type === types.name ? this.parseIdent() : null;\n }\n this.parseFunctionParams(node);\n this.parseFunctionBody(node, allowExpressionBody);\n this.yieldPos = oldYieldPos;\n this.awaitPos = oldAwaitPos;\n return this.finishNode(node, statement & FUNC_STATEMENT ? \"FunctionDeclaration\" : \"FunctionExpression\");\n};\npp$1.parseFunctionParams = function (node) {\n this.expect(types.parenL);\n node.params = this.parseBindingList(types.parenR, false, this.options.ecmaVersion >= 8);\n this.checkYieldAwaitInDefaultParams();\n};\n\n// Parse a class declaration or literal (depending on the\n// `isStatement` parameter).\n\npp$1.parseClass = function (node, isStatement) {\n var this$1 = this;\n this.next();\n this.parseClassId(node, isStatement);\n this.parseClassSuper(node);\n var classBody = this.startNode();\n var hadConstructor = false;\n classBody.body = [];\n this.expect(types.braceL);\n while (!this.eat(types.braceR)) {\n var element = this$1.parseClassElement();\n if (element) {\n classBody.body.push(element);\n if (element.type === \"MethodDefinition\" && element.kind === \"constructor\") {\n if (hadConstructor) {\n this$1.raise(element.start, \"Duplicate constructor in the same class\");\n }\n hadConstructor = true;\n }\n }\n }\n node.body = this.finishNode(classBody, \"ClassBody\");\n return this.finishNode(node, isStatement ? \"ClassDeclaration\" : \"ClassExpression\");\n};\npp$1.parseClassElement = function () {\n var this$1 = this;\n if (this.eat(types.semi)) {\n return null;\n }\n var method = this.startNode();\n var tryContextual = function (k, noLineBreak) {\n if (noLineBreak === void 0) noLineBreak = false;\n var start = this$1.start,\n startLoc = this$1.startLoc;\n if (!this$1.eatContextual(k)) {\n return false;\n }\n if (this$1.type !== types.parenL && (!noLineBreak || !this$1.canInsertSemicolon())) {\n return true;\n }\n if (method.key) {\n this$1.unexpected();\n }\n method.computed = false;\n method.key = this$1.startNodeAt(start, startLoc);\n method.key.name = k;\n this$1.finishNode(method.key, \"Identifier\");\n return false;\n };\n method.kind = \"method\";\n method.static = tryContextual(\"static\");\n var isGenerator = this.eat(types.star);\n var isAsync = false;\n if (!isGenerator) {\n if (this.options.ecmaVersion >= 8 && tryContextual(\"async\", true)) {\n isAsync = true;\n isGenerator = this.options.ecmaVersion >= 9 && this.eat(types.star);\n } else if (tryContextual(\"get\")) {\n method.kind = \"get\";\n } else if (tryContextual(\"set\")) {\n method.kind = \"set\";\n }\n }\n if (!method.key) {\n this.parsePropertyName(method);\n }\n var key = method.key;\n if (!method.computed && !method.static && (key.type === \"Identifier\" && key.name === \"constructor\" || key.type === \"Literal\" && key.value === \"constructor\")) {\n if (method.kind !== \"method\") {\n this.raise(key.start, \"Constructor can't have get/set modifier\");\n }\n if (isGenerator) {\n this.raise(key.start, \"Constructor can't be a generator\");\n }\n if (isAsync) {\n this.raise(key.start, \"Constructor can't be an async method\");\n }\n method.kind = \"constructor\";\n } else if (method.static && key.type === \"Identifier\" && key.name === \"prototype\") {\n this.raise(key.start, \"Classes may not have a static property named prototype\");\n }\n this.parseClassMethod(method, isGenerator, isAsync);\n if (method.kind === \"get\" && method.value.params.length !== 0) {\n this.raiseRecoverable(method.value.start, \"getter should have no params\");\n }\n if (method.kind === \"set\" && method.value.params.length !== 1) {\n this.raiseRecoverable(method.value.start, \"setter should have exactly one param\");\n }\n if (method.kind === \"set\" && method.value.params[0].type === \"RestElement\") {\n this.raiseRecoverable(method.value.params[0].start, \"Setter cannot use rest params\");\n }\n return method;\n};\npp$1.parseClassMethod = function (method, isGenerator, isAsync) {\n method.value = this.parseMethod(isGenerator, isAsync);\n return this.finishNode(method, \"MethodDefinition\");\n};\npp$1.parseClassId = function (node, isStatement) {\n node.id = this.type === types.name ? this.parseIdent() : isStatement === true ? this.unexpected() : null;\n};\npp$1.parseClassSuper = function (node) {\n node.superClass = this.eat(types._extends) ? this.parseExprSubscripts() : null;\n};\n\n// Parses module export declaration.\n\npp$1.parseExport = function (node, exports) {\n var this$1 = this;\n this.next();\n // export * from '...'\n if (this.eat(types.star)) {\n this.expectContextual(\"from\");\n if (this.type !== types.string) {\n this.unexpected();\n }\n node.source = this.parseExprAtom();\n this.semicolon();\n return this.finishNode(node, \"ExportAllDeclaration\");\n }\n if (this.eat(types._default)) {\n // export default ...\n this.checkExport(exports, \"default\", this.lastTokStart);\n var isAsync;\n if (this.type === types._function || (isAsync = this.isAsyncFunction())) {\n var fNode = this.startNode();\n this.next();\n if (isAsync) {\n this.next();\n }\n node.declaration = this.parseFunction(fNode, FUNC_STATEMENT | FUNC_NULLABLE_ID, false, isAsync, true);\n } else if (this.type === types._class) {\n var cNode = this.startNode();\n node.declaration = this.parseClass(cNode, \"nullableID\");\n } else {\n node.declaration = this.parseMaybeAssign();\n this.semicolon();\n }\n return this.finishNode(node, \"ExportDefaultDeclaration\");\n }\n // export var|const|let|function|class ...\n if (this.shouldParseExportStatement()) {\n node.declaration = this.parseStatement(null);\n if (node.declaration.type === \"VariableDeclaration\") {\n this.checkVariableExport(exports, node.declaration.declarations);\n } else {\n this.checkExport(exports, node.declaration.id.name, node.declaration.id.start);\n }\n node.specifiers = [];\n node.source = null;\n } else {\n // export { x, y as z } [from '...']\n node.declaration = null;\n node.specifiers = this.parseExportSpecifiers(exports);\n if (this.eatContextual(\"from\")) {\n if (this.type !== types.string) {\n this.unexpected();\n }\n node.source = this.parseExprAtom();\n } else {\n // check for keywords used as local names\n for (var i = 0, list = node.specifiers; i < list.length; i += 1) {\n var spec = list[i];\n this$1.checkUnreserved(spec.local);\n }\n node.source = null;\n }\n this.semicolon();\n }\n return this.finishNode(node, \"ExportNamedDeclaration\");\n};\npp$1.checkExport = function (exports, name, pos) {\n if (!exports) {\n return;\n }\n if (has(exports, name)) {\n this.raiseRecoverable(pos, \"Duplicate export '\" + name + \"'\");\n }\n exports[name] = true;\n};\npp$1.checkPatternExport = function (exports, pat) {\n var this$1 = this;\n var type = pat.type;\n if (type === \"Identifier\") {\n this.checkExport(exports, pat.name, pat.start);\n } else if (type === \"ObjectPattern\") {\n for (var i = 0, list = pat.properties; i < list.length; i += 1) {\n var prop = list[i];\n this$1.checkPatternExport(exports, prop);\n }\n } else if (type === \"ArrayPattern\") {\n for (var i$1 = 0, list$1 = pat.elements; i$1 < list$1.length; i$1 += 1) {\n var elt = list$1[i$1];\n if (elt) {\n this$1.checkPatternExport(exports, elt);\n }\n }\n } else if (type === \"Property\") {\n this.checkPatternExport(exports, pat.value);\n } else if (type === \"AssignmentPattern\") {\n this.checkPatternExport(exports, pat.left);\n } else if (type === \"RestElement\") {\n this.checkPatternExport(exports, pat.argument);\n } else if (type === \"ParenthesizedExpression\") {\n this.checkPatternExport(exports, pat.expression);\n }\n};\npp$1.checkVariableExport = function (exports, decls) {\n var this$1 = this;\n if (!exports) {\n return;\n }\n for (var i = 0, list = decls; i < list.length; i += 1) {\n var decl = list[i];\n this$1.checkPatternExport(exports, decl.id);\n }\n};\npp$1.shouldParseExportStatement = function () {\n return this.type.keyword === \"var\" || this.type.keyword === \"const\" || this.type.keyword === \"class\" || this.type.keyword === \"function\" || this.isLet() || this.isAsyncFunction();\n};\n\n// Parses a comma-separated list of module exports.\n\npp$1.parseExportSpecifiers = function (exports) {\n var this$1 = this;\n var nodes = [],\n first = true;\n // export { x, y as z } [from '...']\n this.expect(types.braceL);\n while (!this.eat(types.braceR)) {\n if (!first) {\n this$1.expect(types.comma);\n if (this$1.afterTrailingComma(types.braceR)) {\n break;\n }\n } else {\n first = false;\n }\n var node = this$1.startNode();\n node.local = this$1.parseIdent(true);\n node.exported = this$1.eatContextual(\"as\") ? this$1.parseIdent(true) : node.local;\n this$1.checkExport(exports, node.exported.name, node.exported.start);\n nodes.push(this$1.finishNode(node, \"ExportSpecifier\"));\n }\n return nodes;\n};\n\n// Parses import declaration.\n\npp$1.parseImport = function (node) {\n this.next();\n // import '...'\n if (this.type === types.string) {\n node.specifiers = empty;\n node.source = this.parseExprAtom();\n } else {\n node.specifiers = this.parseImportSpecifiers();\n this.expectContextual(\"from\");\n node.source = this.type === types.string ? this.parseExprAtom() : this.unexpected();\n }\n this.semicolon();\n return this.finishNode(node, \"ImportDeclaration\");\n};\n\n// Parses a comma-separated list of module imports.\n\npp$1.parseImportSpecifiers = function () {\n var this$1 = this;\n var nodes = [],\n first = true;\n if (this.type === types.name) {\n // import defaultObj, { x, y as z } from '...'\n var node = this.startNode();\n node.local = this.parseIdent();\n this.checkLVal(node.local, BIND_LEXICAL);\n nodes.push(this.finishNode(node, \"ImportDefaultSpecifier\"));\n if (!this.eat(types.comma)) {\n return nodes;\n }\n }\n if (this.type === types.star) {\n var node$1 = this.startNode();\n this.next();\n this.expectContextual(\"as\");\n node$1.local = this.parseIdent();\n this.checkLVal(node$1.local, BIND_LEXICAL);\n nodes.push(this.finishNode(node$1, \"ImportNamespaceSpecifier\"));\n return nodes;\n }\n this.expect(types.braceL);\n while (!this.eat(types.braceR)) {\n if (!first) {\n this$1.expect(types.comma);\n if (this$1.afterTrailingComma(types.braceR)) {\n break;\n }\n } else {\n first = false;\n }\n var node$2 = this$1.startNode();\n node$2.imported = this$1.parseIdent(true);\n if (this$1.eatContextual(\"as\")) {\n node$2.local = this$1.parseIdent();\n } else {\n this$1.checkUnreserved(node$2.imported);\n node$2.local = node$2.imported;\n }\n this$1.checkLVal(node$2.local, BIND_LEXICAL);\n nodes.push(this$1.finishNode(node$2, \"ImportSpecifier\"));\n }\n return nodes;\n};\n\n// Set `ExpressionStatement#directive` property for directive prologues.\npp$1.adaptDirectivePrologue = function (statements) {\n for (var i = 0; i < statements.length && this.isDirectiveCandidate(statements[i]); ++i) {\n statements[i].directive = statements[i].expression.raw.slice(1, -1);\n }\n};\npp$1.isDirectiveCandidate = function (statement) {\n return statement.type === \"ExpressionStatement\" && statement.expression.type === \"Literal\" && typeof statement.expression.value === \"string\" && (\n // Reject parenthesized strings.\n this.input[statement.start] === \"\\\"\" || this.input[statement.start] === \"'\");\n};\nvar pp$2 = Parser.prototype;\n\n// Convert existing expression atom to assignable pattern\n// if possible.\n\npp$2.toAssignable = function (node, isBinding, refDestructuringErrors) {\n var this$1 = this;\n if (this.options.ecmaVersion >= 6 && node) {\n switch (node.type) {\n case \"Identifier\":\n if (this.inAsync && node.name === \"await\") {\n this.raise(node.start, \"Can not use 'await' as identifier inside an async function\");\n }\n break;\n case \"ObjectPattern\":\n case \"ArrayPattern\":\n case \"RestElement\":\n break;\n case \"ObjectExpression\":\n node.type = \"ObjectPattern\";\n if (refDestructuringErrors) {\n this.checkPatternErrors(refDestructuringErrors, true);\n }\n for (var i = 0, list = node.properties; i < list.length; i += 1) {\n var prop = list[i];\n this$1.toAssignable(prop, isBinding);\n // Early error:\n // AssignmentRestProperty[Yield, Await] :\n // `...` DestructuringAssignmentTarget[Yield, Await]\n //\n // It is a Syntax Error if |DestructuringAssignmentTarget| is an |ArrayLiteral| or an |ObjectLiteral|.\n if (prop.type === \"RestElement\" && (prop.argument.type === \"ArrayPattern\" || prop.argument.type === \"ObjectPattern\")) {\n this$1.raise(prop.argument.start, \"Unexpected token\");\n }\n }\n break;\n case \"Property\":\n // AssignmentProperty has type === \"Property\"\n if (node.kind !== \"init\") {\n this.raise(node.key.start, \"Object pattern can't contain getter or setter\");\n }\n this.toAssignable(node.value, isBinding);\n break;\n case \"ArrayExpression\":\n node.type = \"ArrayPattern\";\n if (refDestructuringErrors) {\n this.checkPatternErrors(refDestructuringErrors, true);\n }\n this.toAssignableList(node.elements, isBinding);\n break;\n case \"SpreadElement\":\n node.type = \"RestElement\";\n this.toAssignable(node.argument, isBinding);\n if (node.argument.type === \"AssignmentPattern\") {\n this.raise(node.argument.start, \"Rest elements cannot have a default value\");\n }\n break;\n case \"AssignmentExpression\":\n if (node.operator !== \"=\") {\n this.raise(node.left.end, \"Only '=' operator can be used for specifying default value.\");\n }\n node.type = \"AssignmentPattern\";\n delete node.operator;\n this.toAssignable(node.left, isBinding);\n // falls through to AssignmentPattern\n\n case \"AssignmentPattern\":\n break;\n case \"ParenthesizedExpression\":\n this.toAssignable(node.expression, isBinding);\n break;\n case \"MemberExpression\":\n if (!isBinding) {\n break;\n }\n default:\n this.raise(node.start, \"Assigning to rvalue\");\n }\n } else if (refDestructuringErrors) {\n this.checkPatternErrors(refDestructuringErrors, true);\n }\n return node;\n};\n\n// Convert list of expression atoms to binding list.\n\npp$2.toAssignableList = function (exprList, isBinding) {\n var this$1 = this;\n var end = exprList.length;\n for (var i = 0; i < end; i++) {\n var elt = exprList[i];\n if (elt) {\n this$1.toAssignable(elt, isBinding);\n }\n }\n if (end) {\n var last = exprList[end - 1];\n if (this.options.ecmaVersion === 6 && isBinding && last && last.type === \"RestElement\" && last.argument.type !== \"Identifier\") {\n this.unexpected(last.argument.start);\n }\n }\n return exprList;\n};\n\n// Parses spread element.\n\npp$2.parseSpread = function (refDestructuringErrors) {\n var node = this.startNode();\n this.next();\n node.argument = this.parseMaybeAssign(false, refDestructuringErrors);\n return this.finishNode(node, \"SpreadElement\");\n};\npp$2.parseRestBinding = function () {\n var node = this.startNode();\n this.next();\n\n // RestElement inside of a function parameter must be an identifier\n if (this.options.ecmaVersion === 6 && this.type !== types.name) {\n this.unexpected();\n }\n node.argument = this.parseBindingAtom();\n return this.finishNode(node, \"RestElement\");\n};\n\n// Parses lvalue (assignable) atom.\n\npp$2.parseBindingAtom = function () {\n if (this.options.ecmaVersion >= 6) {\n switch (this.type) {\n case types.bracketL:\n var node = this.startNode();\n this.next();\n node.elements = this.parseBindingList(types.bracketR, true, true);\n return this.finishNode(node, \"ArrayPattern\");\n case types.braceL:\n return this.parseObj(true);\n }\n }\n return this.parseIdent();\n};\npp$2.parseBindingList = function (close, allowEmpty, allowTrailingComma) {\n var this$1 = this;\n var elts = [],\n first = true;\n while (!this.eat(close)) {\n if (first) {\n first = false;\n } else {\n this$1.expect(types.comma);\n }\n if (allowEmpty && this$1.type === types.comma) {\n elts.push(null);\n } else if (allowTrailingComma && this$1.afterTrailingComma(close)) {\n break;\n } else if (this$1.type === types.ellipsis) {\n var rest = this$1.parseRestBinding();\n this$1.parseBindingListItem(rest);\n elts.push(rest);\n if (this$1.type === types.comma) {\n this$1.raise(this$1.start, \"Comma is not permitted after the rest element\");\n }\n this$1.expect(close);\n break;\n } else {\n var elem = this$1.parseMaybeDefault(this$1.start, this$1.startLoc);\n this$1.parseBindingListItem(elem);\n elts.push(elem);\n }\n }\n return elts;\n};\npp$2.parseBindingListItem = function (param) {\n return param;\n};\n\n// Parses assignment pattern around given atom if possible.\n\npp$2.parseMaybeDefault = function (startPos, startLoc, left) {\n left = left || this.parseBindingAtom();\n if (this.options.ecmaVersion < 6 || !this.eat(types.eq)) {\n return left;\n }\n var node = this.startNodeAt(startPos, startLoc);\n node.left = left;\n node.right = this.parseMaybeAssign();\n return this.finishNode(node, \"AssignmentPattern\");\n};\n\n// Verify that a node is an lval — something that can be assigned\n// to.\n// bindingType can be either:\n// 'var' indicating that the lval creates a 'var' binding\n// 'let' indicating that the lval creates a lexical ('let' or 'const') binding\n// 'none' indicating that the binding should be checked for illegal identifiers, but not for duplicate references\n\npp$2.checkLVal = function (expr, bindingType, checkClashes) {\n var this$1 = this;\n if (bindingType === void 0) bindingType = BIND_NONE;\n switch (expr.type) {\n case \"Identifier\":\n if (this.strict && this.reservedWordsStrictBind.test(expr.name)) {\n this.raiseRecoverable(expr.start, (bindingType ? \"Binding \" : \"Assigning to \") + expr.name + \" in strict mode\");\n }\n if (checkClashes) {\n if (has(checkClashes, expr.name)) {\n this.raiseRecoverable(expr.start, \"Argument name clash\");\n }\n checkClashes[expr.name] = true;\n }\n if (bindingType !== BIND_NONE && bindingType !== BIND_OUTSIDE) {\n this.declareName(expr.name, bindingType, expr.start);\n }\n break;\n case \"MemberExpression\":\n if (bindingType) {\n this.raiseRecoverable(expr.start, \"Binding member expression\");\n }\n break;\n case \"ObjectPattern\":\n for (var i = 0, list = expr.properties; i < list.length; i += 1) {\n var prop = list[i];\n this$1.checkLVal(prop, bindingType, checkClashes);\n }\n break;\n case \"Property\":\n // AssignmentProperty has type === \"Property\"\n this.checkLVal(expr.value, bindingType, checkClashes);\n break;\n case \"ArrayPattern\":\n for (var i$1 = 0, list$1 = expr.elements; i$1 < list$1.length; i$1 += 1) {\n var elem = list$1[i$1];\n if (elem) {\n this$1.checkLVal(elem, bindingType, checkClashes);\n }\n }\n break;\n case \"AssignmentPattern\":\n this.checkLVal(expr.left, bindingType, checkClashes);\n break;\n case \"RestElement\":\n this.checkLVal(expr.argument, bindingType, checkClashes);\n break;\n case \"ParenthesizedExpression\":\n this.checkLVal(expr.expression, bindingType, checkClashes);\n break;\n default:\n this.raise(expr.start, (bindingType ? \"Binding\" : \"Assigning to\") + \" rvalue\");\n }\n};\n\n// A recursive descent parser operates by defining functions for all\n// syntactic elements, and recursively calling those, each function\n// advancing the input stream and returning an AST node. Precedence\n// of constructs (for example, the fact that `!x[1]` means `!(x[1])`\n// instead of `(!x)[1]` is handled by the fact that the parser\n// function that parses unary prefix operators is called first, and\n// in turn calls the function that parses `[]` subscripts — that\n// way, it'll receive the node for `x[1]` already parsed, and wraps\n// *that* in the unary operator node.\n//\n// Acorn uses an [operator precedence parser][opp] to handle binary\n// operator precedence, because it is much more compact than using\n// the technique outlined above, which uses different, nesting\n// functions to specify precedence, for all of the ten binary\n// precedence levels that JavaScript defines.\n//\n// [opp]: http://en.wikipedia.org/wiki/Operator-precedence_parser\n\nvar pp$3 = Parser.prototype;\n\n// Check if property name clashes with already added.\n// Object/class getters and setters are not allowed to clash —\n// either with each other or with an init property — and in\n// strict mode, init properties are also not allowed to be repeated.\n\npp$3.checkPropClash = function (prop, propHash, refDestructuringErrors) {\n if (this.options.ecmaVersion >= 9 && prop.type === \"SpreadElement\") {\n return;\n }\n if (this.options.ecmaVersion >= 6 && (prop.computed || prop.method || prop.shorthand)) {\n return;\n }\n var key = prop.key;\n var name;\n switch (key.type) {\n case \"Identifier\":\n name = key.name;\n break;\n case \"Literal\":\n name = String(key.value);\n break;\n default:\n return;\n }\n var kind = prop.kind;\n if (this.options.ecmaVersion >= 6) {\n if (name === \"__proto__\" && kind === \"init\") {\n if (propHash.proto) {\n if (refDestructuringErrors && refDestructuringErrors.doubleProto < 0) {\n refDestructuringErrors.doubleProto = key.start;\n }\n // Backwards-compat kludge. Can be removed in version 6.0\n else {\n this.raiseRecoverable(key.start, \"Redefinition of __proto__ property\");\n }\n }\n propHash.proto = true;\n }\n return;\n }\n name = \"$\" + name;\n var other = propHash[name];\n if (other) {\n var redefinition;\n if (kind === \"init\") {\n redefinition = this.strict && other.init || other.get || other.set;\n } else {\n redefinition = other.init || other[kind];\n }\n if (redefinition) {\n this.raiseRecoverable(key.start, \"Redefinition of property\");\n }\n } else {\n other = propHash[name] = {\n init: false,\n get: false,\n set: false\n };\n }\n other[kind] = true;\n};\n\n// ### Expression parsing\n\n// These nest, from the most general expression type at the top to\n// 'atomic', nondivisible expression types at the bottom. Most of\n// the functions will simply let the function(s) below them parse,\n// and, *if* the syntactic construct they handle is present, wrap\n// the AST node that the inner parser gave them in another node.\n\n// Parse a full expression. The optional arguments are used to\n// forbid the `in` operator (in for loops initalization expressions)\n// and provide reference for storing '=' operator inside shorthand\n// property assignment in contexts where both object expression\n// and object pattern might appear (so it's possible to raise\n// delayed syntax error at correct position).\n\npp$3.parseExpression = function (noIn, refDestructuringErrors) {\n var this$1 = this;\n var startPos = this.start,\n startLoc = this.startLoc;\n var expr = this.parseMaybeAssign(noIn, refDestructuringErrors);\n if (this.type === types.comma) {\n var node = this.startNodeAt(startPos, startLoc);\n node.expressions = [expr];\n while (this.eat(types.comma)) {\n node.expressions.push(this$1.parseMaybeAssign(noIn, refDestructuringErrors));\n }\n return this.finishNode(node, \"SequenceExpression\");\n }\n return expr;\n};\n\n// Parse an assignment expression. This includes applications of\n// operators like `+=`.\n\npp$3.parseMaybeAssign = function (noIn, refDestructuringErrors, afterLeftParse) {\n if (this.isContextual(\"yield\")) {\n if (this.inGenerator) {\n return this.parseYield();\n }\n // The tokenizer will assume an expression is allowed after\n // `yield`, but this isn't that kind of yield\n else {\n this.exprAllowed = false;\n }\n }\n var ownDestructuringErrors = false,\n oldParenAssign = -1,\n oldTrailingComma = -1,\n oldShorthandAssign = -1;\n if (refDestructuringErrors) {\n oldParenAssign = refDestructuringErrors.parenthesizedAssign;\n oldTrailingComma = refDestructuringErrors.trailingComma;\n oldShorthandAssign = refDestructuringErrors.shorthandAssign;\n refDestructuringErrors.parenthesizedAssign = refDestructuringErrors.trailingComma = refDestructuringErrors.shorthandAssign = -1;\n } else {\n refDestructuringErrors = new DestructuringErrors();\n ownDestructuringErrors = true;\n }\n var startPos = this.start,\n startLoc = this.startLoc;\n if (this.type === types.parenL || this.type === types.name) {\n this.potentialArrowAt = this.start;\n }\n var left = this.parseMaybeConditional(noIn, refDestructuringErrors);\n if (afterLeftParse) {\n left = afterLeftParse.call(this, left, startPos, startLoc);\n }\n if (this.type.isAssign) {\n var node = this.startNodeAt(startPos, startLoc);\n node.operator = this.value;\n node.left = this.type === types.eq ? this.toAssignable(left, false, refDestructuringErrors) : left;\n if (!ownDestructuringErrors) {\n DestructuringErrors.call(refDestructuringErrors);\n }\n refDestructuringErrors.shorthandAssign = -1; // reset because shorthand default was used correctly\n this.checkLVal(left);\n this.next();\n node.right = this.parseMaybeAssign(noIn);\n return this.finishNode(node, \"AssignmentExpression\");\n } else {\n if (ownDestructuringErrors) {\n this.checkExpressionErrors(refDestructuringErrors, true);\n }\n }\n if (oldParenAssign > -1) {\n refDestructuringErrors.parenthesizedAssign = oldParenAssign;\n }\n if (oldTrailingComma > -1) {\n refDestructuringErrors.trailingComma = oldTrailingComma;\n }\n if (oldShorthandAssign > -1) {\n refDestructuringErrors.shorthandAssign = oldShorthandAssign;\n }\n return left;\n};\n\n// Parse a ternary conditional (`?:`) operator.\n\npp$3.parseMaybeConditional = function (noIn, refDestructuringErrors) {\n var startPos = this.start,\n startLoc = this.startLoc;\n var expr = this.parseExprOps(noIn, refDestructuringErrors);\n if (this.checkExpressionErrors(refDestructuringErrors)) {\n return expr;\n }\n if (this.eat(types.question)) {\n var node = this.startNodeAt(startPos, startLoc);\n node.test = expr;\n node.consequent = this.parseMaybeAssign();\n this.expect(types.colon);\n node.alternate = this.parseMaybeAssign(noIn);\n return this.finishNode(node, \"ConditionalExpression\");\n }\n return expr;\n};\n\n// Start the precedence parser.\n\npp$3.parseExprOps = function (noIn, refDestructuringErrors) {\n var startPos = this.start,\n startLoc = this.startLoc;\n var expr = this.parseMaybeUnary(refDestructuringErrors, false);\n if (this.checkExpressionErrors(refDestructuringErrors)) {\n return expr;\n }\n return expr.start === startPos && expr.type === \"ArrowFunctionExpression\" ? expr : this.parseExprOp(expr, startPos, startLoc, -1, noIn);\n};\n\n// Parse binary operators with the operator precedence parsing\n// algorithm. `left` is the left-hand side of the operator.\n// `minPrec` provides context that allows the function to stop and\n// defer further parser to one of its callers when it encounters an\n// operator that has a lower precedence than the set it is parsing.\n\npp$3.parseExprOp = function (left, leftStartPos, leftStartLoc, minPrec, noIn) {\n var prec = this.type.binop;\n if (prec != null && (!noIn || this.type !== types._in)) {\n if (prec > minPrec) {\n var logical = this.type === types.logicalOR || this.type === types.logicalAND;\n var op = this.value;\n this.next();\n var startPos = this.start,\n startLoc = this.startLoc;\n var right = this.parseExprOp(this.parseMaybeUnary(null, false), startPos, startLoc, prec, noIn);\n var node = this.buildBinary(leftStartPos, leftStartLoc, left, right, op, logical);\n return this.parseExprOp(node, leftStartPos, leftStartLoc, minPrec, noIn);\n }\n }\n return left;\n};\npp$3.buildBinary = function (startPos, startLoc, left, right, op, logical) {\n var node = this.startNodeAt(startPos, startLoc);\n node.left = left;\n node.operator = op;\n node.right = right;\n return this.finishNode(node, logical ? \"LogicalExpression\" : \"BinaryExpression\");\n};\n\n// Parse unary operators, both prefix and postfix.\n\npp$3.parseMaybeUnary = function (refDestructuringErrors, sawUnary) {\n var this$1 = this;\n var startPos = this.start,\n startLoc = this.startLoc,\n expr;\n if (this.isContextual(\"await\") && (this.inAsync || !this.inFunction && this.options.allowAwaitOutsideFunction)) {\n expr = this.parseAwait();\n sawUnary = true;\n } else if (this.type.prefix) {\n var node = this.startNode(),\n update = this.type === types.incDec;\n node.operator = this.value;\n node.prefix = true;\n this.next();\n node.argument = this.parseMaybeUnary(null, true);\n this.checkExpressionErrors(refDestructuringErrors, true);\n if (update) {\n this.checkLVal(node.argument);\n } else if (this.strict && node.operator === \"delete\" && node.argument.type === \"Identifier\") {\n this.raiseRecoverable(node.start, \"Deleting local variable in strict mode\");\n } else {\n sawUnary = true;\n }\n expr = this.finishNode(node, update ? \"UpdateExpression\" : \"UnaryExpression\");\n } else {\n expr = this.parseExprSubscripts(refDestructuringErrors);\n if (this.checkExpressionErrors(refDestructuringErrors)) {\n return expr;\n }\n while (this.type.postfix && !this.canInsertSemicolon()) {\n var node$1 = this$1.startNodeAt(startPos, startLoc);\n node$1.operator = this$1.value;\n node$1.prefix = false;\n node$1.argument = expr;\n this$1.checkLVal(expr);\n this$1.next();\n expr = this$1.finishNode(node$1, \"UpdateExpression\");\n }\n }\n if (!sawUnary && this.eat(types.starstar)) {\n return this.buildBinary(startPos, startLoc, expr, this.parseMaybeUnary(null, false), \"**\", false);\n } else {\n return expr;\n }\n};\n\n// Parse call, dot, and `[]`-subscript expressions.\n\npp$3.parseExprSubscripts = function (refDestructuringErrors) {\n var startPos = this.start,\n startLoc = this.startLoc;\n var expr = this.parseExprAtom(refDestructuringErrors);\n var skipArrowSubscripts = expr.type === \"ArrowFunctionExpression\" && this.input.slice(this.lastTokStart, this.lastTokEnd) !== \")\";\n if (this.checkExpressionErrors(refDestructuringErrors) || skipArrowSubscripts) {\n return expr;\n }\n var result = this.parseSubscripts(expr, startPos, startLoc);\n if (refDestructuringErrors && result.type === \"MemberExpression\") {\n if (refDestructuringErrors.parenthesizedAssign >= result.start) {\n refDestructuringErrors.parenthesizedAssign = -1;\n }\n if (refDestructuringErrors.parenthesizedBind >= result.start) {\n refDestructuringErrors.parenthesizedBind = -1;\n }\n }\n return result;\n};\npp$3.parseSubscripts = function (base, startPos, startLoc, noCalls) {\n var this$1 = this;\n var maybeAsyncArrow = this.options.ecmaVersion >= 8 && base.type === \"Identifier\" && base.name === \"async\" && this.lastTokEnd === base.end && !this.canInsertSemicolon() && this.input.slice(base.start, base.end) === \"async\";\n for (var computed = void 0;;) {\n if ((computed = this$1.eat(types.bracketL)) || this$1.eat(types.dot)) {\n var node = this$1.startNodeAt(startPos, startLoc);\n node.object = base;\n node.property = computed ? this$1.parseExpression() : this$1.parseIdent(true);\n node.computed = !!computed;\n if (computed) {\n this$1.expect(types.bracketR);\n }\n base = this$1.finishNode(node, \"MemberExpression\");\n } else if (!noCalls && this$1.eat(types.parenL)) {\n var refDestructuringErrors = new DestructuringErrors(),\n oldYieldPos = this$1.yieldPos,\n oldAwaitPos = this$1.awaitPos;\n this$1.yieldPos = 0;\n this$1.awaitPos = 0;\n var exprList = this$1.parseExprList(types.parenR, this$1.options.ecmaVersion >= 8, false, refDestructuringErrors);\n if (maybeAsyncArrow && !this$1.canInsertSemicolon() && this$1.eat(types.arrow)) {\n this$1.checkPatternErrors(refDestructuringErrors, false);\n this$1.checkYieldAwaitInDefaultParams();\n this$1.yieldPos = oldYieldPos;\n this$1.awaitPos = oldAwaitPos;\n return this$1.parseArrowExpression(this$1.startNodeAt(startPos, startLoc), exprList, true);\n }\n this$1.checkExpressionErrors(refDestructuringErrors, true);\n this$1.yieldPos = oldYieldPos || this$1.yieldPos;\n this$1.awaitPos = oldAwaitPos || this$1.awaitPos;\n var node$1 = this$1.startNodeAt(startPos, startLoc);\n node$1.callee = base;\n node$1.arguments = exprList;\n base = this$1.finishNode(node$1, \"CallExpression\");\n } else if (this$1.type === types.backQuote) {\n var node$2 = this$1.startNodeAt(startPos, startLoc);\n node$2.tag = base;\n node$2.quasi = this$1.parseTemplate({\n isTagged: true\n });\n base = this$1.finishNode(node$2, \"TaggedTemplateExpression\");\n } else {\n return base;\n }\n }\n};\n\n// Parse an atomic expression — either a single token that is an\n// expression, an expression started by a keyword like `function` or\n// `new`, or an expression wrapped in punctuation like `()`, `[]`,\n// or `{}`.\n\npp$3.parseExprAtom = function (refDestructuringErrors) {\n var node,\n canBeArrow = this.potentialArrowAt === this.start;\n switch (this.type) {\n case types._super:\n if (!this.inFunction) {\n this.raise(this.start, \"'super' outside of function or class\");\n }\n node = this.startNode();\n this.next();\n // The `super` keyword can appear at below:\n // SuperProperty:\n // super [ Expression ]\n // super . IdentifierName\n // SuperCall:\n // super Arguments\n if (this.type !== types.dot && this.type !== types.bracketL && this.type !== types.parenL) {\n this.unexpected();\n }\n return this.finishNode(node, \"Super\");\n case types._this:\n node = this.startNode();\n this.next();\n return this.finishNode(node, \"ThisExpression\");\n case types.name:\n var startPos = this.start,\n startLoc = this.startLoc,\n containsEsc = this.containsEsc;\n var id = this.parseIdent(this.type !== types.name);\n if (this.options.ecmaVersion >= 8 && !containsEsc && id.name === \"async\" && !this.canInsertSemicolon() && this.eat(types._function)) {\n return this.parseFunction(this.startNodeAt(startPos, startLoc), 0, false, true);\n }\n if (canBeArrow && !this.canInsertSemicolon()) {\n if (this.eat(types.arrow)) {\n return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), [id], false);\n }\n if (this.options.ecmaVersion >= 8 && id.name === \"async\" && this.type === types.name && !containsEsc) {\n id = this.parseIdent();\n if (this.canInsertSemicolon() || !this.eat(types.arrow)) {\n this.unexpected();\n }\n return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), [id], true);\n }\n }\n return id;\n case types.regexp:\n var value = this.value;\n node = this.parseLiteral(value.value);\n node.regex = {\n pattern: value.pattern,\n flags: value.flags\n };\n return node;\n case types.num:\n case types.string:\n return this.parseLiteral(this.value);\n case types._null:\n case types._true:\n case types._false:\n node = this.startNode();\n node.value = this.type === types._null ? null : this.type === types._true;\n node.raw = this.type.keyword;\n this.next();\n return this.finishNode(node, \"Literal\");\n case types.parenL:\n var start = this.start,\n expr = this.parseParenAndDistinguishExpression(canBeArrow);\n if (refDestructuringErrors) {\n if (refDestructuringErrors.parenthesizedAssign < 0 && !this.isSimpleAssignTarget(expr)) {\n refDestructuringErrors.parenthesizedAssign = start;\n }\n if (refDestructuringErrors.parenthesizedBind < 0) {\n refDestructuringErrors.parenthesizedBind = start;\n }\n }\n return expr;\n case types.bracketL:\n node = this.startNode();\n this.next();\n node.elements = this.parseExprList(types.bracketR, true, true, refDestructuringErrors);\n return this.finishNode(node, \"ArrayExpression\");\n case types.braceL:\n return this.parseObj(false, refDestructuringErrors);\n case types._function:\n node = this.startNode();\n this.next();\n return this.parseFunction(node, 0);\n case types._class:\n return this.parseClass(this.startNode(), false);\n case types._new:\n return this.parseNew();\n case types.backQuote:\n return this.parseTemplate();\n default:\n this.unexpected();\n }\n};\npp$3.parseLiteral = function (value) {\n var node = this.startNode();\n node.value = value;\n node.raw = this.input.slice(this.start, this.end);\n this.next();\n return this.finishNode(node, \"Literal\");\n};\npp$3.parseParenExpression = function () {\n this.expect(types.parenL);\n var val = this.parseExpression();\n this.expect(types.parenR);\n return val;\n};\npp$3.parseParenAndDistinguishExpression = function (canBeArrow) {\n var this$1 = this;\n var startPos = this.start,\n startLoc = this.startLoc,\n val,\n allowTrailingComma = this.options.ecmaVersion >= 8;\n if (this.options.ecmaVersion >= 6) {\n this.next();\n var innerStartPos = this.start,\n innerStartLoc = this.startLoc;\n var exprList = [],\n first = true,\n lastIsComma = false;\n var refDestructuringErrors = new DestructuringErrors(),\n oldYieldPos = this.yieldPos,\n oldAwaitPos = this.awaitPos,\n spreadStart;\n this.yieldPos = 0;\n this.awaitPos = 0;\n while (this.type !== types.parenR) {\n first ? first = false : this$1.expect(types.comma);\n if (allowTrailingComma && this$1.afterTrailingComma(types.parenR, true)) {\n lastIsComma = true;\n break;\n } else if (this$1.type === types.ellipsis) {\n spreadStart = this$1.start;\n exprList.push(this$1.parseParenItem(this$1.parseRestBinding()));\n if (this$1.type === types.comma) {\n this$1.raise(this$1.start, \"Comma is not permitted after the rest element\");\n }\n break;\n } else {\n exprList.push(this$1.parseMaybeAssign(false, refDestructuringErrors, this$1.parseParenItem));\n }\n }\n var innerEndPos = this.start,\n innerEndLoc = this.startLoc;\n this.expect(types.parenR);\n if (canBeArrow && !this.canInsertSemicolon() && this.eat(types.arrow)) {\n this.checkPatternErrors(refDestructuringErrors, false);\n this.checkYieldAwaitInDefaultParams();\n this.yieldPos = oldYieldPos;\n this.awaitPos = oldAwaitPos;\n return this.parseParenArrowList(startPos, startLoc, exprList);\n }\n if (!exprList.length || lastIsComma) {\n this.unexpected(this.lastTokStart);\n }\n if (spreadStart) {\n this.unexpected(spreadStart);\n }\n this.checkExpressionErrors(refDestructuringErrors, true);\n this.yieldPos = oldYieldPos || this.yieldPos;\n this.awaitPos = oldAwaitPos || this.awaitPos;\n if (exprList.length > 1) {\n val = this.startNodeAt(innerStartPos, innerStartLoc);\n val.expressions = exprList;\n this.finishNodeAt(val, \"SequenceExpression\", innerEndPos, innerEndLoc);\n } else {\n val = exprList[0];\n }\n } else {\n val = this.parseParenExpression();\n }\n if (this.options.preserveParens) {\n var par = this.startNodeAt(startPos, startLoc);\n par.expression = val;\n return this.finishNode(par, \"ParenthesizedExpression\");\n } else {\n return val;\n }\n};\npp$3.parseParenItem = function (item) {\n return item;\n};\npp$3.parseParenArrowList = function (startPos, startLoc, exprList) {\n return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), exprList);\n};\n\n// New's precedence is slightly tricky. It must allow its argument to\n// be a `[]` or dot subscript expression, but not a call — at least,\n// not without wrapping it in parentheses. Thus, it uses the noCalls\n// argument to parseSubscripts to prevent it from consuming the\n// argument list.\n\nvar empty$1 = [];\npp$3.parseNew = function () {\n var node = this.startNode();\n var meta = this.parseIdent(true);\n if (this.options.ecmaVersion >= 6 && this.eat(types.dot)) {\n node.meta = meta;\n var containsEsc = this.containsEsc;\n node.property = this.parseIdent(true);\n if (node.property.name !== \"target\" || containsEsc) {\n this.raiseRecoverable(node.property.start, \"The only valid meta property for new is new.target\");\n }\n if (!this.inNonArrowFunction()) {\n this.raiseRecoverable(node.start, \"new.target can only be used in functions\");\n }\n return this.finishNode(node, \"MetaProperty\");\n }\n var startPos = this.start,\n startLoc = this.startLoc;\n node.callee = this.parseSubscripts(this.parseExprAtom(), startPos, startLoc, true);\n if (this.eat(types.parenL)) {\n node.arguments = this.parseExprList(types.parenR, this.options.ecmaVersion >= 8, false);\n } else {\n node.arguments = empty$1;\n }\n return this.finishNode(node, \"NewExpression\");\n};\n\n// Parse template expression.\n\npp$3.parseTemplateElement = function (ref) {\n var isTagged = ref.isTagged;\n var elem = this.startNode();\n if (this.type === types.invalidTemplate) {\n if (!isTagged) {\n this.raiseRecoverable(this.start, \"Bad escape sequence in untagged template literal\");\n }\n elem.value = {\n raw: this.value,\n cooked: null\n };\n } else {\n elem.value = {\n raw: this.input.slice(this.start, this.end).replace(/\\r\\n?/g, \"\\n\"),\n cooked: this.value\n };\n }\n this.next();\n elem.tail = this.type === types.backQuote;\n return this.finishNode(elem, \"TemplateElement\");\n};\npp$3.parseTemplate = function (ref) {\n var this$1 = this;\n if (ref === void 0) ref = {};\n var isTagged = ref.isTagged;\n if (isTagged === void 0) isTagged = false;\n var node = this.startNode();\n this.next();\n node.expressions = [];\n var curElt = this.parseTemplateElement({\n isTagged: isTagged\n });\n node.quasis = [curElt];\n while (!curElt.tail) {\n if (this$1.type === types.eof) {\n this$1.raise(this$1.pos, \"Unterminated template literal\");\n }\n this$1.expect(types.dollarBraceL);\n node.expressions.push(this$1.parseExpression());\n this$1.expect(types.braceR);\n node.quasis.push(curElt = this$1.parseTemplateElement({\n isTagged: isTagged\n }));\n }\n this.next();\n return this.finishNode(node, \"TemplateLiteral\");\n};\npp$3.isAsyncProp = function (prop) {\n return !prop.computed && prop.key.type === \"Identifier\" && prop.key.name === \"async\" && (this.type === types.name || this.type === types.num || this.type === types.string || this.type === types.bracketL || this.type.keyword || this.options.ecmaVersion >= 9 && this.type === types.star) && !lineBreak.test(this.input.slice(this.lastTokEnd, this.start));\n};\n\n// Parse an object literal or binding pattern.\n\npp$3.parseObj = function (isPattern, refDestructuringErrors) {\n var this$1 = this;\n var node = this.startNode(),\n first = true,\n propHash = {};\n node.properties = [];\n this.next();\n while (!this.eat(types.braceR)) {\n if (!first) {\n this$1.expect(types.comma);\n if (this$1.afterTrailingComma(types.braceR)) {\n break;\n }\n } else {\n first = false;\n }\n var prop = this$1.parseProperty(isPattern, refDestructuringErrors);\n if (!isPattern) {\n this$1.checkPropClash(prop, propHash, refDestructuringErrors);\n }\n node.properties.push(prop);\n }\n return this.finishNode(node, isPattern ? \"ObjectPattern\" : \"ObjectExpression\");\n};\npp$3.parseProperty = function (isPattern, refDestructuringErrors) {\n var prop = this.startNode(),\n isGenerator,\n isAsync,\n startPos,\n startLoc;\n if (this.options.ecmaVersion >= 9 && this.eat(types.ellipsis)) {\n if (isPattern) {\n prop.argument = this.parseIdent(false);\n if (this.type === types.comma) {\n this.raise(this.start, \"Comma is not permitted after the rest element\");\n }\n return this.finishNode(prop, \"RestElement\");\n }\n // To disallow parenthesized identifier via `this.toAssignable()`.\n if (this.type === types.parenL && refDestructuringErrors) {\n if (refDestructuringErrors.parenthesizedAssign < 0) {\n refDestructuringErrors.parenthesizedAssign = this.start;\n }\n if (refDestructuringErrors.parenthesizedBind < 0) {\n refDestructuringErrors.parenthesizedBind = this.start;\n }\n }\n // Parse argument.\n prop.argument = this.parseMaybeAssign(false, refDestructuringErrors);\n // To disallow trailing comma via `this.toAssignable()`.\n if (this.type === types.comma && refDestructuringErrors && refDestructuringErrors.trailingComma < 0) {\n refDestructuringErrors.trailingComma = this.start;\n }\n // Finish\n return this.finishNode(prop, \"SpreadElement\");\n }\n if (this.options.ecmaVersion >= 6) {\n prop.method = false;\n prop.shorthand = false;\n if (isPattern || refDestructuringErrors) {\n startPos = this.start;\n startLoc = this.startLoc;\n }\n if (!isPattern) {\n isGenerator = this.eat(types.star);\n }\n }\n var containsEsc = this.containsEsc;\n this.parsePropertyName(prop);\n if (!isPattern && !containsEsc && this.options.ecmaVersion >= 8 && !isGenerator && this.isAsyncProp(prop)) {\n isAsync = true;\n isGenerator = this.options.ecmaVersion >= 9 && this.eat(types.star);\n this.parsePropertyName(prop, refDestructuringErrors);\n } else {\n isAsync = false;\n }\n this.parsePropertyValue(prop, isPattern, isGenerator, isAsync, startPos, startLoc, refDestructuringErrors, containsEsc);\n return this.finishNode(prop, \"Property\");\n};\npp$3.parsePropertyValue = function (prop, isPattern, isGenerator, isAsync, startPos, startLoc, refDestructuringErrors, containsEsc) {\n if ((isGenerator || isAsync) && this.type === types.colon) {\n this.unexpected();\n }\n if (this.eat(types.colon)) {\n prop.value = isPattern ? this.parseMaybeDefault(this.start, this.startLoc) : this.parseMaybeAssign(false, refDestructuringErrors);\n prop.kind = \"init\";\n } else if (this.options.ecmaVersion >= 6 && this.type === types.parenL) {\n if (isPattern) {\n this.unexpected();\n }\n prop.kind = \"init\";\n prop.method = true;\n prop.value = this.parseMethod(isGenerator, isAsync);\n } else if (!isPattern && !containsEsc && this.options.ecmaVersion >= 5 && !prop.computed && prop.key.type === \"Identifier\" && (prop.key.name === \"get\" || prop.key.name === \"set\") && this.type !== types.comma && this.type !== types.braceR) {\n if (isGenerator || isAsync) {\n this.unexpected();\n }\n prop.kind = prop.key.name;\n this.parsePropertyName(prop);\n prop.value = this.parseMethod(false);\n var paramCount = prop.kind === \"get\" ? 0 : 1;\n if (prop.value.params.length !== paramCount) {\n var start = prop.value.start;\n if (prop.kind === \"get\") {\n this.raiseRecoverable(start, \"getter should have no params\");\n } else {\n this.raiseRecoverable(start, \"setter should have exactly one param\");\n }\n } else {\n if (prop.kind === \"set\" && prop.value.params[0].type === \"RestElement\") {\n this.raiseRecoverable(prop.value.params[0].start, \"Setter cannot use rest params\");\n }\n }\n } else if (this.options.ecmaVersion >= 6 && !prop.computed && prop.key.type === \"Identifier\") {\n this.checkUnreserved(prop.key);\n prop.kind = \"init\";\n if (isPattern) {\n prop.value = this.parseMaybeDefault(startPos, startLoc, prop.key);\n } else if (this.type === types.eq && refDestructuringErrors) {\n if (refDestructuringErrors.shorthandAssign < 0) {\n refDestructuringErrors.shorthandAssign = this.start;\n }\n prop.value = this.parseMaybeDefault(startPos, startLoc, prop.key);\n } else {\n prop.value = prop.key;\n }\n prop.shorthand = true;\n } else {\n this.unexpected();\n }\n};\npp$3.parsePropertyName = function (prop) {\n if (this.options.ecmaVersion >= 6) {\n if (this.eat(types.bracketL)) {\n prop.computed = true;\n prop.key = this.parseMaybeAssign();\n this.expect(types.bracketR);\n return prop.key;\n } else {\n prop.computed = false;\n }\n }\n return prop.key = this.type === types.num || this.type === types.string ? this.parseExprAtom() : this.parseIdent(true);\n};\n\n// Initialize empty function node.\n\npp$3.initFunction = function (node) {\n node.id = null;\n if (this.options.ecmaVersion >= 6) {\n node.generator = node.expression = false;\n }\n if (this.options.ecmaVersion >= 8) {\n node.async = false;\n }\n};\n\n// Parse object or class method.\n\npp$3.parseMethod = function (isGenerator, isAsync) {\n var node = this.startNode(),\n oldYieldPos = this.yieldPos,\n oldAwaitPos = this.awaitPos;\n this.initFunction(node);\n if (this.options.ecmaVersion >= 6) {\n node.generator = isGenerator;\n }\n if (this.options.ecmaVersion >= 8) {\n node.async = !!isAsync;\n }\n this.yieldPos = 0;\n this.awaitPos = 0;\n this.enterScope(functionFlags(isAsync, node.generator));\n this.expect(types.parenL);\n node.params = this.parseBindingList(types.parenR, false, this.options.ecmaVersion >= 8);\n this.checkYieldAwaitInDefaultParams();\n this.parseFunctionBody(node, false);\n this.yieldPos = oldYieldPos;\n this.awaitPos = oldAwaitPos;\n return this.finishNode(node, \"FunctionExpression\");\n};\n\n// Parse arrow function expression with given parameters.\n\npp$3.parseArrowExpression = function (node, params, isAsync) {\n var oldYieldPos = this.yieldPos,\n oldAwaitPos = this.awaitPos;\n this.enterScope(functionFlags(isAsync, false) | SCOPE_ARROW);\n this.initFunction(node);\n if (this.options.ecmaVersion >= 8) {\n node.async = !!isAsync;\n }\n this.yieldPos = 0;\n this.awaitPos = 0;\n node.params = this.toAssignableList(params, true);\n this.parseFunctionBody(node, true);\n this.yieldPos = oldYieldPos;\n this.awaitPos = oldAwaitPos;\n return this.finishNode(node, \"ArrowFunctionExpression\");\n};\n\n// Parse function body and check parameters.\n\npp$3.parseFunctionBody = function (node, isArrowFunction) {\n var isExpression = isArrowFunction && this.type !== types.braceL;\n var oldStrict = this.strict,\n useStrict = false;\n if (isExpression) {\n node.body = this.parseMaybeAssign();\n node.expression = true;\n this.checkParams(node, false);\n } else {\n var nonSimple = this.options.ecmaVersion >= 7 && !this.isSimpleParamList(node.params);\n if (!oldStrict || nonSimple) {\n useStrict = this.strictDirective(this.end);\n // If this is a strict mode function, verify that argument names\n // are not repeated, and it does not try to bind the words `eval`\n // or `arguments`.\n if (useStrict && nonSimple) {\n this.raiseRecoverable(node.start, \"Illegal 'use strict' directive in function with non-simple parameter list\");\n }\n }\n // Start a new scope with regard to labels and the `inFunction`\n // flag (restore them to their old value afterwards).\n var oldLabels = this.labels;\n this.labels = [];\n if (useStrict) {\n this.strict = true;\n }\n\n // Add the params to varDeclaredNames to ensure that an error is thrown\n // if a let/const declaration in the function clashes with one of the params.\n this.checkParams(node, !oldStrict && !useStrict && !isArrowFunction && this.isSimpleParamList(node.params));\n node.body = this.parseBlock(false);\n node.expression = false;\n this.adaptDirectivePrologue(node.body.body);\n this.labels = oldLabels;\n }\n this.exitScope();\n\n // Ensure the function name isn't a forbidden identifier in strict mode, e.g. 'eval'\n if (this.strict && node.id) {\n this.checkLVal(node.id, BIND_OUTSIDE);\n }\n this.strict = oldStrict;\n};\npp$3.isSimpleParamList = function (params) {\n for (var i = 0, list = params; i < list.length; i += 1) {\n var param = list[i];\n if (param.type !== \"Identifier\") {\n return false;\n }\n }\n return true;\n};\n\n// Checks function params for various disallowed patterns such as using \"eval\"\n// or \"arguments\" and duplicate parameters.\n\npp$3.checkParams = function (node, allowDuplicates) {\n var this$1 = this;\n var nameHash = {};\n for (var i = 0, list = node.params; i < list.length; i += 1) {\n var param = list[i];\n this$1.checkLVal(param, BIND_VAR, allowDuplicates ? null : nameHash);\n }\n};\n\n// Parses a comma-separated list of expressions, and returns them as\n// an array. `close` is the token type that ends the list, and\n// `allowEmpty` can be turned on to allow subsequent commas with\n// nothing in between them to be parsed as `null` (which is needed\n// for array literals).\n\npp$3.parseExprList = function (close, allowTrailingComma, allowEmpty, refDestructuringErrors) {\n var this$1 = this;\n var elts = [],\n first = true;\n while (!this.eat(close)) {\n if (!first) {\n this$1.expect(types.comma);\n if (allowTrailingComma && this$1.afterTrailingComma(close)) {\n break;\n }\n } else {\n first = false;\n }\n var elt = void 0;\n if (allowEmpty && this$1.type === types.comma) {\n elt = null;\n } else if (this$1.type === types.ellipsis) {\n elt = this$1.parseSpread(refDestructuringErrors);\n if (refDestructuringErrors && this$1.type === types.comma && refDestructuringErrors.trailingComma < 0) {\n refDestructuringErrors.trailingComma = this$1.start;\n }\n } else {\n elt = this$1.parseMaybeAssign(false, refDestructuringErrors);\n }\n elts.push(elt);\n }\n return elts;\n};\npp$3.checkUnreserved = function (ref) {\n var start = ref.start;\n var end = ref.end;\n var name = ref.name;\n if (this.inGenerator && name === \"yield\") {\n this.raiseRecoverable(start, \"Can not use 'yield' as identifier inside a generator\");\n }\n if (this.inAsync && name === \"await\") {\n this.raiseRecoverable(start, \"Can not use 'await' as identifier inside an async function\");\n }\n if (this.keywords.test(name)) {\n this.raise(start, \"Unexpected keyword '\" + name + \"'\");\n }\n if (this.options.ecmaVersion < 6 && this.input.slice(start, end).indexOf(\"\\\\\") !== -1) {\n return;\n }\n var re = this.strict ? this.reservedWordsStrict : this.reservedWords;\n if (re.test(name)) {\n if (!this.inAsync && name === \"await\") {\n this.raiseRecoverable(start, \"Can not use keyword 'await' outside an async function\");\n }\n this.raiseRecoverable(start, \"The keyword '\" + name + \"' is reserved\");\n }\n};\n\n// Parse the next token as an identifier. If `liberal` is true (used\n// when parsing properties), it will also convert keywords into\n// identifiers.\n\npp$3.parseIdent = function (liberal, isBinding) {\n var node = this.startNode();\n if (liberal && this.options.allowReserved === \"never\") {\n liberal = false;\n }\n if (this.type === types.name) {\n node.name = this.value;\n } else if (this.type.keyword) {\n node.name = this.type.keyword;\n\n // To fix https://github.com/acornjs/acorn/issues/575\n // `class` and `function` keywords push new context into this.context.\n // But there is no chance to pop the context if the keyword is consumed as an identifier such as a property name.\n // If the previous token is a dot, this does not apply because the context-managing code already ignored the keyword\n if ((node.name === \"class\" || node.name === \"function\") && (this.lastTokEnd !== this.lastTokStart + 1 || this.input.charCodeAt(this.lastTokStart) !== 46)) {\n this.context.pop();\n }\n } else {\n this.unexpected();\n }\n this.next();\n this.finishNode(node, \"Identifier\");\n if (!liberal) {\n this.checkUnreserved(node);\n }\n return node;\n};\n\n// Parses yield expression inside generator.\n\npp$3.parseYield = function () {\n if (!this.yieldPos) {\n this.yieldPos = this.start;\n }\n var node = this.startNode();\n this.next();\n if (this.type === types.semi || this.canInsertSemicolon() || this.type !== types.star && !this.type.startsExpr) {\n node.delegate = false;\n node.argument = null;\n } else {\n node.delegate = this.eat(types.star);\n node.argument = this.parseMaybeAssign();\n }\n return this.finishNode(node, \"YieldExpression\");\n};\npp$3.parseAwait = function () {\n if (!this.awaitPos) {\n this.awaitPos = this.start;\n }\n var node = this.startNode();\n this.next();\n node.argument = this.parseMaybeUnary(null, true);\n return this.finishNode(node, \"AwaitExpression\");\n};\nvar pp$4 = Parser.prototype;\n\n// This function is used to raise exceptions on parse errors. It\n// takes an offset integer (into the current `input`) to indicate\n// the location of the error, attaches the position to the end\n// of the error message, and then raises a `SyntaxError` with that\n// message.\n\npp$4.raise = function (pos, message) {\n var loc = getLineInfo(this.input, pos);\n message += \" (\" + loc.line + \":\" + loc.column + \")\";\n var err = new SyntaxError(message);\n err.pos = pos;\n err.loc = loc;\n err.raisedAt = this.pos;\n throw err;\n};\npp$4.raiseRecoverable = pp$4.raise;\npp$4.curPosition = function () {\n if (this.options.locations) {\n return new Position(this.curLine, this.pos - this.lineStart);\n }\n};\nvar pp$5 = Parser.prototype;\nvar Scope = function Scope(flags) {\n this.flags = flags;\n // A list of var-declared names in the current lexical scope\n this.var = [];\n // A list of lexically-declared names in the current lexical scope\n this.lexical = [];\n};\n\n// The functions in this module keep track of declared variables in the current scope in order to detect duplicate variable names.\n\npp$5.enterScope = function (flags) {\n this.scopeStack.push(new Scope(flags));\n};\npp$5.exitScope = function () {\n this.scopeStack.pop();\n};\npp$5.declareName = function (name, bindingType, pos) {\n var this$1 = this;\n var redeclared = false;\n if (bindingType === BIND_LEXICAL) {\n var scope = this.currentScope();\n redeclared = scope.lexical.indexOf(name) > -1 || scope.var.indexOf(name) > -1;\n scope.lexical.push(name);\n } else if (bindingType === BIND_SIMPLE_CATCH) {\n var scope$1 = this.currentScope();\n scope$1.lexical.push(name);\n } else if (bindingType === BIND_FUNCTION) {\n var scope$2 = this.currentScope();\n redeclared = scope$2.lexical.indexOf(name) > -1;\n scope$2.var.push(name);\n } else {\n for (var i = this.scopeStack.length - 1; i >= 0; --i) {\n var scope$3 = this$1.scopeStack[i];\n if (scope$3.lexical.indexOf(name) > -1 && !(scope$3.flags & SCOPE_SIMPLE_CATCH) && scope$3.lexical[0] === name) {\n redeclared = true;\n }\n scope$3.var.push(name);\n if (scope$3.flags & SCOPE_VAR) {\n break;\n }\n }\n }\n if (redeclared) {\n this.raiseRecoverable(pos, \"Identifier '\" + name + \"' has already been declared\");\n }\n};\npp$5.currentScope = function () {\n return this.scopeStack[this.scopeStack.length - 1];\n};\npp$5.currentVarScope = function () {\n var this$1 = this;\n for (var i = this.scopeStack.length - 1;; i--) {\n var scope = this$1.scopeStack[i];\n if (scope.flags & SCOPE_VAR) {\n return scope;\n }\n }\n};\npp$5.inNonArrowFunction = function () {\n var this$1 = this;\n for (var i = this.scopeStack.length - 1; i >= 0; i--) {\n if (this$1.scopeStack[i].flags & SCOPE_FUNCTION && !(this$1.scopeStack[i].flags & SCOPE_ARROW)) {\n return true;\n }\n }\n return false;\n};\nvar Node = function Node(parser, pos, loc) {\n this.type = \"\";\n this.start = pos;\n this.end = 0;\n if (parser.options.locations) {\n this.loc = new SourceLocation(parser, loc);\n }\n if (parser.options.directSourceFile) {\n this.sourceFile = parser.options.directSourceFile;\n }\n if (parser.options.ranges) {\n this.range = [pos, 0];\n }\n};\n\n// Start an AST node, attaching a start offset.\n\nvar pp$6 = Parser.prototype;\npp$6.startNode = function () {\n return new Node(this, this.start, this.startLoc);\n};\npp$6.startNodeAt = function (pos, loc) {\n return new Node(this, pos, loc);\n};\n\n// Finish an AST node, adding `type` and `end` properties.\n\nfunction finishNodeAt(node, type, pos, loc) {\n node.type = type;\n node.end = pos;\n if (this.options.locations) {\n node.loc.end = loc;\n }\n if (this.options.ranges) {\n node.range[1] = pos;\n }\n return node;\n}\npp$6.finishNode = function (node, type) {\n return finishNodeAt.call(this, node, type, this.lastTokEnd, this.lastTokEndLoc);\n};\n\n// Finish node at given position\n\npp$6.finishNodeAt = function (node, type, pos, loc) {\n return finishNodeAt.call(this, node, type, pos, loc);\n};\n\n// The algorithm used to determine whether a regexp can appear at a\n// given point in the program is loosely based on sweet.js' approach.\n// See https://github.com/mozilla/sweet.js/wiki/design\n\nvar TokContext = function TokContext(token, isExpr, preserveSpace, override, generator) {\n this.token = token;\n this.isExpr = !!isExpr;\n this.preserveSpace = !!preserveSpace;\n this.override = override;\n this.generator = !!generator;\n};\nvar types$1 = {\n b_stat: new TokContext(\"{\", false),\n b_expr: new TokContext(\"{\", true),\n b_tmpl: new TokContext(\"${\", false),\n p_stat: new TokContext(\"(\", false),\n p_expr: new TokContext(\"(\", true),\n q_tmpl: new TokContext(\"`\", true, true, function (p) {\n return p.tryReadTemplateToken();\n }),\n f_stat: new TokContext(\"function\", false),\n f_expr: new TokContext(\"function\", true),\n f_expr_gen: new TokContext(\"function\", true, false, null, true),\n f_gen: new TokContext(\"function\", false, false, null, true)\n};\nvar pp$7 = Parser.prototype;\npp$7.initialContext = function () {\n return [types$1.b_stat];\n};\npp$7.braceIsBlock = function (prevType) {\n var parent = this.curContext();\n if (parent === types$1.f_expr || parent === types$1.f_stat) {\n return true;\n }\n if (prevType === types.colon && (parent === types$1.b_stat || parent === types$1.b_expr)) {\n return !parent.isExpr;\n }\n\n // The check for `tt.name && exprAllowed` detects whether we are\n // after a `yield` or `of` construct. See the `updateContext` for\n // `tt.name`.\n if (prevType === types._return || prevType === types.name && this.exprAllowed) {\n return lineBreak.test(this.input.slice(this.lastTokEnd, this.start));\n }\n if (prevType === types._else || prevType === types.semi || prevType === types.eof || prevType === types.parenR || prevType === types.arrow) {\n return true;\n }\n if (prevType === types.braceL) {\n return parent === types$1.b_stat;\n }\n if (prevType === types._var || prevType === types.name) {\n return false;\n }\n return !this.exprAllowed;\n};\npp$7.inGeneratorContext = function () {\n var this$1 = this;\n for (var i = this.context.length - 1; i >= 1; i--) {\n var context = this$1.context[i];\n if (context.token === \"function\") {\n return context.generator;\n }\n }\n return false;\n};\npp$7.updateContext = function (prevType) {\n var update,\n type = this.type;\n if (type.keyword && prevType === types.dot) {\n this.exprAllowed = false;\n } else if (update = type.updateContext) {\n update.call(this, prevType);\n } else {\n this.exprAllowed = type.beforeExpr;\n }\n};\n\n// Token-specific context update code\n\ntypes.parenR.updateContext = types.braceR.updateContext = function () {\n if (this.context.length === 1) {\n this.exprAllowed = true;\n return;\n }\n var out = this.context.pop();\n if (out === types$1.b_stat && this.curContext().token === \"function\") {\n out = this.context.pop();\n }\n this.exprAllowed = !out.isExpr;\n};\ntypes.braceL.updateContext = function (prevType) {\n this.context.push(this.braceIsBlock(prevType) ? types$1.b_stat : types$1.b_expr);\n this.exprAllowed = true;\n};\ntypes.dollarBraceL.updateContext = function () {\n this.context.push(types$1.b_tmpl);\n this.exprAllowed = true;\n};\ntypes.parenL.updateContext = function (prevType) {\n var statementParens = prevType === types._if || prevType === types._for || prevType === types._with || prevType === types._while;\n this.context.push(statementParens ? types$1.p_stat : types$1.p_expr);\n this.exprAllowed = true;\n};\ntypes.incDec.updateContext = function () {\n // tokExprAllowed stays unchanged\n};\ntypes._function.updateContext = types._class.updateContext = function (prevType) {\n if (prevType.beforeExpr && prevType !== types.semi && prevType !== types._else && !((prevType === types.colon || prevType === types.braceL) && this.curContext() === types$1.b_stat)) {\n this.context.push(types$1.f_expr);\n } else {\n this.context.push(types$1.f_stat);\n }\n this.exprAllowed = false;\n};\ntypes.backQuote.updateContext = function () {\n if (this.curContext() === types$1.q_tmpl) {\n this.context.pop();\n } else {\n this.context.push(types$1.q_tmpl);\n }\n this.exprAllowed = false;\n};\ntypes.star.updateContext = function (prevType) {\n if (prevType === types._function) {\n var index = this.context.length - 1;\n if (this.context[index] === types$1.f_expr) {\n this.context[index] = types$1.f_expr_gen;\n } else {\n this.context[index] = types$1.f_gen;\n }\n }\n this.exprAllowed = true;\n};\ntypes.name.updateContext = function (prevType) {\n var allowed = false;\n if (this.options.ecmaVersion >= 6 && prevType !== types.dot) {\n if (this.value === \"of\" && !this.exprAllowed || this.value === \"yield\" && this.inGeneratorContext()) {\n allowed = true;\n }\n }\n this.exprAllowed = allowed;\n};\nvar data = {\n \"$LONE\": [\"ASCII\", \"ASCII_Hex_Digit\", \"AHex\", \"Alphabetic\", \"Alpha\", \"Any\", \"Assigned\", \"Bidi_Control\", \"Bidi_C\", \"Bidi_Mirrored\", \"Bidi_M\", \"Case_Ignorable\", \"CI\", \"Cased\", \"Changes_When_Casefolded\", \"CWCF\", \"Changes_When_Casemapped\", \"CWCM\", \"Changes_When_Lowercased\", \"CWL\", \"Changes_When_NFKC_Casefolded\", \"CWKCF\", \"Changes_When_Titlecased\", \"CWT\", \"Changes_When_Uppercased\", \"CWU\", \"Dash\", \"Default_Ignorable_Code_Point\", \"DI\", \"Deprecated\", \"Dep\", \"Diacritic\", \"Dia\", \"Emoji\", \"Emoji_Component\", \"Emoji_Modifier\", \"Emoji_Modifier_Base\", \"Emoji_Presentation\", \"Extender\", \"Ext\", \"Grapheme_Base\", \"Gr_Base\", \"Grapheme_Extend\", \"Gr_Ext\", \"Hex_Digit\", \"Hex\", \"IDS_Binary_Operator\", \"IDSB\", \"IDS_Trinary_Operator\", \"IDST\", \"ID_Continue\", \"IDC\", \"ID_Start\", \"IDS\", \"Ideographic\", \"Ideo\", \"Join_Control\", \"Join_C\", \"Logical_Order_Exception\", \"LOE\", \"Lowercase\", \"Lower\", \"Math\", \"Noncharacter_Code_Point\", \"NChar\", \"Pattern_Syntax\", \"Pat_Syn\", \"Pattern_White_Space\", \"Pat_WS\", \"Quotation_Mark\", \"QMark\", \"Radical\", \"Regional_Indicator\", \"RI\", \"Sentence_Terminal\", \"STerm\", \"Soft_Dotted\", \"SD\", \"Terminal_Punctuation\", \"Term\", \"Unified_Ideograph\", \"UIdeo\", \"Uppercase\", \"Upper\", \"Variation_Selector\", \"VS\", \"White_Space\", \"space\", \"XID_Continue\", \"XIDC\", \"XID_Start\", \"XIDS\"],\n \"General_Category\": [\"Cased_Letter\", \"LC\", \"Close_Punctuation\", \"Pe\", \"Connector_Punctuation\", \"Pc\", \"Control\", \"Cc\", \"cntrl\", \"Currency_Symbol\", \"Sc\", \"Dash_Punctuation\", \"Pd\", \"Decimal_Number\", \"Nd\", \"digit\", \"Enclosing_Mark\", \"Me\", \"Final_Punctuation\", \"Pf\", \"Format\", \"Cf\", \"Initial_Punctuation\", \"Pi\", \"Letter\", \"L\", \"Letter_Number\", \"Nl\", \"Line_Separator\", \"Zl\", \"Lowercase_Letter\", \"Ll\", \"Mark\", \"M\", \"Combining_Mark\", \"Math_Symbol\", \"Sm\", \"Modifier_Letter\", \"Lm\", \"Modifier_Symbol\", \"Sk\", \"Nonspacing_Mark\", \"Mn\", \"Number\", \"N\", \"Open_Punctuation\", \"Ps\", \"Other\", \"C\", \"Other_Letter\", \"Lo\", \"Other_Number\", \"No\", \"Other_Punctuation\", \"Po\", \"Other_Symbol\", \"So\", \"Paragraph_Separator\", \"Zp\", \"Private_Use\", \"Co\", \"Punctuation\", \"P\", \"punct\", \"Separator\", \"Z\", \"Space_Separator\", \"Zs\", \"Spacing_Mark\", \"Mc\", \"Surrogate\", \"Cs\", \"Symbol\", \"S\", \"Titlecase_Letter\", \"Lt\", \"Unassigned\", \"Cn\", \"Uppercase_Letter\", \"Lu\"],\n \"Script\": [\"Adlam\", \"Adlm\", \"Ahom\", \"Anatolian_Hieroglyphs\", \"Hluw\", \"Arabic\", \"Arab\", \"Armenian\", \"Armn\", \"Avestan\", \"Avst\", \"Balinese\", \"Bali\", \"Bamum\", \"Bamu\", \"Bassa_Vah\", \"Bass\", \"Batak\", \"Batk\", \"Bengali\", \"Beng\", \"Bhaiksuki\", \"Bhks\", \"Bopomofo\", \"Bopo\", \"Brahmi\", \"Brah\", \"Braille\", \"Brai\", \"Buginese\", \"Bugi\", \"Buhid\", \"Buhd\", \"Canadian_Aboriginal\", \"Cans\", \"Carian\", \"Cari\", \"Caucasian_Albanian\", \"Aghb\", \"Chakma\", \"Cakm\", \"Cham\", \"Cherokee\", \"Cher\", \"Common\", \"Zyyy\", \"Coptic\", \"Copt\", \"Qaac\", \"Cuneiform\", \"Xsux\", \"Cypriot\", \"Cprt\", \"Cyrillic\", \"Cyrl\", \"Deseret\", \"Dsrt\", \"Devanagari\", \"Deva\", \"Duployan\", \"Dupl\", \"Egyptian_Hieroglyphs\", \"Egyp\", \"Elbasan\", \"Elba\", \"Ethiopic\", \"Ethi\", \"Georgian\", \"Geor\", \"Glagolitic\", \"Glag\", \"Gothic\", \"Goth\", \"Grantha\", \"Gran\", \"Greek\", \"Grek\", \"Gujarati\", \"Gujr\", \"Gurmukhi\", \"Guru\", \"Han\", \"Hani\", \"Hangul\", \"Hang\", \"Hanunoo\", \"Hano\", \"Hatran\", \"Hatr\", \"Hebrew\", \"Hebr\", \"Hiragana\", \"Hira\", \"Imperial_Aramaic\", \"Armi\", \"Inherited\", \"Zinh\", \"Qaai\", \"Inscriptional_Pahlavi\", \"Phli\", \"Inscriptional_Parthian\", \"Prti\", \"Javanese\", \"Java\", \"Kaithi\", \"Kthi\", \"Kannada\", \"Knda\", \"Katakana\", \"Kana\", \"Kayah_Li\", \"Kali\", \"Kharoshthi\", \"Khar\", \"Khmer\", \"Khmr\", \"Khojki\", \"Khoj\", \"Khudawadi\", \"Sind\", \"Lao\", \"Laoo\", \"Latin\", \"Latn\", \"Lepcha\", \"Lepc\", \"Limbu\", \"Limb\", \"Linear_A\", \"Lina\", \"Linear_B\", \"Linb\", \"Lisu\", \"Lycian\", \"Lyci\", \"Lydian\", \"Lydi\", \"Mahajani\", \"Mahj\", \"Malayalam\", \"Mlym\", \"Mandaic\", \"Mand\", \"Manichaean\", \"Mani\", \"Marchen\", \"Marc\", \"Masaram_Gondi\", \"Gonm\", \"Meetei_Mayek\", \"Mtei\", \"Mende_Kikakui\", \"Mend\", \"Meroitic_Cursive\", \"Merc\", \"Meroitic_Hieroglyphs\", \"Mero\", \"Miao\", \"Plrd\", \"Modi\", \"Mongolian\", \"Mong\", \"Mro\", \"Mroo\", \"Multani\", \"Mult\", \"Myanmar\", \"Mymr\", \"Nabataean\", \"Nbat\", \"New_Tai_Lue\", \"Talu\", \"Newa\", \"Nko\", \"Nkoo\", \"Nushu\", \"Nshu\", \"Ogham\", \"Ogam\", \"Ol_Chiki\", \"Olck\", \"Old_Hungarian\", \"Hung\", \"Old_Italic\", \"Ital\", \"Old_North_Arabian\", \"Narb\", \"Old_Permic\", \"Perm\", \"Old_Persian\", \"Xpeo\", \"Old_South_Arabian\", \"Sarb\", \"Old_Turkic\", \"Orkh\", \"Oriya\", \"Orya\", \"Osage\", \"Osge\", \"Osmanya\", \"Osma\", \"Pahawh_Hmong\", \"Hmng\", \"Palmyrene\", \"Palm\", \"Pau_Cin_Hau\", \"Pauc\", \"Phags_Pa\", \"Phag\", \"Phoenician\", \"Phnx\", \"Psalter_Pahlavi\", \"Phlp\", \"Rejang\", \"Rjng\", \"Runic\", \"Runr\", \"Samaritan\", \"Samr\", \"Saurashtra\", \"Saur\", \"Sharada\", \"Shrd\", \"Shavian\", \"Shaw\", \"Siddham\", \"Sidd\", \"SignWriting\", \"Sgnw\", \"Sinhala\", \"Sinh\", \"Sora_Sompeng\", \"Sora\", \"Soyombo\", \"Soyo\", \"Sundanese\", \"Sund\", \"Syloti_Nagri\", \"Sylo\", \"Syriac\", \"Syrc\", \"Tagalog\", \"Tglg\", \"Tagbanwa\", \"Tagb\", \"Tai_Le\", \"Tale\", \"Tai_Tham\", \"Lana\", \"Tai_Viet\", \"Tavt\", \"Takri\", \"Takr\", \"Tamil\", \"Taml\", \"Tangut\", \"Tang\", \"Telugu\", \"Telu\", \"Thaana\", \"Thaa\", \"Thai\", \"Tibetan\", \"Tibt\", \"Tifinagh\", \"Tfng\", \"Tirhuta\", \"Tirh\", \"Ugaritic\", \"Ugar\", \"Vai\", \"Vaii\", \"Warang_Citi\", \"Wara\", \"Yi\", \"Yiii\", \"Zanabazar_Square\", \"Zanb\"]\n};\nArray.prototype.push.apply(data.$LONE, data.General_Category);\ndata.gc = data.General_Category;\ndata.sc = data.Script_Extensions = data.scx = data.Script;\nvar pp$9 = Parser.prototype;\nvar RegExpValidationState = function RegExpValidationState(parser) {\n this.parser = parser;\n this.validFlags = \"gim\" + (parser.options.ecmaVersion >= 6 ? \"uy\" : \"\") + (parser.options.ecmaVersion >= 9 ? \"s\" : \"\");\n this.source = \"\";\n this.flags = \"\";\n this.start = 0;\n this.switchU = false;\n this.switchN = false;\n this.pos = 0;\n this.lastIntValue = 0;\n this.lastStringValue = \"\";\n this.lastAssertionIsQuantifiable = false;\n this.numCapturingParens = 0;\n this.maxBackReference = 0;\n this.groupNames = [];\n this.backReferenceNames = [];\n};\nRegExpValidationState.prototype.reset = function reset(start, pattern, flags) {\n var unicode = flags.indexOf(\"u\") !== -1;\n this.start = start | 0;\n this.source = pattern + \"\";\n this.flags = flags;\n this.switchU = unicode && this.parser.options.ecmaVersion >= 6;\n this.switchN = unicode && this.parser.options.ecmaVersion >= 9;\n};\nRegExpValidationState.prototype.raise = function raise(message) {\n this.parser.raiseRecoverable(this.start, \"Invalid regular expression: /\" + this.source + \"/: \" + message);\n};\n\n// If u flag is given, this returns the code point at the index (it combines a surrogate pair).\n// Otherwise, this returns the code unit of the index (can be a part of a surrogate pair).\nRegExpValidationState.prototype.at = function at(i) {\n var s = this.source;\n var l = s.length;\n if (i >= l) {\n return -1;\n }\n var c = s.charCodeAt(i);\n if (!this.switchU || c <= 0xD7FF || c >= 0xE000 || i + 1 >= l) {\n return c;\n }\n return (c << 10) + s.charCodeAt(i + 1) - 0x35FDC00;\n};\nRegExpValidationState.prototype.nextIndex = function nextIndex(i) {\n var s = this.source;\n var l = s.length;\n if (i >= l) {\n return l;\n }\n var c = s.charCodeAt(i);\n if (!this.switchU || c <= 0xD7FF || c >= 0xE000 || i + 1 >= l) {\n return i + 1;\n }\n return i + 2;\n};\nRegExpValidationState.prototype.current = function current() {\n return this.at(this.pos);\n};\nRegExpValidationState.prototype.lookahead = function lookahead() {\n return this.at(this.nextIndex(this.pos));\n};\nRegExpValidationState.prototype.advance = function advance() {\n this.pos = this.nextIndex(this.pos);\n};\nRegExpValidationState.prototype.eat = function eat(ch) {\n if (this.current() === ch) {\n this.advance();\n return true;\n }\n return false;\n};\nfunction codePointToString$1(ch) {\n if (ch <= 0xFFFF) {\n return String.fromCharCode(ch);\n }\n ch -= 0x10000;\n return String.fromCharCode((ch >> 10) + 0xD800, (ch & 0x03FF) + 0xDC00);\n}\n\n/**\n * Validate the flags part of a given RegExpLiteral.\n *\n * @param {RegExpValidationState} state The state to validate RegExp.\n * @returns {void}\n */\npp$9.validateRegExpFlags = function (state) {\n var this$1 = this;\n var validFlags = state.validFlags;\n var flags = state.flags;\n for (var i = 0; i < flags.length; i++) {\n var flag = flags.charAt(i);\n if (validFlags.indexOf(flag) === -1) {\n this$1.raise(state.start, \"Invalid regular expression flag\");\n }\n if (flags.indexOf(flag, i + 1) > -1) {\n this$1.raise(state.start, \"Duplicate regular expression flag\");\n }\n }\n};\n\n/**\n * Validate the pattern part of a given RegExpLiteral.\n *\n * @param {RegExpValidationState} state The state to validate RegExp.\n * @returns {void}\n */\npp$9.validateRegExpPattern = function (state) {\n this.regexp_pattern(state);\n\n // The goal symbol for the parse is |Pattern[~U, ~N]|. If the result of\n // parsing contains a |GroupName|, reparse with the goal symbol\n // |Pattern[~U, +N]| and use this result instead. Throw a *SyntaxError*\n // exception if _P_ did not conform to the grammar, if any elements of _P_\n // were not matched by the parse, or if any Early Error conditions exist.\n if (!state.switchN && this.options.ecmaVersion >= 9 && state.groupNames.length > 0) {\n state.switchN = true;\n this.regexp_pattern(state);\n }\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-Pattern\npp$9.regexp_pattern = function (state) {\n state.pos = 0;\n state.lastIntValue = 0;\n state.lastStringValue = \"\";\n state.lastAssertionIsQuantifiable = false;\n state.numCapturingParens = 0;\n state.maxBackReference = 0;\n state.groupNames.length = 0;\n state.backReferenceNames.length = 0;\n this.regexp_disjunction(state);\n if (state.pos !== state.source.length) {\n // Make the same messages as V8.\n if (state.eat(0x29 /* ) */)) {\n state.raise(\"Unmatched ')'\");\n }\n if (state.eat(0x5D /* [ */) || state.eat(0x7D /* } */)) {\n state.raise(\"Lone quantifier brackets\");\n }\n }\n if (state.maxBackReference > state.numCapturingParens) {\n state.raise(\"Invalid escape\");\n }\n for (var i = 0, list = state.backReferenceNames; i < list.length; i += 1) {\n var name = list[i];\n if (state.groupNames.indexOf(name) === -1) {\n state.raise(\"Invalid named capture referenced\");\n }\n }\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-Disjunction\npp$9.regexp_disjunction = function (state) {\n var this$1 = this;\n this.regexp_alternative(state);\n while (state.eat(0x7C /* | */)) {\n this$1.regexp_alternative(state);\n }\n\n // Make the same message as V8.\n if (this.regexp_eatQuantifier(state, true)) {\n state.raise(\"Nothing to repeat\");\n }\n if (state.eat(0x7B /* { */)) {\n state.raise(\"Lone quantifier brackets\");\n }\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-Alternative\npp$9.regexp_alternative = function (state) {\n while (state.pos < state.source.length && this.regexp_eatTerm(state)) {}\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-Term\npp$9.regexp_eatTerm = function (state) {\n if (this.regexp_eatAssertion(state)) {\n // Handle `QuantifiableAssertion Quantifier` alternative.\n // `state.lastAssertionIsQuantifiable` is true if the last eaten Assertion\n // is a QuantifiableAssertion.\n if (state.lastAssertionIsQuantifiable && this.regexp_eatQuantifier(state)) {\n // Make the same message as V8.\n if (state.switchU) {\n state.raise(\"Invalid quantifier\");\n }\n }\n return true;\n }\n if (state.switchU ? this.regexp_eatAtom(state) : this.regexp_eatExtendedAtom(state)) {\n this.regexp_eatQuantifier(state);\n return true;\n }\n return false;\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-Assertion\npp$9.regexp_eatAssertion = function (state) {\n var start = state.pos;\n state.lastAssertionIsQuantifiable = false;\n\n // ^, $\n if (state.eat(0x5E /* ^ */) || state.eat(0x24 /* $ */)) {\n return true;\n }\n\n // \\b \\B\n if (state.eat(0x5C /* \\ */)) {\n if (state.eat(0x42 /* B */) || state.eat(0x62 /* b */)) {\n return true;\n }\n state.pos = start;\n }\n\n // Lookahead / Lookbehind\n if (state.eat(0x28 /* ( */) && state.eat(0x3F /* ? */)) {\n var lookbehind = false;\n if (this.options.ecmaVersion >= 9) {\n lookbehind = state.eat(0x3C /* < */);\n }\n\n if (state.eat(0x3D /* = */) || state.eat(0x21 /* ! */)) {\n this.regexp_disjunction(state);\n if (!state.eat(0x29 /* ) */)) {\n state.raise(\"Unterminated group\");\n }\n state.lastAssertionIsQuantifiable = !lookbehind;\n return true;\n }\n }\n state.pos = start;\n return false;\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-Quantifier\npp$9.regexp_eatQuantifier = function (state, noError) {\n if (noError === void 0) noError = false;\n if (this.regexp_eatQuantifierPrefix(state, noError)) {\n state.eat(0x3F /* ? */);\n return true;\n }\n return false;\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-QuantifierPrefix\npp$9.regexp_eatQuantifierPrefix = function (state, noError) {\n return state.eat(0x2A /* * */) || state.eat(0x2B /* + */) || state.eat(0x3F /* ? */) || this.regexp_eatBracedQuantifier(state, noError);\n};\npp$9.regexp_eatBracedQuantifier = function (state, noError) {\n var start = state.pos;\n if (state.eat(0x7B /* { */)) {\n var min = 0,\n max = -1;\n if (this.regexp_eatDecimalDigits(state)) {\n min = state.lastIntValue;\n if (state.eat(0x2C /* , */) && this.regexp_eatDecimalDigits(state)) {\n max = state.lastIntValue;\n }\n if (state.eat(0x7D /* } */)) {\n // SyntaxError in https://www.ecma-international.org/ecma-262/8.0/#sec-term\n if (max !== -1 && max < min && !noError) {\n state.raise(\"numbers out of order in {} quantifier\");\n }\n return true;\n }\n }\n if (state.switchU && !noError) {\n state.raise(\"Incomplete quantifier\");\n }\n state.pos = start;\n }\n return false;\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-Atom\npp$9.regexp_eatAtom = function (state) {\n return this.regexp_eatPatternCharacters(state) || state.eat(0x2E /* . */) || this.regexp_eatReverseSolidusAtomEscape(state) || this.regexp_eatCharacterClass(state) || this.regexp_eatUncapturingGroup(state) || this.regexp_eatCapturingGroup(state);\n};\npp$9.regexp_eatReverseSolidusAtomEscape = function (state) {\n var start = state.pos;\n if (state.eat(0x5C /* \\ */)) {\n if (this.regexp_eatAtomEscape(state)) {\n return true;\n }\n state.pos = start;\n }\n return false;\n};\npp$9.regexp_eatUncapturingGroup = function (state) {\n var start = state.pos;\n if (state.eat(0x28 /* ( */)) {\n if (state.eat(0x3F /* ? */) && state.eat(0x3A /* : */)) {\n this.regexp_disjunction(state);\n if (state.eat(0x29 /* ) */)) {\n return true;\n }\n state.raise(\"Unterminated group\");\n }\n state.pos = start;\n }\n return false;\n};\npp$9.regexp_eatCapturingGroup = function (state) {\n if (state.eat(0x28 /* ( */)) {\n if (this.options.ecmaVersion >= 9) {\n this.regexp_groupSpecifier(state);\n } else if (state.current() === 0x3F /* ? */) {\n state.raise(\"Invalid group\");\n }\n this.regexp_disjunction(state);\n if (state.eat(0x29 /* ) */)) {\n state.numCapturingParens += 1;\n return true;\n }\n state.raise(\"Unterminated group\");\n }\n return false;\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ExtendedAtom\npp$9.regexp_eatExtendedAtom = function (state) {\n return state.eat(0x2E /* . */) || this.regexp_eatReverseSolidusAtomEscape(state) || this.regexp_eatCharacterClass(state) || this.regexp_eatUncapturingGroup(state) || this.regexp_eatCapturingGroup(state) || this.regexp_eatInvalidBracedQuantifier(state) || this.regexp_eatExtendedPatternCharacter(state);\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-InvalidBracedQuantifier\npp$9.regexp_eatInvalidBracedQuantifier = function (state) {\n if (this.regexp_eatBracedQuantifier(state, true)) {\n state.raise(\"Nothing to repeat\");\n }\n return false;\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-SyntaxCharacter\npp$9.regexp_eatSyntaxCharacter = function (state) {\n var ch = state.current();\n if (isSyntaxCharacter(ch)) {\n state.lastIntValue = ch;\n state.advance();\n return true;\n }\n return false;\n};\nfunction isSyntaxCharacter(ch) {\n return ch === 0x24 /* $ */ || ch >= 0x28 /* ( */ && ch <= 0x2B /* + */ || ch === 0x2E /* . */ || ch === 0x3F /* ? */ || ch >= 0x5B /* [ */ && ch <= 0x5E /* ^ */ || ch >= 0x7B /* { */ && ch <= 0x7D /* } */;\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-PatternCharacter\n// But eat eager.\npp$9.regexp_eatPatternCharacters = function (state) {\n var start = state.pos;\n var ch = 0;\n while ((ch = state.current()) !== -1 && !isSyntaxCharacter(ch)) {\n state.advance();\n }\n return state.pos !== start;\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ExtendedPatternCharacter\npp$9.regexp_eatExtendedPatternCharacter = function (state) {\n var ch = state.current();\n if (ch !== -1 && ch !== 0x24 /* $ */ && !(ch >= 0x28 /* ( */ && ch <= 0x2B /* + */) && ch !== 0x2E /* . */ && ch !== 0x3F /* ? */ && ch !== 0x5B /* [ */ && ch !== 0x5E /* ^ */ && ch !== 0x7C /* | */) {\n state.advance();\n return true;\n }\n return false;\n};\n\n// GroupSpecifier[U] ::\n// [empty]\n// `?` GroupName[?U]\npp$9.regexp_groupSpecifier = function (state) {\n if (state.eat(0x3F /* ? */)) {\n if (this.regexp_eatGroupName(state)) {\n if (state.groupNames.indexOf(state.lastStringValue) !== -1) {\n state.raise(\"Duplicate capture group name\");\n }\n state.groupNames.push(state.lastStringValue);\n return;\n }\n state.raise(\"Invalid group\");\n }\n};\n\n// GroupName[U] ::\n// `<` RegExpIdentifierName[?U] `>`\n// Note: this updates `state.lastStringValue` property with the eaten name.\npp$9.regexp_eatGroupName = function (state) {\n state.lastStringValue = \"\";\n if (state.eat(0x3C /* < */)) {\n if (this.regexp_eatRegExpIdentifierName(state) && state.eat(0x3E /* > */)) {\n return true;\n }\n state.raise(\"Invalid capture group name\");\n }\n return false;\n};\n\n// RegExpIdentifierName[U] ::\n// RegExpIdentifierStart[?U]\n// RegExpIdentifierName[?U] RegExpIdentifierPart[?U]\n// Note: this updates `state.lastStringValue` property with the eaten name.\npp$9.regexp_eatRegExpIdentifierName = function (state) {\n state.lastStringValue = \"\";\n if (this.regexp_eatRegExpIdentifierStart(state)) {\n state.lastStringValue += codePointToString$1(state.lastIntValue);\n while (this.regexp_eatRegExpIdentifierPart(state)) {\n state.lastStringValue += codePointToString$1(state.lastIntValue);\n }\n return true;\n }\n return false;\n};\n\n// RegExpIdentifierStart[U] ::\n// UnicodeIDStart\n// `$`\n// `_`\n// `\\` RegExpUnicodeEscapeSequence[?U]\npp$9.regexp_eatRegExpIdentifierStart = function (state) {\n var start = state.pos;\n var ch = state.current();\n state.advance();\n if (ch === 0x5C /* \\ */ && this.regexp_eatRegExpUnicodeEscapeSequence(state)) {\n ch = state.lastIntValue;\n }\n if (isRegExpIdentifierStart(ch)) {\n state.lastIntValue = ch;\n return true;\n }\n state.pos = start;\n return false;\n};\nfunction isRegExpIdentifierStart(ch) {\n return isIdentifierStart(ch, true) || ch === 0x24 /* $ */ || ch === 0x5F; /* _ */\n}\n\n// RegExpIdentifierPart[U] ::\n// UnicodeIDContinue\n// `$`\n// `_`\n// `\\` RegExpUnicodeEscapeSequence[?U]\n// \n// \npp$9.regexp_eatRegExpIdentifierPart = function (state) {\n var start = state.pos;\n var ch = state.current();\n state.advance();\n if (ch === 0x5C /* \\ */ && this.regexp_eatRegExpUnicodeEscapeSequence(state)) {\n ch = state.lastIntValue;\n }\n if (isRegExpIdentifierPart(ch)) {\n state.lastIntValue = ch;\n return true;\n }\n state.pos = start;\n return false;\n};\nfunction isRegExpIdentifierPart(ch) {\n return isIdentifierChar(ch, true) || ch === 0x24 /* $ */ || ch === 0x5F /* _ */ || ch === 0x200C /* */ || ch === 0x200D; /* */\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-AtomEscape\npp$9.regexp_eatAtomEscape = function (state) {\n if (this.regexp_eatBackReference(state) || this.regexp_eatCharacterClassEscape(state) || this.regexp_eatCharacterEscape(state) || state.switchN && this.regexp_eatKGroupName(state)) {\n return true;\n }\n if (state.switchU) {\n // Make the same message as V8.\n if (state.current() === 0x63 /* c */) {\n state.raise(\"Invalid unicode escape\");\n }\n state.raise(\"Invalid escape\");\n }\n return false;\n};\npp$9.regexp_eatBackReference = function (state) {\n var start = state.pos;\n if (this.regexp_eatDecimalEscape(state)) {\n var n = state.lastIntValue;\n if (state.switchU) {\n // For SyntaxError in https://www.ecma-international.org/ecma-262/8.0/#sec-atomescape\n if (n > state.maxBackReference) {\n state.maxBackReference = n;\n }\n return true;\n }\n if (n <= state.numCapturingParens) {\n return true;\n }\n state.pos = start;\n }\n return false;\n};\npp$9.regexp_eatKGroupName = function (state) {\n if (state.eat(0x6B /* k */)) {\n if (this.regexp_eatGroupName(state)) {\n state.backReferenceNames.push(state.lastStringValue);\n return true;\n }\n state.raise(\"Invalid named reference\");\n }\n return false;\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-CharacterEscape\npp$9.regexp_eatCharacterEscape = function (state) {\n return this.regexp_eatControlEscape(state) || this.regexp_eatCControlLetter(state) || this.regexp_eatZero(state) || this.regexp_eatHexEscapeSequence(state) || this.regexp_eatRegExpUnicodeEscapeSequence(state) || !state.switchU && this.regexp_eatLegacyOctalEscapeSequence(state) || this.regexp_eatIdentityEscape(state);\n};\npp$9.regexp_eatCControlLetter = function (state) {\n var start = state.pos;\n if (state.eat(0x63 /* c */)) {\n if (this.regexp_eatControlLetter(state)) {\n return true;\n }\n state.pos = start;\n }\n return false;\n};\npp$9.regexp_eatZero = function (state) {\n if (state.current() === 0x30 /* 0 */ && !isDecimalDigit(state.lookahead())) {\n state.lastIntValue = 0;\n state.advance();\n return true;\n }\n return false;\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-ControlEscape\npp$9.regexp_eatControlEscape = function (state) {\n var ch = state.current();\n if (ch === 0x74 /* t */) {\n state.lastIntValue = 0x09; /* \\t */\n state.advance();\n return true;\n }\n if (ch === 0x6E /* n */) {\n state.lastIntValue = 0x0A; /* \\n */\n state.advance();\n return true;\n }\n if (ch === 0x76 /* v */) {\n state.lastIntValue = 0x0B; /* \\v */\n state.advance();\n return true;\n }\n if (ch === 0x66 /* f */) {\n state.lastIntValue = 0x0C; /* \\f */\n state.advance();\n return true;\n }\n if (ch === 0x72 /* r */) {\n state.lastIntValue = 0x0D; /* \\r */\n state.advance();\n return true;\n }\n return false;\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-ControlLetter\npp$9.regexp_eatControlLetter = function (state) {\n var ch = state.current();\n if (isControlLetter(ch)) {\n state.lastIntValue = ch % 0x20;\n state.advance();\n return true;\n }\n return false;\n};\nfunction isControlLetter(ch) {\n return ch >= 0x41 /* A */ && ch <= 0x5A /* Z */ || ch >= 0x61 /* a */ && ch <= 0x7A /* z */;\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-RegExpUnicodeEscapeSequence\npp$9.regexp_eatRegExpUnicodeEscapeSequence = function (state) {\n var start = state.pos;\n if (state.eat(0x75 /* u */)) {\n if (this.regexp_eatFixedHexDigits(state, 4)) {\n var lead = state.lastIntValue;\n if (state.switchU && lead >= 0xD800 && lead <= 0xDBFF) {\n var leadSurrogateEnd = state.pos;\n if (state.eat(0x5C /* \\ */) && state.eat(0x75 /* u */) && this.regexp_eatFixedHexDigits(state, 4)) {\n var trail = state.lastIntValue;\n if (trail >= 0xDC00 && trail <= 0xDFFF) {\n state.lastIntValue = (lead - 0xD800) * 0x400 + (trail - 0xDC00) + 0x10000;\n return true;\n }\n }\n state.pos = leadSurrogateEnd;\n state.lastIntValue = lead;\n }\n return true;\n }\n if (state.switchU && state.eat(0x7B /* { */) && this.regexp_eatHexDigits(state) && state.eat(0x7D /* } */) && isValidUnicode(state.lastIntValue)) {\n return true;\n }\n if (state.switchU) {\n state.raise(\"Invalid unicode escape\");\n }\n state.pos = start;\n }\n return false;\n};\nfunction isValidUnicode(ch) {\n return ch >= 0 && ch <= 0x10FFFF;\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-IdentityEscape\npp$9.regexp_eatIdentityEscape = function (state) {\n if (state.switchU) {\n if (this.regexp_eatSyntaxCharacter(state)) {\n return true;\n }\n if (state.eat(0x2F /* / */)) {\n state.lastIntValue = 0x2F; /* / */\n return true;\n }\n return false;\n }\n var ch = state.current();\n if (ch !== 0x63 /* c */ && (!state.switchN || ch !== 0x6B /* k */)) {\n state.lastIntValue = ch;\n state.advance();\n return true;\n }\n return false;\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-DecimalEscape\npp$9.regexp_eatDecimalEscape = function (state) {\n state.lastIntValue = 0;\n var ch = state.current();\n if (ch >= 0x31 /* 1 */ && ch <= 0x39 /* 9 */) {\n do {\n state.lastIntValue = 10 * state.lastIntValue + (ch - 0x30 /* 0 */);\n state.advance();\n } while ((ch = state.current()) >= 0x30 /* 0 */ && ch <= 0x39 /* 9 */);\n return true;\n }\n return false;\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-CharacterClassEscape\npp$9.regexp_eatCharacterClassEscape = function (state) {\n var ch = state.current();\n if (isCharacterClassEscape(ch)) {\n state.lastIntValue = -1;\n state.advance();\n return true;\n }\n if (state.switchU && this.options.ecmaVersion >= 9 && (ch === 0x50 /* P */ || ch === 0x70 /* p */)) {\n state.lastIntValue = -1;\n state.advance();\n if (state.eat(0x7B /* { */) && this.regexp_eatUnicodePropertyValueExpression(state) && state.eat(0x7D /* } */)) {\n return true;\n }\n state.raise(\"Invalid property name\");\n }\n return false;\n};\nfunction isCharacterClassEscape(ch) {\n return ch === 0x64 /* d */ || ch === 0x44 /* D */ || ch === 0x73 /* s */ || ch === 0x53 /* S */ || ch === 0x77 /* w */ || ch === 0x57 /* W */;\n}\n\n// UnicodePropertyValueExpression ::\n// UnicodePropertyName `=` UnicodePropertyValue\n// LoneUnicodePropertyNameOrValue\npp$9.regexp_eatUnicodePropertyValueExpression = function (state) {\n var start = state.pos;\n\n // UnicodePropertyName `=` UnicodePropertyValue\n if (this.regexp_eatUnicodePropertyName(state) && state.eat(0x3D /* = */)) {\n var name = state.lastStringValue;\n if (this.regexp_eatUnicodePropertyValue(state)) {\n var value = state.lastStringValue;\n this.regexp_validateUnicodePropertyNameAndValue(state, name, value);\n return true;\n }\n }\n state.pos = start;\n\n // LoneUnicodePropertyNameOrValue\n if (this.regexp_eatLoneUnicodePropertyNameOrValue(state)) {\n var nameOrValue = state.lastStringValue;\n this.regexp_validateUnicodePropertyNameOrValue(state, nameOrValue);\n return true;\n }\n return false;\n};\npp$9.regexp_validateUnicodePropertyNameAndValue = function (state, name, value) {\n if (!data.hasOwnProperty(name) || data[name].indexOf(value) === -1) {\n state.raise(\"Invalid property name\");\n }\n};\npp$9.regexp_validateUnicodePropertyNameOrValue = function (state, nameOrValue) {\n if (data.$LONE.indexOf(nameOrValue) === -1) {\n state.raise(\"Invalid property name\");\n }\n};\n\n// UnicodePropertyName ::\n// UnicodePropertyNameCharacters\npp$9.regexp_eatUnicodePropertyName = function (state) {\n var ch = 0;\n state.lastStringValue = \"\";\n while (isUnicodePropertyNameCharacter(ch = state.current())) {\n state.lastStringValue += codePointToString$1(ch);\n state.advance();\n }\n return state.lastStringValue !== \"\";\n};\nfunction isUnicodePropertyNameCharacter(ch) {\n return isControlLetter(ch) || ch === 0x5F; /* _ */\n}\n\n// UnicodePropertyValue ::\n// UnicodePropertyValueCharacters\npp$9.regexp_eatUnicodePropertyValue = function (state) {\n var ch = 0;\n state.lastStringValue = \"\";\n while (isUnicodePropertyValueCharacter(ch = state.current())) {\n state.lastStringValue += codePointToString$1(ch);\n state.advance();\n }\n return state.lastStringValue !== \"\";\n};\nfunction isUnicodePropertyValueCharacter(ch) {\n return isUnicodePropertyNameCharacter(ch) || isDecimalDigit(ch);\n}\n\n// LoneUnicodePropertyNameOrValue ::\n// UnicodePropertyValueCharacters\npp$9.regexp_eatLoneUnicodePropertyNameOrValue = function (state) {\n return this.regexp_eatUnicodePropertyValue(state);\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-CharacterClass\npp$9.regexp_eatCharacterClass = function (state) {\n if (state.eat(0x5B /* [ */)) {\n state.eat(0x5E /* ^ */);\n this.regexp_classRanges(state);\n if (state.eat(0x5D /* [ */)) {\n return true;\n }\n // Unreachable since it threw \"unterminated regular expression\" error before.\n state.raise(\"Unterminated character class\");\n }\n return false;\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-ClassRanges\n// https://www.ecma-international.org/ecma-262/8.0/#prod-NonemptyClassRanges\n// https://www.ecma-international.org/ecma-262/8.0/#prod-NonemptyClassRangesNoDash\npp$9.regexp_classRanges = function (state) {\n var this$1 = this;\n while (this.regexp_eatClassAtom(state)) {\n var left = state.lastIntValue;\n if (state.eat(0x2D /* - */) && this$1.regexp_eatClassAtom(state)) {\n var right = state.lastIntValue;\n if (state.switchU && (left === -1 || right === -1)) {\n state.raise(\"Invalid character class\");\n }\n if (left !== -1 && right !== -1 && left > right) {\n state.raise(\"Range out of order in character class\");\n }\n }\n }\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-ClassAtom\n// https://www.ecma-international.org/ecma-262/8.0/#prod-ClassAtomNoDash\npp$9.regexp_eatClassAtom = function (state) {\n var start = state.pos;\n if (state.eat(0x5C /* \\ */)) {\n if (this.regexp_eatClassEscape(state)) {\n return true;\n }\n if (state.switchU) {\n // Make the same message as V8.\n var ch$1 = state.current();\n if (ch$1 === 0x63 /* c */ || isOctalDigit(ch$1)) {\n state.raise(\"Invalid class escape\");\n }\n state.raise(\"Invalid escape\");\n }\n state.pos = start;\n }\n var ch = state.current();\n if (ch !== 0x5D /* [ */) {\n state.lastIntValue = ch;\n state.advance();\n return true;\n }\n return false;\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ClassEscape\npp$9.regexp_eatClassEscape = function (state) {\n var start = state.pos;\n if (state.eat(0x62 /* b */)) {\n state.lastIntValue = 0x08; /* */\n return true;\n }\n if (state.switchU && state.eat(0x2D /* - */)) {\n state.lastIntValue = 0x2D; /* - */\n return true;\n }\n if (!state.switchU && state.eat(0x63 /* c */)) {\n if (this.regexp_eatClassControlLetter(state)) {\n return true;\n }\n state.pos = start;\n }\n return this.regexp_eatCharacterClassEscape(state) || this.regexp_eatCharacterEscape(state);\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ClassControlLetter\npp$9.regexp_eatClassControlLetter = function (state) {\n var ch = state.current();\n if (isDecimalDigit(ch) || ch === 0x5F /* _ */) {\n state.lastIntValue = ch % 0x20;\n state.advance();\n return true;\n }\n return false;\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-HexEscapeSequence\npp$9.regexp_eatHexEscapeSequence = function (state) {\n var start = state.pos;\n if (state.eat(0x78 /* x */)) {\n if (this.regexp_eatFixedHexDigits(state, 2)) {\n return true;\n }\n if (state.switchU) {\n state.raise(\"Invalid escape\");\n }\n state.pos = start;\n }\n return false;\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-DecimalDigits\npp$9.regexp_eatDecimalDigits = function (state) {\n var start = state.pos;\n var ch = 0;\n state.lastIntValue = 0;\n while (isDecimalDigit(ch = state.current())) {\n state.lastIntValue = 10 * state.lastIntValue + (ch - 0x30 /* 0 */);\n state.advance();\n }\n return state.pos !== start;\n};\nfunction isDecimalDigit(ch) {\n return ch >= 0x30 /* 0 */ && ch <= 0x39; /* 9 */\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-HexDigits\npp$9.regexp_eatHexDigits = function (state) {\n var start = state.pos;\n var ch = 0;\n state.lastIntValue = 0;\n while (isHexDigit(ch = state.current())) {\n state.lastIntValue = 16 * state.lastIntValue + hexToInt(ch);\n state.advance();\n }\n return state.pos !== start;\n};\nfunction isHexDigit(ch) {\n return ch >= 0x30 /* 0 */ && ch <= 0x39 /* 9 */ || ch >= 0x41 /* A */ && ch <= 0x46 /* F */ || ch >= 0x61 /* a */ && ch <= 0x66 /* f */;\n}\n\nfunction hexToInt(ch) {\n if (ch >= 0x41 /* A */ && ch <= 0x46 /* F */) {\n return 10 + (ch - 0x41 /* A */);\n }\n\n if (ch >= 0x61 /* a */ && ch <= 0x66 /* f */) {\n return 10 + (ch - 0x61 /* a */);\n }\n\n return ch - 0x30; /* 0 */\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-LegacyOctalEscapeSequence\n// Allows only 0-377(octal) i.e. 0-255(decimal).\npp$9.regexp_eatLegacyOctalEscapeSequence = function (state) {\n if (this.regexp_eatOctalDigit(state)) {\n var n1 = state.lastIntValue;\n if (this.regexp_eatOctalDigit(state)) {\n var n2 = state.lastIntValue;\n if (n1 <= 3 && this.regexp_eatOctalDigit(state)) {\n state.lastIntValue = n1 * 64 + n2 * 8 + state.lastIntValue;\n } else {\n state.lastIntValue = n1 * 8 + n2;\n }\n } else {\n state.lastIntValue = n1;\n }\n return true;\n }\n return false;\n};\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-OctalDigit\npp$9.regexp_eatOctalDigit = function (state) {\n var ch = state.current();\n if (isOctalDigit(ch)) {\n state.lastIntValue = ch - 0x30; /* 0 */\n state.advance();\n return true;\n }\n state.lastIntValue = 0;\n return false;\n};\nfunction isOctalDigit(ch) {\n return ch >= 0x30 /* 0 */ && ch <= 0x37; /* 7 */\n}\n\n// https://www.ecma-international.org/ecma-262/8.0/#prod-Hex4Digits\n// https://www.ecma-international.org/ecma-262/8.0/#prod-HexDigit\n// And HexDigit HexDigit in https://www.ecma-international.org/ecma-262/8.0/#prod-HexEscapeSequence\npp$9.regexp_eatFixedHexDigits = function (state, length) {\n var start = state.pos;\n state.lastIntValue = 0;\n for (var i = 0; i < length; ++i) {\n var ch = state.current();\n if (!isHexDigit(ch)) {\n state.pos = start;\n return false;\n }\n state.lastIntValue = 16 * state.lastIntValue + hexToInt(ch);\n state.advance();\n }\n return true;\n};\n\n// Object type used to represent tokens. Note that normally, tokens\n// simply exist as properties on the parser object. This is only\n// used for the onToken callback and the external tokenizer.\n\nvar Token = function Token(p) {\n this.type = p.type;\n this.value = p.value;\n this.start = p.start;\n this.end = p.end;\n if (p.options.locations) {\n this.loc = new SourceLocation(p, p.startLoc, p.endLoc);\n }\n if (p.options.ranges) {\n this.range = [p.start, p.end];\n }\n};\n\n// ## Tokenizer\n\nvar pp$8 = Parser.prototype;\n\n// Move to the next token\n\npp$8.next = function () {\n if (this.options.onToken) {\n this.options.onToken(new Token(this));\n }\n this.lastTokEnd = this.end;\n this.lastTokStart = this.start;\n this.lastTokEndLoc = this.endLoc;\n this.lastTokStartLoc = this.startLoc;\n this.nextToken();\n};\npp$8.getToken = function () {\n this.next();\n return new Token(this);\n};\n\n// If we're in an ES6 environment, make parsers iterable\nif (typeof Symbol !== \"undefined\") {\n pp$8[Symbol.iterator] = function () {\n var this$1 = this;\n return {\n next: function () {\n var token = this$1.getToken();\n return {\n done: token.type === types.eof,\n value: token\n };\n }\n };\n };\n}\n\n// Toggle strict mode. Re-reads the next number or string to please\n// pedantic tests (`\"use strict\"; 010;` should fail).\n\npp$8.curContext = function () {\n return this.context[this.context.length - 1];\n};\n\n// Read a single token, updating the parser object's token-related\n// properties.\n\npp$8.nextToken = function () {\n var curContext = this.curContext();\n if (!curContext || !curContext.preserveSpace) {\n this.skipSpace();\n }\n this.start = this.pos;\n if (this.options.locations) {\n this.startLoc = this.curPosition();\n }\n if (this.pos >= this.input.length) {\n return this.finishToken(types.eof);\n }\n if (curContext.override) {\n return curContext.override(this);\n } else {\n this.readToken(this.fullCharCodeAtPos());\n }\n};\npp$8.readToken = function (code) {\n // Identifier or keyword. '\\uXXXX' sequences are allowed in\n // identifiers, so '\\' also dispatches to that.\n if (isIdentifierStart(code, this.options.ecmaVersion >= 6) || code === 92 /* '\\' */) {\n return this.readWord();\n }\n return this.getTokenFromCode(code);\n};\npp$8.fullCharCodeAtPos = function () {\n var code = this.input.charCodeAt(this.pos);\n if (code <= 0xd7ff || code >= 0xe000) {\n return code;\n }\n var next = this.input.charCodeAt(this.pos + 1);\n return (code << 10) + next - 0x35fdc00;\n};\npp$8.skipBlockComment = function () {\n var this$1 = this;\n var startLoc = this.options.onComment && this.curPosition();\n var start = this.pos,\n end = this.input.indexOf(\"*/\", this.pos += 2);\n if (end === -1) {\n this.raise(this.pos - 2, \"Unterminated comment\");\n }\n this.pos = end + 2;\n if (this.options.locations) {\n lineBreakG.lastIndex = start;\n var match;\n while ((match = lineBreakG.exec(this.input)) && match.index < this.pos) {\n ++this$1.curLine;\n this$1.lineStart = match.index + match[0].length;\n }\n }\n if (this.options.onComment) {\n this.options.onComment(true, this.input.slice(start + 2, end), start, this.pos, startLoc, this.curPosition());\n }\n};\npp$8.skipLineComment = function (startSkip) {\n var this$1 = this;\n var start = this.pos;\n var startLoc = this.options.onComment && this.curPosition();\n var ch = this.input.charCodeAt(this.pos += startSkip);\n while (this.pos < this.input.length && !isNewLine(ch)) {\n ch = this$1.input.charCodeAt(++this$1.pos);\n }\n if (this.options.onComment) {\n this.options.onComment(false, this.input.slice(start + startSkip, this.pos), start, this.pos, startLoc, this.curPosition());\n }\n};\n\n// Called at the start of the parse and after every token. Skips\n// whitespace and comments, and.\n\npp$8.skipSpace = function () {\n var this$1 = this;\n loop: while (this.pos < this.input.length) {\n var ch = this$1.input.charCodeAt(this$1.pos);\n switch (ch) {\n case 32:\n case 160:\n // ' '\n ++this$1.pos;\n break;\n case 13:\n if (this$1.input.charCodeAt(this$1.pos + 1) === 10) {\n ++this$1.pos;\n }\n case 10:\n case 8232:\n case 8233:\n ++this$1.pos;\n if (this$1.options.locations) {\n ++this$1.curLine;\n this$1.lineStart = this$1.pos;\n }\n break;\n case 47:\n // '/'\n switch (this$1.input.charCodeAt(this$1.pos + 1)) {\n case 42:\n // '*'\n this$1.skipBlockComment();\n break;\n case 47:\n this$1.skipLineComment(2);\n break;\n default:\n break loop;\n }\n break;\n default:\n if (ch > 8 && ch < 14 || ch >= 5760 && nonASCIIwhitespace.test(String.fromCharCode(ch))) {\n ++this$1.pos;\n } else {\n break loop;\n }\n }\n }\n};\n\n// Called at the end of every token. Sets `end`, `val`, and\n// maintains `context` and `exprAllowed`, and skips the space after\n// the token, so that the next one's `start` will point at the\n// right position.\n\npp$8.finishToken = function (type, val) {\n this.end = this.pos;\n if (this.options.locations) {\n this.endLoc = this.curPosition();\n }\n var prevType = this.type;\n this.type = type;\n this.value = val;\n this.updateContext(prevType);\n};\n\n// ### Token reading\n\n// This is the function that is called to fetch the next token. It\n// is somewhat obscure, because it works in character codes rather\n// than characters, and because operator parsing has been inlined\n// into it.\n//\n// All in the name of speed.\n//\npp$8.readToken_dot = function () {\n var next = this.input.charCodeAt(this.pos + 1);\n if (next >= 48 && next <= 57) {\n return this.readNumber(true);\n }\n var next2 = this.input.charCodeAt(this.pos + 2);\n if (this.options.ecmaVersion >= 6 && next === 46 && next2 === 46) {\n // 46 = dot '.'\n this.pos += 3;\n return this.finishToken(types.ellipsis);\n } else {\n ++this.pos;\n return this.finishToken(types.dot);\n }\n};\npp$8.readToken_slash = function () {\n // '/'\n var next = this.input.charCodeAt(this.pos + 1);\n if (this.exprAllowed) {\n ++this.pos;\n return this.readRegexp();\n }\n if (next === 61) {\n return this.finishOp(types.assign, 2);\n }\n return this.finishOp(types.slash, 1);\n};\npp$8.readToken_mult_modulo_exp = function (code) {\n // '%*'\n var next = this.input.charCodeAt(this.pos + 1);\n var size = 1;\n var tokentype = code === 42 ? types.star : types.modulo;\n\n // exponentiation operator ** and **=\n if (this.options.ecmaVersion >= 7 && code === 42 && next === 42) {\n ++size;\n tokentype = types.starstar;\n next = this.input.charCodeAt(this.pos + 2);\n }\n if (next === 61) {\n return this.finishOp(types.assign, size + 1);\n }\n return this.finishOp(tokentype, size);\n};\npp$8.readToken_pipe_amp = function (code) {\n // '|&'\n var next = this.input.charCodeAt(this.pos + 1);\n if (next === code) {\n return this.finishOp(code === 124 ? types.logicalOR : types.logicalAND, 2);\n }\n if (next === 61) {\n return this.finishOp(types.assign, 2);\n }\n return this.finishOp(code === 124 ? types.bitwiseOR : types.bitwiseAND, 1);\n};\npp$8.readToken_caret = function () {\n // '^'\n var next = this.input.charCodeAt(this.pos + 1);\n if (next === 61) {\n return this.finishOp(types.assign, 2);\n }\n return this.finishOp(types.bitwiseXOR, 1);\n};\npp$8.readToken_plus_min = function (code) {\n // '+-'\n var next = this.input.charCodeAt(this.pos + 1);\n if (next === code) {\n if (next === 45 && !this.inModule && this.input.charCodeAt(this.pos + 2) === 62 && (this.lastTokEnd === 0 || lineBreak.test(this.input.slice(this.lastTokEnd, this.pos)))) {\n // A `-->` line comment\n this.skipLineComment(3);\n this.skipSpace();\n return this.nextToken();\n }\n return this.finishOp(types.incDec, 2);\n }\n if (next === 61) {\n return this.finishOp(types.assign, 2);\n }\n return this.finishOp(types.plusMin, 1);\n};\npp$8.readToken_lt_gt = function (code) {\n // '<>'\n var next = this.input.charCodeAt(this.pos + 1);\n var size = 1;\n if (next === code) {\n size = code === 62 && this.input.charCodeAt(this.pos + 2) === 62 ? 3 : 2;\n if (this.input.charCodeAt(this.pos + size) === 61) {\n return this.finishOp(types.assign, size + 1);\n }\n return this.finishOp(types.bitShift, size);\n }\n if (next === 33 && code === 60 && !this.inModule && this.input.charCodeAt(this.pos + 2) === 45 && this.input.charCodeAt(this.pos + 3) === 45) {\n // ` - - - diff --git a/pr-preview/pr-991/formatting/index.html b/pr-preview/pr-991/formatting/index.html deleted file mode 100644 index f7acc3989..000000000 --- a/pr-preview/pr-991/formatting/index.html +++ /dev/null @@ -1,37 +0,0 @@ -Formatting | Tanka
      That's my logoGrafana TankaFlexible, reusable and concise configuration for Kubernetes
      Edit page
      IntroductionInstallation
      Tutorial
      Writing Jsonnet
      Libraries
      Advanced features
      References
      Frequently asked questionsKnown issues

      File Formatting

      Tanka supports formatting for all jsonnet and libsonnet files using the tk fmt command.

      By default, the command excludes all vendor directories.

      # Run for current and child directories. Run this in the root of the project to format all your files.
      -tk fmt .
      -
      -# Format a single file (myFile.jsonnet)
      -tk fmt myFile.jsonnet
      -
      -# Use the `-t` tag to test (Dry run).
      -tk fmt -t myFile.jsonnet
      -
      -# Format using verbose mode.
      -tk fmt -v .
      \ No newline at end of file diff --git a/pr-preview/pr-991/framework-3d5d6f3c5ba6d5f455c5.js b/pr-preview/pr-991/framework-3d5d6f3c5ba6d5f455c5.js deleted file mode 100644 index c14fa92b6..000000000 --- a/pr-preview/pr-991/framework-3d5d6f3c5ba6d5f455c5.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! For license information please see framework-3d5d6f3c5ba6d5f455c5.js.LICENSE.txt */ -(window.webpackJsonp=window.webpackJsonp||[]).push([[36],{"16Al":function(e,t,n){"use strict";var r=n("WbBG");function l(){}function i(){}i.resetWarningCache=l,e.exports=function(){function e(e,t,n,l,i,a){if(a!==r){var o=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw o.name="Invariant Violation",o}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:l};return n.PropTypes=n,n}},"17x9":function(e,t,n){e.exports=n("16Al")()},JhMR:function(e,t,n){"use strict";e.exports=n("KqkS")},KqkS:function(e,t,n){"use strict";var r,l,i,a,o;if("undefined"==typeof window||"function"!=typeof MessageChannel){var u=null,c=null,s=function(){if(null!==u)try{var e=t.unstable_now();u(!0,e),u=null}catch(n){throw setTimeout(s,0),n}},f=Date.now();t.unstable_now=function(){return Date.now()-f},r=function(e){null!==u?setTimeout(r,0,e):(u=e,setTimeout(s,0))},l=function(e,t){c=setTimeout(e,t)},i=function(){clearTimeout(c)},a=function(){return!1},o=t.unstable_forceFrameRate=function(){}}else{var d=window.performance,p=window.Date,m=window.setTimeout,h=window.clearTimeout;if("undefined"!=typeof console){var v=window.cancelAnimationFrame;"function"!=typeof window.requestAnimationFrame&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills"),"function"!=typeof v&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills")}if("object"==typeof d&&"function"==typeof d.now)t.unstable_now=function(){return d.now()};else{var g=p.now();t.unstable_now=function(){return p.now()-g}}var y=!1,b=null,w=-1,k=5,x=0;a=function(){return t.unstable_now()>=x},o=function(){},t.unstable_forceFrameRate=function(e){0>e||125>>1,l=e[r];if(!(void 0!==l&&0P(a,n))void 0!==u&&0>P(u,a)?(e[r]=u,e[o]=n,r=o):(e[r]=a,e[i]=n,r=i);else{if(!(void 0!==u&&0>P(u,n)))break e;e[r]=u,e[o]=n,r=o}}}return t}return null}function P(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}var N=[],z=[],O=1,R=null,M=3,I=!1,F=!1,D=!1;function L(e){for(var t=C(z);null!==t;){if(null===t.callback)_(z);else{if(!(t.startTime<=e))break;_(z),t.sortIndex=t.expirationTime,S(N,t)}t=C(z)}}function A(e){if(D=!1,L(e),!F)if(null!==C(N))F=!0,r(U);else{var t=C(z);null!==t&&l(A,t.startTime-e)}}function U(e,n){F=!1,D&&(D=!1,i()),I=!0;var r=M;try{for(L(n),R=C(N);null!==R&&(!(R.expirationTime>n)||e&&!a());){var o=R.callback;if(null!==o){R.callback=null,M=R.priorityLevel;var u=o(R.expirationTime<=n);n=t.unstable_now(),"function"==typeof u?R.callback=u:R===C(N)&&_(N),L(n)}else _(N);R=C(N)}if(null!==R)var c=!0;else{var s=C(z);null!==s&&l(A,s.startTime-n),c=!1}return c}finally{R=null,M=r,I=!1}}function V(e){switch(e){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1e4;default:return 5e3}}var W=o;t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){F||I||(F=!0,r(U))},t.unstable_getCurrentPriorityLevel=function(){return M},t.unstable_getFirstCallbackNode=function(){return C(N)},t.unstable_next=function(e){switch(M){case 1:case 2:case 3:var t=3;break;default:t=M}var n=M;M=t;try{return e()}finally{M=n}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=W,t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=M;M=e;try{return t()}finally{M=n}},t.unstable_scheduleCallback=function(e,n,a){var o=t.unstable_now();if("object"==typeof a&&null!==a){var u=a.delay;u="number"==typeof u&&0o?(e.sortIndex=u,S(z,e),null===C(N)&&e===C(z)&&(D?i():D=!0,l(A,u-o))):(e.sortIndex=a,S(N,e),F||I||(F=!0,r(U))),e},t.unstable_shouldYield=function(){var e=t.unstable_now();L(e);var n=C(N);return n!==R&&null!==R&&null!==n&&null!==n.callback&&n.startTime<=e&&n.expirationTimez.length&&z.push(e)}function M(e,t,n){return null==e?0:function e(t,n,r,l){var o=typeof t;"undefined"!==o&&"boolean"!==o||(t=null);var u=!1;if(null===t)u=!0;else switch(o){case"string":case"number":u=!0;break;case"object":switch(t.$$typeof){case i:case a:u=!0}}if(u)return r(l,t,""===n?"."+I(t,0):n),1;if(u=0,n=""===n?".":n+":",Array.isArray(t))for(var c=0;c

    {`If you happen to have a local `}{`Go`}{` toolchain available, you can build from source using `}{`go install`}{`:`}