UNPKG

next13-starter

Version:

Start a Next13 Zustand TypeScript project in few second!

20 lines (18 loc) 81.4 kB
"use strict"; /* * ATTENTION: An "eval-source-map" devtool has been used. * This devtool is neither made for production nor for readable output files. * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) * or disable the default devtool with "devtool: false". * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). */ exports.id = "vendor-chunks/styled-components"; exports.ids = ["vendor-chunks/styled-components"]; exports.modules = { /***/ "(ssr)/./node_modules/styled-components/dist/styled-components.cjs.js": /*!**********************************************************************!*\ !*** ./node_modules/styled-components/dist/styled-components.cjs.js ***! \**********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { eval("Object.defineProperty(exports, \"__esModule\", ({value:!0}));var e=__webpack_require__(/*! tslib */ \"(ssr)/./node_modules/tslib/tslib.es6.mjs\"),t=__webpack_require__(/*! @emotion/is-prop-valid */ \"(ssr)/./node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js\"),n=__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"),r=__webpack_require__(/*! shallowequal */ \"(ssr)/./node_modules/shallowequal/index.js\"),o=__webpack_require__(/*! stylis */ \"(ssr)/./node_modules/stylis/dist/umd/stylis.js\"),s=__webpack_require__(/*! @emotion/unitless */ \"(ssr)/./node_modules/@emotion/unitless/dist/emotion-unitless.esm.js\");function i(e){return e&&e.__esModule?e:{default:e}}function a(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach(function(n){if(\"default\"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}}),t.default=e,Object.freeze(t)}var c=/*#__PURE__*/i(t),u=/*#__PURE__*/i(n),l=/*#__PURE__*/i(r),p=/*#__PURE__*/a(o),d=/*#__PURE__*/i(s),h=\"undefined\"!=typeof process&&void 0!==process.env&&(process.env.REACT_APP_SC_ATTR||process.env.SC_ATTR)||\"data-styled\",f=\"undefined\"!=typeof window&&\"HTMLElement\"in window,m=Boolean(\"boolean\"==typeof SC_DISABLE_SPEEDY?SC_DISABLE_SPEEDY:\"undefined\"!=typeof process&&void 0!==process.env&&void 0!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&\"\"!==process.env.REACT_APP_SC_DISABLE_SPEEDY?\"false\"!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&process.env.REACT_APP_SC_DISABLE_SPEEDY:\"undefined\"!=typeof process&&void 0!==process.env&&void 0!==process.env.SC_DISABLE_SPEEDY&&\"\"!==process.env.SC_DISABLE_SPEEDY?\"false\"!==process.env.SC_DISABLE_SPEEDY&&process.env.SC_DISABLE_SPEEDY:\"production\"!==\"development\"),y={},v=/invalid hook call/i,g=new Set,S=function(t,r){if(true){var o=r?' with the id of \"'.concat(r,'\"'):\"\",s=\"The component \".concat(t).concat(o,\" has been created dynamically.\\n\")+\"You may see this warning because you've called styled inside another component.\\nTo resolve this only create new StyledComponents outside of any render method and function component.\",i=console.error;try{var a=!0;console.error=function(t){for(var n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];v.test(t)?(a=!1,g.delete(s)):i.apply(void 0,e.__spreadArray([t],n,!1))},n.useRef(),a&&!g.has(s)&&(console.warn(s),g.add(s))}catch(e){v.test(e.message)&&g.delete(s)}finally{console.error=i}}},w=Object.freeze([]),_=Object.freeze({});function b(e,t,n){return void 0===n&&(n=_),e.theme!==n.theme&&e.theme||t||n.theme}var E=new Set([\"a\",\"abbr\",\"address\",\"area\",\"article\",\"aside\",\"audio\",\"b\",\"base\",\"bdi\",\"bdo\",\"big\",\"blockquote\",\"body\",\"br\",\"button\",\"canvas\",\"caption\",\"cite\",\"code\",\"col\",\"colgroup\",\"data\",\"datalist\",\"dd\",\"del\",\"details\",\"dfn\",\"dialog\",\"div\",\"dl\",\"dt\",\"em\",\"embed\",\"fieldset\",\"figcaption\",\"figure\",\"footer\",\"form\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"header\",\"hgroup\",\"hr\",\"html\",\"i\",\"iframe\",\"img\",\"input\",\"ins\",\"kbd\",\"keygen\",\"label\",\"legend\",\"li\",\"link\",\"main\",\"map\",\"mark\",\"menu\",\"menuitem\",\"meta\",\"meter\",\"nav\",\"noscript\",\"object\",\"ol\",\"optgroup\",\"option\",\"output\",\"p\",\"param\",\"picture\",\"pre\",\"progress\",\"q\",\"rp\",\"rt\",\"ruby\",\"s\",\"samp\",\"script\",\"section\",\"select\",\"small\",\"source\",\"span\",\"strong\",\"style\",\"sub\",\"summary\",\"sup\",\"table\",\"tbody\",\"td\",\"textarea\",\"tfoot\",\"th\",\"thead\",\"time\",\"tr\",\"track\",\"u\",\"ul\",\"use\",\"var\",\"video\",\"wbr\",\"circle\",\"clipPath\",\"defs\",\"ellipse\",\"foreignObject\",\"g\",\"image\",\"line\",\"linearGradient\",\"marker\",\"mask\",\"path\",\"pattern\",\"polygon\",\"polyline\",\"radialGradient\",\"rect\",\"stop\",\"svg\",\"text\",\"tspan\"]),N=/[!\"#$%&'()*+,./:;<=>?@[\\\\\\]^`{|}~-]+/g,P=/(^-|-$)/g;function C(e){return e.replace(N,\"-\").replace(P,\"\")}var A=/(a)(d)/gi,I=function(e){return String.fromCharCode(e+(e>25?39:97))};function O(e){var t,n=\"\";for(t=Math.abs(e);t>52;t=t/52|0)n=I(t%52)+n;return(I(t%52)+n).replace(A,\"$1-$2\")}var x,D=function(e,t){for(var n=t.length;n;)e=33*e^t.charCodeAt(--n);return e},T=function(e){return D(5381,e)};function R(e){return O(T(e)>>>0)}function j(e){return true&&\"string\"==typeof e&&e||e.displayName||e.name||\"Component\"}function k(e){return\"string\"==typeof e&&( false||e.charAt(0)===e.charAt(0).toLowerCase())}var V=\"function\"==typeof Symbol&&Symbol.for,M=V?Symbol.for(\"react.memo\"):60115,F=V?Symbol.for(\"react.forward_ref\"):60112,z={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},$={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},B={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},q=((x={})[F]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},x[M]=B,x);function G(e){return(\"type\"in(t=e)&&t.type.$$typeof)===M?B:\"$$typeof\"in e?q[e.$$typeof]:z;var t}var L=Object.defineProperty,Y=Object.getOwnPropertyNames,W=Object.getOwnPropertySymbols,H=Object.getOwnPropertyDescriptor,U=Object.getPrototypeOf,J=Object.prototype;function X(e,t,n){if(\"string\"!=typeof t){if(J){var r=U(t);r&&r!==J&&X(e,r,n)}var o=Y(t);W&&(o=o.concat(W(t)));for(var s=G(e),i=G(t),a=0;a<o.length;++a){var c=o[a];if(!(c in $||n&&n[c]||i&&c in i||s&&c in s)){var u=H(t,c);try{L(e,c,u)}catch(e){}}}}return e}function Z(e){return\"function\"==typeof e}function K(e){return\"object\"==typeof e&&\"styledComponentId\"in e}function Q(e,t){return e&&t?\"\".concat(e,\" \").concat(t):e||t||\"\"}function ee(e,t){if(0===e.length)return\"\";for(var n=e[0],r=1;r<e.length;r++)n+=t?t+e[r]:e[r];return n}function te(e){return null!==e&&\"object\"==typeof e&&e.constructor.name===Object.name&&!(\"props\"in e&&e.$$typeof)}function ne(e,t,n){if(void 0===n&&(n=!1),!n&&!te(e)&&!Array.isArray(e))return t;if(Array.isArray(t))for(var r=0;r<t.length;r++)e[r]=ne(e[r],t[r]);else if(te(t))for(var r in t)e[r]=ne(e[r],t[r]);return e}function re(e,t){Object.defineProperty(e,\"toString\",{value:t})}var oe= true?{1:\"Cannot create styled-component for component: %s.\\n\\n\",2:\"Can't collect styles once you've consumed a `ServerStyleSheet`'s styles! `ServerStyleSheet` is a one off instance for each server-side render cycle.\\n\\n- Are you trying to reuse it across renders?\\n- Are you accidentally calling collectStyles twice?\\n\\n\",3:\"Streaming SSR is only supported in a Node.js environment; Please do not try to call this method in the browser.\\n\\n\",4:\"The `StyleSheetManager` expects a valid target or sheet prop!\\n\\n- Does this error occur on the client and is your target falsy?\\n- Does this error occur on the server and is the sheet falsy?\\n\\n\",5:\"The clone method cannot be used on the client!\\n\\n- Are you running in a client-like environment on the server?\\n- Are you trying to run SSR on the client?\\n\\n\",6:\"Trying to insert a new style tag, but the given Node is unmounted!\\n\\n- Are you using a custom target that isn't mounted?\\n- Does your document not have a valid head element?\\n- Have you accidentally removed a style tag manually?\\n\\n\",7:'ThemeProvider: Please return an object from your \"theme\" prop function, e.g.\\n\\n```js\\ntheme={() => ({})}\\n```\\n\\n',8:'ThemeProvider: Please make your \"theme\" prop an object.\\n\\n',9:\"Missing document `<head>`\\n\\n\",10:\"Cannot find a StyleSheet instance. Usually this happens if there are multiple copies of styled-components loaded at once. Check out this issue for how to troubleshoot and fix the common cases where this situation can happen: https://github.com/styled-components/styled-components/issues/1941#issuecomment-417862021\\n\\n\",11:\"_This error was replaced with a dev-time warning, it will be deleted for v4 final._ [createGlobalStyle] received children which will not be rendered. Please use the component without passing children elements.\\n\\n\",12:\"It seems you are interpolating a keyframe declaration (%s) into an untagged string. This was supported in styled-components v3, but is not longer supported in v4 as keyframes are now injected on-demand. Please wrap your string in the css\\\\`\\\\` helper which ensures the styles are injected correctly. See https://www.styled-components.com/docs/api#css\\n\\n\",13:\"%s is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.\\n\\n\",14:'ThemeProvider: \"theme\" prop is required.\\n\\n',15:\"A stylis plugin has been supplied that is not named. We need a name for each plugin to be able to prevent styling collisions between different stylis configurations within the same app. Before you pass your plugin to `<StyleSheetManager stylisPlugins={[]}>`, please make sure each plugin is uniquely-named, e.g.\\n\\n```js\\nObject.defineProperty(importedPlugin, 'name', { value: 'some-unique-name' });\\n```\\n\\n\",16:\"Reached the limit of how many styled components may be created at group %s.\\nYou may only create up to 1,073,741,824 components. If you're creating components dynamically,\\nas for instance in your render method then you may be running into this limitation.\\n\\n\",17:\"CSSStyleSheet could not be found on HTMLStyleElement.\\nHas styled-components' style tag been unmounted or altered by another script?\\n\",18:\"ThemeProvider: Please make sure your useTheme hook is within a `<ThemeProvider>`\"}:0;function se(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];for(var n=e[0],r=[],o=1,s=e.length;o<s;o+=1)r.push(e[o]);return r.forEach(function(e){n=n.replace(/%[a-z]/,e)}),n}function ie(t){for(var n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];return false?0:new Error(se.apply(void 0,e.__spreadArray([oe[t]],n,!1)).trim())}var ae=function(){function e(e){this.groupSizes=new Uint32Array(512),this.length=512,this.tag=e}return e.prototype.indexOfGroup=function(e){for(var t=0,n=0;n<e;n++)t+=this.groupSizes[n];return t},e.prototype.insertRules=function(e,t){if(e>=this.groupSizes.length){for(var n=this.groupSizes,r=n.length,o=r;e>=o;)if((o<<=1)<0)throw ie(16,\"\".concat(e));this.groupSizes=new Uint32Array(o),this.groupSizes.set(n),this.length=o;for(var s=r;s<o;s++)this.groupSizes[s]=0}for(var i=this.indexOfGroup(e+1),a=(s=0,t.length);s<a;s++)this.tag.insertRule(i,t[s])&&(this.groupSizes[e]++,i++)},e.prototype.clearGroup=function(e){if(e<this.length){var t=this.groupSizes[e],n=this.indexOfGroup(e),r=n+t;this.groupSizes[e]=0;for(var o=n;o<r;o++)this.tag.deleteRule(n)}},e.prototype.getGroup=function(e){var t=\"\";if(e>=this.length||0===this.groupSizes[e])return t;for(var n=this.groupSizes[e],r=this.indexOfGroup(e),o=r+n,s=r;s<o;s++)t+=\"\".concat(this.tag.getRule(s)).concat(\"/*!sc*/\\n\");return t},e}(),ce=new Map,ue=new Map,le=1,pe=function(e){if(ce.has(e))return ce.get(e);for(;ue.has(le);)le++;var t=le++;if( true&&((0|t)<0||t>1073741824))throw ie(16,\"\".concat(t));return ce.set(e,t),ue.set(t,e),t},de=function(e,t){ce.set(e,t),ue.set(t,e)},he=\"style[\".concat(h,\"][\").concat(\"data-styled-version\",'=\"').concat(\"6.1.0\",'\"]'),fe=new RegExp(\"^\".concat(h,'\\\\.g(\\\\d+)\\\\[id=\"([\\\\w\\\\d-]+)\"\\\\].*?\"([^\"]*)')),me=function(e,t,n){for(var r,o=n.split(\",\"),s=0,i=o.length;s<i;s++)(r=o[s])&&e.registerName(t,r)},ye=function(e,t){for(var n,r=(null!==(n=t.textContent)&&void 0!==n?n:\"\").split(\"/*!sc*/\\n\"),o=[],s=0,i=r.length;s<i;s++){var a=r[s].trim();if(a){var c=a.match(fe);if(c){var u=0|parseInt(c[1],10),l=c[2];0!==u&&(de(l,u),me(e,l,c[3]),e.getTag().insertRules(u,o)),o.length=0}else o.push(a)}}};function ve(){return true?__webpack_require__.nc:0}var ge=function(e){var t=document.head,n=e||t,r=document.createElement(\"style\"),o=function(e){var t=Array.from(e.querySelectorAll(\"style[\".concat(h,\"]\")));return t[t.length-1]}(n),s=void 0!==o?o.nextSibling:null;r.setAttribute(h,\"active\"),r.setAttribute(\"data-styled-version\",\"6.1.0\");var i=ve();return i&&r.setAttribute(\"nonce\",i),n.insertBefore(r,s),r},Se=function(){function e(e){this.element=ge(e),this.element.appendChild(document.createTextNode(\"\")),this.sheet=function(e){if(e.sheet)return e.sheet;for(var t=document.styleSheets,n=0,r=t.length;n<r;n++){var o=t[n];if(o.ownerNode===e)return o}throw ie(17)}(this.element),this.length=0}return e.prototype.insertRule=function(e,t){try{return this.sheet.insertRule(t,e),this.length++,!0}catch(e){return!1}},e.prototype.deleteRule=function(e){this.sheet.deleteRule(e),this.length--},e.prototype.getRule=function(e){var t=this.sheet.cssRules[e];return t&&t.cssText?t.cssText:\"\"},e}(),we=function(){function e(e){this.element=ge(e),this.nodes=this.element.childNodes,this.length=0}return e.prototype.insertRule=function(e,t){if(e<=this.length&&e>=0){var n=document.createTextNode(t);return this.element.insertBefore(n,this.nodes[e]||null),this.length++,!0}return!1},e.prototype.deleteRule=function(e){this.element.removeChild(this.nodes[e]),this.length--},e.prototype.getRule=function(e){return e<this.length?this.nodes[e].textContent:\"\"},e}(),_e=function(){function e(e){this.rules=[],this.length=0}return e.prototype.insertRule=function(e,t){return e<=this.length&&(this.rules.splice(e,0,t),this.length++,!0)},e.prototype.deleteRule=function(e){this.rules.splice(e,1),this.length--},e.prototype.getRule=function(e){return e<this.length?this.rules[e]:\"\"},e}(),be=f,Ee={isServer:!f,useCSSOMInjection:!m},Ne=function(){function t(t,n,r){void 0===t&&(t=_),void 0===n&&(n={});var o=this;this.options=e.__assign(e.__assign({},Ee),t),this.gs=n,this.names=new Map(r),this.server=!!t.isServer,!this.server&&f&&be&&(be=!1,function(e){for(var t=document.querySelectorAll(he),n=0,r=t.length;n<r;n++){var o=t[n];o&&\"active\"!==o.getAttribute(h)&&(ye(e,o),o.parentNode&&o.parentNode.removeChild(o))}}(this)),re(this,function(){return function(e){for(var t=e.getTag(),n=t.length,r=\"\",o=function(n){var o=function(e){return ue.get(e)}(n);if(void 0===o)return\"continue\";var s=e.names.get(o),i=t.getGroup(n);if(void 0===s||0===i.length)return\"continue\";var a=\"\".concat(h,\".g\").concat(n,'[id=\"').concat(o,'\"]'),c=\"\";void 0!==s&&s.forEach(function(e){e.length>0&&(c+=\"\".concat(e,\",\"))}),r+=\"\".concat(i).concat(a,'{content:\"').concat(c,'\"}').concat(\"/*!sc*/\\n\")},s=0;s<n;s++)o(s);return r}(o)})}return t.registerId=function(e){return pe(e)},t.prototype.reconstructWithOptions=function(n,r){return void 0===r&&(r=!0),new t(e.__assign(e.__assign({},this.options),n),this.gs,r&&this.names||void 0)},t.prototype.allocateGSInstance=function(e){return this.gs[e]=(this.gs[e]||0)+1},t.prototype.getTag=function(){return this.tag||(this.tag=(e=function(e){var t=e.useCSSOMInjection,n=e.target;return e.isServer?new _e(n):t?new Se(n):new we(n)}(this.options),new ae(e)));var e},t.prototype.hasNameForId=function(e,t){return this.names.has(e)&&this.names.get(e).has(t)},t.prototype.registerName=function(e,t){if(pe(e),this.names.has(e))this.names.get(e).add(t);else{var n=new Set;n.add(t),this.names.set(e,n)}},t.prototype.insertRules=function(e,t,n){this.registerName(e,t),this.getTag().insertRules(pe(e),n)},t.prototype.clearNames=function(e){this.names.has(e)&&this.names.get(e).clear()},t.prototype.clearRules=function(e){this.getTag().clearGroup(pe(e)),this.clearNames(e)},t.prototype.clearTag=function(){this.tag=void 0},t}(),Pe=/&/g,Ce=/^\\s*\\/\\/.*$/gm;function Ae(e,t){return e.map(function(e){return\"rule\"===e.type&&(e.value=\"\".concat(t,\" \").concat(e.value),e.value=e.value.replaceAll(\",\",\",\".concat(t,\" \")),e.props=e.props.map(function(e){return\"\".concat(t,\" \").concat(e)})),Array.isArray(e.children)&&\"@keyframes\"!==e.type&&(e.children=Ae(e.children,t)),e})}function Ie(e){var t,n,r,o=void 0===e?_:e,s=o.options,i=void 0===s?_:s,a=o.plugins,c=void 0===a?w:a,u=function(e,r,o){return o===n||o.startsWith(n)&&o.endsWith(n)&&o.replaceAll(n,\"\").length>0?\".\".concat(t):e},l=c.slice();l.push(function(e){e.type===p.RULESET&&e.value.includes(\"&\")&&(e.props[0]=e.props[0].replace(Pe,n).replace(r,u))}),i.prefix&&l.push(p.prefixer),l.push(p.stringify);var d=function(e,o,s,a){void 0===o&&(o=\"\"),void 0===s&&(s=\"\"),void 0===a&&(a=\"&\"),t=a,n=o,r=new RegExp(\"\\\\\".concat(n,\"\\\\b\"),\"g\");var c=e.replace(Ce,\"\"),u=p.compile(s||o?\"\".concat(s,\" \").concat(o,\" { \").concat(c,\" }\"):c);i.namespace&&(u=Ae(u,i.namespace));var d=[];return p.serialize(u,p.middleware(l.concat(p.rulesheet(function(e){return d.push(e)})))),d};return d.hash=c.length?c.reduce(function(e,t){return t.name||ie(15),D(e,t.name)},5381).toString():\"\",d}var Oe=new Ne,xe=Ie(),De=u.default.createContext({shouldForwardProp:void 0,styleSheet:Oe,stylis:xe}),Te=De.Consumer,Re=u.default.createContext(void 0);function je(){return n.useContext(De)}function ke(e){var t=n.useState(e.stylisPlugins),r=t[0],o=t[1],s=je().styleSheet,i=n.useMemo(function(){var t=s;return e.sheet?t=e.sheet:e.target&&(t=t.reconstructWithOptions({target:e.target},!1)),e.disableCSSOMInjection&&(t=t.reconstructWithOptions({useCSSOMInjection:!1})),t},[e.disableCSSOMInjection,e.sheet,e.target,s]),a=n.useMemo(function(){return Ie({options:{namespace:e.namespace,prefix:e.enableVendorPrefixes},plugins:r})},[e.enableVendorPrefixes,e.namespace,r]);n.useEffect(function(){l.default(r,e.stylisPlugins)||o(e.stylisPlugins)},[e.stylisPlugins]);var c=n.useMemo(function(){return{shouldForwardProp:e.shouldForwardProp,styleSheet:i,stylis:a}},[e.shouldForwardProp,i,a]);return u.default.createElement(De.Provider,{value:c},u.default.createElement(Re.Provider,{value:a},e.children))}var Ve=function(){function e(e,t){var n=this;this.inject=function(e,t){void 0===t&&(t=xe);var r=n.name+t.hash;e.hasNameForId(n.id,r)||e.insertRules(n.id,r,t(n.rules,r,\"@keyframes\"))},this.name=e,this.id=\"sc-keyframes-\".concat(e),this.rules=t,re(this,function(){throw ie(12,String(n.name))})}return e.prototype.getName=function(e){return void 0===e&&(e=xe),this.name+e.hash},e}(),Me=function(e){return e>=\"A\"&&e<=\"Z\"};function Fe(e){for(var t=\"\",n=0;n<e.length;n++){var r=e[n];if(1===n&&\"-\"===r&&\"-\"===e[0])return e;Me(r)?t+=\"-\"+r.toLowerCase():t+=r}return t.startsWith(\"ms-\")?\"-\"+t:t}var ze=function(e){return null==e||!1===e||\"\"===e},$e=function(t){var n,r,o=[];for(var s in t){var i=t[s];t.hasOwnProperty(s)&&!ze(i)&&(Array.isArray(i)&&i.isCss||Z(i)?o.push(\"\".concat(Fe(s),\":\"),i,\";\"):te(i)?o.push.apply(o,e.__spreadArray(e.__spreadArray([\"\".concat(s,\" {\")],$e(i),!1),[\"}\"],!1)):o.push(\"\".concat(Fe(s),\": \").concat((n=s,null==(r=i)||\"boolean\"==typeof r||\"\"===r?\"\":\"number\"!=typeof r||0===r||n in d.default||n.startsWith(\"--\")?String(r).trim():\"\".concat(r,\"px\")),\";\")))}return o};function Be(e,t,n,r){if(ze(e))return[];if(K(e))return[\".\".concat(e.styledComponentId)];if(Z(e)){if(!Z(s=e)||s.prototype&&s.prototype.isReactComponent||!t)return[e];var o=e(t);return false||\"object\"!=typeof o||Array.isArray(o)||o instanceof Ve||te(o)||null===o||console.error(\"\".concat(j(e),\" is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.\")),Be(o,t,n,r)}var s;return e instanceof Ve?n?(e.inject(n,r),[e.getName(r)]):[e]:te(e)?$e(e):Array.isArray(e)?Array.prototype.concat.apply(w,e.map(function(e){return Be(e,t,n,r)})):[e.toString()]}function qe(e){for(var t=0;t<e.length;t+=1){var n=e[t];if(Z(n)&&!K(n))return!1}return!0}var Ge=T(\"6.1.0\"),Le=function(){function e(e,t,n){this.rules=e,this.staticRulesId=\"\",this.isStatic= false&&0,this.componentId=t,this.baseHash=D(Ge,t),this.baseStyle=n,Ne.registerId(t)}return e.prototype.generateAndInjectStyles=function(e,t,n){var r=this.baseStyle?this.baseStyle.generateAndInjectStyles(e,t,n):\"\";if(this.isStatic&&!n.hash)if(this.staticRulesId&&t.hasNameForId(this.componentId,this.staticRulesId))r=Q(r,this.staticRulesId);else{var o=ee(Be(this.rules,e,t,n)),s=O(D(this.baseHash,o)>>>0);if(!t.hasNameForId(this.componentId,s)){var i=n(o,\".\".concat(s),void 0,this.componentId);t.insertRules(this.componentId,s,i)}r=Q(r,s),this.staticRulesId=s}else{for(var a=D(this.baseHash,n.hash),c=\"\",u=0;u<this.rules.length;u++){var l=this.rules[u];if(\"string\"==typeof l)c+=l, true&&(a=D(a,l));else if(l){var p=ee(Be(l,e,t,n));a=D(a,p+u),c+=p}}if(c){var d=O(a>>>0);t.hasNameForId(this.componentId,d)||t.insertRules(this.componentId,d,n(c,\".\".concat(d),void 0,this.componentId)),r=Q(r,d)}}return r},e}(),Ye=u.default.createContext(void 0),We=Ye.Consumer,He={},Ue=new Set;function Je(t,r,o){var s=K(t),i=t,a=!k(t),l=r.attrs,p=void 0===l?w:l,d=r.componentId,h=void 0===d?function(e,t){var n=\"string\"!=typeof e?\"sc\":C(e);He[n]=(He[n]||0)+1;var r=\"\".concat(n,\"-\").concat(R(\"6.1.0\"+n+He[n]));return t?\"\".concat(t,\"-\").concat(r):r}(r.displayName,r.parentComponentId):d,f=r.displayName,m=void 0===f?function(e){return k(e)?\"styled.\".concat(e):\"Styled(\".concat(j(e),\")\")}(t):f,y=r.displayName&&r.componentId?\"\".concat(C(r.displayName),\"-\").concat(r.componentId):r.componentId||h,v=s&&i.attrs?i.attrs.concat(p).filter(Boolean):p,g=r.shouldForwardProp;if(s&&i.shouldForwardProp){var N=i.shouldForwardProp;if(r.shouldForwardProp){var P=r.shouldForwardProp;g=function(e,t){return N(e,t)&&P(e,t)}}else g=N}var A=new Le(o,y,s?i.componentStyle:void 0);function I(t,r){return function(t,r,o){var s=t.attrs,i=t.componentStyle,a=t.defaultProps,l=t.foldedComponentIds,p=t.styledComponentId,d=t.target,h=u.default.useContext(Ye),f=je(),m=t.shouldForwardProp||f.shouldForwardProp; true&&n.useDebugValue(p);var y=function(t,n,r){for(var o,s=e.__assign(e.__assign({},n),{className:void 0,theme:r}),i=0;i<t.length;i+=1){var a=Z(o=t[i])?o(s):o;for(var c in a)s[c]=\"className\"===c?Q(s[c],a[c]):\"style\"===c?e.__assign(e.__assign({},s[c]),a[c]):a[c]}return n.className&&(s.className=Q(s.className,n.className)),s}(s,r,b(r,h,a)||_),v=y.as||d,g={};for(var S in y)void 0===y[S]||\"$\"===S[0]||\"as\"===S||\"theme\"===S||(\"forwardedAs\"===S?g.as=y.forwardedAs:m&&!m(S,v)||(g[S]=y[S],m||\"development\"!==\"development\"||c.default(S)||Ue.has(S)||!E.has(v)||(Ue.add(S),console.warn('styled-components: it looks like an unknown prop \"'.concat(S,'\" is being sent through to the DOM, which will likely trigger a React console error. If you would like automatic filtering of unknown props, you can opt-into that behavior via `<StyleSheetManager shouldForwardProp={...}>` (connect an API like `@emotion/is-prop-valid`) or consider using transient props (`$` prefix for automatic filtering.)')))));var w=function(e,t){var r=je(),o=e.generateAndInjectStyles(t,r.styleSheet,r.stylis);return true&&n.useDebugValue(o),o}(i,y); true&&t.warnTooManyClasses&&t.warnTooManyClasses(w);var N=Q(l,p);return w&&(N+=\" \"+w),y.className&&(N+=\" \"+y.className),g[k(v)&&!E.has(v)?\"class\":\"className\"]=N,g.ref=o,n.createElement(v,g)}(O,t,r)} true&&(I.displayName=m);var O=u.default.forwardRef(I);return O.attrs=v,O.componentStyle=A,O.shouldForwardProp=g, true&&(O.displayName=m),O.foldedComponentIds=s?Q(i.foldedComponentIds,i.styledComponentId):\"\",O.styledComponentId=y,O.target=s?i.target:t,Object.defineProperty(O,\"defaultProps\",{get:function(){return this._foldedDefaultProps},set:function(e){this._foldedDefaultProps=s?function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];for(var r=0,o=t;r<o.length;r++)ne(e,o[r],!0);return e}({},i.defaultProps,e):e}}), true&&(S(m,y),O.warnTooManyClasses=function(e,t){var n={},r=!1;return function(o){if(!r&&(n[o]=!0,Object.keys(n).length>=200)){var s=t?' with the id of \"'.concat(t,'\"'):\"\";console.warn(\"Over \".concat(200,\" classes were generated for component \").concat(e).concat(s,\".\\n\")+\"Consider using the attrs method, together with a style object for frequently changed styles.\\nExample:\\n const Component = styled.div.attrs(props => ({\\n style: {\\n background: props.background,\\n },\\n }))`width: 100%;`\\n\\n <Component />\"),r=!0,n={}}}}(m,y)),re(O,function(){return\".\".concat(O.styledComponentId)}),a&&X(O,t,{attrs:!0,componentStyle:!0,displayName:!0,foldedComponentIds:!0,shouldForwardProp:!0,styledComponentId:!0,target:!0}),O}function Xe(e,t){for(var n=[e[0]],r=0,o=t.length;r<o;r+=1)n.push(t[r],e[r+1]);return n}var Ze=function(e){return Object.assign(e,{isCss:!0})};function Ke(t){for(var n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];if(Z(t)||te(t)){var o=t;return Ze(Be(Xe(w,e.__spreadArray([o],n,!0))))}var s=t;return 0===n.length&&1===s.length&&\"string\"==typeof s[0]?Be(s):Ze(Be(Xe(s,n)))}function Qe(t,n,r){if(void 0===r&&(r=_),!n)throw ie(1,n);var o=function(o){for(var s=[],i=1;i<arguments.length;i++)s[i-1]=arguments[i];return t(n,r,Ke.apply(void 0,e.__spreadArray([o],s,!1)))};return o.attrs=function(o){return Qe(t,n,e.__assign(e.__assign({},r),{attrs:Array.prototype.concat(r.attrs,o).filter(Boolean)}))},o.withConfig=function(o){return Qe(t,n,e.__assign(e.__assign({},r),o))},o}var et=function(e){return Qe(Je,e)},tt=et;E.forEach(function(e){tt[e]=et(e)});var nt=function(){function e(e,t){this.rules=e,this.componentId=t,this.isStatic=qe(e),Ne.registerId(this.componentId+1)}return e.prototype.createStyles=function(e,t,n,r){var o=r(ee(Be(this.rules,t,n,r)),\"\"),s=this.componentId+e;n.insertRules(s,s,o)},e.prototype.removeStyles=function(e,t){t.clearRules(this.componentId+e)},e.prototype.renderStyles=function(e,t,n,r){e>2&&Ne.registerId(this.componentId+e),this.removeStyles(e,n),this.createStyles(e,t,n,r)},e}(),rt=/^\\s*<\\/[a-z]/i,ot=function(){function t(){var t=this;this._emitSheetCSS=function(){var e=t.instance.toString(),n=ve(),r=ee([n&&'nonce=\"'.concat(n,'\"'),\"\".concat(h,'=\"true\"'),\"\".concat(\"data-styled-version\",'=\"').concat(\"6.1.0\",'\"')].filter(Boolean),\" \");return\"<style \".concat(r,\">\").concat(e,\"</style>\")},this.getStyleTags=function(){if(t.sealed)throw ie(2);return t._emitSheetCSS()},this.getStyleElement=function(){var n;if(t.sealed)throw ie(2);var r=((n={})[h]=\"\",n[\"data-styled-version\"]=\"6.1.0\",n.dangerouslySetInnerHTML={__html:t.instance.toString()},n),o=ve();return o&&(r.nonce=o),[u.default.createElement(\"style\",e.__assign({},r,{key:\"sc-0-0\"}))]},this.seal=function(){t.sealed=!0},this.instance=new Ne({isServer:!0}),this.sealed=!1}return t.prototype.collectStyles=function(e){if(this.sealed)throw ie(2);return u.default.createElement(ke,{sheet:this.instance},e)},t.prototype.interleaveWithNodeStream=function(e){if(f)throw ie(3);if(this.sealed)throw ie(2);this.seal();var t=(__webpack_require__(/*! stream */ \"stream\").Transform),n=e,r=this.instance,o=this._emitSheetCSS,s=new t({transform:function(e,t,n){var s=e.toString(),i=o();if(r.clearTag(),rt.test(s)){var a=s.indexOf(\">\")+1,c=s.slice(0,a),u=s.slice(a);this.push(c+i+u)}else this.push(i+s);n()}});return n.on(\"error\",function(e){s.emit(\"error\",e)}),n.pipe(s)},t}(),st={StyleSheet:Ne,mainSheet:Oe}; true&&\"undefined\"!=typeof navigator&&\"ReactNative\"===navigator.product&&console.warn(\"It looks like you've imported 'styled-components' on React Native.\\nPerhaps you're looking to import 'styled-components/native'?\\nRead more about this at https://www.styled-components.com/docs/basics#react-native\");var it=\"__sc-\".concat(h,\"__\"); true&&\"undefined\"!=typeof window&&(window[it]||(window[it]=0),1===window[it]&&console.warn(\"It looks like there are several instances of 'styled-components' initialized in this application. This may cause dynamic styles to not render properly, errors during the rehydration process, a missing theme prop, and makes your application bigger without good reason.\\n\\nSee https://s-c.sh/2BAXzed for more info.\"),window[it]+=1),exports.ServerStyleSheet=ot,exports.StyleSheetConsumer=Te,exports.StyleSheetContext=De,exports.StyleSheetManager=ke,exports.ThemeConsumer=We,exports.ThemeContext=Ye,exports.ThemeProvider=function(t){var r=u.default.useContext(Ye),o=n.useMemo(function(){return function(t,n){if(!t)throw ie(14);if(Z(t)){var r=t(n);if( true&&(null===r||Array.isArray(r)||\"object\"!=typeof r))throw ie(7);return r}if(Array.isArray(t)||\"object\"!=typeof t)throw ie(8);return n?e.__assign(e.__assign({},n),t):t}(t.theme,r)},[t.theme,r]);return t.children?u.default.createElement(Ye.Provider,{value:o},t.children):null},exports.__PRIVATE__=st,exports.createGlobalStyle=function(t){for(var n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];var o=Ke.apply(void 0,e.__spreadArray([t],n,!1)),s=\"sc-global-\".concat(R(JSON.stringify(o))),i=new nt(o,s); true&&S(s);var a=function(e){var t=je(),n=u.default.useContext(Ye),r=u.default.useRef(t.styleSheet.allocateGSInstance(s)).current;return true&&u.default.Children.count(e.children)&&console.warn(\"The global style component \".concat(s,\" was given child JSX. createGlobalStyle does not render children.\")), true&&o.some(function(e){return\"string\"==typeof e&&-1!==e.indexOf(\"@import\")})&&console.warn(\"Please do not use @import CSS syntax in createGlobalStyle at this time, as the CSSOM APIs we use in production do not handle it well. Instead, we recommend using a library such as react-helmet to inject a typical <link> meta tag to the stylesheet, or simply embedding it manually in your index.html <head> section for a simpler app.\"),t.styleSheet.server&&c(r,e,t.styleSheet,n,t.stylis),null};function c(t,n,r,o,s){if(i.isStatic)i.renderStyles(t,y,r,s);else{var c=e.__assign(e.__assign({},n),{theme:b(n,o,a.defaultProps)});i.renderStyles(t,c,r,s)}}return u.default.memo(a)},exports.css=Ke,exports[\"default\"]=tt,exports.isStyledComponent=K,exports.keyframes=function(t){for(var n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r]; true&&\"undefined\"!=typeof navigator&&\"ReactNative\"===navigator.product&&console.warn(\"`keyframes` cannot be used on ReactNative, only on the web. To do animation in ReactNative please use Animated.\");var o=ee(Ke.apply(void 0,e.__spreadArray([t],n,!1))),s=R(o);return new Ve(s,o)},exports.styled=tt,exports.useTheme=function(){var e=n.useContext(Ye);if(!e)throw ie(18);return e},exports.version=\"6.1.0\",exports.withTheme=function(t){var n=u.default.forwardRef(function(n,r){var o=b(n,u.default.useContext(Ye),t.defaultProps);return true&&void 0===o&&console.warn('[withTheme] You are not using a ThemeProvider nor passing a theme prop or a theme in defaultProps in component class \"'.concat(j(t),'\"')),u.default.createElement(t,e.__assign({},n,{theme:o,ref:r}))});return true&&(n.displayName=\"WithTheme(\".concat(j(t),\")\")),X(n,t)};\n//# sourceMappingURL=styled-components.cjs.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvc3R5bGVkLWNvbXBvbmVudHMvZGlzdC9zdHlsZWQtY29tcG9uZW50cy5janMuanMiLCJtYXBwaW5ncyI6IkFBQWEsOENBQTJDLENBQUMsU0FBUyxFQUFDLENBQUMsTUFBTSxtQkFBTyxDQUFDLHVEQUFPLElBQUksbUJBQU8sQ0FBQyw2R0FBd0IsSUFBSSxtQkFBTyxDQUFDLHdHQUFPLElBQUksbUJBQU8sQ0FBQyxnRUFBYyxJQUFJLG1CQUFPLENBQUMsOERBQVEsSUFBSSxtQkFBTyxDQUFDLDhGQUFtQixFQUFFLGNBQWMsMEJBQTBCLFdBQVcsY0FBYyw0QkFBNEIsMEJBQTBCLDZDQUE2QyxrQkFBa0IsMkNBQTJDLG1DQUFtQyw2QkFBNkIsYUFBYSxHQUFHLCtCQUErQix1eEJBQXV4QixhQUFvQixNQUFNLGtEQUFrRCxHQUFHLElBQW1DLEVBQUUsZ1VBQWdVLElBQUksU0FBUywwQkFBMEIsaUJBQWlCLG1CQUFtQix3QkFBd0IsdUVBQXVFLHFEQUFxRCxTQUFTLCtCQUErQixRQUFRLGtCQUFrQix1Q0FBdUMsRUFBRSxrQkFBa0IsZ0VBQWdFLDJoQ0FBMmhDLGFBQWEsRUFBRSxvQkFBb0IsY0FBYyxzQ0FBc0MsK0JBQStCLDRDQUE0QyxjQUFjLFdBQVcsa0JBQWtCLEtBQUsscUJBQXFCLHFDQUFxQyxzQkFBc0IsbUJBQW1CLEVBQUUsMEJBQTBCLFNBQVMsZUFBZSxrQkFBa0IsY0FBYyxtQkFBbUIsY0FBYyxNQUFNLEtBQW1DLDREQUE0RCxjQUFjLDJCQUEyQixNQUFtQywyQ0FBMkMsNEhBQTRILDZMQUE2TCxJQUFJLHlFQUF5RSxJQUFJLDJFQUEyRSxTQUFTLE1BQU0sa0VBQWtFLFdBQVcsY0FBYyw0RUFBNEUsTUFBTSxxS0FBcUssa0JBQWtCLHVCQUF1QixNQUFNLFdBQVcsbUJBQW1CLFdBQVcsc0JBQXNCLDBCQUEwQixXQUFXLEtBQUssV0FBVyw2Q0FBNkMsYUFBYSxJQUFJLFNBQVMsYUFBYSxTQUFTLGNBQWMsMkJBQTJCLGNB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QkFBeUIsNEJBQTRCLG1EQUFtRCxpQkFBaUIsb0JBQW9CLEtBQUssRUFBRSxnQ0FBZ0Msa0JBQWtCLFlBQVksR0FBRyxPQUFPLDRCQUE0QixLQUFtQyx5U0FBeVMsOEJBQThCLEtBQWtFLGthQUFrYSx3QkFBd0IsSUFBSSwwQkFBMEIsSUFBSSx5QkFBeUIsSUFBSSx5QkFBeUIsSUFBSSxxQkFBcUIsSUFBSSxvQkFBb0IsSUFBSSxxQkFBcUIsYUFBYSxzREFBc0QscUJBQXFCLG1CQUFtQixTQUFTLFdBQVcsR0FBRyxLQUFtQywrREFBK0QsU0FBUyxvREFBb0QsaUNBQWlDLFNBQVMsWUFBWSxjQUFjLHVEQUF1RCxRQUFRLGtCQUFrQixDQUFDLG1CQUFtQixJQUFJLHlCQUF5QixhQUFhLGlCQUFpQixtQkFBbUIsd0JBQXdCLDJHQUEyRyxLQUFtQyxPQUFPLGtCQUFrQixxR0FBcUcsTUFBTSxLQUFtQyxrS0FBa0ssS0FBbUMscUJBQXFCLG9EQUFvRCwwWkFBMFosc0JBQXNCLHNDQUFzQyxLQUFLLDhCQUE4QixLQUFLLDRCQUE0QixFQUFFLHlCQUF5Qix5QkFBeUIsQ0FBQyxXQUFXLElBQUksa0JBQWUsSUFBSSx5QkFBeUIsR0FBRyxpQkFBaUIsYUFBYSxpQkFBaUIsbUJBQW1CLHdCQUF3QixLQUFtQyxvTUFBb00sNERBQTRELG1CQUFtQixDQUFDLGNBQWMsSUFBSSxnQkFBZ0IsWUFBWSx1QkFBdUIsbUJBQW1CLFNBQVMsQ0FBQyxlQUFlLFNBQVMsaUJBQWlCLGFBQWEseUNBQXlDLG1EQUFtRCxNQUFNLEtBQW1DLDZNQUE2TSxJQUFJLGNBQWMsR0FBRyxFQUFFLE1BQU0sS0FBbUM7QUFDNXg3QiIsInNvdXJjZXMiOlsid2VicGFjazovL25leHQxMy1zdGFydGVyLy4vbm9kZV9tb2R1bGVzL3N0eWxlZC1jb21wb25lbnRzL2Rpc3Qvc3R5bGVkLWNvbXBvbmVudHMuY2pzLmpzPzI4MzMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSk7dmFyIGU9cmVxdWlyZShcInRzbGliXCIpLHQ9cmVxdWlyZShcIkBlbW90aW9uL2lzLXByb3AtdmFsaWRcIiksbj1yZXF1aXJlKFwicmVhY3RcIikscj1yZXF1aXJlKFwic2hhbGxvd2VxdWFsXCIpLG89cmVxdWlyZShcInN0eWxpc1wiKSxzPXJlcXVpcmUoXCJAZW1vdGlvbi91bml0bGVzc1wiKTtmdW5jdGlvbiBpKGUpe3JldHVybiBlJiZlLl9fZXNNb2R1bGU/ZTp7ZGVmYXVsdDplfX1mdW5jdGlvbiBhKGUpe2lmKGUmJmUuX19lc01vZHVsZSlyZXR1cm4gZTt2YXIgdD1PYmplY3QuY3JlYXRlKG51bGwpO3JldHVybiBlJiZPYmplY3Qua2V5cyhlKS5mb3JFYWNoKGZ1bmN0aW9uKG4pe2lmKFwiZGVmYXVsdFwiIT09bil7dmFyIHI9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLG4pO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LG4sci5nZXQ/cjp7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gZVtuXX19KX19KSx0LmRlZmF1bHQ9ZSxPYmplY3QuZnJlZXplKHQpfXZhciBjPS8qI19fUFVSRV9fKi9pKHQpLHU9LyojX19QVVJFX18qL2kobiksbD0vKiNfX1BVUkVfXyovaShyKSxwPS8qI19fUFVSRV9fKi9hKG8pLGQ9LyojX19QVVJFX18qL2kocyksaD1cInVuZGVmaW5lZFwiIT10eXBlb2YgcHJvY2VzcyYmdm9pZCAwIT09cHJvY2Vzcy5lbnYmJihwcm9jZXNzLmVudi5SRUFDVF9BUFBfU0NfQVRUUnx8cHJvY2Vzcy5lbnYuU0NfQVRUUil8fFwiZGF0YS1zdHlsZWRcIixmPVwidW5kZWZpbmVkXCIhPXR5cGVvZiB3aW5kb3cmJlwiSFRNTEVsZW1lbnRcImluIHdpbmRvdyxtPUJvb2xlYW4oXCJib29sZWFuXCI9PXR5cGVvZiBTQ19ESVNBQkxFX1NQRUVEWT9TQ19ESVNBQkxFX1NQRUVEWTpcInVuZGVmaW5lZFwiIT10eXBlb2YgcHJvY2VzcyYmdm9pZCAwIT09cHJvY2Vzcy5lbnYmJnZvaWQgMCE9PXByb2Nlc3MuZW52LlJFQUNUX0FQUF9TQ19ESVNBQkxFX1NQRUVEWSYmXCJcIiE9PXByb2Nlc3MuZW52LlJFQUNUX0FQUF9TQ19ESVNBQkxFX1NQRUVEWT9cImZhbHNlXCIhPT1wcm9jZXNzLmVudi5SRUFDVF9BUFBfU0NfRElTQUJMRV9TUEVFRFkmJnByb2Nlc3MuZW52LlJFQUNUX0FQUF9TQ19ESVNBQkxFX1NQRUVEWTpcInVuZGVmaW5lZFwiIT10eXBlb2YgcHJvY2VzcyYmdm9pZCAwIT09cHJvY2Vzcy5lbnYmJnZvaWQgMCE9PXByb2Nlc3MuZW52LlNDX0RJU0FCTEVfU1BFRURZJiZcIlwiIT09cHJvY2Vzcy5lbnYuU0NfRElTQUJMRV9TUEVFRFk/XCJmYWxzZVwiIT09cHJvY2Vzcy5lbnYuU0NfRElTQUJMRV9TUEVFRFkmJnByb2Nlc3MuZW52LlNDX0RJU0FCTEVfU1BFRURZOlwicHJvZHVjdGlvblwiIT09cHJvY2Vzcy5lbnYuTk9ERV9FTlYpLHk9e30sdj0vaW52YWxpZCBob29rIGNhbGwvaSxnPW5ldyBTZXQsUz1mdW5jdGlvbih0LHIpe2lmKFwicHJvZHVjdGlvblwiIT09cHJvY2Vzcy5lbnYuTk9ERV9FTlYpe3ZhciBvPXI/JyB3aXRoIHRoZSBpZCBvZiBcIicuY29uY2F0KHIsJ1wiJyk6XCJcIixzPVwiVGhlIGNvbXBvbmVudCBcIi5jb25jYXQodCkuY29uY2F0KG8sXCIgaGFzIGJlZW4gY3JlYXRlZCBkeW5hbWljYWxseS5cXG5cIikrXCJZb3UgbWF5IHNlZSB0aGlzIHdhcm5pbmcgYmVjYXVzZSB5b3UndmUgY2FsbGVkIHN0eWxlZCBpbnNpZGUgYW5vdGhlciBjb21wb25lbnQuXFxuVG8gcmVzb2x2ZSB0aGlzIG9ubHkgY3JlYXRlIG5ldyBTdHlsZWRDb21wb25lbnRzIG91dHNpZGUgb2YgYW55IHJlbmRlciBtZXRob2QgYW5kIGZ1bmN0aW9uIGNvbXBvbmVudC5cIixpPWNvbnNvbGUuZXJyb3I7dHJ5e3ZhciBhPSEwO2NvbnNvbGUuZXJyb3I9ZnVuY3Rpb24odCl7Zm9yKHZhciBuPVtdLHI9MTtyPGFyZ3VtZW50cy5sZW5ndGg7cisrKW5bci0xXT1hcmd1bWVudHNbcl07di50ZXN0KHQpPyhhPSExLGcuZGVsZXRlKHMpKTppLmFwcGx5KHZvaWQgMCxlLl9fc3ByZWFkQXJyYXkoW3RdLG4sITEpKX0sbi51c2VSZWYoKSxhJiYhZy5oYXMocykmJihjb25zb2xlLndhcm4ocyksZy5hZGQocykpfWNhdGNoKGUpe3YudGVzdChlLm1lc3NhZ2UpJiZnLmRlbGV0ZShzKX1maW5hbGx5e2NvbnNvbGUuZXJyb3I9aX19fSx3PU9iamVjdC5mcmVlemUoW10pLF89T2JqZWN0LmZyZWV6ZSh7fSk7ZnVuY3Rpb24gYihlLHQsbil7cmV0dXJuIHZvaWQgMD09PW4mJihuPV8pLGUudGhlbWUhPT1uLnRoZW1lJiZlLnRoZW1lfHx0fHxuLnRoZW1lfXZhciBFPW5ldyBTZXQoW1wiYVwiLFwiYWJiclwiLFwiYWRkcmVzc1wiLFwiYXJlYVwiLFwiYXJ0aWNsZVwiLFwiYXNpZGVcIixcImF1ZGlvXCIsXCJiXCIsXCJiYXNlXCIsXCJiZGlcIixcImJkb1wiLFwiYmlnXCIsXCJibG9ja3F1b3RlXCIsXCJib2R5XCIsXCJiclwiLFwiYnV0dG9uXCIsXCJjYW52YXNcIixcImNhcHRpb25cIixcImNpdGVcIixcImNvZGVcIixcImNvbFwiLFwiY29sZ3JvdXBcIixcImRhdGFcIixcImRhdGFsaXN0XCIsXCJkZFwiLFwiZGVsXCIsXCJkZXRhaWxzXCIsXCJkZm5cIixcImRpYWxvZ1wiLFwiZGl2XCIsXCJkbFwiLFwiZHRcIixcImVtXCIsXCJlbWJlZFwiLFwiZmllbGRzZXRcIixcImZpZ2NhcHRpb25cIixcImZpZ3VyZVwiLFwiZm9vdGVyXCIsXCJmb3JtXCIsXCJoMVwiLFwiaDJcIixcImgzXCIsXCJoNFwiLFwiaDVcIixcImg2XCIsXCJoZWFkZXJcIixcImhncm91cFwiLFwiaHJcIixcImh0bWxcIixcImlcIixcImlmcmFtZVwiLFwiaW1nXCIsXCJpbnB1dFwiLFwiaW5zXCIsXCJrYmRcIixcImtleWdlblwiLFwibGFiZWxcIixcImxlZ2VuZFwiLFwibGlcIixcImxpbmtcIixcIm1haW5cIixcIm1hcFwiLFwibWFya1wiLFwibWVudVwiLFwibWVudWl0ZW1cIixcIm1ldGFcIixcIm1ldGVyXCIsXCJuYXZcIixcIm5vc2NyaXB0XCIsXCJvYmplY3RcIixcIm9sXCIsXCJvcHRncm91cFwiLFwib3B0aW9uXCIsXCJvdXRwdXRcIixcInBcIixcInBhcmFtXCIsXCJwaWN0dXJlXCIsXCJwcmVcIixcInByb2dyZXNzXCIsXCJxXCIsXCJycFwiLFwicnRcIixcInJ1YnlcIixcInNcIixcInNhbXBcIixcInNjcmlwdFwiLFwic2VjdGlvblwiLFwic2VsZWN0XCIsXCJzbWFsbFwiLFwic291cmNlXCIsXCJzcGFuXCIsXCJzdHJvbmdcIixcInN0eWxlXCIsXCJzdWJcIixcInN1bW1hcnlcIixcInN1cFwiLFwidGFibGVcIixcInRib2R5XCIsXCJ0ZFwiLFwidGV4dGFyZWFcIixcInRmb290XCIsXCJ0aFwiLFwidGhlYWRcIixcInRpbWVcIixcInRyXCIsXCJ0cmFja1wiLFwidVwiLFwidWxcIixcInVzZVwiLFwidmFyXCIsXCJ2aWRlb1wiLFwid2JyXCIsXCJjaXJjbGVcIixcImNsaXBQYXRoXCIsXCJkZWZzXCIsXCJlbGxpcHNlXCIsXCJmb3JlaWduT2JqZWN0XCIsXCJnXCIsXCJpbWFnZVwiLFwibGluZVwiLFwibGluZWFyR3JhZGllbnRcIixcIm1hcmtlclwiLFwibWFza1wiLFwicGF0aFwiLFwicGF0dGVyblwiLFwicG9seWdvblwiLFwicG9seWxpbmVcIixcInJhZGlhbEdyYWRpZW50XCIsXCJyZWN0XCIsXCJzdG9wXCIsXCJzdmdcIixcInRleHRcIixcInRzcGFuXCJdKSxOPS9bIVwiIyQlJicoKSorLC4vOjs8PT4/QFtcXFxcXFxdXmB7fH1+LV0rL2csUD0vKF4tfC0kKS9nO2Z1bmN0aW9uIEMoZSl7cmV0dXJuIGUucmVwbGFjZShOLFwiLVwiKS5yZXBsYWNlKFAsXCJcIil9dmFyIEE9LyhhKShkKS9naSxJPWZ1bmN0aW9uKGUpe3JldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKGUrKGU+MjU/Mzk6OTcpKX07ZnVuY3Rpb24gTyhlKXt2YXIgdCxuPVwiXCI7Zm9yKHQ9TWF0aC5hYnMoZSk7dD41Mjt0PXQvNTJ8MCluPUkodCU1MikrbjtyZXR1cm4oSSh0JTUyKStuKS5yZXBsYWNlKEEsXCIkMS0kMlwiKX12YXIgeCxEPWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuPXQubGVuZ3RoO247KWU9MzMqZV50LmNoYXJDb2RlQXQoLS1uKTtyZXR1cm4gZX0sVD1mdW5jdGlvbihlKXtyZXR1cm4gRCg1MzgxLGUpfTtmdW5jdGlvbiBSKGUpe3JldHVybiBPKFQoZSk+Pj4wKX1mdW5jdGlvbiBqKGUpe3JldHVyblwicHJvZHVjdGlvblwiIT09cHJvY2Vzcy5lbnYuTk9ERV9FTlYmJlwic3RyaW5nXCI9PXR5cGVvZiBlJiZlfHxlLmRpc3BsYXlOYW1lfHxlLm5hbWV8fFwiQ29tcG9uZW50XCJ9ZnVuY3Rpb24gayhlKXtyZXR1cm5cInN0cmluZ1wiPT10eXBlb2YgZSYmKFwicHJvZHVjdGlvblwiPT09cHJvY2Vzcy5lbnYuTk9ERV9FTlZ8fGUuY2hhckF0KDApPT09ZS5jaGFyQXQoMCkudG9Mb3dlckNhc2UoKSl9dmFyIFY9XCJmdW5jdGlvblwiPT10eXBlb2YgU3ltYm9sJiZTeW1ib2wuZm9yLE09Vj9TeW1ib2wuZm9yKFwicmVhY3QubWVtb1wiKTo2MDExNSxGPVY/U3ltYm9sLmZvcihcInJlYWN0LmZvcndhcmRfcmVmXCIpOjYwMTEyLHo9e2NoaWxkQ29udGV4dFR5cGVzOiEwLGNvbnRleHRUeXBlOiEwLGNvbnRleHRUeXBlczohMCxkZWZhdWx0UHJvcHM6ITAsZGlzcGxheU5hbWU6ITAsZ2V0RGVmYXVsdFByb3BzOiEwLGdldERlcml2ZWRTdGF0ZUZyb21FcnJvcjohMCxnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHM6ITAsbWl4aW5zOiEwLHByb3BUeXBlczohMCx0eXBlOiEwfSwkPXtuYW1lOiEwLGxlbmd0aDohMCxwcm90b3R5cGU6ITAsY2FsbGVyOiEwLGNhbGxlZTohMCxhcmd1bWVudHM6ITAsYXJpdHk6ITB9LEI9eyQkdHlwZW9mOiEwLGNvbXBhcmU6ITAsZGVmYXVsdFByb3BzOiEwLGRpc3BsYXlOYW1lOiEwLHByb3BUeXBlczohMCx0eXBlOiEwfSxxPSgoeD17fSlbRl09eyQkdHlwZW9mOiEwLHJlbmRlcjohMCxkZWZhdWx0UHJvcHM6ITAsZGlzcGxheU5hbWU6ITAscHJvcFR5cGVzOiEwfSx4W01dPUIseCk7ZnVuY3Rpb24gRyhlKXtyZXR1cm4oXCJ0eXBlXCJpbih0PWUpJiZ0LnR5cGUuJCR0eXBlb2YpPT09TT9COlwiJCR0eXBlb2ZcImluIGU/cVtlLiQkdHlwZW9mXTp6O3ZhciB0fXZhciBMPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxZPU9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzLFc9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyxIPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IsVT1PYmplY3QuZ2V0UHJvdG90eXBlT2YsSj1PYmplY3QucHJvdG90eXBlO2Z1bmN0aW9uIFgoZSx0LG4pe2lmKFwic3RyaW5nXCIhPXR5cGVvZiB0KXtpZihKKXt2YXIgcj1VKHQpO3ImJnIhPT1KJiZYKGUscixuKX12YXIgbz1ZKHQpO1cmJihvPW8uY29uY2F0KFcodCkpKTtmb3IodmFyIHM9RyhlKSxpPUcodCksYT0wO2E8by5sZW5ndGg7KythKXt2YXIgYz1vW2FdO2lmKCEoYyBpbiAkfHxuJiZuW2NdfHxpJiZjIGluIGl8fHMmJmMgaW4gcykpe3ZhciB1PUgodCxjKTt0cnl7TChlLGMsdSl9Y2F0Y2goZSl7fX19fXJldHVybiBlfWZ1bmN0aW9uIFooZSl7cmV0dXJuXCJmdW5jdGlvblwiPT10eXBlb2YgZX1mdW5jdGlvbiBLKGUpe3JldHVyblwib2JqZWN0XCI9PXR5cGVvZiBlJiZcInN0eWxlZENvbXBvbmVudElkXCJpbiBlfWZ1bmN0aW9uIFEoZSx0KXtyZXR1cm4gZSYmdD9cIlwiLmNvbmNhdChlLFwiIFwiKS5jb25jYXQodCk6ZXx8dHx8XCJcIn1mdW5jdGlvbiBlZShlLHQpe2lmKDA9PT1lLmxlbmd0aClyZXR1cm5cIlwiO2Zvcih2YXIgbj1lWzBdLHI9MTtyPGUubGVuZ3RoO3IrKyluKz10P3QrZVtyXTplW3JdO3JldHVybiBufWZ1bmN0aW9uIHRlKGUpe3JldHVybiBudWxsIT09ZSYmXCJvYmplY3RcIj09dHlwZW9mIGUmJmUuY29uc3RydWN0b3IubmFtZT09PU9iamVjdC5uYW1lJiYhKFwicHJvcHNcImluIGUmJmUuJCR0eXBlb2YpfWZ1bmN0aW9uIG5lKGUsdCxuKXtpZih2b2lkIDA9PT1uJiYobj0hMSksIW4mJiF0ZShlKSYmIUFycmF5LmlzQXJyYXkoZSkpcmV0dXJuIHQ7aWYoQXJyYXkuaXNBcnJheSh0KSlmb3IodmFyIHI9MDtyPHQubGVuZ3RoO3IrKyllW3JdPW5lKGVbcl0sdFtyXSk7ZWxzZSBpZih0ZSh0KSlmb3IodmFyIHIgaW4gdCllW3JdPW5lKGVbcl0sdFtyXSk7cmV0dXJuIGV9ZnVuY3Rpb24gcmUoZSx0KXtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxcInRvU3RyaW5nXCIse3ZhbHVlOnR9KX12YXIgb2U9XCJwcm9kdWN0aW9uXCIhPT1wcm9jZXNzLmVudi5OT0RFX0VOVj97MTpcIkNhbm5vdCBjcmVhdGUgc3R5bGVkLWNvbXBvbmVudCBmb3IgY29tcG9uZW50OiAlcy5cXG5cXG5cIiwyOlwiQ2FuJ3QgY29sbGVjdCBzdHlsZXMgb25jZSB5b3UndmUgY29uc3VtZWQgYSBgU2VydmVyU3R5bGVTaGVldGAncyBzdHlsZXMhIGBTZXJ2ZXJTdHlsZVNoZWV0YCBpcyBhIG9uZSBvZmYgaW5zdGFuY2UgZm9yIGVhY2ggc2VydmVyLXNpZGUgcmVuZGVyIGN5Y2xlLlxcblxcbi0gQXJlIHlvdSB0cnlpbmcgdG8gcmV1c2UgaXQgYWNyb3NzIHJlbmRlcnM/XFxuLSBBcmUgeW91IGFjY2lkZW50YWxseSBjYWxsaW5nIGNvbGxlY3RTdHlsZXMgdHdpY2U/XFxuXFxuXCIsMzpcIlN0cmVhbWluZyBTU1IgaXMgb25seSBzdXBwb3J0ZWQgaW4gYSBOb2RlLmpzIGVudmlyb25tZW50OyBQbGVhc2UgZG8gbm90IHRyeSB0byBjYWxsIHRoaXMgbWV0aG9kIGluIHRoZSBicm93c2VyLlxcblxcblwiLDQ6XCJUaGUgYFN0eWxlU2hlZXRNYW5hZ2VyYCBleHBlY3RzIGEgdmFsaWQgdGFyZ2V0IG9yIHNoZWV0IHByb3AhXFxuXFxuLSBEb2VzIHRoaXMgZXJyb3Igb2NjdXIgb24gdGhlIGNsaWVudCBhbmQgaXMgeW91ciB0YXJnZXQgZmFsc3k/XFxuLSBEb2VzIHRoaXMgZXJyb3Igb2NjdXIgb24gdGhlIHNlcnZlciBhbmQgaXMgdGhlIHNoZWV0IGZhbHN5P1xcblxcblwiLDU6XCJUaGUgY2xvbmUgbWV0aG9kIGNhbm5vdCBiZSB1c2VkIG9uIHRoZSBjbGllbnQhXFxuXFxuLSBBcmUgeW91IHJ1bm5pbmcgaW4gYSBjbGllbnQtbGlrZSBlbnZpcm9ubWVudCBvbiB0aGUgc2VydmVyP1xcbi0gQXJlIHlvdSB0cnlpbmcgdG8gcnVuIFNTUiBvbiB0aGUgY2xpZW50P1xcblxcblwiLDY6XCJUcnlpbmcgdG8gaW5zZXJ0IGEgbmV3IHN0eWxlIHRhZywgYnV0IHRoZSBnaXZlbiBOb2RlIGlzIHVubW91bnRlZCFcXG5cXG4tIEFyZSB5b3UgdXNpbmcgYSBjdXN0b20gdGFyZ2V0IHRoYXQgaXNuJ3QgbW91bnRlZD9cXG4tIERvZXMgeW91ciBkb2N1bWVudCBub3QgaGF2ZSBhIHZhbGlkIGhlYWQgZWxlbWVudD9cXG4tIEhhdmUgeW91IGFjY2lkZW50YWxseSByZW1vdmVkIGEgc3R5bGUgdGFnIG1hbnVhbGx5P1xcblxcblwiLDc6J1RoZW1lUHJvdmlkZXI6IFBsZWFzZSByZXR1cm4gYW4gb2JqZWN0IGZyb20geW91ciBcInRoZW1lXCIgcHJvcCBmdW5jdGlvbiwgZS5nLlxcblxcbmBgYGpzXFxudGhlbWU9eygpID0+ICh7fSl9XFxuYGBgXFxuXFxuJyw4OidUaGVtZVByb3ZpZGVyOiBQbGVhc2UgbWFrZSB5b3VyIFwidGhlbWVcIiBwcm9wIGFuIG9iamVjdC5cXG5cXG4nLDk6XCJNaXNzaW5nIGRvY3VtZW50IGA8aGVhZD5gXFxuXFxuXCIsMTA6XCJDYW5ub3QgZmluZCBhIFN0eWxlU2hlZXQgaW5zdGFuY2UuIFVzdWFsbHkgdGhpcyBoYXBwZW5zIGlmIHRoZXJlIGFyZSBtdWx0aXBsZSBjb3BpZXMgb2Ygc3R5bGVkLWNvbXBvbmVudHMgbG9hZGVkIGF0IG9uY2UuIENoZWNrIG91dCB0aGlzIGlzc3VlIGZvciBob3cgdG8gdHJvdWJsZXNob290IGFuZCBmaXggdGhlIGNvbW1vbiBjYXNlcyB3aGVyZSB0aGlzIHNpdHVhdGlvbiBjYW4gaGFwcGVuOiBodHRwczovL2dpdGh1Yi5jb20vc3R5bGVkLWNvbXBvbmVudHMvc3R5bGVkLWNvbXBvbmVudHMvaXNzdWVzLzE5NDEjaXNzdWVjb21tZW50LTQxNzg2MjAyMVxcblxcblwiLDExOlwiX1RoaXMgZXJyb3Igd2FzIHJlcGxhY2VkIHdpdGggYSBkZXYtdGltZSB3YXJuaW5nLCBpdCB3aWxsIGJlIGRlbGV0ZWQgZm9yIHY0IGZpbmFsLl8gW2NyZWF0ZUdsb2JhbFN0eWxlXSByZWNlaXZlZCBjaGlsZHJlbiB3aGljaCB3aWxsIG5vdCBiZSByZW5kZXJlZC4gUGxlYXNlIHVzZSB0aGUgY29tcG9uZW50IHdpdGhvdXQgcGFzc2luZyBjaGlsZHJlbiBlbGVtZW50cy5cXG5cXG5cIiwxMjpcIkl0IHNlZW1zIHlvdSBhcmUgaW50ZXJwb2xhdGluZyBhIGtleWZyYW1lIGRlY2xhcmF0aW9uICglcykgaW50byBhbiB1bnRhZ2dlZCBzdHJpbmcuIFRoaXMgd2FzIHN1cHBvcnRlZCBpbiBzdHlsZWQtY29tcG9uZW50cyB2MywgYnV0IGlzIG5vdCBsb25nZXIgc3VwcG9ydGVkIGluIHY0IGFzIGtleWZyYW1lcyBhcmUgbm93IGluam