{"version":3,"file":"uigradients.mjs","sources":["../src/generator.js","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-is/cjs/react-is.development.js","../node_modules/react-is/index.js","../node_modules/prop-types/node_modules/object-assign/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/prop-types/checkPropTypes.js","../node_modules/prop-types/factoryWithTypeCheckers.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../src/components/GradientProvider.js","../src/hoc/withPresets.js","../src/gradients.js","../src/components/Gradient.js"],"sourcesContent":["import { css } from \"styled-components\";\n\nexport const linearGradient = ({ presets, preset, angle }) => css`\n  background-color: ${presets[preset][0]};\n  background-image: -webkit-linear-gradient(\n    ${angle}deg,\n    ${presets[preset][0]},\n    ${presets[preset][1]}\n  );\n  background-image: -moz-linear-gradient(\n    ${angle}deg,\n    ${presets[preset][0]},\n    ${presets[preset][1]}\n  );\n  background-image: -o-linear-gradient(\n    ${angle}deg,\n    ${presets[preset][0]},\n    ${presets[preset][1]}\n  );\n  background-image: linear-gradient(\n    ${angle}deg,\n    ${presets[preset][0]},\n    ${presets[preset][1]}\n  );\n`;\n\nexport const radialGradient = ({\n  presets,\n  preset,\n  extent,\n  shape = \"circle\",\n  position = \"center\",\n}) =>\n  css`\n    background-image: -webkit-radial-gradient(\n      ${shape} ${extent} at ${position},\n      ${presets[preset][0]},\n      ${presets[preset][1]}\n    );\n    background-image: -moz-radial-gradient(\n      ${shape} ${extent} at ${position},\n      ${presets[preset][0]},\n      ${presets[preset][1]}\n    );\n    background-image: -o-radial-gradient(\n      ${shape} ${extent} at ${position},\n      ${presets[preset][0]},\n      ${presets[preset][1]}\n    );\n    background-image: radial-gradient(\n      ${shape} ${extent} at ${position},\n      ${presets[preset][0]},\n      ${presets[preset][1]}\n    );\n    background-position: center;\n  `;\n\nexport const gradientTextMask = () => css`\n  -webkit-background-clip: text;\n  -webkit-text-fill-color: transparent;\n`;\n\nexport const gradientScale = scale => css`\n  background-size: ${scale};\n`;\n\nconst generator = (props = {}) => {\n  const { presets, type, textMask, scale } = props;\n\n  // This is the array of css styles we'll return later\n  const styles = [];\n\n  if (!presets) {\n    return null;\n  }\n\n  if (scale) {\n    styles.push(gradientScale(scale));\n  }\n\n  if (textMask) {\n    styles.push(gradientTextMask());\n  }\n\n  styles.push(\n    type === \"radial\" ? radialGradient(props) : linearGradient(props)\n  );\n\n  return styles;\n};\n\nexport default generator;\n","/** @license React v16.11.0\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';Object.defineProperty(exports,\"__esModule\",{value:!0});\nvar b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?Symbol.for(\"react.suspense_list\"):\n60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.fundamental\"):60117,w=b?Symbol.for(\"react.responder\"):60118,x=b?Symbol.for(\"react.scope\"):60119;function y(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case h:return a;default:return u}}case t:case r:case d:return u}}}function z(a){return y(a)===m}\nexports.typeOf=y;exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;exports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;\nexports.isValidElementType=function(a){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===v||a.$$typeof===w||a.$$typeof===x)};exports.isAsyncMode=function(a){return z(a)||y(a)===l};exports.isConcurrentMode=z;exports.isContextConsumer=function(a){return y(a)===k};exports.isContextProvider=function(a){return y(a)===h};\nexports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return y(a)===n};exports.isFragment=function(a){return y(a)===e};exports.isLazy=function(a){return y(a)===t};exports.isMemo=function(a){return y(a)===r};exports.isPortal=function(a){return y(a)===d};exports.isProfiler=function(a){return y(a)===g};exports.isStrictMode=function(a){return y(a)===f};exports.isSuspense=function(a){return y(a)===p};\n","/** @license React v16.11.0\n * react-is.development.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\n\n\nif (process.env.NODE_ENV !== \"production\") {\n  (function() {\n'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n  return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n  type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE);\n}\n\n/**\n * Forked from fbjs/warning:\n * https://github.com/facebook/fbjs/blob/e66ba20ad5be433eb54423f2b097d829324d9de6/packages/fbjs/src/__forks__/warning.js\n *\n * Only change is we use console.warn instead of console.error,\n * and do nothing when 'console' is not supported.\n * This really simplifies the code.\n * ---\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\nvar lowPriorityWarningWithoutStack = function () {};\n\n{\n  var printWarning = function (format) {\n    for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n      args[_key - 1] = arguments[_key];\n    }\n\n    var argIndex = 0;\n    var message = 'Warning: ' + format.replace(/%s/g, function () {\n      return args[argIndex++];\n    });\n\n    if (typeof console !== 'undefined') {\n      console.warn(message);\n    }\n\n    try {\n      // --- Welcome to debugging React ---\n      // This error was thrown as a convenience so that you can use this stack\n      // to find the callsite that caused this warning to fire.\n      throw new Error(message);\n    } catch (x) {}\n  };\n\n  lowPriorityWarningWithoutStack = function (condition, format) {\n    if (format === undefined) {\n      throw new Error('`lowPriorityWarningWithoutStack(condition, format, ...args)` requires a warning ' + 'message argument');\n    }\n\n    if (!condition) {\n      for (var _len2 = arguments.length, args = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n        args[_key2 - 2] = arguments[_key2];\n      }\n\n      printWarning.apply(void 0, [format].concat(args));\n    }\n  };\n}\n\nvar lowPriorityWarningWithoutStack$1 = lowPriorityWarningWithoutStack;\n\nfunction typeOf(object) {\n  if (typeof object === 'object' && object !== null) {\n    var $$typeof = object.$$typeof;\n\n    switch ($$typeof) {\n      case REACT_ELEMENT_TYPE:\n        var type = object.type;\n\n        switch (type) {\n          case REACT_ASYNC_MODE_TYPE:\n          case REACT_CONCURRENT_MODE_TYPE:\n          case REACT_FRAGMENT_TYPE:\n          case REACT_PROFILER_TYPE:\n          case REACT_STRICT_MODE_TYPE:\n          case REACT_SUSPENSE_TYPE:\n            return type;\n\n          default:\n            var $$typeofType = type && type.$$typeof;\n\n            switch ($$typeofType) {\n              case REACT_CONTEXT_TYPE:\n              case REACT_FORWARD_REF_TYPE:\n              case REACT_PROVIDER_TYPE:\n                return $$typeofType;\n\n              default:\n                return $$typeof;\n            }\n\n        }\n\n      case REACT_LAZY_TYPE:\n      case REACT_MEMO_TYPE:\n      case REACT_PORTAL_TYPE:\n        return $$typeof;\n    }\n  }\n\n  return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n  {\n    if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n      hasWarnedAboutDeprecatedIsAsyncMode = true;\n      lowPriorityWarningWithoutStack$1(false, 'The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n    }\n  }\n\n  return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n  return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n  return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n  return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n  return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n  return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n  return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n  return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n  return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n  return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n  return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n  return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n  return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.typeOf = typeOf;\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isValidElementType = isValidElementType;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\n  })();\n}\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}\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc');  // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\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\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\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\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n  var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n  var loggedTypeFailures = {};\n  var has = Function.call.bind(Object.prototype.hasOwnProperty);\n\n  printWarning = function(text) {\n    var message = 'Warning: ' + text;\n    if (typeof console !== 'undefined') {\n      console.error(message);\n    }\n    try {\n      // --- Welcome to debugging React ---\n      // This error was thrown as a convenience so that you can use this stack\n      // to find the callsite that caused this warning to fire.\n      throw new Error(message);\n    } catch (x) {}\n  };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n  if (process.env.NODE_ENV !== 'production') {\n    for (var typeSpecName in typeSpecs) {\n      if (has(typeSpecs, typeSpecName)) {\n        var error;\n        // Prop type validation may throw. In case they do, we don't want to\n        // fail the render phase where it didn't fail before. So we log it.\n        // After these have been cleaned up, we'll let them throw.\n        try {\n          // This is intentionally an invariant that gets caught. It's the same\n          // behavior as without this statement except with a better message.\n          if (typeof typeSpecs[typeSpecName] !== 'function') {\n            var err = Error(\n              (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n              'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.'\n            );\n            err.name = 'Invariant Violation';\n            throw err;\n          }\n          error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n        } catch (ex) {\n          error = ex;\n        }\n        if (error && !(error instanceof Error)) {\n          printWarning(\n            (componentName || 'React class') + ': type specification of ' +\n            location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n            'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n            'You may have forgotten to pass an argument to the type checker ' +\n            'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n            'shape all require an argument).'\n          );\n        }\n        if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n          // Only monitor this failure once because there tends to be a lot of the\n          // same error.\n          loggedTypeFailures[error.message] = true;\n\n          var stack = getStack ? getStack() : '';\n\n          printWarning(\n            'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n          );\n        }\n      }\n    }\n  }\n}\n\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\ncheckPropTypes.resetWarningCache = function() {\n  if (process.env.NODE_ENV !== 'production') {\n    loggedTypeFailures = {};\n  }\n}\n\nmodule.exports = checkPropTypes;\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\nvar ReactIs = require('react-is');\nvar assign = require('object-assign');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar checkPropTypes = require('./checkPropTypes');\n\nvar has = Function.call.bind(Object.prototype.hasOwnProperty);\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n  printWarning = function(text) {\n    var message = 'Warning: ' + text;\n    if (typeof console !== 'undefined') {\n      console.error(message);\n    }\n    try {\n      // --- Welcome to debugging React ---\n      // This error was thrown as a convenience so that you can use this stack\n      // to find the callsite that caused this warning to fire.\n      throw new Error(message);\n    } catch (x) {}\n  };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n  return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n  /* global Symbol */\n  var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n  var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n  /**\n   * Returns the iterator method function contained on the iterable object.\n   *\n   * Be sure to invoke the function with the iterable as context:\n   *\n   *     var iteratorFn = getIteratorFn(myIterable);\n   *     if (iteratorFn) {\n   *       var iterator = iteratorFn.call(myIterable);\n   *       ...\n   *     }\n   *\n   * @param {?object} maybeIterable\n   * @return {?function}\n   */\n  function getIteratorFn(maybeIterable) {\n    var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n    if (typeof iteratorFn === 'function') {\n      return iteratorFn;\n    }\n  }\n\n  /**\n   * Collection of methods that allow declaration and validation of props that are\n   * supplied to React components. Example usage:\n   *\n   *   var Props = require('ReactPropTypes');\n   *   var MyArticle = React.createClass({\n   *     propTypes: {\n   *       // An optional string prop named \"description\".\n   *       description: Props.string,\n   *\n   *       // A required enum prop named \"category\".\n   *       category: Props.oneOf(['News','Photos']).isRequired,\n   *\n   *       // A prop named \"dialog\" that requires an instance of Dialog.\n   *       dialog: Props.instanceOf(Dialog).isRequired\n   *     },\n   *     render: function() { ... }\n   *   });\n   *\n   * A more formal specification of how these methods are used:\n   *\n   *   type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n   *   decl := ReactPropTypes.{type}(.isRequired)?\n   *\n   * Each and every declaration produces a function with the same signature. This\n   * allows the creation of custom validation functions. For example:\n   *\n   *  var MyLink = React.createClass({\n   *    propTypes: {\n   *      // An optional string or URI prop named \"href\".\n   *      href: function(props, propName, componentName) {\n   *        var propValue = props[propName];\n   *        if (propValue != null && typeof propValue !== 'string' &&\n   *            !(propValue instanceof URI)) {\n   *          return new Error(\n   *            'Expected a string or an URI for ' + propName + ' in ' +\n   *            componentName\n   *          );\n   *        }\n   *      }\n   *    },\n   *    render: function() {...}\n   *  });\n   *\n   * @internal\n   */\n\n  var ANONYMOUS = '<<anonymous>>';\n\n  // Important!\n  // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n  var ReactPropTypes = {\n    array: createPrimitiveTypeChecker('array'),\n    bool: createPrimitiveTypeChecker('boolean'),\n    func: createPrimitiveTypeChecker('function'),\n    number: createPrimitiveTypeChecker('number'),\n    object: createPrimitiveTypeChecker('object'),\n    string: createPrimitiveTypeChecker('string'),\n    symbol: createPrimitiveTypeChecker('symbol'),\n\n    any: createAnyTypeChecker(),\n    arrayOf: createArrayOfTypeChecker,\n    element: createElementTypeChecker(),\n    elementType: createElementTypeTypeChecker(),\n    instanceOf: createInstanceTypeChecker,\n    node: createNodeChecker(),\n    objectOf: createObjectOfTypeChecker,\n    oneOf: createEnumTypeChecker,\n    oneOfType: createUnionTypeChecker,\n    shape: createShapeTypeChecker,\n    exact: createStrictShapeTypeChecker,\n  };\n\n  /**\n   * inlined Object.is polyfill to avoid requiring consumers ship their own\n   * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n   */\n  /*eslint-disable no-self-compare*/\n  function is(x, y) {\n    // SameValue algorithm\n    if (x === y) {\n      // Steps 1-5, 7-10\n      // Steps 6.b-6.e: +0 != -0\n      return x !== 0 || 1 / x === 1 / y;\n    } else {\n      // Step 6.a: NaN == NaN\n      return x !== x && y !== y;\n    }\n  }\n  /*eslint-enable no-self-compare*/\n\n  /**\n   * We use an Error-like object for backward compatibility as people may call\n   * PropTypes directly and inspect their output. However, we don't use real\n   * Errors anymore. We don't inspect their stack anyway, and creating them\n   * is prohibitively expensive if they are created too often, such as what\n   * happens in oneOfType() for any type before the one that matched.\n   */\n  function PropTypeError(message) {\n    this.message = message;\n    this.stack = '';\n  }\n  // Make `instanceof Error` still work for returned errors.\n  PropTypeError.prototype = Error.prototype;\n\n  function createChainableTypeChecker(validate) {\n    if (process.env.NODE_ENV !== 'production') {\n      var manualPropTypeCallCache = {};\n      var manualPropTypeWarningCount = 0;\n    }\n    function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n      componentName = componentName || ANONYMOUS;\n      propFullName = propFullName || propName;\n\n      if (secret !== ReactPropTypesSecret) {\n        if (throwOnDirectAccess) {\n          // New behavior only for users of `prop-types` package\n          var err = new Error(\n            'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n            'Use `PropTypes.checkPropTypes()` to call them. ' +\n            'Read more at http://fb.me/use-check-prop-types'\n          );\n          err.name = 'Invariant Violation';\n          throw err;\n        } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n          // Old behavior for people using React.PropTypes\n          var cacheKey = componentName + ':' + propName;\n          if (\n            !manualPropTypeCallCache[cacheKey] &&\n            // Avoid spamming the console because they are often not actionable except for lib authors\n            manualPropTypeWarningCount < 3\n          ) {\n            printWarning(\n              'You are manually calling a React.PropTypes validation ' +\n              'function for the `' + propFullName + '` prop on `' + componentName  + '`. This is deprecated ' +\n              'and will throw in the standalone `prop-types` package. ' +\n              'You may be seeing this warning due to a third-party PropTypes ' +\n              'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n            );\n            manualPropTypeCallCache[cacheKey] = true;\n            manualPropTypeWarningCount++;\n          }\n        }\n      }\n      if (props[propName] == null) {\n        if (isRequired) {\n          if (props[propName] === null) {\n            return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n          }\n          return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n        }\n        return null;\n      } else {\n        return validate(props, propName, componentName, location, propFullName);\n      }\n    }\n\n    var chainedCheckType = checkType.bind(null, false);\n    chainedCheckType.isRequired = checkType.bind(null, true);\n\n    return chainedCheckType;\n  }\n\n  function createPrimitiveTypeChecker(expectedType) {\n    function validate(props, propName, componentName, location, propFullName, secret) {\n      var propValue = props[propName];\n      var propType = getPropType(propValue);\n      if (propType !== expectedType) {\n        // `propValue` being instance of, say, date/regexp, pass the 'object'\n        // check, but we can offer a more precise error message here rather than\n        // 'of type `object`'.\n        var preciseType = getPreciseType(propValue);\n\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createAnyTypeChecker() {\n    return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n  }\n\n  function createArrayOfTypeChecker(typeChecker) {\n    function validate(props, propName, componentName, location, propFullName) {\n      if (typeof typeChecker !== 'function') {\n        return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n      }\n      var propValue = props[propName];\n      if (!Array.isArray(propValue)) {\n        var propType = getPropType(propValue);\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n      }\n      for (var i = 0; i < propValue.length; i++) {\n        var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n        if (error instanceof Error) {\n          return error;\n        }\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createElementTypeChecker() {\n    function validate(props, propName, componentName, location, propFullName) {\n      var propValue = props[propName];\n      if (!isValidElement(propValue)) {\n        var propType = getPropType(propValue);\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createElementTypeTypeChecker() {\n    function validate(props, propName, componentName, location, propFullName) {\n      var propValue = props[propName];\n      if (!ReactIs.isValidElementType(propValue)) {\n        var propType = getPropType(propValue);\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createInstanceTypeChecker(expectedClass) {\n    function validate(props, propName, componentName, location, propFullName) {\n      if (!(props[propName] instanceof expectedClass)) {\n        var expectedClassName = expectedClass.name || ANONYMOUS;\n        var actualClassName = getClassName(props[propName]);\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createEnumTypeChecker(expectedValues) {\n    if (!Array.isArray(expectedValues)) {\n      if (process.env.NODE_ENV !== 'production') {\n        if (arguments.length > 1) {\n          printWarning(\n            'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n            'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n          );\n        } else {\n          printWarning('Invalid argument supplied to oneOf, expected an array.');\n        }\n      }\n      return emptyFunctionThatReturnsNull;\n    }\n\n    function validate(props, propName, componentName, location, propFullName) {\n      var propValue = props[propName];\n      for (var i = 0; i < expectedValues.length; i++) {\n        if (is(propValue, expectedValues[i])) {\n          return null;\n        }\n      }\n\n      var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n        var type = getPreciseType(value);\n        if (type === 'symbol') {\n          return String(value);\n        }\n        return value;\n      });\n      return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createObjectOfTypeChecker(typeChecker) {\n    function validate(props, propName, componentName, location, propFullName) {\n      if (typeof typeChecker !== 'function') {\n        return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n      }\n      var propValue = props[propName];\n      var propType = getPropType(propValue);\n      if (propType !== 'object') {\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n      }\n      for (var key in propValue) {\n        if (has(propValue, key)) {\n          var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n          if (error instanceof Error) {\n            return error;\n          }\n        }\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createUnionTypeChecker(arrayOfTypeCheckers) {\n    if (!Array.isArray(arrayOfTypeCheckers)) {\n      process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n      return emptyFunctionThatReturnsNull;\n    }\n\n    for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n      var checker = arrayOfTypeCheckers[i];\n      if (typeof checker !== 'function') {\n        printWarning(\n          'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n          'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n        );\n        return emptyFunctionThatReturnsNull;\n      }\n    }\n\n    function validate(props, propName, componentName, location, propFullName) {\n      for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n        var checker = arrayOfTypeCheckers[i];\n        if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {\n          return null;\n        }\n      }\n\n      return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createNodeChecker() {\n    function validate(props, propName, componentName, location, propFullName) {\n      if (!isNode(props[propName])) {\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createShapeTypeChecker(shapeTypes) {\n    function validate(props, propName, componentName, location, propFullName) {\n      var propValue = props[propName];\n      var propType = getPropType(propValue);\n      if (propType !== 'object') {\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n      }\n      for (var key in shapeTypes) {\n        var checker = shapeTypes[key];\n        if (!checker) {\n          continue;\n        }\n        var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n        if (error) {\n          return error;\n        }\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createStrictShapeTypeChecker(shapeTypes) {\n    function validate(props, propName, componentName, location, propFullName) {\n      var propValue = props[propName];\n      var propType = getPropType(propValue);\n      if (propType !== 'object') {\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n      }\n      // We need to check all keys in case some are required but missing from\n      // props.\n      var allKeys = assign({}, props[propName], shapeTypes);\n      for (var key in allKeys) {\n        var checker = shapeTypes[key];\n        if (!checker) {\n          return new PropTypeError(\n            'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n            '\\nBad object: ' + JSON.stringify(props[propName], null, '  ') +\n            '\\nValid keys: ' +  JSON.stringify(Object.keys(shapeTypes), null, '  ')\n          );\n        }\n        var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n        if (error) {\n          return error;\n        }\n      }\n      return null;\n    }\n\n    return createChainableTypeChecker(validate);\n  }\n\n  function isNode(propValue) {\n    switch (typeof propValue) {\n      case 'number':\n      case 'string':\n      case 'undefined':\n        return true;\n      case 'boolean':\n        return !propValue;\n      case 'object':\n        if (Array.isArray(propValue)) {\n          return propValue.every(isNode);\n        }\n        if (propValue === null || isValidElement(propValue)) {\n          return true;\n        }\n\n        var iteratorFn = getIteratorFn(propValue);\n        if (iteratorFn) {\n          var iterator = iteratorFn.call(propValue);\n          var step;\n          if (iteratorFn !== propValue.entries) {\n            while (!(step = iterator.next()).done) {\n              if (!isNode(step.value)) {\n                return false;\n              }\n            }\n          } else {\n            // Iterator will provide entry [k,v] tuples rather than values.\n            while (!(step = iterator.next()).done) {\n              var entry = step.value;\n              if (entry) {\n                if (!isNode(entry[1])) {\n                  return false;\n                }\n              }\n            }\n          }\n        } else {\n          return false;\n        }\n\n        return true;\n      default:\n        return false;\n    }\n  }\n\n  function isSymbol(propType, propValue) {\n    // Native Symbol.\n    if (propType === 'symbol') {\n      return true;\n    }\n\n    // falsy value can't be a Symbol\n    if (!propValue) {\n      return false;\n    }\n\n    // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n    if (propValue['@@toStringTag'] === 'Symbol') {\n      return true;\n    }\n\n    // Fallback for non-spec compliant Symbols which are polyfilled.\n    if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n      return true;\n    }\n\n    return false;\n  }\n\n  // Equivalent of `typeof` but with special handling for array and regexp.\n  function getPropType(propValue) {\n    var propType = typeof propValue;\n    if (Array.isArray(propValue)) {\n      return 'array';\n    }\n    if (propValue instanceof RegExp) {\n      // Old webkits (at least until Android 4.0) return 'function' rather than\n      // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n      // passes PropTypes.object.\n      return 'object';\n    }\n    if (isSymbol(propType, propValue)) {\n      return 'symbol';\n    }\n    return propType;\n  }\n\n  // This handles more types than `getPropType`. Only used for error messages.\n  // See `createPrimitiveTypeChecker`.\n  function getPreciseType(propValue) {\n    if (typeof propValue === 'undefined' || propValue === null) {\n      return '' + propValue;\n    }\n    var propType = getPropType(propValue);\n    if (propType === 'object') {\n      if (propValue instanceof Date) {\n        return 'date';\n      } else if (propValue instanceof RegExp) {\n        return 'regexp';\n      }\n    }\n    return propType;\n  }\n\n  // Returns a string that is postfixed to a warning about an invalid type.\n  // For example, \"undefined\" or \"of type array\"\n  function getPostfixForTypeWarning(value) {\n    var type = getPreciseType(value);\n    switch (type) {\n      case 'array':\n      case 'object':\n        return 'an ' + type;\n      case 'boolean':\n      case 'date':\n      case 'regexp':\n        return 'a ' + type;\n      default:\n        return type;\n    }\n  }\n\n  // Returns class name of the object, if any.\n  function getClassName(propValue) {\n    if (!propValue.constructor || !propValue.constructor.name) {\n      return ANONYMOUS;\n    }\n    return propValue.constructor.name;\n  }\n\n  ReactPropTypes.checkPropTypes = checkPropTypes;\n  ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\n  ReactPropTypes.PropTypes = ReactPropTypes;\n\n  return ReactPropTypes;\n};\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\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n  function shim(props, propName, componentName, location, propFullName, secret) {\n    if (secret === ReactPropTypesSecret) {\n      // It is still safe when called from React.\n      return;\n    }\n    var err = new Error(\n      'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n      'Use PropTypes.checkPropTypes() to call them. ' +\n      'Read more at http://fb.me/use-check-prop-types'\n    );\n    err.name = 'Invariant Violation';\n    throw err;\n  };\n  shim.isRequired = shim;\n  function getShim() {\n    return shim;\n  };\n  // Important!\n  // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n  var ReactPropTypes = {\n    array: shim,\n    bool: shim,\n    func: shim,\n    number: shim,\n    object: shim,\n    string: shim,\n    symbol: shim,\n\n    any: shim,\n    arrayOf: getShim,\n    element: shim,\n    elementType: shim,\n    instanceOf: getShim,\n    node: shim,\n    objectOf: getShim,\n    oneOf: getShim,\n    oneOfType: getShim,\n    shape: getShim,\n    exact: getShim,\n\n    checkPropTypes: emptyFunctionWithReset,\n    resetWarningCache: emptyFunction\n  };\n\n  ReactPropTypes.PropTypes = ReactPropTypes;\n\n  return ReactPropTypes;\n};\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\nif (process.env.NODE_ENV !== 'production') {\n  var ReactIs = require('react-is');\n\n  // By explicitly using `prop-types` you are opting into new development behavior.\n  // http://fb.me/prop-types-in-prod\n  var throwOnDirectAccess = true;\n  module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n  // By explicitly using `prop-types` you are opting into new production behavior.\n  // http://fb.me/prop-types-in-prod\n  module.exports = require('./factoryWithThrowingShims')();\n}\n","import React, { createContext, Component } from \"react\";\nimport memoize from \"memoize-one\";\nimport { gradients } from \"../gradients.js\";\n\n// import StyledError from \"../utils/error\";\n// import isFunction from \"../utils/isFunction\";\n\n// export type Theme = { [key: string]: mixed };\n\n// type Props = {\n//   children?: Element<any>,\n//   presets: Theme | ((outerPresets: Theme) => void),\n// };\n\nexport const PresetContext = createContext();\n\nexport const PresetConsumer = PresetContext.Consumer;\n\n/**\n * Provide a presets to an entire react component tree via context\n */\nexport default class GradientProvider extends Component {\n  //   getContext;\n\n  //   renderInner;\n\n  constructor(props) {\n    super(props);\n    this.getContext = memoize(this.getContext.bind(this));\n    this.renderInner = this.renderInner.bind(this);\n\n    console.log(\"PROVIDER\");\n  }\n\n  render() {\n    console.log(\"fuck\");\n    if (!this.props.children) return null;\n\n    return <PresetContext.Consumer>{this.renderInner}</PresetContext.Consumer>;\n  }\n\n  renderInner(outerPresets) {\n    const context = this.getContext(this.props.presets, outerPresets);\n\n    console.log(\"RENDERINNER\");\n\n    return (\n      <PresetContext.Provider value={context}>\n        {this.props.children}\n      </PresetContext.Provider>\n    );\n  }\n\n  /**\n   * Get the presets from the props, supporting both (outerPresets) => {}\n   * as well as object notation\n   */\n  getPresets(presets, outerPresets) {\n    // if (isFunction(presets)) {\n    //   const mergedTheme = presets(outerPresets);\n\n    //   if (\n    //     process.env.NODE_ENV !== \"production\" &&\n    //     (mergedTheme === null ||\n    //       Array.isArray(mergedTheme) ||\n    //       typeof mergedTheme !== \"object\")\n    //   ) {\n    //     throw new StyledError(7);\n    //   }\n\n    //   return mergedTheme;\n    // }\n\n    // if (presets === null || Array.isArray(presets) || typeof presets !== \"object\") {\n    //   throw new StyledError(8);\n    // }\n\n    if (!outerPresets && !presets) {\n      return gradients;\n    }\n\n    console.log(outerPresets, presets);\n\n    return { ...outerPresets, ...presets };\n  }\n\n  getContext(presets, outerPresets) {\n    return this.getPresets(presets, outerPresets);\n  }\n}\n","import React from \"react\";\nimport { PresetConsumer } from \"../components/GradientProvider\";\nimport { gradients, randomGradientName } from \"../gradients.js\";\n\nexport default Component => {\n  const withGradientPresets = React.forwardRef((props, ref) => (\n    <PresetConsumer>\n      {presets => {\n        const presetProp = presets || gradients;\n        const activePreset = props.preset || randomGradientName(presetProp);\n\n        return (\n          <Component\n            {...props}\n            presets={presetProp}\n            preset={activePreset}\n            ref={ref}\n          />\n        );\n      }}\n    </PresetConsumer>\n  ));\n\n  return withGradientPresets;\n};\n","import gradients from \"./gradient_list.json\";\n\nfunction randomGradientName(presets) {\n  const keys = Object.keys(presets);\n  const index = Math.floor(Math.random() * keys.length);\n  return keys[index];\n}\n\nfunction listGradients() {\n  const map = new Map(Object.entries(gradients));\n  const GradientPreviews = [];\n\n  map.forEach(function(value, key) {\n    GradientPreviews.push(key);\n  });\n\n  return GradientPreviews;\n}\n\nexport { gradients, listGradients, randomGradientName };\n","/* eslint-disable no-unused-vars */\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport styled from \"styled-components\";\nimport generator from \"../generator\";\nimport withPresets from \"../hoc/withPresets\";\n\nfunction GradientContainer(props) {\n  const { gradient, angle, ...rest } = props;\n  return <div {...rest} />;\n}\n\nconst Gradient = styled(GradientContainer)`\n  ${props => generator(props)}\n`;\n\nGradient.propTypes = {\n  className: PropTypes.string,\n  preset: PropTypes.string,\n  angle: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n  type: PropTypes.string,\n  textMask: PropTypes.bool,\n  scale: PropTypes.string,\n};\n\nGradient.defaultProps = {\n  angle: -90,\n  textMask: false,\n};\n\nexport default withPresets(Gradient);\n"],"names":["generator","props","presets","preset","extent","shape","position","type","textMask","scale","styles","push","css","gradientScale","angle","linearGradient","Object","defineProperty","exports","value","b","Symbol","for","c","d","e","f","g","h","k","l","m","n","p","q","r","t","v","w","x","y","a","u","$$typeof","z","process","env","NODE_ENV","hasSymbol","REACT_ELEMENT_TYPE","REACT_PORTAL_TYPE","REACT_FRAGMENT_TYPE","REACT_STRICT_MODE_TYPE","REACT_PROFILER_TYPE","REACT_PROVIDER_TYPE","REACT_CONTEXT_TYPE","REACT_ASYNC_MODE_TYPE","REACT_CONCURRENT_MODE_TYPE","REACT_FORWARD_REF_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_MEMO_TYPE","REACT_LAZY_TYPE","REACT_FUNDAMENTAL_TYPE","REACT_RESPONDER_TYPE","REACT_SCOPE_TYPE","printWarning","format","_len","arguments","length","args","Array","_key","argIndex","message","replace","console","warn","Error","typeOf","object","$$typeofType","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","ForwardRef","Fragment","Lazy","Memo","Portal","Profiler","StrictMode","Suspense","hasWarnedAboutDeprecatedIsAsyncMode","isConcurrentMode","condition","undefined","_len2","_key2","apply","concat","lowPriorityWarningWithoutStack$1","module","require$$0","require$$1","getOwnPropertySymbols","hasOwnProperty","prototype","propIsEnumerable","propertyIsEnumerable","toObject","val","TypeError","assign","test1","String","getOwnPropertyNames","test2","i","fromCharCode","map","join","test3","split","forEach","letter","keys","err","shouldUseNative","target","source","from","symbols","to","s","key","call","ReactPropTypesSecret","loggedTypeFailures","has","Function","bind","text","error","checkPropTypes","typeSpecs","values","location","componentName","getStack","typeSpecName","name","ex","stack","resetWarningCache","emptyFunctionThatReturnsNull","emptyFunction","emptyFunctionWithReset","isValidElement","throwOnDirectAccess","ITERATOR_SYMBOL","iterator","FAUX_ITERATOR_SYMBOL","ANONYMOUS","ReactPropTypes","array","createPrimitiveTypeChecker","bool","func","number","string","symbol","any","createChainableTypeChecker","arrayOf","typeChecker","propName","propFullName","PropTypeError","propValue","isArray","getPropType","element","elementType","ReactIs","isValidElementType","instanceOf","expectedClass","constructor","node","isNode","objectOf","propType","oneOf","expectedValues","is","valuesString","JSON","stringify","getPreciseType","oneOfType","arrayOfTypeCheckers","checker","getPostfixForTypeWarning","shapeTypes","exact","allKeys","this","validate","manualPropTypeCallCache","manualPropTypeWarningCount","checkType","isRequired","secret","cacheKey","chainedCheckType","expectedType","every","iteratorFn","maybeIterable","getIteratorFn","step","entries","next","done","entry","RegExp","isSymbol","Date","PropTypes","isElement","shim","getShim","require$$2","PresetConsumer","createContext","Consumer","Component","React","forwardRef","ref","presetProp","gradients","activePreset","Math","floor","random","randomGradientName","Gradient","styled","rest","propTypes","className","defaultProps","withPresets"],"mappings":"wFAkEMA,EAAY,SAACC,YAAAA,IAAAA,EAAQ,UAvCzBC,EACAC,EACAC,IACAC,IACAC,EAoCiBC,EAA0BN,EAA1BM,KAAMC,EAAoBP,EAApBO,SAAUC,EAAUR,EAAVQ,MAG3BC,EAAS,GAEf,OAL2CT,EAAnCC,SASJO,GACFC,EAAOC,KAfkB,SAAAF,UAASG,2BACjBH,GAcLI,CAAcJ,IAGxBD,GACFE,EAAOC,KAxB2BC,0EA2BpCF,EAAOC,KACI,WAATJ,EApDFK,8RAHAP,iBAuDqCJ,GAvDrCI,OAAQ,WADRD,IAAAA,OAEAE,gBAAAA,UAAW,YAJXJ,IAAAA,SACAC,IAAAA,QAQsB,GAChBD,EAAQC,GAAQ,GAGhBE,EAASD,EAAaE,EACtBJ,EAAQC,GAAQ,GAChBD,EAAQC,GAAQ,GAGhBE,EAASD,EAAaE,EACtBJ,EAAQC,GAAQ,GAChBD,EAAQC,GAAQ,GAGhBE,EAASD,EAAaE,EACtBJ,EAAQC,GAAQ,GAChBD,EAAQC,GAAQ,IAlDM,gBAAGD,IAAAA,QAASC,IAAAA,OAAQW,IAAAA,aAAYF,wPACxCV,EAAQC,GAAQ,GAEhCW,EACAZ,EAAQC,GAAQ,GAChBD,EAAQC,GAAQ,GAGhBW,EACAZ,EAAQC,GAAQ,GAChBD,EAAQC,GAAQ,GAGhBW,EACAZ,EAAQC,GAAQ,GAChBD,EAAQC,GAAQ,GAGhBW,EACAZ,EAAQC,GAAQ,GAChBD,EAAQC,GAAQ,IA+D0BY,CAAed,IAGtDS,gZC/EIM,OAAOC,eAAeC,EAAQ,aAAa,CAACC,OAAM,IAC/D,IAAIC,EAAE,mBAAoBC,QAAQA,OAAOC,IAAIC,EAAEH,EAAEC,OAAOC,IAAI,iBAAiB,MAAME,EAAEJ,EAAEC,OAAOC,IAAI,gBAAgB,MAAMG,EAAEL,EAAEC,OAAOC,IAAI,kBAAkB,MAAMI,EAAEN,EAAEC,OAAOC,IAAI,qBAAqB,MAAMK,EAAEP,EAAEC,OAAOC,IAAI,kBAAkB,MAAMM,EAAER,EAAEC,OAAOC,IAAI,kBAAkB,MAAMO,EAAET,EAAEC,OAAOC,IAAI,iBAAiB,MAAMQ,EAAEV,EAAEC,OAAOC,IAAI,oBAAoB,MAAMS,EAAEX,EAAEC,OAAOC,IAAI,yBAAyB,MAAMU,EAAEZ,EAAEC,OAAOC,IAAI,qBAAqB,MAAMW,EAAEb,EAAEC,OAAOC,IAAI,kBAAkB,MAAMY,EAAEd,EAAEC,OAAOC,IAAI,uBACpf,MAAMa,EAAEf,EAAEC,OAAOC,IAAI,cAAc,MAAMc,EAAEhB,EAAEC,OAAOC,IAAI,cAAc,MAAMe,EAAEjB,EAAEC,OAAOC,IAAI,qBAAqB,MAAMgB,EAAElB,EAAEC,OAAOC,IAAI,mBAAmB,MAAMiB,EAAEnB,EAAEC,OAAOC,IAAI,eAAe,MAAM,SAASkB,EAAEC,GAAG,GAAG,iBAAkBA,GAAG,OAAOA,EAAE,CAAC,IAAIC,EAAED,EAAEE,SAAS,OAAOD,GAAG,KAAKnB,EAAE,OAAOkB,EAAEA,EAAElC,MAAQ,KAAKuB,EAAE,KAAKC,EAAE,KAAKN,EAAE,KAAKE,EAAE,KAAKD,EAAE,KAAKO,EAAE,OAAOQ,EAAE,QAAQ,OAAOA,EAAEA,GAAGA,EAAEE,UAAY,KAAKd,EAAE,KAAKG,EAAE,KAAKJ,EAAE,OAAOa,EAAE,QAAQ,OAAOC,GAAG,KAAKN,EAAE,KAAKD,EAAE,KAAKX,EAAE,OAAOkB,IAAI,SAASE,EAAEH,GAAG,OAAOD,EAAEC,KAAKV,EACxeb,SAAesB,EAAEtB,YAAkBY,EAAEZ,iBAAuBa,EAAEb,kBAAwBW,EAAEX,kBAAwBU,EAAEV,UAAgBK,EAAEL,aAAmBc,EAAEd,WAAiBO,EAAEP,OAAakB,EAAElB,OAAaiB,EAAEjB,SAAeM,EAAEN,WAAiBS,EAAET,aAAmBQ,EAAER,WAAiBe,EACpRf,qBAA2B,SAASuB,GAAG,MAAM,iBAAkBA,GAAG,mBAAoBA,GAAGA,IAAIhB,GAAGgB,IAAIV,GAAGU,IAAId,GAAGc,IAAIf,GAAGe,IAAIR,GAAGQ,IAAIP,GAAG,iBAAkBO,GAAG,OAAOA,IAAIA,EAAEE,WAAWP,GAAGK,EAAEE,WAAWR,GAAGM,EAAEE,WAAWf,GAAGa,EAAEE,WAAWd,GAAGY,EAAEE,WAAWX,GAAGS,EAAEE,WAAWN,GAAGI,EAAEE,WAAWL,GAAGG,EAAEE,WAAWJ,IAAIrB,cAAoB,SAASuB,GAAG,OAAOG,EAAEH,IAAID,EAAEC,KAAKX,GAAGZ,mBAAyB0B,EAAE1B,oBAA0B,SAASuB,GAAG,OAAOD,EAAEC,KAAKZ,GAAGX,oBAA0B,SAASuB,GAAG,OAAOD,EAAEC,KAAKb,GACjeV,YAAkB,SAASuB,GAAG,MAAM,iBAAkBA,GAAG,OAAOA,GAAGA,EAAEE,WAAWpB,GAAGL,eAAqB,SAASuB,GAAG,OAAOD,EAAEC,KAAKT,GAAGd,aAAmB,SAASuB,GAAG,OAAOD,EAAEC,KAAKhB,GAAGP,SAAe,SAASuB,GAAG,OAAOD,EAAEC,KAAKL,GAAGlB,SAAe,SAASuB,GAAG,OAAOD,EAAEC,KAAKN,GAAGjB,WAAiB,SAASuB,GAAG,OAAOD,EAAEC,KAAKjB,GAAGN,aAAmB,SAASuB,GAAG,OAAOD,EAAEC,KAAKd,GAAGT,eAAqB,SAASuB,GAAG,OAAOD,EAAEC,KAAKf,GAAGR,aAAmB,SAASuB,GAAG,OAAOD,EAAEC,KAAKR,kCCD7a,eAAzBY,QAAQC,IAAIC,UACd,WAGF/B,OAAOC,eAAeC,EAAS,aAAc,CAAEC,OAAO,IAItD,IAAI6B,EAA8B,mBAAX3B,QAAyBA,OAAOC,IACnD2B,EAAqBD,EAAY3B,OAAOC,IAAI,iBAAmB,MAC/D4B,EAAoBF,EAAY3B,OAAOC,IAAI,gBAAkB,MAC7D6B,EAAsBH,EAAY3B,OAAOC,IAAI,kBAAoB,MACjE8B,EAAyBJ,EAAY3B,OAAOC,IAAI,qBAAuB,MACvE+B,EAAsBL,EAAY3B,OAAOC,IAAI,kBAAoB,MACjEgC,EAAsBN,EAAY3B,OAAOC,IAAI,kBAAoB,MACjEiC,EAAqBP,EAAY3B,OAAOC,IAAI,iBAAmB,MAG/DkC,EAAwBR,EAAY3B,OAAOC,IAAI,oBAAsB,MACrEmC,EAA6BT,EAAY3B,OAAOC,IAAI,yBAA2B,MAC/EoC,EAAyBV,EAAY3B,OAAOC,IAAI,qBAAuB,MACvEqC,EAAsBX,EAAY3B,OAAOC,IAAI,kBAAoB,MACjEsC,EAA2BZ,EAAY3B,OAAOC,IAAI,uBAAyB,MAC3EuC,EAAkBb,EAAY3B,OAAOC,IAAI,cAAgB,MACzDwC,EAAkBd,EAAY3B,OAAOC,IAAI,cAAgB,MACzDyC,EAAyBf,EAAY3B,OAAOC,IAAI,qBAAuB,MACvE0C,EAAuBhB,EAAY3B,OAAOC,IAAI,mBAAqB,MACnE2C,EAAmBjB,EAAY3B,OAAOC,IAAI,eAAiB,MAuBzD4C,EAAe,SAAUC,GAC3B,IAAK,IAAIC,EAAOC,UAAUC,OAAQC,EAAO,IAAIC,MAAMJ,EAAO,EAAIA,EAAO,EAAI,GAAIK,EAAO,EAAGA,EAAOL,EAAMK,IAClGF,EAAKE,EAAO,GAAKJ,UAAUI,GAG7B,IAAIC,EAAW,EACXC,EAAU,YAAcR,EAAOS,QAAQ,OAAO,WAChD,OAAOL,EAAKG,QAGS,oBAAZG,SACTA,QAAQC,KAAKH,GAGf,IAIE,MAAM,IAAII,MAAMJ,GAChB,MAAOpC,MAoBb,SAASyC,EAAOC,GACd,GAAsB,iBAAXA,GAAkC,OAAXA,EAAiB,CACjD,IAAItC,EAAWsC,EAAOtC,SAEtB,OAAQA,GACN,KAAKM,EACH,IAAI1C,EAAO0E,EAAO1E,KAElB,OAAQA,GACN,KAAKiD,EACL,KAAKC,EACL,KAAKN,EACL,KAAKE,EACL,KAAKD,EACL,KAAKO,EACH,OAAOpD,EAET,QACE,IAAI2E,EAAe3E,GAAQA,EAAKoC,SAEhC,OAAQuC,GACN,KAAK3B,EACL,KAAKG,EACL,KAAKJ,EACH,OAAO4B,EAET,QACE,OAAOvC,GAKjB,KAAKmB,EACL,KAAKD,EACL,KAAKX,EACH,OAAOP,IAOf,IAAIwC,EAAY3B,EACZ4B,EAAiB3B,EACjB4B,EAAkB9B,EAClB+B,EAAkBhC,EAClBiC,EAAUtC,EACVuC,EAAa9B,EACb+B,EAAWtC,EACXuC,EAAO5B,EACP6B,EAAO9B,EACP+B,EAAS1C,EACT2C,EAAWxC,EACXyC,EAAa1C,EACb2C,EAAWpC,EACXqC,GAAsC,EAY1C,SAASC,EAAiBhB,GACxB,OAAOD,EAAOC,KAAYxB,EAoC5BvC,SAAiB8D,EACjB9D,YAAoBiE,EACpBjE,iBAAyBkE,EACzBlE,kBAA0BmE,EAC1BnE,kBAA0BoE,EAC1BpE,UAAkBqE,EAClBrE,aAAqBsE,EACrBtE,WAAmBuE,EACnBvE,OAAewE,EACfxE,OAAeyE,EACfzE,SAAiB0E,EACjB1E,WAAmB2E,EACnB3E,aAAqB4E,EACrB5E,WAAmB6E,EACnB7E,qBAlLA,SAA4BX,GAC1B,MAAuB,iBAATA,GAAqC,mBAATA,GAC1CA,IAAS4C,GAAuB5C,IAASkD,GAA8BlD,IAAS8C,GAAuB9C,IAAS6C,GAA0B7C,IAASoD,GAAuBpD,IAASqD,GAA4C,iBAATrD,GAA8B,OAATA,IAAkBA,EAAKoC,WAAamB,GAAmBvD,EAAKoC,WAAakB,GAAmBtD,EAAKoC,WAAaW,GAAuB/C,EAAKoC,WAAaY,GAAsBhD,EAAKoC,WAAae,GAA0BnD,EAAKoC,WAAaoB,GAA0BxD,EAAKoC,WAAaqB,GAAwBzD,EAAKoC,WAAasB,IAiL9iB/C,cA9DA,SAAqB+D,GAQnB,OANOe,IACHA,GAAsC,EA7ET,SAAUE,EAAW/B,GACpD,QAAegC,IAAXhC,EACF,MAAM,IAAIY,MAAM,oGAGlB,IAAKmB,EAAW,CACd,IAAK,IAAIE,EAAQ/B,UAAUC,OAAQC,EAAO,IAAIC,MAAM4B,EAAQ,EAAIA,EAAQ,EAAI,GAAIC,EAAQ,EAAGA,EAAQD,EAAOC,IACxG9B,EAAK8B,EAAQ,GAAKhC,UAAUgC,GAG9BnC,EAAaoC,WAAM,EAAQ,CAACnC,GAAQoC,OAAOhC,KAoE3CiC,EAAiC,EAAO,kLAIrCP,EAAiBhB,IAAWD,EAAOC,KAAYzB,GAuDxDtC,mBAA2B+E,EAC3B/E,oBAnDA,SAA2B+D,GACzB,OAAOD,EAAOC,KAAY1B,GAmD5BrC,oBAjDA,SAA2B+D,GACzB,OAAOD,EAAOC,KAAY3B,GAiD5BpC,YA/CA,SAAmB+D,GACjB,MAAyB,iBAAXA,GAAkC,OAAXA,GAAmBA,EAAOtC,WAAaM,GA+C9E/B,eA7CA,SAAsB+D,GACpB,OAAOD,EAAOC,KAAYvB,GA6C5BxC,aA3CA,SAAoB+D,GAClB,OAAOD,EAAOC,KAAY9B,GA2C5BjC,SAzCA,SAAgB+D,GACd,OAAOD,EAAOC,KAAYnB,GAyC5B5C,SAvCA,SAAgB+D,GACd,OAAOD,EAAOC,KAAYpB,GAuC5B3C,WArCA,SAAkB+D,GAChB,OAAOD,EAAOC,KAAY/B,GAqC5BhC,aAnCA,SAAoB+D,GAClB,OAAOD,EAAOC,KAAY5B,GAmC5BnC,eAjCA,SAAsB+D,GACpB,OAAOD,EAAOC,KAAY7B,GAiC5BlC,aA/BA,SAAoB+D,GAClB,OAAOD,EAAOC,KAAYtB,GA7L1B,gCCXA8C,UAD2B,eAAzB5D,QAAQC,IAAIC,SACG2D,EAEAC,KCGfC,EAAwB5F,OAAO4F,sBAC/BC,EAAiB7F,OAAO8F,UAAUD,eAClCE,EAAmB/F,OAAO8F,UAAUE;;;;;EAExC,SAASC,EAASC,GACjB,GAAIA,MAAAA,EACH,MAAM,IAAIC,UAAU,yDAGrB,OAAOnG,OAAOkG,GA+Cf,MA5CA,WACC,IACC,IAAKlG,OAAOoG,OACX,OAAO,EAMR,IAAIC,EAAQ,IAAIC,OAAO,OAEvB,GADAD,EAAM,GAAK,KACkC,MAAzCrG,OAAOuG,oBAAoBF,GAAO,GACrC,OAAO,EAKR,IADA,IAAIG,EAAQ,GACHC,EAAI,EAAGA,EAAI,GAAIA,IACvBD,EAAM,IAAMF,OAAOI,aAAaD,IAAMA,EAKvC,GAAwB,eAHXzG,OAAOuG,oBAAoBC,GAAOG,KAAI,SAAU3F,GAC5D,OAAOwF,EAAMxF,MAEH4F,KAAK,IACf,OAAO,EAIR,IAAIC,EAAQ,GAIZ,MAHA,uBAAuBC,MAAM,IAAIC,SAAQ,SAAUC,GAClDH,EAAMG,GAAUA,KAGf,yBADEhH,OAAOiH,KAAKjH,OAAOoG,OAAO,GAAIS,IAAQD,KAAK,IAM9C,MAAOM,GAER,OAAO,GAIQC,GAAoBnH,OAAOoG,OAAS,SAAUgB,EAAQC,GAKtE,IAJA,IAAIC,EAEAC,EADAC,EAAKvB,EAASmB,GAGTK,EAAI,EAAGA,EAAIpE,UAAUC,OAAQmE,IAAK,CAG1C,IAAK,IAAIC,KAFTJ,EAAOtH,OAAOqD,UAAUoE,IAGnB5B,EAAe8B,KAAKL,EAAMI,KAC7BF,EAAGE,GAAOJ,EAAKI,IAIjB,GAAI9B,EAAuB,CAC1B2B,EAAU3B,EAAsB0B,GAChC,IAAK,IAAIb,EAAI,EAAGA,EAAIc,EAAQjE,OAAQmD,IAC/BV,EAAiB4B,KAAKL,EAAMC,EAAQd,MACvCe,EAAGD,EAAQd,IAAMa,EAAKC,EAAQd,MAMlC,OAAOe,KC/EmB,+CCAvBtE,EAAe,aAEnB,GAA6B,eAAzBrB,QAAQC,IAAIC,SAA2B,CACzC,IAAI6F,EAAuBlC,EACvBmC,EAAqB,GACrBC,EAAMC,SAASJ,KAAKK,KAAKhI,OAAO8F,UAAUD,gBAE9C3C,EAAe,SAAS+E,GACtB,IAAItE,EAAU,YAAcsE,EACL,oBAAZpE,SACTA,QAAQqE,MAAMvE,GAEhB,IAIE,MAAM,IAAII,MAAMJ,GAChB,MAAOpC,MAeb,SAAS4G,EAAeC,EAAWC,EAAQC,EAAUC,EAAeC,GAClE,GAA6B,eAAzB3G,QAAQC,IAAIC,SACd,IAAK,IAAI0G,KAAgBL,EACvB,GAAIN,EAAIM,EAAWK,GAAe,CAChC,IAAIP,EAIJ,IAGE,GAAuC,mBAA5BE,EAAUK,GAA8B,CACjD,IAAIvB,EAAMnD,OACPwE,GAAiB,eAAiB,KAAOD,EAAW,UAAYG,EAAe,oGACQL,EAAUK,GAAgB,MAGpH,MADAvB,EAAIwB,KAAO,sBACLxB,EAERgB,EAAQE,EAAUK,GAAcJ,EAAQI,EAAcF,EAAeD,EAAU,KAAMV,GACrF,MAAOe,GACPT,EAAQS,EAYV,IAVIT,GAAWA,aAAiBnE,OAC9Bb,GACGqF,GAAiB,eAAiB,2BACnCD,EAAW,KAAOG,EAAe,kGACoCP,EAAQ,kKAM7EA,aAAiBnE,SAAWmE,EAAMvE,WAAWkE,GAAqB,CAGpEA,EAAmBK,EAAMvE,UAAW,EAEpC,IAAIiF,EAAQJ,EAAWA,IAAa,GAEpCtF,EACE,UAAYoF,EAAW,UAAYJ,EAAMvE,SAAoB,MAATiF,EAAgBA,EAAQ,OAaxFT,EAAeU,kBAAoB,WACJ,eAAzBhH,QAAQC,IAAIC,WACd8F,EAAqB,KAIzB,MAAiBM,ECtFbL,EAAMC,SAASJ,KAAKK,KAAKhI,OAAO8F,UAAUD,gBAC1C3C,EAAe,aAiBnB,SAAS4F,IACP,OAAO,KCvBT,SAASC,KACT,SAASC,KDMoB,eAAzBnH,QAAQC,IAAIC,WACdmB,EAAe,SAAS+E,GACtB,IAAItE,EAAU,YAAcsE,EACL,oBAAZpE,SACTA,QAAQqE,MAAMvE,GAEhB,IAIE,MAAM,IAAII,MAAMJ,GAChB,MAAOpC,OChBbyH,EAAuBH,kBAAoBE,EAE3C,qBCFEtD,UAN2B,eAAzB5D,QAAQC,IAAIC,SF8BC,SAASkH,EAAgBC,GAExC,IAAIC,EAAoC,mBAAX9I,QAAyBA,OAAO+I,SACzDC,EAAuB,aAsEvBC,EAAY,gBAIZC,EAAiB,CACnBC,MAAOC,EAA2B,SAClCC,KAAMD,EAA2B,WACjCE,KAAMF,EAA2B,YACjCG,OAAQH,EAA2B,UACnCxF,OAAQwF,EAA2B,UACnCI,OAAQJ,EAA2B,UACnCK,OAAQL,EAA2B,UAEnCM,IAyHOC,EAA2BlB,GAxHlCmB,QA2HF,SAAkCC,GAkBhC,OAAOF,GAjBP,SAAkB/K,EAAOkL,EAAU5B,EAAeD,EAAU8B,GAC1D,GAA2B,mBAAhBF,EACT,OAAO,IAAIG,EAAc,aAAeD,EAAe,mBAAqB7B,EAAgB,mDAE9F,IAAI+B,EAAYrL,EAAMkL,GACtB,IAAK3G,MAAM+G,QAAQD,GAEjB,OAAO,IAAID,EAAc,WAAa/B,EAAW,KAAO8B,EAAe,cADxDI,EAAYF,GAC6E,kBAAoB/B,EAAgB,yBAE9I,IAAK,IAAI9B,EAAI,EAAGA,EAAI6D,EAAUhH,OAAQmD,IAAK,CACzC,IAAIyB,EAAQgC,EAAYI,EAAW7D,EAAG8B,EAAeD,EAAU8B,EAAe,IAAM3D,EAAI,IAAKmB,GAC7F,GAAIM,aAAiBnE,MACnB,OAAOmE,EAGX,OAAO,SA1ITuC,QAwJOT,GARP,SAAkB/K,EAAOkL,EAAU5B,EAAeD,EAAU8B,GAC1D,IAAIE,EAAYrL,EAAMkL,GACtB,OAAKlB,EAAeqB,GAIb,KAFE,IAAID,EAAc,WAAa/B,EAAW,KAAO8B,EAAe,cADxDI,EAAYF,GAC6E,kBAAoB/B,EAAgB,yCAnJhJmC,YAmKOV,GARP,SAAkB/K,EAAOkL,EAAU5B,EAAeD,EAAU8B,GAC1D,IAAIE,EAAYrL,EAAMkL,GACtB,OAAKQ,EAAQC,mBAAmBN,GAIzB,KAFE,IAAID,EAAc,WAAa/B,EAAW,KAAO8B,EAAe,cADxDI,EAAYF,GAC6E,kBAAoB/B,EAAgB,8CA9JhJsC,WAqKF,SAAmCC,GASjC,OAAOd,GARP,SAAkB/K,EAAOkL,EAAU5B,EAAeD,EAAU8B,GAExD,IA2RgBE,EA5RlB,OAAMrL,EAAMkL,aAAqBW,EAK1B,KAFE,IAAIT,EAAc,WAAa/B,EAAW,KAAO8B,EAAe,gBAyRvDE,EA1RmBrL,EAAMkL,IA2R9BY,aAAgBT,EAAUS,YAAYrC,KAG9C4B,EAAUS,YAAYrC,KAFpBY,GA3R0G,kBAAoBf,EAAgB,6BAF3HuC,EAAcpC,MAAQY,GAE8J,UAzKhN0B,KA+QOhB,GANP,SAAkB/K,EAAOkL,EAAU5B,EAAeD,EAAU8B,GAC1D,OAAKa,EAAOhM,EAAMkL,IAGX,KAFE,IAAIE,EAAc,WAAa/B,EAAW,KAAO8B,EAAe,kBAA0B7B,EAAgB,+BA1QrH2C,SAkNF,SAAmChB,GAoBjC,OAAOF,GAnBP,SAAkB/K,EAAOkL,EAAU5B,EAAeD,EAAU8B,GAC1D,GAA2B,mBAAhBF,EACT,OAAO,IAAIG,EAAc,aAAeD,EAAe,mBAAqB7B,EAAgB,oDAE9F,IAAI+B,EAAYrL,EAAMkL,GAClBgB,EAAWX,EAAYF,GAC3B,GAAiB,WAAba,EACF,OAAO,IAAId,EAAc,WAAa/B,EAAW,KAAO8B,EAAe,cAAsBe,EAAW,kBAAoB5C,EAAgB,0BAE9I,IAAK,IAAIb,KAAO4C,EACd,GAAIxC,EAAIwC,EAAW5C,GAAM,CACvB,IAAIQ,EAAQgC,EAAYI,EAAW5C,EAAKa,EAAeD,EAAU8B,EAAe,IAAM1C,EAAKE,GAC3F,GAAIM,aAAiBnE,MACnB,OAAOmE,EAIb,OAAO,SAnOTkD,MA8KF,SAA+BC,GAC7B,OAAK7H,MAAM+G,QAAQc,GA+BZrB,GAjBP,SAAkB/K,EAAOkL,EAAU5B,EAAeD,EAAU8B,GAE1D,IADA,IAAIE,EAAYrL,EAAMkL,GACb1D,EAAI,EAAGA,EAAI4E,EAAe/H,OAAQmD,IACzC,GAAI6E,EAAGhB,EAAWe,EAAe5E,IAC/B,OAAO,KAIX,IAAI8E,EAAeC,KAAKC,UAAUJ,GAAgB,SAAkB3D,EAAKvH,GAEvE,MAAa,WADFuL,EAAevL,GAEjBmG,OAAOnG,GAETA,KAET,OAAO,IAAIkK,EAAc,WAAa/B,EAAW,KAAO8B,EAAe,eAAiB9D,OAAOgE,GAAa,kBAA0B/B,EAAgB,sBAAwBgD,EAAe,SA5BhK,eAAzB1J,QAAQC,IAAIC,UAEZmB,EADEG,UAAUC,OAAS,EAEnB,+DAAiED,UAAUC,OAAS,uFAIzE,0DAGVwF,IAzLT6C,UAuOF,SAAgCC,GAC9B,IAAKpI,MAAM+G,QAAQqB,GAEjB,MADyB,eAAzB/J,QAAQC,IAAIC,UAA4BmB,EAAa,0EAC9C4F,EAGT,IAAK,IAAIrC,EAAI,EAAGA,EAAImF,EAAoBtI,OAAQmD,IAAK,CACnD,IAAIoF,EAAUD,EAAoBnF,GAClC,GAAuB,mBAAZoF,EAKT,OAJA3I,EACE,8FACc4I,EAAyBD,GAAW,aAAepF,EAAI,KAEhEqC,EAcX,OAAOkB,GAVP,SAAkB/K,EAAOkL,EAAU5B,EAAeD,EAAU8B,GAC1D,IAAK,IAAI3D,EAAI,EAAGA,EAAImF,EAAoBtI,OAAQmD,IAE9C,GAA6F,OAAzFoF,EADUD,EAAoBnF,IACtBxH,EAAOkL,EAAU5B,EAAeD,EAAU8B,EAAcxC,GAClE,OAAO,KAIX,OAAO,IAAIyC,EAAc,WAAa/B,EAAW,KAAO8B,EAAe,kBAA0B7B,EAAgB,UA/PnHlJ,MA8QF,SAAgC0M,GAmB9B,OAAO/B,GAlBP,SAAkB/K,EAAOkL,EAAU5B,EAAeD,EAAU8B,GAC1D,IAAIE,EAAYrL,EAAMkL,GAClBgB,EAAWX,EAAYF,GAC3B,GAAiB,WAAba,EACF,OAAO,IAAId,EAAc,WAAa/B,EAAW,KAAO8B,EAAe,cAAgBe,EAAW,kBAA0B5C,EAAgB,yBAE9I,IAAK,IAAIb,KAAOqE,EAAY,CAC1B,IAAIF,EAAUE,EAAWrE,GACzB,GAAKmE,EAAL,CAGA,IAAI3D,EAAQ2D,EAAQvB,EAAW5C,EAAKa,EAAeD,EAAU8B,EAAe,IAAM1C,EAAKE,GACvF,GAAIM,EACF,OAAOA,GAGX,OAAO,SA9RT8D,MAmSF,SAAsCD,GA2BpC,OAAO/B,GA1BP,SAAkB/K,EAAOkL,EAAU5B,EAAeD,EAAU8B,GAC1D,IAAIE,EAAYrL,EAAMkL,GAClBgB,EAAWX,EAAYF,GAC3B,GAAiB,WAAba,EACF,OAAO,IAAId,EAAc,WAAa/B,EAAW,KAAO8B,EAAe,cAAgBe,EAAW,kBAA0B5C,EAAgB,yBAI9I,IAAI0D,EAAU7F,EAAO,GAAInH,EAAMkL,GAAW4B,GAC1C,IAAK,IAAIrE,KAAOuE,EAAS,CACvB,IAAIJ,EAAUE,EAAWrE,GACzB,IAAKmE,EACH,OAAO,IAAIxB,EACT,WAAa/B,EAAW,KAAO8B,EAAe,UAAY1C,EAAM,kBAAoBa,EAAgB,mBACjFiD,KAAKC,UAAUxM,EAAMkL,GAAW,KAAM,MACzD,iBAAoBqB,KAAKC,UAAUzL,OAAOiH,KAAK8E,GAAa,KAAM,OAGtE,IAAI7D,EAAQ2D,EAAQvB,EAAW5C,EAAKa,EAAeD,EAAU8B,EAAe,IAAM1C,EAAKE,GACvF,GAAIM,EACF,OAAOA,EAGX,OAAO,UAnTX,SAASoD,EAAG/J,EAAGC,GAEb,OAAID,IAAMC,EAGK,IAAND,GAAW,EAAIA,GAAM,EAAIC,EAGzBD,GAAMA,GAAKC,GAAMA,EAY5B,SAAS6I,EAAc1G,GACrBuI,KAAKvI,QAAUA,EACfuI,KAAKtD,MAAQ,GAKf,SAASoB,EAA2BmC,GAClC,GAA6B,eAAzBtK,QAAQC,IAAIC,SACd,IAAIqK,EAA0B,GAC1BC,EAA6B,EAEnC,SAASC,EAAUC,EAAYtN,EAAOkL,EAAU5B,EAAeD,EAAU8B,EAAcoC,GAIrF,GAHAjE,EAAgBA,GAAiBe,EACjCc,EAAeA,GAAgBD,EAE3BqC,IAAW5E,EAAsB,CACnC,GAAIsB,EAAqB,CAEvB,IAAIhC,EAAM,IAAInD,MACZ,qLAKF,MADAmD,EAAIwB,KAAO,sBACLxB,EACD,GAA6B,eAAzBrF,QAAQC,IAAIC,UAAgD,oBAAZ8B,QAAyB,CAElF,IAAI4I,EAAWlE,EAAgB,IAAM4B,GAElCiC,EAAwBK,IAEzBJ,EAA6B,IAE7BnJ,EACE,2EACuBkH,EAAe,cAAgB7B,EAAiB,wNAKzE6D,EAAwBK,IAAY,EACpCJ,MAIN,OAAuB,MAAnBpN,EAAMkL,GACJoC,EAEO,IAAIlC,EADW,OAApBpL,EAAMkL,GACiB,OAAS7B,EAAW,KAAO8B,EAAe,+BAAuC7B,EAAgB,8BAEnG,OAASD,EAAW,KAAO8B,EAAe,+BAAuC7B,EAAgB,oCAErH,KAEA4D,EAASlN,EAAOkL,EAAU5B,EAAeD,EAAU8B,GAI9D,IAAIsC,EAAmBJ,EAAUtE,KAAK,MAAM,GAG5C,OAFA0E,EAAiBH,WAAaD,EAAUtE,KAAK,MAAM,GAE5C0E,EAGT,SAASjD,EAA2BkD,GAclC,OAAO3C,GAbP,SAAkB/K,EAAOkL,EAAU5B,EAAeD,EAAU8B,EAAcoC,GACxE,IAAIlC,EAAYrL,EAAMkL,GAEtB,OADeK,EAAYF,KACVqC,EAMR,IAAItC,EAAc,WAAa/B,EAAW,KAAO8B,EAAe,cAFrDsB,EAAepB,GAE0E,kBAAoB/B,EAAgB,gBAAyBoE,EAAe,MAElL,QAwNX,SAAS1B,EAAOX,GACd,cAAeA,GACb,IAAK,SACL,IAAK,SACL,IAAK,YACH,OAAO,EACT,IAAK,UACH,OAAQA,EACV,IAAK,SACH,GAAI9G,MAAM+G,QAAQD,GAChB,OAAOA,EAAUsC,MAAM3B,GAEzB,GAAkB,OAAdX,GAAsBrB,EAAeqB,GACvC,OAAO,EAGT,IAAIuC,EA9ZV,SAAuBC,GACrB,IAAID,EAAaC,IAAkB3D,GAAmB2D,EAAc3D,IAAoB2D,EAAczD,IACtG,GAA0B,mBAAfwD,EACT,OAAOA,EA2ZYE,CAAczC,GAC/B,IAAIuC,EAqBF,OAAO,EApBP,IACIG,EADA5D,EAAWyD,EAAWlF,KAAK2C,GAE/B,GAAIuC,IAAevC,EAAU2C,SAC3B,OAASD,EAAO5D,EAAS8D,QAAQC,MAC/B,IAAKlC,EAAO+B,EAAK7M,OACf,OAAO,OAKX,OAAS6M,EAAO5D,EAAS8D,QAAQC,MAAM,CACrC,IAAIC,EAAQJ,EAAK7M,MACjB,GAAIiN,IACGnC,EAAOmC,EAAM,IAChB,OAAO,EASjB,OAAO,EACT,QACE,OAAO,GA6Bb,SAAS5C,EAAYF,GACnB,IAAIa,SAAkBb,EACtB,OAAI9G,MAAM+G,QAAQD,GACT,QAELA,aAAqB+C,OAIhB,SAlCX,SAAkBlC,EAAUb,GAE1B,MAAiB,WAAba,KAKCb,IAK8B,WAA/BA,EAAU,kBAKQ,mBAAXjK,QAAyBiK,aAAqBjK,QAmBrDiN,CAASnC,EAAUb,GACd,SAEFa,EAKT,SAASO,EAAepB,GACtB,GAAI,MAAOA,EACT,MAAO,GAAKA,EAEd,IAAIa,EAAWX,EAAYF,GAC3B,GAAiB,WAAba,EAAuB,CACzB,GAAIb,aAAqBiD,KACvB,MAAO,OACF,GAAIjD,aAAqB+C,OAC9B,MAAO,SAGX,OAAOlC,EAKT,SAASW,EAAyB3L,GAChC,IAAIZ,EAAOmM,EAAevL,GAC1B,OAAQZ,GACN,IAAK,QACL,IAAK,SACH,MAAO,MAAQA,EACjB,IAAK,UACL,IAAK,OACL,IAAK,SACH,MAAO,KAAOA,EAChB,QACE,OAAOA,GAgBb,OAvaA8K,EAAcvE,UAAY/B,MAAM+B,UAmahCyD,EAAepB,eAAiBA,EAChCoB,EAAeV,kBAAoBV,EAAeU,kBAClDU,EAAeiE,UAAYjE,EAEpBA,EEhkBU5D,CALHD,EAKgD+H,WADpC,GDGX,WACf,SAASC,EAAKzO,EAAOkL,EAAU5B,EAAeD,EAAU8B,EAAcoC,GACpE,GAAIA,IAAW5E,EAAf,CAIA,IAAIV,EAAM,IAAInD,MACZ,mLAKF,MADAmD,EAAIwB,KAAO,sBACLxB,GAGR,SAASyG,IACP,OAAOD,EAFTA,EAAKnB,WAAamB,EAMlB,IAAInE,EAAiB,CACnBC,MAAOkE,EACPhE,KAAMgE,EACN/D,KAAM+D,EACN9D,OAAQ8D,EACRzJ,OAAQyJ,EACR7D,OAAQ6D,EACR5D,OAAQ4D,EAER3D,IAAK2D,EACLzD,QAAS0D,EACTlD,QAASiD,EACThD,YAAagD,EACb7C,WAAY8C,EACZ3C,KAAM0C,EACNxC,SAAUyC,EACVvC,MAAOuC,EACPhC,UAAWgC,EACXtO,MAAOsO,EACP3B,MAAO2B,EAEPxF,eAAgBa,EAChBH,kBAAmBE,GAKrB,OAFAQ,EAAeiE,UAAYjE,EAEpBA,EC7CUqE,siMCDNC,EAFgBC,IAEeC,oBCZ7BC,GAmBb,OAlB4BC,EAAMC,YAAW,SAACjP,EAAOkP,0BAClDN,QACE,SAAA3O,GACC,IAAMkP,EAAalP,GAAWmP,EACxBC,EAAerP,EAAME,QCPnC,SAA4BD,GAC1B,IAAM+H,EAAOjH,OAAOiH,KAAK/H,GAEzB,OAAO+H,EADOsH,KAAKC,MAAMD,KAAKE,SAAWxH,EAAK3D,SDKHoL,CAAmBN,GAExD,uBACGJ,OACK/O,GACJC,QAASkP,EACTjP,OAAQmP,EACRH,IAAKA,iHEJjB,IAAMQ,EAAWC,GALjB,SAA2B3P,OACG4P,qIAAS5P,wBACrC,6BAAgB4P,KAGDD,MACb,SAAA3P,UAASD,EAAUC,MAGvB0P,EAASG,UAAY,CACnBC,UAAWvB,EAAU3D,OACrB1K,OAAQqO,EAAU3D,OAClB/J,MAAO0N,EAAU7B,UAAU,CAAC6B,EAAU5D,OAAQ4D,EAAU3D,SACxDtK,KAAMiO,EAAU3D,OAChBrK,SAAUgO,EAAU9D,KACpBjK,MAAO+N,EAAU3D,QAGnB8E,EAASK,aAAe,CACtBlP,OAAQ,GACRN,UAAU,GAGZ,MAAeyP,EAAYN"}