From 11ad90c33c75e26e66651f22267d4ae77dd6dc74 Mon Sep 17 00:00:00 2001
From: TheoneFx <chenxilzx1@gmail.com>
Date: Mon, 20 Mar 2023 10:04:51 +0800
Subject: [PATCH] Optimize front page (#58)

---
 initializer-generator/pom.xml                 |   45 +-
 initializer-page/pom.xml                      |   89 +-
 initializer-page/public/bootstrap.html        |    2 +-
 .../public/chunk-bb4f568ad8459aeeffda.js.map  |    1 -
 ...effda.js => chunk-d045279c48fa41927c6c.js} |    4 +-
 .../public/chunk-d045279c48fa41927c6c.js.map  |    1 +
 ...7cf889.js => main-474d91be976d03e828c7.js} |    2 +-
 ...s.map => main-474d91be976d03e828c7.js.map} |    2 +-
 initializer-page/src/components/utils/Hash.js |   17 +-
 initializer-page/static/bootstrap.html        |    1 +
 initializer-page/yarn-error.log               | 9385 -----------------
 pom.xml                                       |   11 +-
 12 files changed, 60 insertions(+), 9500 deletions(-)
 delete mode 100644 initializer-page/public/chunk-bb4f568ad8459aeeffda.js.map
 rename initializer-page/public/{chunk-bb4f568ad8459aeeffda.js => chunk-d045279c48fa41927c6c.js} (75%)
 create mode 100644 initializer-page/public/chunk-d045279c48fa41927c6c.js.map
 rename initializer-page/public/{main-1df39ec353bff77cf889.js => main-474d91be976d03e828c7.js} (97%)
 rename initializer-page/public/{main-1df39ec353bff77cf889.js.map => main-474d91be976d03e828c7.js.map} (96%)
 delete mode 100644 initializer-page/yarn-error.log

diff --git a/initializer-generator/pom.xml b/initializer-generator/pom.xml
index 4e6abe4..6c3f02e 100644
--- a/initializer-generator/pom.xml
+++ b/initializer-generator/pom.xml
@@ -52,6 +52,11 @@
             <artifactId>initializr-actuator</artifactId>
         </dependency>
 
+        <dependency>
+            <groupId>com.alibaba</groupId>
+            <artifactId>initializer-page</artifactId>
+        </dependency>
+
         <!-- misc -->
         <dependency>
             <groupId>com.google.guava</groupId>
@@ -141,46 +146,6 @@
                     </execution>
                 </executions>
             </plugin>
-            <!-- 解压fat jar到target/${project-name}目录 -->
-            <plugin>
-                <artifactId>maven-antrun-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <phase>package</phase>
-                        <configuration>
-                            <tasks>
-                                <unzip
-                                        src="${project.build.directory}/${project.build.finalName}.${project.packaging}"
-                                        dest="${project.build.directory}/initializer"/>
-                            </tasks>
-                        </configuration>
-                        <goals>
-                            <goal>run</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-
-            <plugin>
-                <artifactId>maven-resources-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <id>copy-base-web-resource</id>
-                        <phase>prepare-package</phase>
-                        <goals>
-                            <goal>copy-resources</goal>
-                        </goals>
-                        <configuration>
-                            <outputDirectory>${project.build.directory}/classes/static</outputDirectory>
-                            <resources>
-                                <resource>
-                                    <directory>${basedir}/../initializer-page/public</directory>
-                                </resource>
-                            </resources>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
         </plugins>
     </build>
 </project>
diff --git a/initializer-page/pom.xml b/initializer-page/pom.xml
index 8cc5fc0..145b38e 100644
--- a/initializer-page/pom.xml
+++ b/initializer-page/pom.xml
@@ -12,63 +12,44 @@
     <modelVersion>4.0.0</modelVersion>
     <artifactId>initializer-page</artifactId>
 
-    <profiles>
-        <profile>
-            <id>install-yarn</id>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>com.github.eirslett</groupId>
-                        <artifactId>frontend-maven-plugin</artifactId>
-                        <executions>
-                            <execution>
-                                <id>install node and yarn</id>
-                                <goals>
-                                    <goal>install-node-and-yarn</goal>
-                                </goals>
-                                <configuration>
-                                    <nodeVersion>v10.15.3</nodeVersion>
-                                    <yarnVersion>v1.7.0</yarnVersion>
-                                </configuration>
-                            </execution>
-                            <execution>
-                                <id>yarn-install</id>
-                                <goals>
-                                    <goal>yarn</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-        <profile>
-            <id>build-public</id>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>com.github.eirslett</groupId>
-                        <artifactId>frontend-maven-plugin</artifactId>
-                        <executions>
-                            <execution>
-                                <id>yarn-build</id>
-                                <goals>
-                                    <goal>yarn</goal>
-                                </goals>
-                                <configuration>
-                                    <arguments>build</arguments>
-                                </configuration>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-    </profiles>
-
     <build>
         <plugins>
             <plugin>
+                <groupId>com.github.eirslett</groupId>
+                <artifactId>frontend-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>install node and yarn</id>
+                        <phase>generate-sources</phase>
+                        <goals>
+                            <goal>install-node-and-yarn</goal>
+                        </goals>
+                        <configuration>
+                            <nodeVersion>v10.15.3</nodeVersion>
+                            <yarnVersion>v1.7.0</yarnVersion>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>yarn install</id>
+                        <phase>generate-sources</phase>
+                        <goals>
+                            <goal>yarn</goal>
+                        </goals>
+                    </execution>
+                    <execution>
+                        <id>yarn build</id>
+                        <phase>generate-sources</phase>
+                        <goals>
+                            <goal>yarn</goal>
+                        </goals>
+                        <configuration>
+                            <arguments>build</arguments>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-resources-plugin</artifactId>
                 <executions>
                     <execution>
diff --git a/initializer-page/public/bootstrap.html b/initializer-page/public/bootstrap.html
index decca7b..3edc49a 100644
--- a/initializer-page/public/bootstrap.html
+++ b/initializer-page/public/bootstrap.html
@@ -1 +1 @@
-<!doctype html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name="data-spm" content="a2ck6"><meta name="aes-config" content="pid=5tYCpT&user_type=6&uid=&username="><title>Cloud Native App Initializer</title><link rel="shortcut icon" href="/images/aliyun-icon.png"><meta http-equiv="x-ua-compatible" content="ie=edge"><link rel="canonical" href="https://github.com/alibaba/cloud-native-app-initializer"><meta name="description" content="Initializr generates spring boot project with just what you need to start quickly!"><meta property="og:site_name" content="Cloud Native App Initializer"><meta property="og:type" content="website"><meta property="og:title" content="Cloud Native App Initializer"><meta property="og:description" content="Initializr generates spring boot project with just what you need to start quickly!"><meta property="og:url" content="https://github.com/alibaba/cloud-native-app-initializer"><meta name="twitter:title" content="Cloud Native App Initializer"><meta name="twitter:description" content="Initializr generates spring boot project with just what you need to start quickly!"><meta name="twitter:url" content="https://github.com/alibaba/cloud-native-app-initializer"><meta name="twitter:site" content="@springboot"><meta name="twitter:creator" content="@springboot"><meta name="twitter:card" content="summary_large_image"><meta name="twitter:image" content=""><meta property="og:image" content=""><meta property="og:image:width" content="1000"><meta property="og:image:height" content="523"><meta name="theme-color" content="#6db33f"><style>body,html{text-rendering:optimizeLegibility}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html{font-family:sans-serif}body{margin:0}.noscript{padding:2rem}.noscript a{color:#3d96f7}</style><script src="//g.alicdn.com/aes/tracker/1.0.20/index.js"></script><script src="//g.alicdn.com/aes/??tracker/1.0.20/index.js,tracker-plugin-event/1.0.20/event.js"></script><meta name="apple-mobile-web-app-title" content="alibaba-initializr"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="default"><link rel="manifest" href="/manifest.9e69419f57edbe2b5427a726852c0451.json"></head><body data-spm="14145464" class="light"><noscript><div class="noscript"><strong><a href="https://start.aliyun.com">start.aliyun.com</a> can't work!</strong><br>This app needs JavaScript enabled.</div></noscript><div id="app"></div><script type="text/javascript" src="/main-1df39ec353bff77cf889.js"></script><script type="text/javascript" src="/chunk-62d6eb49d4dc9c5bced1.js"></script><script type="text/javascript" src="/chunk-bb4f568ad8459aeeffda.js"></script></body></html>
\ No newline at end of file
+<!doctype html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name="data-spm" content="a2ck6"><meta name="aes-config" content="pid=5tYCpT&user_type=6&uid=&username="><title>Cloud Native App Initializer</title><link rel="shortcut icon" href="/images/aliyun-icon.png"><meta http-equiv="x-ua-compatible" content="ie=edge"><link rel="canonical" href="https://github.com/alibaba/cloud-native-app-initializer"><meta name="description" content="Initializr generates spring boot project with just what you need to start quickly!"><meta property="og:site_name" content="Cloud Native App Initializer"><meta property="og:type" content="website"><meta property="og:title" content="Cloud Native App Initializer"><meta property="og:description" content="Initializr generates spring boot project with just what you need to start quickly!"><meta property="og:url" content="https://github.com/alibaba/cloud-native-app-initializer"><meta name="twitter:title" content="Cloud Native App Initializer"><meta name="twitter:description" content="Initializr generates spring boot project with just what you need to start quickly!"><meta name="twitter:url" content="https://github.com/alibaba/cloud-native-app-initializer"><meta name="twitter:site" content="@springboot"><meta name="twitter:creator" content="@springboot"><meta name="twitter:card" content="summary_large_image"><meta name="twitter:image" content=""><meta property="og:image" content=""><meta property="og:image:width" content="1000"><meta property="og:image:height" content="523"><meta name="theme-color" content="#6db33f"><style>body,html{text-rendering:optimizeLegibility}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html{font-family:sans-serif}body{margin:0}.noscript{padding:2rem}.noscript a{color:#3d96f7}</style><script src="//g.alicdn.com/aes/tracker/1.0.20/index.js"></script><script src="//g.alicdn.com/aes/??tracker/1.0.20/index.js,tracker-plugin-event/1.0.20/event.js"></script><meta name="apple-mobile-web-app-title" content="alibaba-initializr"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="default"><link rel="manifest" href="/manifest.9e69419f57edbe2b5427a726852c0451.json"></head><body data-spm="14145464" class="light"><noscript><div class="noscript"><strong><a href="https://start.aliyun.com">start.aliyun.com</a> can't work!</strong><br>This app needs JavaScript enabled.</div></noscript><div id="app"></div><script type="text/javascript" src="/main-474d91be976d03e828c7.js"></script><script type="text/javascript" src="/chunk-62d6eb49d4dc9c5bced1.js"></script><script type="text/javascript" src="/chunk-d045279c48fa41927c6c.js"></script></body></html>
\ No newline at end of file
diff --git a/initializer-page/public/chunk-bb4f568ad8459aeeffda.js.map b/initializer-page/public/chunk-bb4f568ad8459aeeffda.js.map
deleted file mode 100644
index e185ace..0000000
--- a/initializer-page/public/chunk-bb4f568ad8459aeeffda.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["webpack:///./src/components/common/form/Radio.js","webpack:///./src/components/common/form/RadioGroup.js","webpack:///./src/components/common/form/Switch.js","webpack:///./src/components/common/form/Placeholder.js","webpack:///./src/components/common/form/Form.js","webpack:///./src/components/common/form/Button.js","webpack:///./src/components/common/icons/Icons.js","webpack:///./src/components/utils/ApiUtils.js","webpack:///./src/components/utils/Theme.js","webpack:///./src/components/reducer/App.js","webpack:///./src/components/reducer/Initializr.js","webpack:///./src/components/utils/Version.js","webpack:///./src/components/common/form/Close.js","webpack:///./src/components/utils/WindowsUtils.js","webpack:///./src/styles/app.scss?4dc7","webpack:///./src/styles/app.scss","webpack:///./src/fonts/karla-v12-latin-regular.eot","webpack:///./src/fonts/karla-v12-latin-regular.woff2","webpack:///./src/fonts/karla-v12-latin-regular.woff","webpack:///./src/fonts/karla-v12-latin-regular.ttf","webpack:///./src/fonts/karla-v12-latin-regular.svg","webpack:///./src/fonts/karla-v12-latin-700.eot","webpack:///./src/fonts/karla-v12-latin-700.woff2","webpack:///./src/fonts/karla-v12-latin-700.woff","webpack:///./src/fonts/karla-v12-latin-700.ttf","webpack:///./src/fonts/karla-v12-latin-700.svg","webpack:///./src/fonts/karla-v8-latin-regular.eot","webpack:///./src/fonts/karla-v8-latin-regular.woff2","webpack:///./src/fonts/karla-v8-latin-regular.woff","webpack:///./src/fonts/karla-v8-latin-regular.ttf","webpack:///./src/fonts/karla-v8-latin-regular.svg","webpack:///./src/fonts/karla-v8-latin-700.eot","webpack:///./src/fonts/karla-v8-latin-700.woff2","webpack:///./src/fonts/karla-v8-latin-700.woff","webpack:///./src/fonts/karla-v8-latin-700.ttf","webpack:///./src/fonts/karla-v8-latin-700.svg","webpack:///./src/components/utils/Hash.js","webpack:///./src/components/common/builder/Control.js","webpack:///./src/components/common/builder/FieldInput.js","webpack:///./src/components/common/builder/FieldRadio.js","webpack:///./src/components/common/builder/FieldError.js","webpack:///./src/components/common/builder/PanelMore.js","webpack:///./src/components/common/builder/Tabs.js","webpack:///./src/components/common/builder/quick-search/Dependencies.js","webpack:///./src/components/common/builder/quick-search/Result.js","webpack:///./src/components/common/builder/quick-search/QuickSearch.js","webpack:///./src/components/common/builder/list/ListItem.js","webpack:///./src/components/common/builder/list/ListGroup.js","webpack:///./src/components/common/builder/list/List.js","webpack:///./src/components/common/layout/Header.js","webpack:///./src/components/common/layout/QuickLinks.js","webpack:///./src/components/common/layout/Layout.js","webpack:///./src/components/common/layout/Footer.js","webpack:///./src/components/common/builder/Loading.js","webpack:///./src/components/common/builder/Warnings.js","webpack:///./src/components/Application.js","webpack:///./src/App.js"],"names":["Radio","handler","value","disabled","error","checked","text","className","href","onClick","event","preventDefault","defaultProps","propTypes","PropTypes","bool","isRequired","string","func","RadioGroup","onChange","options","selected","onChangeHandler","allOptions","map","option","key","push","length","arrayOf","shape","Switch","id","isOn","name","type","htmlFor","Placeholder","count","width","Array","from","item","i","style","number","Form","onSubmit","children","autoComplete","display","node","Button","variant","hotkey","IconCaretDown","aria-hidden","focusable","data-icon","role","xmlns","viewBox","fill","d","IconCheck","IconFolder","IconFile","IconChevronRight","IconList","IconPlus","data-prefix","IconSearch","IconTimes","IconHelp","t","version","p-id","height","PROPERTIES_MAPPING_URL","language","architecture","platformVersion","packaging","jvmVersion","groupId","artifactId","description","packageName","dependencies","getInfo","url","Promise","resolve","reject","fetch","method","headers","Accept","then","response","json","data","getShareUrl","values","props","Object","keys","forEach","key2","get","set","params","querystring","stringify","join","isValidParams","entry","filter","parseParams","queryParams","lists","errors","warnings","toLowerCase","list","res","find","a","currentValue","select","versionMajor","indexOf","parseVersion","releases","parseReleases","release","major","reduce","p","c","qualify","minor","depsWarning","newVal","split","dep","trim","getLists","deps","group","extend","Extend","it","val","versionRange","versionRequirement","weight","project","action","boot","meta","java","getDefaultValues","artifact","share","availableCount","getConfig","defaultValues","isValidDependency","dependency","isInRange","getQueryString","config","bootVersion","baseDir","javaVersion","paramsDependencies","getProject","paramsStr","status","blob","useTheme","isDarkConfig","useState","window","matchMedia","matches","localStorage","getItem","defaultAppContext","more","complete","explore","tab","theme","groupsOpened","groups","reduceDependencies","items","getParent","m","message","parent","valid","rangeToText","reducer","state","newState","keysContext","Error","setItem","g","AppContext","React","createContext","AppProvider","useReducer","dispatch","Provider","defaultInitializrContext","changes","InitializrContext","InitializrProvider","strictRange","halfopenRightRange","halfopenLeftRange","qualifiers","parseQualifier","qual","replace","r","toString","short","compare","b","result","versionA","versionB","parseInt","localeCompare","range","strickMatch","match","horMatch","holMatch","strictMatch","Close","onClose","getProperties","symb","navigator","userAgent","origin","location","pathname","useWindowsUtils","api","content","__esModule","default","module","exports","locals","___CSS_LOADER_API_IMPORT___","___CSS_LOADER_GET_URL_IMPORT___","___CSS_LOADER_URL_IMPORT_0___","___CSS_LOADER_URL_IMPORT_1___","___CSS_LOADER_URL_IMPORT_2___","___CSS_LOADER_URL_IMPORT_3___","___CSS_LOADER_URL_IMPORT_4___","___CSS_LOADER_URL_IMPORT_5___","___CSS_LOADER_URL_IMPORT_6___","___CSS_LOADER_URL_IMPORT_7___","___CSS_LOADER_URL_IMPORT_8___","___CSS_LOADER_URL_IMPORT_9___","___CSS_LOADER_URL_IMPORT_10___","___CSS_LOADER_URL_IMPORT_11___","___CSS_LOADER_URL_IMPORT_12___","___CSS_LOADER_URL_IMPORT_13___","___CSS_LOADER_URL_IMPORT_14___","___CSS_LOADER_URL_IMPORT_15___","___CSS_LOADER_URL_IMPORT_16___","___CSS_LOADER_URL_IMPORT_17___","___CSS_LOADER_URL_IMPORT_18___","___CSS_LOADER_URL_IMPORT_19___","___CSS_LOADER_URL_REPLACEMENT_0___","___CSS_LOADER_URL_REPLACEMENT_1___","hash","___CSS_LOADER_URL_REPLACEMENT_2___","___CSS_LOADER_URL_REPLACEMENT_3___","___CSS_LOADER_URL_REPLACEMENT_4___","___CSS_LOADER_URL_REPLACEMENT_5___","___CSS_LOADER_URL_REPLACEMENT_6___","___CSS_LOADER_URL_REPLACEMENT_7___","___CSS_LOADER_URL_REPLACEMENT_8___","___CSS_LOADER_URL_REPLACEMENT_9___","___CSS_LOADER_URL_REPLACEMENT_10___","___CSS_LOADER_URL_REPLACEMENT_11___","___CSS_LOADER_URL_REPLACEMENT_12___","___CSS_LOADER_URL_REPLACEMENT_13___","___CSS_LOADER_URL_REPLACEMENT_14___","___CSS_LOADER_URL_REPLACEMENT_15___","___CSS_LOADER_URL_REPLACEMENT_16___","___CSS_LOADER_URL_REPLACEMENT_17___","___CSS_LOADER_URL_REPLACEMENT_18___","___CSS_LOADER_URL_REPLACEMENT_19___","___CSS_LOADER_URL_REPLACEMENT_20___","___CSS_LOADER_URL_REPLACEMENT_21___","___CSS_LOADER_URL_REPLACEMENT_22___","___CSS_LOADER_URL_REPLACEMENT_23___","getHash","useHash","setHash","useContext","useEffect","addEventListener","removeEventListener","queryString","parse","substr","payload","history","pushState","toast","success","Control","FieldInput","inputRef","ref","oneOfType","current","instanceOf","Element","FieldRadio","FieldError","PanelMore","fieldFocusOnOpen","setTimeout","focus","Tabs","changeTab","setCount","change","newTab","aria-label","Dependencies","remove","TransitionGroup","component","CSSTransition","timeout","classNames","Result","add","index","e","onMouseEnter","onMouseLeave","QuickSearch","submit","input","dependenciesContext","query","setQuery","setSelected","setDependencies","setResult","search","setSearch","newDeps","jsSearchUp","JsSearch","addIndex","addDocuments","vals","o","slice","sort","sortResult","onSearch","placeholder","onBlur","onFocus","target","onKeyDown","keyCode","Math","min","max","ListItem","toggle","tabIndex","keyPressed","ListGroup","itemsSelected","isClose","toggleGroup","isItemSelected","keywords","List","dispatchInitializr","dependencyGroup","Header","QuickLinks","help","setHelp","wrapper","useRef","clickOutside","contains","document","rel","Layout","Footer","Date","getFullYear","Loading","special","Warnings","Explore","lazy","Share","Fetch","HotKeys","Application","fetchOpen","shareOpen","exploreOpen","x","y","positionShare","setPositionShare","setBlob","inputMore","inputQuickSearch","windowsUtils","jsonConfig","open","onExplore","catch","update","args","shareSrc","fallback","arch","getBoundingClientRect","shareUrl","position","projectName","render","App","Initializr","closeButton","hideProgressBar","getElementById"],"mappings":"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","file":"chunk-bb4f568ad8459aeeffda.js","sourcesContent":["import PropTypes from 'prop-types'\nimport React from 'react'\n\nfunction Radio({ handler, value, disabled, error, checked, text }) {\n  const onClick = event => {\n    event.preventDefault()\n    handler(value)\n  }\n  if (disabled || error) {\n    return (\n      <span\n        className={`radio disabled ${checked ? 'checked' : ''} ${\n          error ? 'err' : ''\n        }`}\n      >\n        {text}\n      </span>\n    )\n  }\n  return (\n    <a\n      href='/'\n      className={`radio ${checked ? 'checked' : ''}`}\n      onClick={onClick}\n    >\n      {text}\n    </a>\n  )\n}\n\nRadio.defaultProps = {\n  disabled: false,\n  error: false,\n}\n\nRadio.propTypes = {\n  checked: PropTypes.bool.isRequired,\n  text: PropTypes.string.isRequired,\n  value: PropTypes.string.isRequired,\n  handler: PropTypes.func.isRequired,\n  disabled: PropTypes.bool,\n  error: PropTypes.bool,\n}\n\nexport default Radio\n","import PropTypes from 'prop-types'\nimport React from 'react'\n\nimport Radio from './Radio'\n\nfunction RadioGroup({ onChange, options, error, selected, disabled }) {\n  const onChangeHandler = value => {\n    if (onChange) {\n      onChange(value)\n    }\n  }\n  const allOptions = options.map(option => {\n    return (\n      <Radio\n        key={option.key}\n        checked={!error && selected === option.key}\n        text={option.text}\n        value={option.key}\n        disabled={disabled}\n        handler={onChangeHandler}\n      />\n    )\n  })\n  if (error) {\n    allOptions.push(\n      <Radio\n        key={allOptions.length + 1}\n        checked\n        text={error}\n        value={error}\n        disabled={disabled}\n        handler={onChangeHandler}\n        error\n      />\n    )\n  }\n  return <div className='group-radio'>{allOptions}</div>\n}\n\nRadioGroup.defaultProps = {\n  selected: '',\n  error: null,\n  onChange: null,\n  disabled: false,\n  options: {\n    error: '',\n  },\n}\n\nRadioGroup.propTypes = {\n  selected: PropTypes.string,\n  error: PropTypes.string,\n  options: PropTypes.arrayOf(\n    PropTypes.shape({\n      key: PropTypes.string.isRequired,\n      text: PropTypes.string.isRequired,\n    })\n  ),\n  onChange: PropTypes.func,\n  disabled: PropTypes.bool,\n}\n\nexport default RadioGroup\n","import PropTypes from 'prop-types'\nimport React from 'react'\n\nconst Switch = ({ id, isOn, onChange }) => {\n  return (\n    <span className='switch'>\n      <input\n        checked={isOn}\n        onChange={onChange}\n        className='switch-checkbox'\n        id={id}\n        name='switch-new'\n        type='checkbox'\n      />\n      {/* eslint-disable-next-line */}\n      <label className='switch-label' htmlFor={id}>\n        <span className='switch-button' />\n      </label>\n    </span>\n  )\n}\n\nSwitch.defaultProps = {\n  isOn: false,\n  onChange: null,\n}\n\nSwitch.propTypes = {\n  isOn: PropTypes.bool,\n  onChange: PropTypes.func,\n}\n\nexport default Switch\n","import PropTypes from 'prop-types'\nimport React from 'react'\n\nfunction Placeholder({ type, count, width }) {\n  if (type === 'radios') {\n    const options = Array.from({ length: count }, (item, i) => {\n      const id = `p${i}`\n      return <span key={id} style={{ width }} className='placeholder-radio' />\n    })\n    return <span className='placeholder-radios'>{options}</span>\n  }\n  if (type === 'input') {\n    return <span className='placeholder-input' />\n  }\n  if (type === 'dropdown') {\n    return <span className='placeholder-dropdown' />\n  }\n  if (type === 'text') {\n    return <span style={{ width }} className='placeholder-text' />\n  }\n  if (type === 'button') {\n    return <span style={{ width }} className='placeholder-button' />\n  }\n  if (type === 'tabs') {\n    const options = Array.from({ length: count }, (item, i) => {\n      return <span key={`p${i}`} className='placeholder-tab' />\n    })\n    return (\n      <span className='placeholder-tabs'>\n        <span className='placeholder-header'>{options}</span>\n      </span>\n    )\n  }\n  return ''\n}\n\nPlaceholder.defaultProps = {\n  width: '150px',\n  type: 'radios',\n  count: 3,\n}\n\nPlaceholder.propTypes = {\n  type: PropTypes.string,\n  count: PropTypes.number,\n  width: PropTypes.string,\n}\n\nexport default Placeholder\n","import PropTypes from 'prop-types'\nimport React from 'react'\n\nconst Form = ({ onSubmit, children }) => (\n  <form onSubmit={onSubmit} autoComplete='off'>\n    <input\n      style={{ display: 'none' }}\n      type='text'\n      name='fakeusernameremembered'\n    />\n    <input\n      style={{ display: 'none' }}\n      type='password'\n      name='fakepasswordremembered'\n    />\n    {children}\n  </form>\n)\n\nForm.defaultProps = {\n  children: null,\n}\n\nForm.propTypes = {\n  onSubmit: PropTypes.func.isRequired,\n  children: PropTypes.node,\n}\n\nexport default Form\n","import PropTypes from 'prop-types'\nimport React from 'react'\n\nfunction Button({ id, onClick, children, variant, hotkey }) {\n  return (\n    <button\n      className={`button ${variant === 'primary' ? 'primary' : ''}`}\n      type='button'\n      id={id}\n      onClick={event => {\n        if (onClick) {\n          onClick(event)\n        }\n      }}\n    >\n      {children}\n      {hotkey && (\n        <>\n          {' '}\n          <span className='desktop-only'>- {hotkey}</span>\n        </>\n      )}\n    </button>\n  )\n}\n\nButton.defaultProps = {\n  onClick: null,\n  children: null,\n  variant: '',\n  hotkey: '',\n}\n\nButton.propTypes = {\n  id: PropTypes.string.isRequired,\n  variant: PropTypes.string,\n  hotkey: PropTypes.string,\n  onClick: PropTypes.func,\n  children: PropTypes.node,\n}\n\nexport default Button\n","import React from 'react'\n\nexport const IconCaretDown = () => (\n    <svg\n        aria-hidden='true'\n        focusable='false'\n        data-icon='caret-down'\n        role='img'\n        xmlns='http://www.w3.org/2000/svg'\n        viewBox='0 0 320 512'\n        className='icon-caret-down'\n    >\n        <path\n            fill='currentColor'\n            d='M31.3 192h257.3c17.8 0 26.7 21.5 14.1 34.1L174.1 354.8c-7.8 7.8-20.5 7.8-28.3 0L17.2 226.1C4.6 213.5 13.5 192 31.3 192z'\n        />\n    </svg>\n)\n\nexport const IconCheck = () => (\n    <svg\n        aria-hidden='true'\n        focusable='false'\n        data-icon='check'\n        role='img'\n        xmlns='http://www.w3.org/2000/svg'\n        viewBox='0 0 512 512'\n        className='icon-check'\n    >\n        <path\n            fill='currentColor'\n            d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'\n        />\n    </svg>\n)\n\nexport const IconFolder = () => (\n    <svg\n        aria-hidden='true'\n        focusable='false'\n        data-icon='folder'\n        role='img'\n        xmlns='http://www.w3.org/2000/svg'\n        className='icon-folder'\n        viewBox='0 0 512 512'\n    >\n        <g>\n            <path\n                fill='#86ad5c'\n                d='M430.1,192H81.9c-17.7,0-18.6,9.2-17.6,20.5l13,183c0.9,11.2,3.5,20.5,21.1,20.5h316.2c18,0,20.1-9.2,21.1-20.5l12.1-185.3   C448.7,199,447.8,192,430.1,192z'\n            />\n            <g>\n                <path\n                    fill='#718c50'\n                    d='M426.2,143.3c-0.5-12.4-4.5-15.3-15.1-15.3c0,0-121.4,0-143.2,0c-21.8,0-24.4,0.3-40.9-17.4C213.3,95.8,218.7,96,190.4,96    c-22.6,0-75.3,0-75.3,0c-17.4,0-23.6-1.5-25.2,16.6c-1.5,16.7-5,57.2-5.5,63.4h343.4L426.2,143.3z'\n                />\n            </g>\n        </g>\n    </svg>\n)\n\nexport const IconFile = () => (\n    <svg\n        aria-hidden='true'\n        focusable='false'\n        data-icon='file'\n        role='img'\n        xmlns='http://www.w3.org/2000/svg'\n        className='icon-file'\n        viewBox='0 0 1792 1792'\n    >\n        <path\n            fill='currentColor'\n            d='M1596 380q28 28 48 76t20 88v1152q0 40-28 68t-68 28h-1344q-40 0-68-28t-28-68v-1600q0-40 28-68t68-28h896q40 0 88 20t76 48zm-444-244v376h376q-10-29-22-41l-313-313q-12-12-41-22zm384 1528v-1024h-416q-40 0-68-28t-28-68v-416h-768v1536h1280z'\n        />\n    </svg>\n)\n\nexport const IconChevronLeft = () => (\n    <svg\n        aria-hidden='true'\n        focusable='false'\n        data-icon='chevron-left'\n        role='img'\n        xmlns='http://www.w3.org/2000/svg'\n        viewBox='0 0 320 512'\n        className='icon-chevron-left'\n    >\n        <path\n            fill='currentColor'\n            d='M34.52 239.03L228.87 44.69c9.37-9.37 24.57-9.37 33.94 0l22.67 22.67c9.36 9.36 9.37 24.52.04 33.9L131.49 256l154.02 154.75c9.34 9.38 9.32 24.54-.04 33.9l-22.67 22.67c-9.37 9.37-24.57 9.37-33.94 0L34.52 272.97c-9.37-9.37-9.37-24.57 0-33.94z'\n        />\n    </svg>\n)\n\nexport const IconChevronRight = () => (\n    <svg\n        aria-hidden='true'\n        focusable='false'\n        data-icon='chevron-right'\n        role='img'\n        xmlns='http://www.w3.org/2000/svg'\n        viewBox='0 0 320 512'\n        className='icon-chevron-right'\n    >\n        <path\n            fill='currentColor'\n            d='M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z'\n        />\n    </svg>\n)\n\nexport const IconChevronDown = () => (\n    <svg\n        aria-hidden='true'\n        focusable='false'\n        data-icon='chevron-down'\n        role='img'\n        xmlns='http://www.w3.org/2000/svg'\n        viewBox='0 0 448 512'\n        className='icon-chevron-down'\n    >\n        <path\n            fill='currentColor'\n            d='M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z'\n        />\n    </svg>\n)\n\nexport const IconChevronUp = () => (\n    <svg\n        aria-hidden='true'\n        focusable='false'\n        data-icon='chevron-up'\n        role='img'\n        xmlns='http://www.w3.org/2000/svg'\n        viewBox='0 0 448 512'\n        className='icon-chevron-up'\n    >\n        <path\n            fill='currentColor'\n            d='M240.971 130.524l194.343 194.343c9.373 9.373 9.373 24.569 0 33.941l-22.667 22.667c-9.357 9.357-24.522 9.375-33.901.04L224 227.495 69.255 381.516c-9.379 9.335-24.544 9.317-33.901-.04l-22.667-22.667c-9.373-9.373-9.373-24.569 0-33.941L207.03 130.525c9.372-9.373 24.568-9.373 33.941-.001z'\n        />\n    </svg>\n)\n\nexport const IconGithub = () => (\n    <svg\n        aria-hidden='true'\n        focusable='false'\n        data-icon='github'\n        role='img'\n        xmlns='http://www.w3.org/2000/svg'\n        viewBox='0 0 496 512'\n        className='icon-github'\n    >\n        <path\n            fill='currentColor'\n            d='M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z'\n        />\n    </svg>\n)\n\nexport const IconList = () => (\n    <svg\n        aria-hidden='true'\n        focusable='false'\n        data-icon='list'\n        role='img'\n        xmlns='http://www.w3.org/2000/svg'\n        viewBox='0 0 512 512'\n        className='icon-list'\n    >\n        <path\n            fill='currentColor'\n            d='M128 116V76c0-8.837 7.163-16 16-16h352c8.837 0 16 7.163 16 16v40c0 8.837-7.163 16-16 16H144c-8.837 0-16-7.163-16-16zm16 176h352c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H144c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h352c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H144c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zM16 144h64c8.837 0 16-7.163 16-16V64c0-8.837-7.163-16-16-16H16C7.163 48 0 55.163 0 64v64c0 8.837 7.163 16 16 16zm0 160h64c8.837 0 16-7.163 16-16v-64c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v64c0 8.837 7.163 16 16 16zm0 160h64c8.837 0 16-7.163 16-16v-64c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v64c0 8.837 7.163 16 16 16z'\n        />\n    </svg>\n)\n\nexport const IconPlus = () => (\n    <svg\n        aria-hidden='true'\n        focusable='false'\n        data-prefix='fas'\n        data-icon='plus'\n        role='img'\n        xmlns='http://www.w3.org/2000/svg'\n        viewBox='0 0 448 512'\n        className='icon-plus'\n    >\n        <path\n            fill='currentColor'\n            d='M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z'\n        />\n    </svg>\n)\n\nexport const IconSearch = () => (\n    <svg\n        aria-hidden='true'\n        focusable='false'\n        data-icon='search'\n        role='img'\n        xmlns='http://www.w3.org/2000/svg'\n        viewBox='0 0 512 512'\n        className='icon-search'\n    >\n        <path\n            fill='currentColor'\n            d='M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z'\n        />\n    </svg>\n)\n\nexport const IconTimes = () => (\n    <svg\n        aria-hidden='true'\n        focusable='false'\n        data-prefix='fas'\n        data-icon='times'\n        role='img'\n        xmlns='http://www.w3.org/2000/svg'\n        viewBox='0 0 352 512'\n        className='icon-times'\n    >\n        <path\n            fill='currentColor'\n            d='M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z'\n        />\n    </svg>\n)\n\nexport const IconTwitter = () => (\n    <svg\n        aria-hidden='true'\n        focusable='false'\n        data-icon='twitter'\n        role='img'\n        xmlns='http://www.w3.org/2000/svg'\n        viewBox='0 0 512 512'\n        className='icon-twitter'\n    >\n        <path\n            fill='currentColor'\n            d='M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z'\n        />\n    </svg>\n)\n\nexport const IconHelp = () => (\n    <svg\n        t=\"1583993417464\"\n        className='icon-help'\n        focusable='false'\n        aria-hidden='true'\n        role='img'\n        data-icon='help'\n        viewBox=\"0 0 1024 1024\"\n        version=\"1.1\"\n        xmlns=\"http://www.w3.org/2000/svg\"\n        p-id=\"1960\"\n        width=\"18\"\n        height=\"18\">\n        <path\n            p-id=\"1961\"\n            fill='currentColor'\n            d=\"M0.12992 518.398052C-6.268452 236.869666 224.072954 6.528259 505.601341 0.129887c281.528386-6.398372 511.869793 223.943034 518.268165 505.471421 6.398372 281.528386-223.943034 511.869793-505.47142 518.268165-281.528386 6.398372-511.869793-223.943034-518.268166-505.471421zM595.178555 767.934577c0-44.788607-38.390234-83.178841-83.178842-83.178842-44.788607 0-83.178841 38.390234-83.178841 83.178842 0 44.788607 38.390234 83.178841 83.178841 83.178841 44.788607 0 83.178841-38.390234 83.178842-83.178841zM300.853423 345.641997v12.796745c0 31.991862 6.398372 63.983724 63.983725 63.983724S435.219244 384.032232 435.219244 345.641997c0-12.796745 38.390234-44.788607 76.780469-44.788607s83.178841 19.195117 83.178842 76.780469c0 38.390234-63.983724 76.780469-95.975587 108.772331-70.382097 63.983724-63.983724 89.577214-63.983724 89.577214 0 38.390234 12.796745 76.780469 70.382097 70.382097 57.585352-6.398372 166.357683-153.560938 166.357682-153.560938 51.186979-57.585352 51.186979-127.967448 51.18698-127.967448 0-121.569076-95.975586-185.5528-211.14629-185.5528-115.170703-6.398372-204.747917 51.186979-211.14629 166.357682z\">\n        </path>\n    </svg>\n)\n\nexport const IconFeedBack = () => (\n    <svg\n        t=\"1589424011678\"\n        class=\"icon-feedback\"\n        focusable='false'\n        aria-hidden='true'\n        viewBox=\"0 0 1070 1024\"\n        version=\"1.1\"\n        xmlns=\"http://www.w3.org/2000/svg\"\n        p-id=\"1374\"\n        width=\"32\"\n        height=\"32\">\n        <path\n            fill='currentColor'\n            p-id=\"1375\"\n            d=\"M1021.713308 633.948781a48.653015 48.653015 0 0 1-48.653014-48.653014l-0.389224-487.673493-728.578895 0.413551a48.653015 48.653015 0 0 1 0-97.30603l678.709554-0.389224v0.413551h51.693829a97.306029 97.306029 0 0 1 95.359908 77.844823L1070.366323 585.295767a48.653015 48.653015 0 0 1-48.653015 48.653014zM924.407279 229.544923l0.413551 307.584359c0 1.216325-0.267592 2.432651-0.364898 3.600323l0.291918 200.912624a96.965458 96.965458 0 0 1-96.138357 86.213142h-51.693828l-270.024232 0.316245-182.448805 181.086521a48.653015 48.653015 0 1 1-68.795362-68.795363l189.162921-187.703331a48.653015 48.653015 0 0 1 40.576614-21.893856h1.946121l340.157552-0.316245v-76.506866 10.217133-17.75835L827.10125 486.5788c0-1.289305 0.267592-2.432651 0.364897-3.721956l-0.218938-164.155271c-1.021713-64.07602-9.000808-73.247114-64.659857-74.487766l64.173326 0.437877 0.486531 70.668504L827.10125 244.019195h-71.665891 7.10334-15.495985l-587.314867 0.316245c-51.085665 1.727182-60.645983 10.922602-62.397491 57.434884l0.291918 382.388368c2.432651 38.533188 14.085048 45.101345 65.851855 46.220364l-65.827529-0.437877v0.997387l194.903977-0.340571a48.653015 48.653015 0 0 1 0 97.306029l-143.526393 0.243265v-0.291918H97.306029a97.111417 97.111417 0 0 1-96.892478-93.073217L0 243.484012a97.062764 97.062764 0 0 1 92.927258-96.332969l736.120112-0.437877A96.989785 96.989785 0 0 1 924.407279 229.544923z m-827.10125 14.912149v33.424621l0.218939-33.230009 31.259562-0.218938H97.306029z m669.708747 485.873331c51.085665-1.240652 59.040433-9.730603 60.18378-65.997814l-0.462204 65.68157z m0 0c-10.460398 0.243265-22.502019 0.243265-36.927638 0.243265z m-603.51632 0l32.281275 0.218939c-12.211907 0-22.84259 0-32.232622-0.194612z m741.958474-632.099966l65.803202 0.437877 0.364898 54.613009c-1.483917-46.512282-10.72799-53.90754-66.192427-55.02656z m0 0l-32.402908-0.170286c12.284886 0 22.939896 0 32.378581 0.194612z m66.435691 97.135743l-0.291918-42.036204c0.364898 11.482111 0.291918 25.202262 0.291918 42.036204z\">\n        </path>\n    </svg>\n)\n\nexport const IconCloudTookit = () => (\n    <svg\n        t=\"1587979013746\"\n        className='icon-cloud-tookit'\n        focusable='false'\n        aria-hidden='true'\n        role='img'\n        data-icon='help'\n        viewBox=\"0 0 1024 1024\"\n        version=\"1.1\"\n        xmlns=\"http://www.w3.org/2000/svg\"\n        p-id=\"679\"\n        width=\"25\"\n        height=\"25\">\n        <path\n            p-id=\"680\"\n            fill='currentColor'\n            d=\"M228.616 662.377c-18.254-4.236-32.293-19.763-32.293-39.526V405.455c1.404-19.764 14.041-35.291 32.293-39.527l200.78-43.76 21.062-86.112H217.384c-82.839 0-148.83 66.347-148.83 148.225v256.923c0 81.876 67.395 149.636 148.83 149.636h233.074l-21.061-86.112-200.781-42.351z m584.092-426.323H578.226l21.062 86.111 200.785 43.761c18.253 4.237 32.287 19.764 32.287 39.526V622.85c-1.4 19.763-14.035 35.29-32.287 39.526l-200.785 43.762-21.062 86.11h234.482c81.436 0 148.83-66.347 148.83-149.635V384.278c-1.41-81.877-67.394-148.224-148.83-148.224zM429.396 502.86H600.69v21.174H429.396V502.86z\">\n        </path>\n    </svg>\n)\n\nexport const IconInitialzrTutorial = () => (\n    <svg t=\"1603192889200\" class=\"icon-cloud-tookit\" viewBox=\"0 0 1376 1024\" version=\"1.1\"\n         xmlns=\"http://www.w3.org/2000/svg\" p-id=\"1399\" width=\"200\" height=\"200\" style={{left: '20px'}}>\n        <path\n            d=\"M596.800316 1023.986434q-3.66285 0-7.447794-0.217058c-24.581792-1.356611-50.303136-9.048595-80.04005-17.934397-110.238211-32.789288-153.134251-29.397761-187.565038-26.630275-51.008574 4.069833-91.842566 15.926613-127.88772 26.345386-56.177262 16.279332-104.689672 30.293124-147.029502-6.783055C18.802629 974.239508 3.065941 934.6129 0.054264 880.972501V186.04851c0-91.313487 68.49529-165.750733 153.161384-167.093778a1093.645533 1093.645533 0 0 1 405.463899 0 151.831904 151.831904 0 0 1 108.094765 49.774058c28.990777 31.554772 44.958089 73.256995 44.958089 117.31972V879.683721c-3.147338 53.002792-18.870459 92.819325-46.748815 118.36431-19.00612 17.418885-41.403768 25.938403-68.18327 25.938403z m-243.376015-93.60616c69.187162 0 124.021379 16.360729 169.400017 29.845442 57.561005 17.161129 86.294026 24.418998 110.034719 2.713222 18.354947-16.821977 28.922947-45.58213 31.378413-85.466493V186.04851c0-32.165247-11.517627-62.404107-32.43657-85.195171a105.476506 105.476506 0 0 0-75.631063-34.430788h-2.19771l-2.157012-0.406983a1046.245545 1046.245545 0 0 0-391.884223 0l-2.19771 0.420549h-2.238408c-28.326038 0-55.159804 12.209499-75.563233 34.444354-20.918942 22.763933-32.436569 53.016358-32.436569 85.195171v692.943339c2.333371 40.060723 12.630049 68.346063 30.591578 84.109883 10.337376 9.048595 21.488718 12.52152 37.320369 11.626156 17.635943-1.003892 39.72157-7.379964 65.239423-14.759928 36.302911-10.513735 81.491623-23.591465 137.275469-28.068281 12.236631-1.031024 24.066279-1.478706 35.516076-1.478706z\"\n            p-id=\"1400\" fill='currentColor'></path>\n        <path\n            d=\"M1261.064898 1023.986434c-2.4419 0-4.924498-0.067831-7.447794-0.217058-24.581792-1.356611-50.303136-9.048595-80.04005-17.934397-110.251777-32.789288-153.174949-29.397761-187.605737-26.630275-51.008574 4.069833-91.842566 15.926613-127.88772 26.345386-56.177262 16.279332-104.689672 30.293124-147.029501-6.783055-28.027584-24.527527-43.764271-64.154135-46.775948-117.794534l47.413555-2.713222c2.26554 40.521971 12.575784 69.010802 30.605144 84.828887 10.337376 9.048595 21.502285 12.52152 37.320369 11.626156 17.635943-1.003892 39.72157-7.379964 65.239424-14.759928 36.302911-10.513735 81.491623-23.591465 137.275468-28.068282 86.199064-6.932282 152.02183 12.697879 204.916094 28.488832 57.561005 17.161129 86.294026 24.418998 110.034719 2.713222 18.354947-16.821977 28.922947-45.58213 31.378412-85.466494V186.04851c0-32.165247-11.517627-62.404107-32.436569-85.195171a105.476506 105.476506 0 0 0-75.64463-34.430788h-2.19771l-2.157011-0.406983a1046.245545 1046.245545 0 0 0-391.884223 0l-2.19771 0.420549h-2.238408c-28.326038 0-55.159804 12.209499-75.563234 34.444354-20.918942 22.763933-32.436569 53.016358-32.436569 85.195171h-47.481385c0-91.313487 68.49529-165.750733 153.161383-167.093778a1093.645533 1093.645533 0 0 1 405.463899 0 151.831904 151.831904 0 0 1 108.216861 49.746926c28.990777 31.554772 44.958089 73.256995 44.958088 117.31972V879.683721c-3.147338 53.002792-18.870459 92.819325-46.748815 118.36431-19.087517 17.418885-41.444466 25.938403-68.210402 25.938403zM121.362421 229.43293h334.974391v47.481386H121.362421zM121.362421 384.507135h334.974391v47.481386H121.362421z\"\n            p-id=\"1401\" fill='currentColor'></path>\n        <path\n            d=\"M942.342707 431.988521a23.740693 23.740693 0 0 1-23.740693-23.740693V14.681407h47.481386v342.788471l60.626946-50.655856a23.740693 23.740693 0 0 1 30.442351 0l55.376862 46.260436V23.689304h47.481385V403.87954a23.740693 23.740693 0 0 1-38.961868 18.219286l-79.131121-66.12122-84.367638 70.543772a23.740693 23.740693 0 0 1-15.20761 5.467143z\"\n            p-id=\"1402\" fill='currentColor'></path>\n    </svg>\n)\nexport const IconHot = () => (\n<svg t=\"1603192889200\" class=\"icon-cloud-tookit\" viewBox=\"0 0 1376 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"1399\" width=\"200\" height=\"200\">\n         p-id=\"2096\" width=\"200\" height=\"200\">\n        <path\n            d=\"M498.463465 545.489466c-32.862322 0-49.168055 24.584027-49.168055 61.460069 0 41.015189 16.431161 61.460069 49.168055 61.460068 32.862322 0 49.168055-20.44488 49.168055-61.460068-4.013719-36.876041-16.305732-57.44635-49.168055-61.460069z m0 0\"\n            fill=\"#FF0000\" p-id=\"2097\"></path>\n        <path\n            d=\"M674.816233 164.060755c20.44488 49.168055 24.584027 123.045566-16.431161 164.060754C588.646709 57.44635 412.29394 0 412.29394 0c20.570309 139.476727-73.752082 291.245468-168.074473 406.012739-4.139147-57.44635-8.152866-94.322391-36.876041-147.629593-8.152866 102.475257-82.030377 184.505634-106.614405 282.967172-16.431161 86.169525-4.139147 164.060755 57.320921 233.799119 98.461538 94.322391 352.705537 213.228809 611.088682 4.139147 237.812837-242.077413-36.876041-574.212641-94.322391-615.227829zM379.557047 705.411073h-45.154337v-77.89123H252.372333V705.411073h-45.154336V512.627144h45.154336v77.891229h86.169525v-77.891229h45.154336V705.411073h-4.139147z m118.906418 4.139147c-61.460069-4.139147-94.322391-36.876041-98.461538-98.461538 4.139147-65.599216 36.876041-98.461538 98.461538-102.475257 61.460069 4.139147 90.183244 36.876041 94.322391 102.475257 0 61.460069-32.862322 94.322391-94.322391 98.461538z m221.507104-160.047035v159.921607h-45.154336V549.503185h-61.460068v-36.876041H781.556067v36.876041h-61.585498z m0 0\"\n            fill=\"#FF0000\" p-id=\"2098\"></path>\n</svg>\n)","import get from 'lodash.get'\nimport querystring from 'querystring'\nimport set from 'lodash.set'\n\nimport Extend from '../../Extend.json'\nimport {isInRange, parseReleases, parseVersion} from './Version'\n\nconst PROPERTIES_MAPPING_URL = {\n  type: 'project',\n  language: 'language',\n  architecture: 'architecture',\n  platformVersion: 'boot',\n  packaging: 'meta.packaging',\n  jvmVersion: 'meta.java',\n  groupId: 'meta.group',\n  artifactId: 'meta.artifact',\n  name: 'meta.name',\n  description: 'meta.description',\n  packageName: 'meta.packageName',\n  dependencies: 'dependencies',\n}\n\nexport const getInfo = function getInfo(url) {\n  return new Promise((resolve, reject) => {\n    fetch(`${url}`, {\n      method: 'GET',\n      headers: {\n        Accept: 'application/vnd.initializr.v2.1+json',\n      },\n    })\n      .then(\n        response => response.json(),\n        () => {\n          reject()\n          return null\n        }\n      )\n      .then(data => {\n        if (data) {\n          resolve(data)\n        }\n      })\n  })\n}\n\nexport const getShareUrl = values => {\n  const props = {}\n  Object.keys(PROPERTIES_MAPPING_URL).forEach(key => {\n    const key2 = get(PROPERTIES_MAPPING_URL, key)\n    const value = get(values, key2)\n    if (key !== 'dependencies') {\n      set(props, key, value)\n    }\n  })\n  let params = `${querystring.stringify(props)}`\n  if (get(values, 'dependencies', []).length > 0) {\n    params = `${params}&dependencies=${get(values, 'dependencies').join(',')}`\n  }\n  return params\n}\n\nexport const isValidParams = params => {\n  return (\n    Object.keys(params)\n      .map(entry => {\n        return !!get(PROPERTIES_MAPPING_URL, entry, null)\n      })\n      .filter(item => !!item).length > 0\n  )\n}\n\nexport const parseParams = (values, queryParams, lists) => {\n  const errors = {}\n  const warnings = {}\n  if (isValidParams(queryParams)) {\n    Object.keys(queryParams).forEach(entry => {\n      const key = get(PROPERTIES_MAPPING_URL, entry)\n      if (key) {\n        const value = get(queryParams, entry, '').toLowerCase()\n        switch (key) {\n          case 'project':\n          case 'language':\n          case 'architecture':\n          case 'meta.packaging':\n          case 'meta.java': {\n            const list = get(lists, key, [])\n            const res = list.find(a => a.key.toLowerCase() === value)\n            if (res) {\n              set(values, key, res.key)\n            } else {\n              const currentValue = list.find(\n                a => a.key.toLowerCase() === get(values, key)\n              )\n              set(warnings, key, {\n                value: get(queryParams, entry, ''),\n                select: currentValue.text,\n              })\n            }\n            break\n          }\n          case 'boot': {\n            const list = get(lists, key, [])\n            const res = list.find(a => a.key.toLowerCase() === value)\n            let error = false\n            if (res) {\n              set(values, key, res.key)\n            } else {\n              error = true\n              let versionMajor = value\n              if (versionMajor.indexOf('.x') === -1) {\n                versionMajor = get(parseVersion(versionMajor), 'major', '')\n              }\n              if (versionMajor.indexOf('.x') > -1) {\n                const releases = parseReleases(list).filter(\n                  release =>\n                    release.major.toLowerCase() === versionMajor.toLowerCase()\n                )\n                if (releases.length > 0) {\n                  const release = releases.reduce((p, c) => {\n                    if (p.qualify > c.qualify) {\n                      return p\n                    }\n                    if (p.qualify === c.qualify) {\n                      if (p.minor > c.minor) {\n                        return p\n                      }\n                    }\n                    return c\n                  }, releases[0])\n\n                  if (release) {\n                    error = false\n                    set(values, key, release.version)\n                    const currentValue = list.find(\n                      a => a.key.toLowerCase() === release.version.toLowerCase()\n                    )\n                    set(warnings, key, {\n                      value: get(queryParams, entry, ''),\n                      select: currentValue.text,\n                    })\n                  }\n                }\n              }\n            }\n            if (error) {\n              set(errors, 'boot', {\n                value: get(queryParams, entry, ''),\n              })\n            }\n            break\n          }\n          case 'dependencies': {\n            const depsWarning = []\n            const newVal = value\n              .split(',')\n              .map(item => {\n                const dep = get(lists, 'dependencies').find(\n                  d => d.id === item.trim()\n                )\n                if (dep) {\n                  return dep.id\n                }\n                depsWarning.push(item)\n                return null\n              })\n              .filter(item => !!item)\n\n            if (depsWarning.length > 0) {\n              set(warnings, key, {\n                value: depsWarning.join(', '),\n              })\n            }\n            set(values, key, newVal)\n            break\n          }\n          default:\n            set(values, key, get(queryParams, entry, ''))\n        }\n      }\n    })\n  }\n  return {\n    values,\n    errors,\n    warnings,\n  }\n}\n\nexport const getLists = json => {\n  const deps = []\n  get(json, 'dependencies.values', []).forEach(group => {\n    group.values.forEach(item => {\n      const extend = Extend.find(it => it.id === get(item, 'id', ''))\n      const val = {\n        id: `${get(item, 'id', '')}`,\n        name: `${get(item, 'name', '')}`,\n        group: `${group.name}`,\n        description: `${get(item, 'description', '')}`,\n        versionRange: `${get(item, 'versionRange', '')}`,\n        versionRequirement: `${get(item, 'versionRange', '')}`,\n        weight: get(extend, 'weight', 50),\n      }\n      deps.push(val)\n    })\n  })\n  return {\n    project: get(json, 'type.values', [])\n      .filter(type => type.action === '/starter.zip')\n      .map(type => ({\n        key: `${type.id}`,\n        text: `${type.name}`,\n      })),\n    language: get(json, 'language.values', []).map(language => ({\n      key: `${language.id}`,\n      text: `${language.name}`,\n    })),\n    architecture: get(json, 'architecture.values', []).map(architecture => ({\n      key: `${architecture.id}`,\n      text: `${architecture.name}`,\n      dependencies: get(architecture, 'dependOn', []),\n    })),\n    boot: get(json, 'bootVersion.values', []).map(boot => ({\n      key: `${boot.id}`,\n      text: `${boot.name}`,\n    })),\n    meta: {\n      java: get(json, 'javaVersion.values', []).map(java => ({\n        key: `${java.id}`,\n        text: `${java.name}`,\n      })),\n      packaging: get(json, 'packaging.values', []).map(packaging => ({\n        key: `${packaging.id}`,\n        text: `${packaging.name}`,\n      })),\n    },\n    dependencies: deps,\n  }\n}\n\nexport const getDefaultValues = json => {\n  return {\n    project: get(json, 'type.default'),\n    language: get(json, 'language.default'),\n    architecture: get(json, 'architecture.default'),\n    boot: get(json, 'bootVersion.default'),\n    meta: {\n      name: get(json, 'name.default'),\n      group: get(json, 'groupId.default'),\n      artifact: get(json, 'artifactId.default'),\n      description: get(json, 'description.default'),\n      packaging: get(json, 'packaging.default'),\n      packageName: get(json, 'packageName.default'),\n      java: get(json, 'javaVersion.default'),\n    },\n    share: get(json, 'share.default'),\n    dependencies: [],\n    availableCount: [],\n  }\n}\n\nexport const getConfig = json => {\n  return {\n    lists: getLists(json),\n    defaultValues: getDefaultValues(json),\n  }\n}\n\nexport const isValidDependency = function isValidDependency(boot, dependency) {\n  if (!dependency) {\n    return false\n  }\n  return get(dependency, 'versionRange')\n    ? isInRange(boot, get(dependency, 'versionRange'))\n    : true\n}\n\nexport const getQueryString = function getQueryString(values, config) {\n  const params = querystring.stringify({\n    type: get(values, 'project'),\n    language: get(values, 'language'),\n    architecture: get(values, 'architecture'),\n    bootVersion: get(values, 'boot'),\n    baseDir: get(values, 'meta.artifact'),\n    groupId: get(values, 'meta.group'),\n    artifactId: get(values, 'meta.artifact'),\n    name: get(values, 'meta.name'),\n    description: get(values, 'meta.description'),\n    packageName: get(values, 'meta.packageName'),\n    packaging: get(values, 'meta.packaging'),\n    javaVersion: get(values, 'meta.java'),\n  })\n  let paramsDependencies = get(values, 'dependencies', [])\n    .map(dependency => {\n      const dep = config.find(it => it.id === dependency)\n      return isValidDependency(get(values, 'boot'), dep) ? dependency : null\n    })\n    .filter(dep => !!dep)\n    .join(',')\n  if (paramsDependencies) {\n    paramsDependencies = `&dependencies=${paramsDependencies}`\n  }\n\n  return `${params}${paramsDependencies}`\n}\n\nexport const getProject = function getProject(url, values, config) {\n  return new Promise((resolve, reject) => {\n\n    const paramsStr = getQueryString(values, config)\n\n    fetch(`${url}?${paramsStr}`, {\n      method: 'GET',\n    }).then(\n      response => {\n        if (response.status === 200) {\n          resolve(response.blob())\n          return\n        }\n        reject()\n      },\n      () => {\n        reject()\n      }\n    )\n  })\n}\n","import {useState} from 'react'\n\nfunction getTheme() {\n  const isDarkConfig =\n    window.matchMedia &&\n    window.matchMedia('(prefers-color-scheme: dark)').matches\n\n  const theme = localStorage.getItem('springtheme')\n  if (!theme) {\n    return isDarkConfig ? 'dark' : 'light'\n  }\n  return theme\n}\n\nexport default function useTheme() {\n  const [darkTheme] = useState(getTheme())\n  return darkTheme\n}\n","import PropTypes from 'prop-types'\nimport get from 'lodash.get'\nimport set from 'lodash.set'\nimport React, {useReducer} from 'react'\n\nimport useTheme from '../utils/Theme'\nimport {isValidDependency} from '../utils/ApiUtils'\nimport {rangeToText} from '../utils/Version'\n\nexport const defaultAppContext = {\n  more: false,\n  complete: false,\n  explore: false,\n  share: false,\n  fetch: false,\n  tab: 'quicksearch',\n  theme: 'light',\n  language: 'zh',\n  config: {},\n  groupsOpened: [],\n  dependencies: {\n    list: [],\n    groups: [],\n  },\n}\n\nexport function reduceDependencies(boot, items) {\n  const groups = []\n  const list = []\n  const getParent = (m, name) => {\n    return m.find(item => item.group === name)\n  }\n  for (let i = 0; i < items.length; i += 1) {\n    let message = ''\n    const dep = items[i]\n    let parent = getParent(groups, dep.group)\n    if (!parent) {\n      parent = {\n        group: dep.group,\n        items: [],\n      }\n      groups.push(parent)\n    }\n    const valid = isValidDependency(boot, dep)\n    if (!valid) {\n      message = `Requires Spring Boot ${rangeToText(\n        get(dep, 'versionRequirement')\n      )}.`\n    }\n    parent.items.push({ ...dep, valid, message })\n    list.push({ ...dep, valid, message })\n  }\n  return {\n    list,\n    groups,\n  }\n}\n\nexport function reducer(state, action) {\n  switch (action.type) {\n    case 'UPDATE': {\n      const newState = { ...state }\n      const keysContext = Object.keys(defaultAppContext)\n      const keys = Object.keys(get(action, 'payload', {}))\n      keys.map(key => {\n        if (keysContext.indexOf(key) === -1) {\n          throw Error('Error AppProvider, invalid paylaod field action')\n        }\n        const value = get(action, `payload.${key}`)\n        set(newState, key, value)\n        if (key === 'theme') {\n          localStorage.setItem('springtheme', value)\n        }\n        return key\n      })\n      return newState\n    }\n    case 'TOGGLE_GROUP': {\n      const id = get(action, 'payload.id')\n      let groupsOpened = [...state.groupsOpened]\n      if (groupsOpened.indexOf(id) > -1) {\n        groupsOpened = [...groupsOpened.filter(g => g !== id)]\n      } else {\n        groupsOpened = [...groupsOpened, id]\n      }\n      return { ...state, groupsOpened }\n    }\n    case 'UPDATE_DEPENDENCIES': {\n      const dependencies = reduceDependencies(\n        get(action, 'payload.boot'),\n        get(state, 'config.lists.dependencies')\n      )\n      return { ...state, dependencies }\n    }\n    case 'SHARE_UPDATE': {\n      const share = get(action, 'payload.open', false)\n      return { ...state, share }\n    }\n    case 'EXPLORE_UPDATE': {\n      const explore = get(action, 'payload.open', false)\n      return { ...state, explore }\n    }\n    case 'FETCH_UPDATE': {\n      const fetch = get(action, 'payload.open', false)\n      return { ...state, fetch }\n    }\n    case 'COMPLETE': {\n      const json = get(action, 'payload', {})\n      const dependencies = reduceDependencies(\n        get(json, 'defaultValues.boot'),\n        get(json, 'lists.dependencies')\n      )\n      return { ...state, complete: true, config: json, dependencies }\n    }\n    default:\n      return state\n  }\n}\n\nexport const AppContext = React.createContext({ ...defaultAppContext })\n\nexport function AppProvider({ children }) {\n  const theme = useTheme()\n  const [state, dispatch] = useReducer(reducer, { ...defaultAppContext, theme })\n  return (\n    <AppContext.Provider value={{ ...state, dispatch }}>\n      {children}\n    </AppContext.Provider>\n  )\n}\n\nAppProvider.propTypes = {\n  children: PropTypes.node.isRequired,\n}\n","import PropTypes from 'prop-types'\nimport get from 'lodash.get'\nimport set from 'lodash.set'\nimport React, {useReducer} from 'react'\n\nimport {getShareUrl, parseParams} from '../utils/ApiUtils'\n\nexport const defaultInitializrContext = {\n  values: {\n    project: '',\n    language: '',\n    architecture: '',\n    boot: '',\n    meta: {\n      name: '',\n      group: '',\n      artifact: '',\n      description: '',\n      packaging: '',\n      packageName: '',\n      java: '',\n    },\n    dependencies: [],\n    share: [],\n  },\n  share: '',\n  errors: {},\n  warnings: {},\n}\n\nexport function reducer(state, action) {\n  switch (action.type) {\n    case 'COMPLETE': {\n      const json = get(action, 'payload')\n      const defaultValues = {\n        ...get(json, 'defaultValues'),\n        meta: get(json, 'defaultValues.meta'),\n      }\n      return {\n        values: defaultValues,\n        share: getShareUrl(defaultValues),\n        errors: {},\n        warnings: {},\n      }\n    }\n    case 'UPDATE': {\n      const changes = get(action, 'payload')\n      let errors = { ...state.errors }\n      let meta = { ...get(state, 'values.meta') }\n      if (get(changes, 'meta')) {\n        meta = { ...meta, ...get(changes, 'meta') }\n      }\n      if (get(changes, 'boot')) {\n        const { boot, ...err } = errors\n        errors = err\n      }\n      if (get(changes, 'meta.group')) {\n        set(\n          meta,\n          'packageName',\n          `${get(meta, 'group')}.${get(meta, 'artifact')}`\n        )\n      }\n      if (get(changes, 'meta.artifact')) {\n        set(\n          meta,\n          'packageName',\n          `${get(meta, 'group')}.${get(meta, 'artifact')}`\n        )\n        set(meta, 'name', `${get(meta, 'artifact')}`)\n      }\n      const values = {\n        ...get(state, 'values'),\n        ...changes,\n        meta,\n      }\n      return { ...state, values, share: getShareUrl(values), errors }\n    }\n    case 'LOAD': {\n      const params = get(action, 'payload.params')\n      const lists = get(action, 'payload.lists')\n      const { values, errors, warnings } = parseParams(\n        state.values,\n        params,\n        lists\n      )\n      return { ...state, values, errors, warnings, share: getShareUrl(values) }\n    }\n    case 'ADD_DEPENDENCY': {\n      const dependency = get(action, 'payload.id')\n      const values = { ...get(state, 'values') }\n      if(get(values, 'dependencies', []).filter(item => item === dependency).length == 0){\n        values.dependencies = [...get(values, 'dependencies'), dependency]\n      }\n      return { ...state, values, share: getShareUrl(values) }\n    }\n    case 'REMOVE_DEPENDENCY': {\n      const dependency = get(action, 'payload.id')\n      const values = { ...get(state, 'values') }\n      values.dependencies = [\n        ...get(values, 'dependencies').filter(dep => dep !== dependency),\n      ]\n      return { ...state, values, share: getShareUrl(values) }\n    }\n    case 'CLEAR_WARNINGS': {\n      return { ...state, warnings: {} }\n    }\n    default:\n      return state\n  }\n}\n\nexport const InitializrContext = React.createContext({\n  ...defaultInitializrContext,\n})\n\nexport function InitializrProvider({ children }) {\n  const [state, dispatch] = useReducer(reducer, { ...defaultInitializrContext })\n  return (\n    <InitializrContext.Provider value={{ ...state, dispatch }}>\n      {children}\n    </InitializrContext.Provider>\n  )\n}\n\nInitializrProvider.defaultProps = {\n  children: null,\n}\n\nInitializrProvider.propTypes = {\n  children: PropTypes.node,\n}\n","const strictRange = /\\[(.*),(.*)\\]/\nconst halfopenRightRange = /\\[(.*),(.*)\\)/\nconst halfopenLeftRange = /\\((.*),(.*)\\]/\nconst qualifiers = ['M', 'RC', 'BUILD-SNAPSHOT', 'RELEASE']\n\nexport const parseQualifier = version => {\n  const qual = (version || '')\n    .replace(/\\d+/g, '')\n    .replace(/\\./g, ' ')\n    .replace(/\\s/g, '')\n  return qualifiers.indexOf(qual) > -1 ? qual : 'RELEASE'\n}\n\nexport const parseVersion = version => {\n  const r = version.toString().split('.')\n  if (r.length < 2) {\n    return {\n      version,\n    }\n  }\n  return {\n    version,\n    short: `${r[0]}.${r[1]}.${r[2]}`,\n    major: `${r[0]}.${r[1]}.x`,\n    qualify: qualifiers.indexOf(parseQualifier(version)),\n    minor: +r[2],\n  }\n}\n\nexport const compare = (a, b) => {\n  let result\n  const versionA = a.split('.')\n  const versionB = b.split('.')\n  if (versionA.length === 3) {\n    versionA[3] = ''\n  }\n  if (versionB.length === 3) {\n    versionB[3] = ''\n  }\n  for (let i = 0; i < 3; i += 1) {\n    result = parseInt(versionA[i], 10) - parseInt(versionB[i], 10)\n    if (result !== 0) {\n      return result\n    }\n  }\n  const qualify = version => qualifiers.indexOf(parseQualifier(version))\n  result = qualify(a) - qualify(b)\n  if (result !== 0) {\n    return result\n  }\n  return versionA[3].localeCompare(versionB[3])\n}\n\nexport const parseReleases = releases => {\n  return releases.map(release => {\n    const version = parseVersion(release.key)\n    return version\n  })\n}\n\nexport const isInRange = (version, range) => {\n  if (!range) {\n    return true\n  }\n  const strickMatch = range.match(strictRange)\n  if (strickMatch) {\n    return (\n      compare(strickMatch[1], version) <= 0 &&\n      compare(strickMatch[2], version) >= 0\n    )\n  }\n  const horMatch = range.match(halfopenRightRange)\n  if (horMatch) {\n    return (\n      compare(horMatch[1], version) <= 0 && compare(horMatch[2], version) > 0\n    )\n  }\n  const holMatch = range.match(halfopenLeftRange)\n  if (holMatch) {\n    return (\n      compare(holMatch[1], version) < 0 && compare(holMatch[2], version) >= 0\n    )\n  }\n  return compare(range, version) <= 0\n}\n\nexport const rangeToText = range => {\n  const strictMatch = range.match(strictRange)\n  if (strictMatch) {\n    return `>= ${strictMatch[1]} and <= ${strictMatch[2]}`\n  }\n  const horMatch = range.match(halfopenRightRange)\n  if (horMatch) {\n    return `>= ${horMatch[1]} and < ${horMatch[2]}`\n  }\n  const holMatch = range.match(halfopenLeftRange)\n  if (holMatch) {\n    return `> ${holMatch[1]} and <= ${holMatch[2]}`\n  }\n  return `>= ${range}`\n}\n\nexport const getValidDependencies = (boot, dependencies) => {\n  return dependencies\n    .map(dep => {\n      const compatibility = dep.versionRange\n        ? isInRange(boot, dep.versionRange)\n        : true\n      if (!compatibility) {\n        return null\n      }\n      return dep\n    })\n    .filter(d => !!d)\n}\n","import PropTypes from 'prop-types'\nimport React from 'react'\n\nimport {IconTimes} from '../icons'\n\nconst Close = ({ onClose }) => (\n  <a\n    href='/#'\n    className='toast-close'\n    onClick={event => {\n      event.preventDefault()\n      if (onClose) {\n        onClose()\n      }\n    }}\n  >\n    <IconTimes />\n  </a>\n)\n\nClose.defaultProps = {\n  onClose: null,\n}\n\nClose.propTypes = {\n  onClose: PropTypes.func,\n}\n\nexport default Close\n","import {useState} from 'react'\n\nfunction getProperties() {\n  return {\n    symb:\n      window.navigator.userAgent.toLowerCase().indexOf('mac') > -1\n        ? '⌘'\n        : 'Ctrl',\n    origin: window.location.origin,\n    pathname: window.location.pathname,\n  }\n}\n\nexport default function useWindowsUtils() {\n  const [symb] = useState(getProperties().symb)\n  const [origin] = useState(getProperties().origin)\n  const [pathname] = useState(getProperties().pathname)\n  return { symb, origin, pathname }\n}\n","var api = require(\"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n            var content = require(\"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/sass-loader/dist/cjs.js!./app.scss\");\n\n            content = content.__esModule ? content.default : content;\n\n            if (typeof content === 'string') {\n              content = [[module.id, content, '']];\n            }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_GET_URL_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/getUrl.js\");\nvar ___CSS_LOADER_URL_IMPORT_0___ = require(\"../fonts/karla-v12-latin-regular.eot\");\nvar ___CSS_LOADER_URL_IMPORT_1___ = require(\"../fonts/karla-v12-latin-regular.woff2\");\nvar ___CSS_LOADER_URL_IMPORT_2___ = require(\"../fonts/karla-v12-latin-regular.woff\");\nvar ___CSS_LOADER_URL_IMPORT_3___ = require(\"../fonts/karla-v12-latin-regular.ttf\");\nvar ___CSS_LOADER_URL_IMPORT_4___ = require(\"../fonts/karla-v12-latin-regular.svg\");\nvar ___CSS_LOADER_URL_IMPORT_5___ = require(\"../fonts/karla-v12-latin-700.eot\");\nvar ___CSS_LOADER_URL_IMPORT_6___ = require(\"../fonts/karla-v12-latin-700.woff2\");\nvar ___CSS_LOADER_URL_IMPORT_7___ = require(\"../fonts/karla-v12-latin-700.woff\");\nvar ___CSS_LOADER_URL_IMPORT_8___ = require(\"../fonts/karla-v12-latin-700.ttf\");\nvar ___CSS_LOADER_URL_IMPORT_9___ = require(\"../fonts/karla-v12-latin-700.svg\");\nvar ___CSS_LOADER_URL_IMPORT_10___ = require(\"../fonts/karla-v8-latin-regular.eot\");\nvar ___CSS_LOADER_URL_IMPORT_11___ = require(\"../fonts/karla-v8-latin-regular.woff2\");\nvar ___CSS_LOADER_URL_IMPORT_12___ = require(\"../fonts/karla-v8-latin-regular.woff\");\nvar ___CSS_LOADER_URL_IMPORT_13___ = require(\"../fonts/karla-v8-latin-regular.ttf\");\nvar ___CSS_LOADER_URL_IMPORT_14___ = require(\"../fonts/karla-v8-latin-regular.svg\");\nvar ___CSS_LOADER_URL_IMPORT_15___ = require(\"../fonts/karla-v8-latin-700.eot\");\nvar ___CSS_LOADER_URL_IMPORT_16___ = require(\"../fonts/karla-v8-latin-700.woff2\");\nvar ___CSS_LOADER_URL_IMPORT_17___ = require(\"../fonts/karla-v8-latin-700.woff\");\nvar ___CSS_LOADER_URL_IMPORT_18___ = require(\"../fonts/karla-v8-latin-700.ttf\");\nvar ___CSS_LOADER_URL_IMPORT_19___ = require(\"../fonts/karla-v8-latin-700.svg\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___, { hash: \"?#iefix\" });\nvar ___CSS_LOADER_URL_REPLACEMENT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);\nvar ___CSS_LOADER_URL_REPLACEMENT_3___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_2___);\nvar ___CSS_LOADER_URL_REPLACEMENT_4___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_3___);\nvar ___CSS_LOADER_URL_REPLACEMENT_5___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_4___, { hash: \"#Karla\" });\nvar ___CSS_LOADER_URL_REPLACEMENT_6___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_5___);\nvar ___CSS_LOADER_URL_REPLACEMENT_7___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_5___, { hash: \"?#iefix\" });\nvar ___CSS_LOADER_URL_REPLACEMENT_8___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_6___);\nvar ___CSS_LOADER_URL_REPLACEMENT_9___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_7___);\nvar ___CSS_LOADER_URL_REPLACEMENT_10___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_8___);\nvar ___CSS_LOADER_URL_REPLACEMENT_11___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_9___, { hash: \"#Karla\" });\nvar ___CSS_LOADER_URL_REPLACEMENT_12___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_10___);\nvar ___CSS_LOADER_URL_REPLACEMENT_13___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_10___, { hash: \"?#iefix\" });\nvar ___CSS_LOADER_URL_REPLACEMENT_14___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_11___);\nvar ___CSS_LOADER_URL_REPLACEMENT_15___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_12___);\nvar ___CSS_LOADER_URL_REPLACEMENT_16___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_13___);\nvar ___CSS_LOADER_URL_REPLACEMENT_17___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_14___, { hash: \"#Karla\" });\nvar ___CSS_LOADER_URL_REPLACEMENT_18___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_15___);\nvar ___CSS_LOADER_URL_REPLACEMENT_19___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_15___, { hash: \"?#iefix\" });\nvar ___CSS_LOADER_URL_REPLACEMENT_20___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_16___);\nvar ___CSS_LOADER_URL_REPLACEMENT_21___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_17___);\nvar ___CSS_LOADER_URL_REPLACEMENT_22___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_18___);\nvar ___CSS_LOADER_URL_REPLACEMENT_23___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_19___, { hash: \"#Karla\" });\n// Module\nexports.push([module.id, \"@font-face{font-family:'Karla';font-style:normal;font-weight:400;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");src:local(\\\"\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \") format(\\\"embedded-opentype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \") format(\\\"woff2\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_3___ + \") format(\\\"woff\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \") format(\\\"truetype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_5___ + \") format(\\\"svg\\\")}@font-face{font-family:'Karla';font-style:normal;font-weight:700;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_6___ + \");src:local(\\\"\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_7___ + \") format(\\\"embedded-opentype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_8___ + \") format(\\\"woff2\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_9___ + \") format(\\\"woff\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_10___ + \") format(\\\"truetype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_11___ + \") format(\\\"svg\\\")}html,body{text-rendering:optimizeLegibility;height:100%}body{color:#222;padding:0;margin:0;font-size:15px;font-family:Karla,Arial,sans-serif;font-weight:400;font-style:normal;position:relative;line-height:32px;background-repeat:repeat-y;background-size:316px 1px;background-color:#fff}body.light{background:linear-gradient(to right, #ff6a00 4px, #f7f7f7 4px 316px, #fff 316px)}div{outline:none}@font-face{font-family:'Karla';font-style:normal;font-weight:400;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_12___ + \");src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_13___ + \") format(\\\"embedded-opentype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \") format(\\\"woff2\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \") format(\\\"woff\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_16___ + \") format(\\\"truetype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_17___ + \") format(\\\"svg\\\")}@font-face{font-family:'Karla';font-style:normal;font-weight:700;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_18___ + \");src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_19___ + \") format(\\\"embedded-opentype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_20___ + \") format(\\\"woff2\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_21___ + \") format(\\\"woff\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_22___ + \") format(\\\"truetype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_23___ + \") format(\\\"svg\\\")}.header{width:316px}.header h1.logo{width:280px;margin:0px 20px 0px 24px}.header h1.logo a{display:block;position:relative;padding:4px 0;color:#000;text-decoration:none;font-size:1.0rem;line-height:1.6rem;font-weight:normal;width:260px;outline:1px dotted transparent}.header h1.logo a span{display:block}.header h1.logo a span.title{display:block;font-size:1.6rem;font-weight:normal;margin-top:10px;letter-spacing:-1px}.header h1.logo a span.title strong{color:#ff6a00}.header h1.logo a svg{width:65px;height:65px;margin-left:-10px;position:absolute;left:0;color:#ff6a00}.header h1.logo a:focus{outline:1px dotted rgba(0,0,0,0.2)}.quick-links{position:absolute;top:10px;right:20px;width:1000px;text-align:right;list-style:none;margin:0px;padding:0px}.quick-links li{position:relative;display:inline-block}.quick-links li a{padding:8px;padding-left:28px;padding-right:4px;position:relative;color:#222;margin:0px 12px;text-decoration:none;cursor:pointer;outline:none;-webkit-transition:color .15s;-moz-transition:color .15s;-ms-transition:color .15s;-o-transition:color .15s;transition:color .15s}.quick-links li a svg{position:absolute;left:4px;top:8px;height:18px}.quick-links li a:hover{color:#ff6a00}.quick-links li a.dropdown{padding-right:8px}.quick-links li a.dropdown svg.icon-caret-down{position:relative;width:10px;top:3px;margin-left:6px}.quick-links ul.dropdown-menu{z-index:999;position:absolute;top:34px;right:0px;width:220px;box-shadow:rgba(0,0,0,0.2) 0px 4px 10px;text-align:left;background:white;padding:0px;margin:0px;list-style:none}.quick-links ul.dropdown-menu li{display:block}.quick-links ul.dropdown-menu li a{display:block;position:relative;color:#222;padding:4px 12px;margin:0px;text-decoration:none;-webkit-transition:background .15s;-moz-transition:background .15s;-ms-transition:background .15s;-o-transition:background .15s;transition:background .15s}.quick-links ul.dropdown-menu li a:hover{background:#e7f1f4}.quick-links .nav-anim-enter{opacity:0.01;transform:scale(0.95)}.quick-links .nav-anim-enter-active{opacity:1;transform:scale(1);transition:all 300ms}.quick-links .nav-anim-exit{opacity:1;transform:scale(1)}.quick-links .nav-anim-exit-active{opacity:0.01;transform:scale(0.95);transition:all 300ms}.quick-links .switch-language{position:relative;padding-left:32px;padding-right:20px}.quick-links .switch-language .switch{position:absolute;top:-3px;left:0}.quick-links .switch-mode{position:relative;padding-left:32px;padding-right:20px}.quick-links .switch-mode .switch{position:absolute;top:-3px;left:0}.quick-links .icon-cloud-tookit{width:25px;height:25px;top:4px;left:0px}.quick-links .icon-feedback{width:20px;height:20px}.footer{background:#f7f7f7;line-height:24px;padding:0 40px 8px 8px;font-weight:400;color:rgba(0,0,0,0.5);font-size:14px;letter-spacing:-0.5px;text-align:right;margin-left:8px}.footer .footer-container{padding:4px 0 0}.footer a{color:#0188ff;text-decoration:underline}.footer a:hover{text-decoration:none}.colset{display:flex;padding-right:8px}.colset .left{font-weight:700;width:280px;text-align:right;position:relative;padding:8px 32px 8px 0px;flex:0 0 280px}.colset .left.nopadding{padding:0;flex:0 0 310px;margin-left:6px}.colset .right{max-width:900px;padding:8px 0px 8px 32px;flex:2 1 0%;min-height:51px}.colset .right.nopadding{max-width:600px;margin-left:28px;flex:2 1 0%;padding:0px}.colset .right.right-md{max-width:500px;padding:8px 0px 8px 32px;flex:2 1 0%;min-height:187px}.dependencies-box{padding:8px 0 8px 32px;flex:2;max-width:900px;-webkit-transition:all .15s;-moz-transition:all .15s;-ms-transition:all .15s;-o-transition:all .15s;transition:all .15s}.dependencies-box .colset-2{padding-top:20px}.dependencies-box.large{max-width:1200px}.colset-2{display:flex;min-height:300px}.colset-2 .column{flex:1 1 0%}.colset-2 .column+.column{padding-left:20px}.control{padding-top:8px}.control+.control{padding-top:16px}label{display:block;color:#706c69;font-size:14px;font-weight:lighter;line-height:17px}.dependencies label{padding:8px 0}.control-input{display:block;border:0;outline:none;border-bottom:3px solid #ebebeb;line-height:16px;font-family:Karla, sans-serif;font-size:15px;box-sizing:border-box;background-clip:padding-box;width:100%;padding:0.35rem 0 0.55rem;border-radius:0;background:#fff;-webkit-transition:border-color .15s;-moz-transition:border-color .15s;-ms-transition:border-color .15s;-o-transition:border-color .15s;transition:border-color .15s}.control-input:hover{border-color:#cbcbcb}.control-input:focus{border-color:#ff6a00}.button{display:inline-block;color:#222;padding:4px 32px;border:2px solid #f1f1f1;background-color:#f1f1f1;border-radius:4px;font-family:Karla, sans-serif;font-size:15px;font-weight:400;cursor:pointer;line-height:32px;-webkit-transition:all .15s;-moz-transition:all .15s;-ms-transition:all .15s;-o-transition:all .15s;transition:all .15s;white-space:nowrap;text-decoration:none;outline:1px dotted transparent}.button:hover{border:2px solid #e4e4e4;background-color:#e4e4e4}.button:focus{outline:1px dotted rgba(0,0,0,0.2)}.button.primary{color:#fff;border:2px solid #ff6a00;background-color:#ff6a00;-webkit-transition:all .15s;-moz-transition:all .15s;-ms-transition:all .15s;-o-transition:all .15s;transition:all .15s}.button.primary:hover{border:2px solid #e65f00;background-color:#e65f00}.button.blue{color:#fff;border:2px solid #3d96f7;background-color:#3d96f7;-webkit-transition:all .15s;-moz-transition:all .15s;-ms-transition:all .15s;-o-transition:all .15s;transition:all .15s}.button.blue:hover{border:2px solid #3391f7;background-color:#3391f7}.button+.button{margin-left:6px}.control-error{padding:16px 0}.control-error p{padding:0;margin:0;line-height:24px}.control-error p a{color:#0188ff;text-decoration:underline}.control-error p a:hover{text-decoration:none}.control-error .title{color:#f30808}.control-warning{padding:6px 0;color:#eb4200}.control-warning a{color:#0188ff;text-decoration:underline}.control-warning a:hover{text-decoration:none}.sticky{position:sticky;bottom:0px;z-index:100}.see-all{position:absolute;top:38px;right:35px;font-weight:400;width:80px;height:22px;line-height:22px;cursor:pointer;text-decoration:underline;color:#097dff;outline:1px dotted transparent}.see-all:focus{outline:1px dotted rgba(0,0,0,0.2)}.submit{bottom:0px;width:auto;background:white;height:36px;padding:18px 0 29px;margin-right:12px;border-top:1px solid #ccc}.colset-submit .right.nopadding{max-width:100%;background:white;margin-left:0;padding-left:28px;max-width:1212px}.radio{display:inline-block;border-bottom:3px solid #e4e4e4;text-decoration:none;color:#888;line-height:32px;padding:0 16px;text-align:center;font-weight:700;cursor:pointer;margin-right:4px;-webkit-transition:all .15s;-moz-transition:all .15s;-ms-transition:all .15s;-o-transition:all .15s;transition:all .15s;outline:1px dotted transparent}.radio:focus{outline:1px dotted rgba(0,0,0,0.2)}.radio:hover{border-color:#cbcbcb;color:#222}.radio.checked{border-bottom-color:#ff6a00;color:#000}.radio.err{color:#8e1313;background:#fbe5e5;border-bottom-color:#d60000;cursor:not-allowed}.dependencies-list,ul.dependencies-list{list-style:none;padding:0;margin:0}.dependencies-list .dependency-item,ul.dependencies-list .dependency-item{position:relative;display:block;text-decoration:none;padding:16px;padding-right:60px;color:rgba(34,34,34,0.8);background:#f7f7f7;cursor:pointer;font-size:14px;display:flex;align-items:center;line-height:24px}.dependencies-list .dependency-item:focus,ul.dependencies-list .dependency-item:focus{outline:1px dotted rgba(0,0,0,0.2)}.dependencies-list .dependency-item strong,ul.dependencies-list .dependency-item strong{color:#222}.dependencies-list .dependency-item input,ul.dependencies-list .dependency-item input{display:none}.dependencies-list .dependency-item div,ul.dependencies-list .dependency-item div{padding:0;margin:0}.dependencies-list .dependency-item span,ul.dependencies-list .dependency-item span{font-size:13px}.dependencies-list .dependency-item .icon,ul.dependencies-list .dependency-item .icon{position:absolute;display:block;border:2px solid #e4e4e4;height:24px;width:24px;margin-top:-12px;top:50%;right:16px;border-radius:14px;color:#222}.dependencies-list .dependency-item .icon-times,.dependencies-list .dependency-item .icon-check,.dependencies-list .dependency-item .icon-plus,ul.dependencies-list .dependency-item .icon-times,ul.dependencies-list .dependency-item .icon-check,ul.dependencies-list .dependency-item .icon-plus{display:block;opacity:0;width:12px;margin:0 auto;position:absolute;top:5px;left:6px}.dependencies-list .dependency-item .icon-times,ul.dependencies-list .dependency-item .icon-times{left:7px;width:10px;color:#d20000}.dependencies-list .dependency-item .icon-check,ul.dependencies-list .dependency-item .icon-check{top:6px}.dependencies-list .dependency-item.selected,ul.dependencies-list .dependency-item.selected{background:#e7f1f4}.dependencies-list .dependency-item.selected .icon,ul.dependencies-list .dependency-item.selected .icon{border-color:rgba(161,200,212,0.6);color:#356574}.dependencies-list .dependency-item.selected .icon-plus,ul.dependencies-list .dependency-item.selected .icon-plus{opacity:1}.dependencies-list .dependency-item.checked,.dependencies-list .dependency-item .selected,ul.dependencies-list .dependency-item.checked,ul.dependencies-list .dependency-item .selected{background:white;box-shadow:0 2px 3px 1px rgba(0,0,0,0.1)}.dependencies-list .dependency-item.checked .icon,.dependencies-list .dependency-item .selected .icon,ul.dependencies-list .dependency-item.checked .icon,ul.dependencies-list .dependency-item .selected .icon{border-color:rgba(0,0,0,0.1);color:#ff6a00}.dependencies-list .dependency-item.checked .icon-check,.dependencies-list .dependency-item .selected .icon-check,ul.dependencies-list .dependency-item.checked .icon-check,ul.dependencies-list .dependency-item .selected .icon-check{opacity:1}.dependencies-list .dependency-item.checked:hover .icon-plus,ul.dependencies-list .dependency-item.checked:hover .icon-plus{opacity:0}.dependencies-list .dependency-item.checked:hover .icon-check,ul.dependencies-list .dependency-item.checked:hover .icon-check{opacity:0}.dependencies-list .dependency-item.checked:hover .icon-times,ul.dependencies-list .dependency-item.checked:hover .icon-times{opacity:1}.dependencies-list .dependency-item.invalid,.dependencies-list .dependency-item.checked.invalid,ul.dependencies-list .dependency-item.invalid,ul.dependencies-list .dependency-item.checked.invalid{opacity:0.6;cursor:not-allowed;background:#f7f7f7}.dependencies-list .dependency-item.invalid:hover,.dependencies-list .dependency-item.checked.invalid:hover,ul.dependencies-list .dependency-item.invalid:hover,ul.dependencies-list .dependency-item.checked.invalid:hover{background:#f7f7f7}.dependencies-list .dependency-item.invalid .warning,.dependencies-list .dependency-item.checked.invalid .warning,ul.dependencies-list .dependency-item.invalid .warning,ul.dependencies-list .dependency-item.checked.invalid .warning{color:#f30808}.dependencies-list .dependency-item.invalid .icon,ul.dependencies-list .dependency-item.invalid .icon{display:none}.dependencies-list .dependency-item.checked.invalid,ul.dependencies-list .dependency-item.checked.invalid{cursor:pointer}.dependencies-list .dependency-item.checked.invalid .icon,ul.dependencies-list .dependency-item.checked.invalid .icon{display:block}.dependencies-list .dependency-item.checked.invalid .icon-check,ul.dependencies-list .dependency-item.checked.invalid .icon-check{opacity:0}.dependencies-list .dependency-item.checked.invalid .icon-times,ul.dependencies-list .dependency-item.checked.invalid .icon-times{opacity:1}.dependencies-list.dependencies-list-checked .dependency-item-span,ul.dependencies-list.dependencies-list-checked .dependency-item-span{padding:6px 0}.dependencies-list.dependencies-list-checked .dependency-item-span>a,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a{position:relative;display:block;text-decoration:none;padding:16px;padding-right:60px;color:rgba(34,34,34,0.8);background:#f7f7f7;cursor:pointer;font-size:14px;display:flex;align-items:center;line-height:24px}.dependencies-list.dependencies-list-checked .dependency-item-span>a:focus,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a:focus{outline:1px dotted rgba(0,0,0,0.2)}.dependencies-list.dependencies-list-checked .dependency-item-span>a strong,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a strong{color:#222}.dependencies-list.dependencies-list-checked .dependency-item-span>a input,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a input{display:none}.dependencies-list.dependencies-list-checked .dependency-item-span>a div,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a div{padding:0;margin:0}.dependencies-list.dependencies-list-checked .dependency-item-span>a span,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a span{font-size:13px}.dependencies-list.dependencies-list-checked .dependency-item-span>a .icon,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a .icon{position:absolute;display:block;border:2px solid #e4e4e4;height:24px;width:24px;margin-top:-12px;top:50%;right:16px;border-radius:14px;color:#222}.dependencies-list.dependencies-list-checked .dependency-item-span>a .icon-times,.dependencies-list.dependencies-list-checked .dependency-item-span>a .icon-check,.dependencies-list.dependencies-list-checked .dependency-item-span>a .icon-plus,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a .icon-times,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a .icon-check,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a .icon-plus{display:block;opacity:0;width:12px;margin:0 auto;position:absolute;top:5px;left:6px}.dependencies-list.dependencies-list-checked .dependency-item-span>a .icon-times,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a .icon-times{left:7px;width:10px;color:#d20000}.dependencies-list.dependencies-list-checked .dependency-item-span>a .icon-check,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a .icon-check{top:6px}.dependencies-list.dependencies-list-checked .dependency-item-span>a.selected,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.selected{background:#e7f1f4}.dependencies-list.dependencies-list-checked .dependency-item-span>a.selected .icon,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.selected .icon{border-color:rgba(161,200,212,0.6);color:#356574}.dependencies-list.dependencies-list-checked .dependency-item-span>a.selected .icon-plus,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.selected .icon-plus{opacity:1}.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked,.dependencies-list.dependencies-list-checked .dependency-item-span>a .selected,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a .selected{background:white;box-shadow:0 2px 3px 1px rgba(0,0,0,0.1)}.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked .icon,.dependencies-list.dependencies-list-checked .dependency-item-span>a .selected .icon,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked .icon,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a .selected .icon{border-color:rgba(0,0,0,0.1);color:#ff6a00}.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked .icon-check,.dependencies-list.dependencies-list-checked .dependency-item-span>a .selected .icon-check,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked .icon-check,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a .selected .icon-check{opacity:1}.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked:hover .icon-plus,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked:hover .icon-plus{opacity:0}.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked:hover .icon-check,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked:hover .icon-check{opacity:0}.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked:hover .icon-times,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked:hover .icon-times{opacity:1}.dependencies-list.dependencies-list-checked .dependency-item-span>a.invalid,.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.invalid,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid{opacity:0.6;cursor:not-allowed;background:#f7f7f7}.dependencies-list.dependencies-list-checked .dependency-item-span>a.invalid:hover,.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid:hover,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.invalid:hover,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid:hover{background:#f7f7f7}.dependencies-list.dependencies-list-checked .dependency-item-span>a.invalid .warning,.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid .warning,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.invalid .warning,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid .warning{color:#f30808}.dependencies-list.dependencies-list-checked .dependency-item-span>a.invalid .icon,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.invalid .icon{display:none}.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid{cursor:pointer}.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid .icon,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid .icon{display:block}.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid .icon-check,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid .icon-check{opacity:0}.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid .icon-times,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid .icon-times{opacity:1}.dependencies-list .dependency-item-span,ul.dependencies-list .dependency-item-span{display:block;padding-top:4px}.dependencies-list li,ul.dependencies-list li{margin:0}.dependencies-list .fade-enter,ul.dependencies-list .fade-enter{max-height:0;opacity:0}.dependencies-list .fade-enter-active,ul.dependencies-list .fade-enter-active{max-height:200px;opacity:1;transition:all 250ms}.dependencies-list .fade-exit,ul.dependencies-list .fade-exit{max-height:200px;opacity:1}.dependencies-list .fade-exit-active,ul.dependencies-list .fade-exit-active{max-height:0;opacity:0;transition:all 250ms}.more{line-height:16px;padding-top:4px;margin-top:4px}.more div.wrap{border-bottom:3px solid #ebebeb;padding-bottom:4px}.more div.wrap a{position:relative;display:block;height:28px;line-height:28px;margin-top:4px;padding:0 16px 0 24px;color:#222;text-decoration:none;border-radius:4px;outline:1px dotted transparent;-webkit-transition:all .15s;-moz-transition:all .15s;-ms-transition:all .15s;-o-transition:all .15s;transition:all .15s}.more div.wrap a:focus{outline:1px dotted rgba(0,0,0,0.2)}.more div.wrap a:hover{color:#222}.more div.wrap a:hover svg{color:#ff6a00}.more div.wrap a svg{position:absolute;width:8px;left:8px;top:8px;color:#222;-webkit-transition:all .15s;-moz-transition:all .15s;-ms-transition:all .15s;-o-transition:all .15s;transition:all .15s}.more div.wrap a.toggle svg{transform:rotate(90deg)}.demos{line-height:16px}.demos div.wrap{border-bottom:3px solid #ebebeb;padding-bottom:4px}.demos div.wrap a{position:relative;display:block;height:28px;line-height:28px;padding:0 16px 0 24px;color:#222;text-decoration:none;border-radius:4px;outline:1px dotted transparent;-webkit-transition:all .15s;-moz-transition:all .15s;-ms-transition:all .15s;-o-transition:all .15s;transition:all .15s}.demos div.wrap a:focus{outline:1px dotted rgba(0,0,0,0.2)}.demos div.wrap a:hover{color:#222}.demos div.wrap a:hover svg{color:#ff6a00}.demos div.wrap a svg{position:absolute;width:8px;left:8px;top:8px;color:#222;-webkit-transition:all .15s;-moz-transition:all .15s;-ms-transition:all .15s;-o-transition:all .15s;transition:all .15s}.demos div.wrap a.toggle svg{transform:rotate(90deg)}.demos div.wrap a strong{float:right;font-weight:normal;background-color:#f7f7f7;padding:0 8px;margin-left:8px;border-radius:4px;line-height:24px;font-weight:bold;color:rgba(34,34,34,0.7)}.demos div.wrap a strong span{color:#222;padding:0px 3px 0px 3px}.panel{overflow:hidden;max-height:0;-webkit-transition:all .45s;-moz-transition:all .45s;-ms-transition:all .45s;-o-transition:all .45s;transition:all .45s}.panel.panel-active{max-height:600px}.panel .panel-wrap{border:1px solid #f5f5f5;border-top:0 none;padding:12px 24px;padding-bottom:24px}.casePanel{overflow:hidden;max-height:0;-webkit-transition:all .45s;-moz-transition:all .45s;-ms-transition:all .45s;-o-transition:all .45s;transition:all .45s}.casePanel.casePanel-active{max-height:600px}.casePanel .panel-wrap{border:1px solid #f5f5f5;border-top:0 none;padding:8px 16px}.groups{padding:0px 0px 16px 0}.groups .group{line-height:1.4rem;position:relative;padding-bottom:12px}.groups .group a{position:relative;display:block;text-decoration:none;padding:16px;padding-right:60px;color:rgba(34,34,34,0.8);background:#f7f7f7;cursor:pointer;font-size:14px;display:flex;align-items:center;line-height:24px}.groups .group a:focus{outline:1px dotted rgba(0,0,0,0.2)}.groups .group a strong{color:#222}.groups .group a input{display:none}.groups .group a div{padding:0;margin:0}.groups .group a span{font-size:13px}.groups .group a .icon{position:absolute;display:block;border:2px solid #e4e4e4;height:24px;width:24px;margin-top:-12px;top:50%;right:16px;border-radius:14px;color:#222}.groups .group a .icon-times,.groups .group a .icon-check,.groups .group a .icon-plus{display:block;opacity:0;width:12px;margin:0 auto;position:absolute;top:5px;left:6px}.groups .group a .icon-times{left:7px;width:10px;color:#d20000}.groups .group a .icon-check{top:6px}.groups .group a.selected{background:#e7f1f4}.groups .group a.selected .icon{border-color:rgba(161,200,212,0.6);color:#356574}.groups .group a.selected .icon-plus{opacity:1}.groups .group a.checked,.groups .group a .selected{background:white;box-shadow:0 2px 3px 1px rgba(0,0,0,0.1)}.groups .group a.checked .icon,.groups .group a .selected .icon{border-color:rgba(0,0,0,0.1);color:#ff6a00}.groups .group a.checked .icon-check,.groups .group a .selected .icon-check{opacity:1}.groups .group a.checked:hover .icon-plus{opacity:0}.groups .group a.checked:hover .icon-check{opacity:0}.groups .group a.checked:hover .icon-times{opacity:1}.groups .group a.invalid,.groups .group a.checked.invalid{opacity:0.6;cursor:not-allowed;background:#f7f7f7}.groups .group a.invalid:hover,.groups .group a.checked.invalid:hover{background:#f7f7f7}.groups .group a.invalid .warning,.groups .group a.checked.invalid .warning{color:#f30808}.groups .group a.invalid .icon{display:none}.groups .group a.checked.invalid{cursor:pointer}.groups .group a.checked.invalid .icon{display:block}.groups .group a.checked.invalid .icon-check{opacity:0}.groups .group a.checked.invalid .icon-times{opacity:1}.groups .group a:hover{background:#e7f1f4}.groups .group a:hover .icon{border-color:rgba(161,200,212,0.6);color:#15282e}.groups .group a:hover .icon-plus{opacity:1}.groups .group a.checked:hover{background:white}.groups .group a.checked:hover .icon{border-color:rgba(0,0,0,0.1)}.groups .group .group-title{border-bottom:1px solid #e4e4e4;font-weight:bold;margin-top:8px;cursor:pointer}.groups .group .group-title a{display:block;position:relative;margin:4px 0;padding:4px 0;padding-left:26px;line-height:22px;font-size:16px;background:white}.groups .group .group-title a:focus{outline:1px dotted rgba(0,0,0,0.2)}.groups .group .group-title a svg{position:absolute;top:8px;left:8px;width:8px;-webkit-transition:all .15s;-moz-transition:all .15s;-ms-transition:all .15s;-o-transition:all .15s;transition:all .15s}.groups .group .group-title a.toggleGroupItems svg{transform:rotate(90deg)}.groups .group .group-title a:hover svg{color:#ff6a00}.groups .group:first-child{padding-top:8px}.groups div.group-items{padding-top:15px;display:grid;grid-template-columns:repeat(auto-fill, minmax(250px, 1fr));grid-template-rows:repeat(auto-fill, minmax(85, 0.75fr));grid-gap:8px 10px}.search-label{padding-bottom:8px}.search-no-selected{color:rgba(0,0,0,0.4)}.search-more-warning,.search-no-result{padding:8px 0 16px;color:rgba(0,0,0,0.5)}.search-more-warning p,.search-no-result p{padding:0;margin:0;line-height:24px;padding-left:16px}.search-no-result p{padding-left:0}.sticky-label{padding-top:4px;position:sticky;top:0}.tab{position:sticky;top:0;z-index:90;background:white;padding:0 20px;margin:0 -20px;margin-bottom:10px}.tab .tab-container{border-bottom:3px solid #f3f3f3}.tab a{display:inline-block;margin-bottom:-3px;text-decoration:none;color:rgba(34,34,34,0.6);border-bottom:3px solid #f3f3f3;padding:15px 16px 11px;font-weight:bold;line-height:16px;outline:1px dotted transparent;-webkit-transition:all .15s;-moz-transition:all .15s;-ms-transition:all .15s;-o-transition:all .15s;transition:all .15s}.tab a:focus{outline:1px dotted rgba(0,0,0,0.2)}.tab a svg{width:16px}.tab a:hover{color:#222;border-bottom:3px solid #cbcbcb}.tab a.active{color:#222;border-bottom:3px solid #ff6a00}.tab a span{margin:0px 0px 0px 5px;vertical-align:top}.tab strong{float:right;font-weight:normal;background-color:#f7f7f7;padding:0 8px;border-radius:4px;line-height:24px;margin-top:6px;font-weight:bold;color:rgba(34,34,34,0.7)}.tab strong span{color:#222}.placeholder-radios .placeholder-radio{display:inline-block;height:32px;background:#f7f7f7;border-bottom:3px solid #e4e4e4;margin-right:4px}.placeholder-input{display:block;height:32px;background:#f7f7f7;border-bottom:3px solid #e4e4e4;position:relative;margin-top:15px}.placeholder-input:after{display:inline-block;content:' ';position:absolute;top:-15px;left:0;height:15px;background:#f7f7f7;width:70px}.placeholder-text{display:inline-block;height:14px;background:#f7f7f7}.placeholder-dropdown{display:block;margin-top:-3px;height:32px;background:#f7f7f7;border-bottom:3px solid #e4e4e4;position:relative}.placeholder-tabs{display:block;height:378px}.placeholder-tabs .placeholder-header{display:block;height:45px;border-bottom:3px solid #e4e4e4;position:relative}.placeholder-tabs .placeholder-tab{display:inline-block;height:45px;background:#f7f7f7;width:42px}.placeholder-button{display:inline-block;height:44px;background:#f7f7f7;position:relative;border-radius:4px}.placeholder-button+.placeholder-button{margin-left:6px}.warnings{position:relative;margin-bottom:8px;background:#fff0d0;padding:16px;color:#8f2500;line-height:26px;margin-top:-45px}.warnings .close{display:block;position:absolute;top:0;right:0;padding:12px 12px;height:28px;cursor:pointer;opacity:0.7;color:#8f2500}.warnings .close svg{width:14px}.warnings .close:hover{opacity:1}.warnings ul{padding:0;padding-left:20px;margin:0}.warnings li{padding:0;margin:0}.switch-checkbox{height:0;width:0;visibility:hidden;position:absolute}.switch-label{cursor:pointer;width:25px;height:16px;position:relative;display:inline-block}.switch-label::after{content:' ';width:25px;height:6px;background:rgba(0,0,0,0.2);position:absolute;top:0;left:0;z-index:1;border-radius:6px;top:5px}.switch-label .switch-button{content:'';z-index:2;position:absolute;top:0px;left:0;width:16px;height:16px;border-radius:16px;transition:0.2s left;background:#222}.switch-checkbox:checked+.switch-label .switch-button{left:9px;background:#222;width:16px}.switch-label:active .switch-button{width:16px}.Toastify__toast-container{z-index:9999;-webkit-transform:translate3d(0, 0, 9999px);position:fixed;padding:4px;width:400px;box-sizing:border-box;color:#fff}.Toastify__toast-container--top-left{top:1em;left:1em}.Toastify__toast-container--top-center{top:1em;left:50%;margin-left:-200px}.Toastify__toast-container--top-right{top:1em;right:1em}.Toastify__toast-container--bottom-left{bottom:1em;left:1em}.Toastify__toast-container--bottom-center{bottom:1em;left:50%;margin-left:-200px}.Toastify__toast-container--bottom-right{bottom:1em;right:1em}@media only screen and (max-width: 480px){.Toastify__toast-container{width:100vw;padding:0;left:0;margin:0}.Toastify__toast-container--top-left,.Toastify__toast-container--top-center,.Toastify__toast-container--top-right{top:0}.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-right{bottom:0}.Toastify__toast-container--rtl{right:0;left:initial}}.Toastify__toast{position:relative;min-height:64px;box-sizing:border-box;margin-bottom:1rem;padding:8px;border-radius:1px;box-shadow:0 1px 10px 0 rgba(0,0,0,0.1),0 2px 15px 0 rgba(0,0,0,0.05);display:flex;justify-content:space-between;max-height:800px;overflow:hidden;font-family:sans-serif;cursor:pointer;direction:ltr}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--default{background:#fff;color:#aaa}.Toastify__toast--info{background:#3498db}.Toastify__toast--success{background:#ff6a00}.Toastify__toast--warning{background:#e8ba00}.Toastify__toast--error{background:#e74c3c}.Toastify__toast-body{margin:auto 0;flex:1}@media only screen and (max-width: 480px){.Toastify__toast{margin-bottom:0}}.Toastify__close-button{color:#fff;font-weight:bold;font-size:14px;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:0.7;transition:0.3s ease;align-self:flex-start}.Toastify__close-button--default{color:#000;opacity:0.3}.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}100%{transform:scaleX(0)}}.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:5px;z-index:9999;opacity:0.7;background-color:rgba(255,255,255,0.7);transform-origin:left}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:initial;transform-origin:right}.Toastify__progress-bar--default{background:linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55)}@keyframes Toastify__bounceInRight{from,60%,75%,90%,to{animation-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}from{opacity:0;transform:translate3d(3000px, 0, 0)}60%{opacity:1;transform:translate3d(-25px, 0, 0)}75%{transform:translate3d(10px, 0, 0)}90%{transform:translate3d(-5px, 0, 0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px, 0, 0)}to{opacity:0;transform:translate3d(2000px, 0, 0)}}@keyframes Toastify__bounceInLeft{from,60%,75%,90%,to{animation-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}0%{opacity:0;transform:translate3d(-3000px, 0, 0)}60%{opacity:1;transform:translate3d(25px, 0, 0)}75%{transform:translate3d(-10px, 0, 0)}90%{transform:translate3d(5px, 0, 0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px, 0, 0)}to{opacity:0;transform:translate3d(-2000px, 0, 0)}}@keyframes Toastify__bounceInUp{from,60%,75%,90%,to{animation-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}from{opacity:0;transform:translate3d(0, 3000px, 0)}60%{opacity:1;transform:translate3d(0, -20px, 0)}75%{transform:translate3d(0, 10px, 0)}90%{transform:translate3d(0, -5px, 0)}to{transform:translate3d(0, 0, 0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0, -10px, 0)}40%,45%{opacity:1;transform:translate3d(0, 20px, 0)}to{opacity:0;transform:translate3d(0, -2000px, 0)}}@keyframes Toastify__bounceInDown{from,60%,75%,90%,to{animation-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}0%{opacity:0;transform:translate3d(0, -3000px, 0)}60%{opacity:1;transform:translate3d(0, 25px, 0)}75%{transform:translate3d(0, -10px, 0)}90%{transform:translate3d(0, 5px, 0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0, 10px, 0)}40%,45%{opacity:1;transform:translate3d(0, -20px, 0)}to{opacity:0;transform:translate3d(0, 2000px, 0)}}.Toastify__bounce-enter--top-left,.Toastify__bounce-enter--bottom-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--top-right,.Toastify__bounce-enter--bottom-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--top-left,.Toastify__bounce-exit--bottom-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--top-right,.Toastify__bounce-exit--bottom-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{from{opacity:0;transform:scale3d(0.3, 0.3, 0.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{from{opacity:1}50%{opacity:0;transform:scale3d(0.3, 0.3, 0.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{from{transform:perspective(400px) rotate3d(1, 0, 0, 90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotate3d(1, 0, 0, -20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotate3d(1, 0, 0, 10deg);opacity:1}80%{transform:perspective(400px) rotate3d(1, 0, 0, -5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{from{transform:perspective(400px)}30%{transform:perspective(400px) rotate3d(1, 0, 0, -20deg);opacity:1}to{transform:perspective(400px) rotate3d(1, 0, 0, 90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{from{transform:translate3d(110%, 0, 0);visibility:visible}to{transform:translate3d(0, 0, 0)}}@keyframes Toastify__slideInLeft{from{transform:translate3d(-110%, 0, 0);visibility:visible}to{transform:translate3d(0, 0, 0)}}@keyframes Toastify__slideInUp{from{transform:translate3d(0, 110%, 0);visibility:visible}to{transform:translate3d(0, 0, 0)}}@keyframes Toastify__slideInDown{from{transform:translate3d(0, -110%, 0);visibility:visible}to{transform:translate3d(0, 0, 0)}}@keyframes Toastify__slideOutRight{from{transform:translate3d(0, 0, 0)}to{visibility:hidden;transform:translate3d(110%, 0, 0)}}@keyframes Toastify__slideOutLeft{from{transform:translate3d(0, 0, 0)}to{visibility:hidden;transform:translate3d(-110%, 0, 0)}}@keyframes Toastify__slideOutDown{from{transform:translate3d(0, 0, 0)}to{visibility:hidden;transform:translate3d(0, 500px, 0)}}@keyframes Toastify__slideOutUp{from{transform:translate3d(0, 0, 0)}to{visibility:hidden;transform:translate3d(0, -500px, 0)}}.Toastify__slide-enter--top-left,.Toastify__slide-enter--bottom-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--top-right,.Toastify__slide-enter--bottom-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--top-left,.Toastify__slide-exit--bottom-left{animation-name:Toastify__slideOutLeft}.Toastify__slide-exit--top-right,.Toastify__slide-exit--bottom-right{animation-name:Toastify__slideOutRight}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown}.Toastify__toast-container{line-height:22px}.Toastify__toast{padding:16px}.Toastify__toast{position:relative;min-height:32px;padding:12px}.Toastify__toast .toast-close{display:block;position:absolute;top:0;right:0;padding:6px 8px;height:28px;cursor:pointer;opacity:0;color:white}.Toastify__toast .toast-close svg{width:14px}.Toastify__toast:hover .toast-close{opacity:0.6}@media (max-width: 900px){.desktop-only{display:none}body,body.light{background:none;padding-bottom:94px;min-width:0}.colset{display:block;max-width:none;min-width:0;padding:16px}.colset .left{text-align:left;padding:0;max-width:none;min-width:0;flex:none}.colset .right{padding:0;max-width:none;min-width:0;flex:none}.colset .right.right-md{padding:0;max-width:none;width:auto;flex:0}.header{padding:0;border-top:4px solid #ff6a00;width:auto}.header h1.logo a{margin:0 auto}.quick-links{position:relative;text-align:center;display:block;top:0;right:0;border-top:1px solid #e4e4e4;border-bottom:1px solid #e4e4e4;background:#f7f7f7;padding:0.5rem 0;width:auto}.colset-2{display:block;flex-flow:wrap}.colset-2 .column{padding:0;margin:0;flex:none}.colset-2 .column+.column{margin:0;padding:0;padding-top:24px}.dependencies-box{padding:8px 0}.colset .left.nopadding{margin-left:0;padding:0px;flex:none;width:auto;text-align:center;display:none}.sticky .colset{padding:0}.colset .right.nopadding{padding:0;margin:0;max-width:none;min-width:0;flex:none}.colset .right.nopadding .submit{width:auto;text-align:center}.colset .right.nopadding .placeholder-button{margin:0 auto}.groups .group{padding-right:0;padding-left:0}.groups .group .group-title{position:relative;margin:0;float:none;top:0}.submit{margin-right:0}.tab{padding:0;margin:0}.error{position:relative;left:auto;top:auto;padding:0 40px}.warnings{margin-top:0}.button{padding:4px 18px}.share-area>.button,.share-area{width:90px}}body.dark{background-color:#1b1f23;background:linear-gradient(to right, #ff6a00 4px, #262a2d 4px 316px, #1b1f23 316px);color:#d1d2d3}body.dark .header h1.logo a{color:#fff}body.dark .header h1.logo a span.title strong{color:#ff6a00}body.dark .header h1.logo a svg{color:#ff6a00}body.dark .radio{color:#8d8f91;border-color:#323638}body.dark .radio:hover{color:#d1d2d3;border-color:#4a5053}body.dark .radio.checked{color:#fff;border-bottom-color:#ff6a00}body.dark .radio:hover{border-bottom-color:#ff6a00}body.dark .colset-submit .right.nopadding{background:#1b1f23}body.dark .submit{background:#1b1f23;border-color:#4a5053}body.dark .tab{background:#1b1f23}body.dark .tab .tab-container{border-color:#323638}body.dark .tab a{color:#8d8f91;border-color:#323638}body.dark .tab a:hover{color:#d1d2d3;border-bottom-color:#4a5053}body.dark .tab a.active{color:#fff;border-bottom-color:#ff6a00}body.dark .tab a.active:hover{border-bottom-color:#ff6a00}body.dark .control-input{background:#1b1f23;color:#fff;border-color:#323638}body.dark .control-input:hover{border-color:#4a5053}body.dark .control-input:focus{border-bottom-color:#ff6a00}body.dark .control-input:focus:hover{border-bottom-color:#ff6a00}body.dark .panel .panel-wrap{border-color:#323638}body.dark .casePanel .panel-wrap{border-color:#323638}body.dark .more div.wrap{border-color:#323638}body.dark .more div.wrap a{color:#d1d2d3}body.dark .more div.wrap a:hover{color:#d1d2d3}body.dark .more div.wrap a:hover svg{color:#ff6a00}body.dark .more div.wrap a svg{color:#d1d2d3}body.dark .demos div.wrap{border-color:#323638}body.dark .demos div.wrap a{color:#d1d2d3}body.dark .demos div.wrap a:hover{color:#d1d2d3}body.dark .demos div.wrap a:hover svg{color:#ff6a00}body.dark .demos div.wrap a svg{color:#d1d2d3}body.dark .demos div.wrap a strong{color:#8d8f91;background:#32373b}body.dark .demos div.wrap a strong span{color:#fff}body.dark .button{background:#262a2d;border-color:#262a2d;color:#fff}body.dark .button:hover{background:#32373b;border-color:#32373b}body.dark .button.primary{border-color:#ff6a00;background-color:#ff6a00}body.dark .button.primary:hover{border-color:#e65f00;background-color:#e65f00}body.dark .footer{background:#262a2d;color:#8d8f91}body.dark label{color:#494c4e}body.dark .search-no-selected{color:#d1d2d3}body.dark .groups .group a{background:#262a2d;color:#d1d2d3}body.dark .groups .group a strong{color:#fff}body.dark .groups .group a .icon{border:2px solid #4a5053;color:#d1d2d3}body.dark .groups .group a:hover{background:#32373b}body.dark .groups .group a:hover .icon{color:#d1d2d3}body.dark .groups .group .group-title{border-color:#323638}body.dark .groups .group .group-title a{background:#1b1f23}body.dark .quick-links li a{color:#d1d2d3}body.dark .quick-links li a:hover{color:#ff6a00}body.dark .groups .group a.invalid,body.dark .groups .group a.checked.invalid{background:#23282b}body.dark .groups .group a.invalid strong,body.dark .groups .group a.checked.invalid strong{color:#8d8f91}body.dark .groups .group a.invalid:hover,body.dark .groups .group a.checked.invalid:hover{background:#23282b}body.dark .groups .group a.checked,body.dark .groups .group a.selected{background:#363e44}body.dark .groups .group a.checked:hover,body.dark .groups .group a.selected:hover{background:#444e55}body.dark .groups .group a.checked .icon,body.dark .groups .group a .selected .icon{border-color:#4a5053}body.dark .groups .group a.checked .icon:hover,body.dark .groups .group a .selected .icon:hover{border-color:#4a5053}body.dark .groups .group a.checked:hover .icon,body.dark .groups .group a .selected:hover .icon{border-color:#626a6e}body.dark .tab strong{color:#8d8f91;background:#32373b}body.dark .tab strong span{color:#fff}body.dark .dependencies-list .dependency-item.checked,body.dark .dependencies-list .dependency-item .selected,body.dark ul.dependencies-list .dependency-item.checked,body.dark ul.dependencies-list .dependency-item .selected{background:#262a2d;color:#d1d2d3}body.dark .dependencies-list .dependency-item.checked strong,body.dark .dependencies-list .dependency-item .selected strong,body.dark ul.dependencies-list .dependency-item.checked strong,body.dark ul.dependencies-list .dependency-item .selected strong{color:#fff}body.dark .dependencies-list .dependency-item.checked .icon,body.dark .dependencies-list .dependency-item .selected .icon,body.dark ul.dependencies-list .dependency-item.checked .icon,body.dark ul.dependencies-list .dependency-item .selected .icon{border-color:#4a5053;color:#d1d2d3}body.dark .dependencies-list .dependency-item.checked:hover,body.dark .dependencies-list .dependency-item .selected:hover,body.dark ul.dependencies-list .dependency-item.checked:hover,body.dark ul.dependencies-list .dependency-item .selected:hover{background:#32373b}body.dark .dependencies-list .dependency-item.checked:hover .icon,body.dark .dependencies-list .dependency-item .selected:hover .icon,body.dark ul.dependencies-list .dependency-item.checked:hover .icon,body.dark ul.dependencies-list .dependency-item .selected:hover .icon{color:#d1d2d3}body.dark .dependencies-list .dependency-item,body.dark ul.dependencies-list .dependency-item{background:#262a2d;color:#d1d2d3}body.dark .dependencies-list .dependency-item strong,body.dark ul.dependencies-list .dependency-item strong{color:#fff}body.dark .dependencies-list .dependency-item .icon,body.dark ul.dependencies-list .dependency-item .icon{border:2px solid #4a5053;color:#ff6a00}body.dark .dependencies-list .dependency-item:hover,body.dark ul.dependencies-list .dependency-item:hover{background:#32373b}body.dark .dependencies-list .dependency-item:hover .icon,body.dark ul.dependencies-list .dependency-item:hover .icon{color:#d1d2d3}body.dark .dependencies-list .dependency-item.invalid,body.dark .dependencies-list .dependency-item.checked.invalid,body.dark ul.dependencies-list .dependency-item.invalid,body.dark ul.dependencies-list .dependency-item.checked.invalid{background:#23282b}body.dark .dependencies-list .dependency-item.invalid:hover,body.dark .dependencies-list .dependency-item.checked.invalid:hover,body.dark ul.dependencies-list .dependency-item.invalid:hover,body.dark ul.dependencies-list .dependency-item.checked.invalid:hover{background:#23282b}body.dark .dependencies-list .dependency-item.invalid .warning,body.dark .dependencies-list .dependency-item.checked.invalid .warning,body.dark ul.dependencies-list .dependency-item.invalid .warning,body.dark ul.dependencies-list .dependency-item.checked.invalid .warning{color:#ff7676}body.dark .search-more-warning,body.dark .search-no-result{color:#8d8f91}body.dark .dependencies-list .dependency-item.selected,body.dark ul.dependencies-list .dependency-item.selected{background:#32373b}body.dark .dependencies-list .dependency-item.selected .icon,body.dark ul.dependencies-list .dependency-item.selected .icon{color:#d1d2d3}body.dark .dependencies-list-checked .dependency-item.checked .icon,body.dark ul.dependencies-list-checked .dependency-item.checked .icon{color:#ff6a00}body.dark .quick-links ul.dropdown-menu{background:#32373b}body.dark .quick-links ul.dropdown-menu li a{color:#fff}body.dark .quick-links ul.dropdown-menu li a:hover{background:#262a2d}body.dark .popup-share{background:#32373b}body.dark .popup-share .popup-header{border-color:#4a5053}body.dark .popup-share .popup-header .close{color:#8d8f91}body.dark .popup-share .popup-content label{color:#d1d2d3}body.dark .popup-share .control-input{background:#32373b;border-color:#4a5053}body.dark .popup-share .control-input:focus{border-color:#ff6a00}body.dark .popup-share-overlay{background:rgba(27,31,35,0.95)}body.dark .placeholder-radios .placeholder-radio{background:rgba(255,255,255,0.05);border-color:rgba(255,255,255,0.2)}body.dark .placeholder-input,body.dark .placeholder-dropdown{background:rgba(255,255,255,0.05);border-color:rgba(255,255,255,0.2)}body.dark .placeholder-input::after,body.dark .placeholder-dropdown::after{background:rgba(255,255,255,0.05)}body.dark .placeholder-button{background:rgba(255,255,255,0.05)}body.dark .placeholder-tabs .placeholder-header{border-color:rgba(255,255,255,0.2)}body.dark .placeholder-tabs .placeholder-tab{background:rgba(255,255,255,0.05)}body.dark .placeholder-text{background:rgba(255,255,255,0.05)}body.dark .overlay{background:rgba(27,31,35,0.95)}body.dark .modal-explorer{background:#32373b;box-shadow:0 0 0 black}body.dark .modal-fetch{background:#32373b;box-shadow:0 0 0 black}body.dark .modal-fetch .control-input{background:#32373b;border-color:#4a5053}body.dark .modal-fetch .control-input:focus{border-color:#ff6a00}body.dark .modal-explorer .colset-explorer .head,body.dark .modal-explorer .colset-explorer .foot,body.dark .modal-explorer .colset-explorer .left,body.dark .modal-explorer .colset-explorer .right{color:#d1d2d3;border-color:#4a5053}body.dark .modal-explorer .colset-explorer .head .placeholder-text,body.dark .modal-explorer .colset-explorer .foot .placeholder-text,body.dark .modal-explorer .colset-explorer .left .placeholder-text,body.dark .modal-explorer .colset-explorer .right .placeholder-text{background:rgba(255,255,255,0.05)}body.dark .modal-explorer .close{color:#8d8f91}body.dark .modal-explorer .colset-explorer .head .actions{color:#8d8f91}body.dark .explorer-ul .file.selected,body.dark .explorer-ul .folder.selected{color:#fff;background:#262a2d}body.dark .explorer-ul .file.selected:hover,body.dark .explorer-ul .folder.selected:hover{color:#fff;background:#262a2d}body.dark .explorer-ul .file,body.dark .explorer-ul .folder{color:#d1d2d3}body.dark .explorer-ul .file:hover,body.dark .explorer-ul .folder:hover{background:rgba(255,255,255,0.05);color:#fff}body.dark pre.prism-code span.explorer-number{color:rgba(255,255,255,0.5)}body.dark pre.prism-code span.explorer-number:before{background-color:#262a2d;color:rgba(255,255,255,0.5)}body.dark pre.prism-code:before{color:rgba(255,255,255,0.5);background-color:#262a2d}body.dark .explorer-ul .file.disabled,body.dark .explorer-ul .folder.disabled{color:#d1d2d3}body.dark .explorer-ul .file.disabled:hover,body.dark .explorer-ul .folder.disabled:hover{color:#d1d2d3}body.dark .token.cdata,body.dark .token.comment,body.dark .token.doctype,body.dark .token.prolog{color:#8d8f91}body.dark code[class*='language-'],body.dark pre[class*='language-'],body.dark .token.operator,body.dark .token.punctuation,body.dark .token.operator{color:#d1d2d3}body.dark .switch-label::after{background:rgba(255,255,255,0.2)}body.dark .warnings{background:#ffe09c}body.dark .radio.err{background:#32373b;border-color:#f30808}body.dark .switch-label .switch-button,body.dark .switch-checkbox:checked+.switch-label .switch-button{background:#fff}body.dark .modal-explorer .colset-explorer .foot .action:focus,body.dark .modal-explorer .colset-explorer .head a:focus,body.dark .modal-explorer .close:focus,body.dark .header h1.logo a:focus,body.dark .radio:focus,body.dark .tab a:focus,body.dark .more div.wrap a:focus,body.dark .button:focus,body.dark .groups .group a:focus,body.dark .groups .group .group-title span:focus,body.dark .dependencies-list .dependency-item:focus,body.dark ul.dependencies-list .dependency-item:focus,body.dark .explorer-ul .file:focus,body.dark .explorer-ul .folder:focus{outline-color:#76797a}body.dark .groups .group a.invalid .warning,body.dark .groups .group a.checked.invalid .warning{color:#ff7676}body.dark .footer a,body.dark .popup-share .popup-content .link,body.dark .modal-explorer .colset-explorer .action,body.dark .markdown a,body.dark .markdown-source a{color:#0188ff}@media (max-width: 900px){body.dark{background:#1b1f23}body.dark .quick-links{border-color:#323638;background:#1b1f23}}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","module.exports = __webpack_public_path__ + \"fonts/c1e9a8527a4a4f457a8fdf644d373e9c.eot\";","module.exports = __webpack_public_path__ + \"fonts/7f562c00d80cb9d59bed376763039487.woff2\";","module.exports = __webpack_public_path__ + \"fonts/ae06d340240442c47ff1ccaa5ca4cfbe.woff\";","module.exports = __webpack_public_path__ + \"fonts/3c5ebd87cbd775f3be8ed0551a682ef8.ttf\";","module.exports = __webpack_public_path__ + \"fonts/d12e4e15d6e01ff7ceceea6f00e32159.svg\";","module.exports = __webpack_public_path__ + \"fonts/00f4610c11ae2aeb7db685df41262363.eot\";","module.exports = __webpack_public_path__ + \"fonts/063f63b80a18487346b6bf074d4f094b.woff2\";","module.exports = __webpack_public_path__ + \"fonts/63f573c4f806c10fa904fe911089f058.woff\";","module.exports = __webpack_public_path__ + \"fonts/d4f0ebf5d59c08236fe25bb12820c2bd.ttf\";","module.exports = __webpack_public_path__ + \"fonts/f803d8e8ab86c9c0eb9ad1da9978f9f5.svg\";","module.exports = __webpack_public_path__ + \"fonts/98291d65d7c5a049c81e8f5d786eec98.eot\";","module.exports = __webpack_public_path__ + \"fonts/5a488c3dab6ff8ccfa74bbd909a7bb95.woff2\";","module.exports = __webpack_public_path__ + \"fonts/d85e4310339264b58f21bfcac7130bcc.woff\";","module.exports = __webpack_public_path__ + \"fonts/ab4a5ea7b67c74de76a88b85f6ca2ff5.ttf\";","module.exports = __webpack_public_path__ + \"fonts/303a293f207127f2d21561491c3a71c4.svg\";","module.exports = __webpack_public_path__ + \"fonts/07d5c9e793599811873ff699c36b86c5.eot\";","module.exports = __webpack_public_path__ + \"fonts/b8ecef1f4c0e42d365ec8626607e1406.woff2\";","module.exports = __webpack_public_path__ + \"fonts/f4f638d0cbf629e67fa9c355daa47347.woff\";","module.exports = __webpack_public_path__ + \"fonts/5f8a077b674fd55bfb19713a06aa2add.ttf\";","module.exports = __webpack_public_path__ + \"fonts/083662cca067cf52ac4c2d16ca877db9.svg\";","import queryString from 'query-string'\nimport {toast} from 'react-toastify'\nimport {useContext, useEffect, useState} from 'react'\n\nimport {AppContext} from '../reducer/App'\nimport {InitializrContext} from '../reducer/Initializr'\nimport {isValidParams} from './ApiUtils'\n\nconst getHash = () => {\n  return window.location.hash\n}\n\nconst clearHash = () => {\n  if (window.location.hash) {\n    if (window.history.pushState) {\n      window.history.pushState(null, null, window.location.pathname)\n    } else {\n      window.history.hash = ``\n    }\n  }\n}\n\nexport default function useHash() {\n  const [hash, setHash] = useState(getHash())\n\n  const { dispatch } = useContext(InitializrContext)\n  const { config, complete } = useContext(AppContext)\n\n  useEffect(() => {\n    const handler = () => {\n      setHash(getHash())\n    }\n    window.addEventListener('hashchange', handler)\n    return () => {\n      window.removeEventListener('hashchange', handler)\n    }\n  }, [])\n\n  useEffect(() => {\n    if (complete && hash) {\n      const params = queryString.parse(`?${hash.substr(2)}`)\n      dispatch({ type: 'LOAD', payload: { params, lists: config.lists } })\n      clearHash()\n      setHash('')\n      if (isValidParams(params)) {\n        toast.success(`分享配置 已加载.`)\n      }\n    }\n  }, [complete, hash, dispatch, config])\n\n  return null\n}\n","import PropTypes from 'prop-types'\nimport React from 'react'\n\nconst Control = ({ text, children, variant }) => {\n  if (variant === 'xl' || variant === 'xxl') {\n    return (\n      <div className='colset'>\n        <div className='left'>\n          <div className='sticky-label'>{text}</div>\n        </div>\n        <div\n          className={`dependencies-box ${variant === 'xl' ? 'list' : 'large'}`}\n        >\n          {children}\n        </div>\n      </div>\n    )\n  }\n\n  return (\n    <div className='colset'>\n      <div className='left'>\n        <>{text}</>\n      </div>\n      <div className={`right ${variant === 'md' ? 'right-md' : ''}`}>\n        {children}\n      </div>\n    </div>\n  )\n}\n\nControl.defaultProps = {\n  children: null,\n  variant: '',\n}\n\nControl.propTypes = {\n  children: PropTypes.node,\n  variant: PropTypes.string,\n  text: PropTypes.string.isRequired,\n}\n\nexport default Control\n","import PropTypes from 'prop-types'\nimport React from 'react'\n\nconst FieldInput = ({ id, text, value, onChange, disabled, inputRef }) => (\n  <div className='control'>\n    <label htmlFor={id}>{text}</label>\n    <input\n      type='text'\n      id={id}\n      className='control-input'\n      disabled={disabled}\n      value={value}\n      onChange={onChange}\n      ref={inputRef}\n    />\n  </div>\n)\n\nFieldInput.defaultProps = {\n  disabled: false,\n  inputRef: null,\n}\n\nFieldInput.propTypes = {\n  id: PropTypes.string.isRequired,\n  text: PropTypes.string.isRequired,\n  value: PropTypes.string.isRequired,\n  onChange: PropTypes.func.isRequired,\n  inputRef: PropTypes.oneOfType([\n    PropTypes.func,\n    PropTypes.shape({ current: PropTypes.instanceOf(Element) }),\n  ]),\n  disabled: PropTypes.bool,\n}\n\nexport default FieldInput\n","import PropTypes from 'prop-types'\nimport React from 'react'\n\nimport {RadioGroup} from '../form'\n\nconst FieldRadio = ({ id, text, value, onChange, disabled, options }) => (\n  <div className='control'>\n    <label htmlFor={id}>{text}</label>\n    <RadioGroup\n      name='packaging'\n      disabled={disabled}\n      selected={value}\n      options={options}\n      onChange={onChange}\n    />\n  </div>\n)\n\nFieldRadio.defaultProps = {\n  disabled: false,\n  options: [],\n}\n\nFieldRadio.propTypes = {\n  id: PropTypes.string.isRequired,\n  text: PropTypes.string.isRequired,\n  value: PropTypes.string.isRequired,\n  onChange: PropTypes.func.isRequired,\n  disabled: PropTypes.bool,\n  options: PropTypes.arrayOf(\n    PropTypes.shape({\n      key: PropTypes.string,\n      text: PropTypes.string,\n    })\n  ),\n}\n\nexport default FieldRadio\n","import PropTypes from 'prop-types'\nimport React from 'react'\n\nfunction FieldError({ children }) {\n  return (\n    <div className='control-error'>\n      <p className='title'>\n        <strong>{children}</strong>\n      </p>\n    </div>\n  )\n}\n\nFieldError.propTypes = {\n  children: PropTypes.string.isRequired,\n}\n\nexport default FieldError\n","import PropTypes from 'prop-types'\nimport get from 'lodash.get'\nimport React, {useContext, useEffect} from 'react'\n\nimport {AppContext} from '../../reducer/App'\nimport {IconChevronRight} from '../icons'\n\nconst PanelMore = ({ children, fieldFocusOnOpen }) => {\n  const { more, dispatch } = useContext(AppContext)\n\n  useEffect(() => {\n    if (more && fieldFocusOnOpen) {\n      setTimeout(() => {\n        get(fieldFocusOnOpen, 'current').focus()\n      }, 300)\n    }\n  }, [more, fieldFocusOnOpen])\n\n  return (\n    <div>\n      <div className='more'>\n        <div className='wrap'>\n          <a\n            href='/'\n            onClick={event => {\n              event.preventDefault()\n              dispatch({\n                type: 'UPDATE',\n                payload: { more: !more },\n              })\n            }}\n            className={more ? 'toggle' : ''}\n          >\n            <IconChevronRight />\n            {!more ? '高级选项' : '高级选项'}\n          </a>\n        </div>\n      </div>\n      <div className={`panel ${more ? 'panel-active' : ''}`}>\n        <div className='panel-wrap'>{children}</div>\n      </div>\n    </div>\n  )\n}\n\nPanelMore.defaultProps = {\n  children: null,\n  fieldFocusOnOpen: null,\n}\n\nPanelMore.propTypes = {\n  children: PropTypes.node,\n  fieldFocusOnOpen: PropTypes.oneOfType([\n    PropTypes.func,\n    PropTypes.shape({ current: PropTypes.instanceOf(Element) }),\n  ]),\n}\n\nexport default PanelMore\n","import PropTypes from 'prop-types'\nimport get from 'lodash.get'\nimport React, {useContext, useEffect, useState} from 'react'\n\nimport {AppContext} from '../../reducer/App'\nimport {IconList, IconSearch} from '../icons'\nimport {InitializrContext} from '../../reducer/Initializr'\n\nconst Tabs = ({ changeTab }) => {\n  const { dependencies: deps, dispatch, tab } = useContext(AppContext)\n  const { values } = useContext(InitializrContext)\n  const [count, setCount] = useState(0)\n\n  useEffect(() => {\n    setCount(\n      values.dependencies.filter(d => {\n        return get(deps, 'list', []).find(a => a.id === d).valid\n      }).length\n    )\n  }, [deps, values.dependencies])\n\n  const change = newTab => {\n    dispatch({\n      type: 'UPDATE',\n      payload: { tab: newTab },\n    })\n    setTimeout(() => {\n      changeTab(newTab)\n    })\n  }\n\n  return (\n    <div className='tab'>\n      <div className='tab-container'>\n        <a\n          href='/'\n          aria-label='Search'\n          onClick={event => {\n            event.preventDefault()\n            change('quicksearch')\n          }}\n          className={`quick-search ${tab === 'quicksearch' ? 'active' : ''}`}\n        >\n          <IconSearch /><span>搜索</span>\n        </a>\n        <a\n          href='/'\n          aria-label='List'\n          onClick={event => {\n            event.preventDefault()\n            change('list')\n          }}\n          className={`list ${tab === 'list' ? 'active' : ''}`}\n        >\n          <IconList /><span>分组列表</span>\n        </a>\n        {count > 0 && (\n          <>\n            <strong>\n              <span>{count}</span> 项已选择\n            </strong>\n          </>\n        )}\n      </div>\n    </div>\n  )\n}\n\nTabs.propTypes = {\n  changeTab: PropTypes.func.isRequired,\n}\n\nexport default Tabs\n","import PropTypes from 'prop-types'\nimport React from 'react'\nimport {CSSTransition, TransitionGroup} from 'react-transition-group'\n\nimport {IconCheck, IconTimes} from '../../icons'\n\nfunction Dependencies({ list, remove }) {\n  return (\n    <TransitionGroup\n      component='ul'\n      className='dependencies-list dependencies-list-checked'\n    >\n      {list.map(item => {\n        return (\n          <CSSTransition timeout={500} classNames='fade' key={`f${item.id}`}>\n            <li>\n              <span className='dependency-item-span'>\n                <a\n                  className={`dependency-item checked ${\n                    !item.valid ? 'invalid' : ''\n                  }`}\n                  href='/'\n                  onClick={event => {\n                    event.preventDefault()\n                    remove(item)\n                  }}\n                  key={item.id}\n                >\n                  <div key={`d1${item.id}`}>\n                    <strong key={`d2${item.id}`}>{item.name}</strong>\n                    <br key={`d3${item.id}`} />\n                    {item.valid && (\n                      <span key={`d4${item.id}`} className='description'>\n                        {item.description}\n                      </span>\n                    )}\n                    <span key={`d5${item.id}`} className='icon'>\n                      <IconTimes key={`d6${item.id}`} />\n                      <IconCheck key={`d7${item.id}`} />\n                    </span>\n                    {!item.valid && (\n                      <span className='warning' key={`warning${item.id}`}>\n                        {item.message}\n                      </span>\n                    )}\n                  </div>\n                </a>\n              </span>\n            </li>\n          </CSSTransition>\n        )\n      })}\n    </TransitionGroup>\n  )\n}\n\nDependencies.defaultProps = {\n  list: [],\n}\n\nDependencies.propTypes = {\n  list: PropTypes.arrayOf(\n    PropTypes.shape({\n      id: PropTypes.string.isRequired,\n      name: PropTypes.string.isRequired,\n      group: PropTypes.string.isRequired,\n      valid: PropTypes.bool.isRequired,\n      description: PropTypes.string.isRequired,\n      message: PropTypes.string,\n    })\n  ),\n  remove: PropTypes.func.isRequired,\n}\n\nexport default Dependencies\n","import PropTypes from 'prop-types'\nimport React from 'react'\nimport {CSSTransition, TransitionGroup} from 'react-transition-group'\n\nimport {IconPlus} from '../../icons'\n\nfunction Result({ list, selected, select, add }) {\n  return (\n    <TransitionGroup component='ul' className='dependencies-list'>\n      {list.map((item, index) => {\n        return (\n          <CSSTransition timeout={500} classNames='fade' key={`f${item.id}`}>\n            <li>\n              <span className='dependency-item-span'>\n                <a\n                  href='/'\n                  className={`dependency-item dependency-item-gray ${\n                    !item.valid ? 'invalid' : ''\n                  }  ${selected === index ? 'selected' : ''}`}\n                  key={`item${item.id}`}\n                  selected={selected === index}\n                  disabled={!item.valid}\n                  onClick={e => {\n                    e.preventDefault()\n                    if (item.valid) {\n                      add(item)\n                    }\n                  }}\n                  onMouseEnter={() => {\n                    if (item.valid) {\n                      select(index)\n                    }\n                  }}\n                  onMouseLeave={() => {\n                    if (item.valid) {\n                      select(-1)\n                    }\n                  }}\n                >\n                  <div>\n                    <strong className='title' key={`item${item.id}`}>\n                      {item.name}\n                    </strong>\n                    <br />\n                    {item.valid && (\n                      <span key={`d1${item.id}`}>\n                        <span className='description' key={`d2${item.id}`}>\n                          {item.description}\n                        </span>\n                        <span key={`d3${item.id}`} className='icon'>\n                          <IconPlus key={`d4${item.id}`} />\n                        </span>\n                      </span>\n                    )}\n                    {!item.valid && (\n                      <span className='warning' key={`warning${item.id}`}>\n                        {item.message}\n                      </span>\n                    )}\n                  </div>\n                </a>\n              </span>\n            </li>\n          </CSSTransition>\n        )\n      })}\n    </TransitionGroup>\n  )\n  // }\n}\n\nResult.defaultProps = {\n  list: [],\n  selected: null,\n}\n\nResult.propTypes = {\n  list: PropTypes.arrayOf(\n    PropTypes.shape({\n      id: PropTypes.string.isRequired,\n      name: PropTypes.string.isRequired,\n      group: PropTypes.string.isRequired,\n      description: PropTypes.string.isRequired,\n      versionRange: PropTypes.string,\n      versionRequirement: PropTypes.string,\n    })\n  ),\n  add: PropTypes.func.isRequired,\n  selected: PropTypes.number,\n  select: PropTypes.func.isRequired,\n}\n\nexport default Result\n","import * as JsSearch from 'js-search'\nimport PropTypes from 'prop-types'\nimport get from 'lodash.get'\nimport React, {useContext, useEffect, useState} from 'react'\n\nimport Dependencies from './Dependencies'\nimport Result from './Result'\nimport {AppContext} from '../../../reducer/App'\nimport {InitializrContext} from '../../../reducer/Initializr'\n\nconst sortResult = dependencies => {\n  return dependencies.sort((a, b) => {\n    if (a.valid && !b.valid) {\n      return -1\n    }\n    if (!a.valid && b.valid) {\n      return 1\n    }\n    return b.weight - a.weight\n  })\n}\n\nconst QuickSearch = ({ submit, input }) => {\n  const { values, dispatch } = useContext(InitializrContext)\n  const { dependencies: dependenciesContext } = useContext(AppContext)\n  const [query, setQuery] = useState('')\n  const [selected, setSelected] = useState(0)\n  const [dependencies, setDependencies] = useState([])\n  const [result, setResult] = useState([])\n  const [count, setCount] = useState(0)\n  const [search, setSearch] = useState(null)\n\n  const add = id => {\n    dispatch({\n      type: 'ADD_DEPENDENCY',\n      payload: { id },\n    })\n  }\n\n  useEffect(() => {\n    const newDeps = get(values, 'dependencies', []).map(item => {\n      return get(dependenciesContext, 'list', []).find(d => d.id === item)\n    })\n    setDependencies(newDeps)\n    const jsSearchUp = new JsSearch.Search('name')\n    jsSearchUp.addIndex('name')\n    jsSearchUp.addIndex('id')\n    jsSearchUp.addIndex('description')\n    jsSearchUp.addIndex('group')\n    jsSearchUp.addDocuments(get(dependenciesContext, 'list'))\n    setSearch(jsSearchUp)\n  }, [values, dependenciesContext, values.dependencies])\n\n  const onFocus = () => {\n    setSelected(0)\n  }\n\n  const onBlur = () => {\n    setSelected(-1)\n  }\n\n  const onKeyDown = event => {\n    switch (event.keyCode) {\n      case 40: // Down\n        event.preventDefault()\n        setSelected(Math.min(selected + 1, result.length - 1, 4))\n        break\n      case 38: // Up\n        event.preventDefault()\n        setSelected(Math.max(selected - 1, 0))\n        break\n      case 13: // Enter\n        event.preventDefault()\n        if (result.length > 0) {\n          add(result[selected].id)\n          setQuery('')\n        } else {\n          submit()\n        }\n        break\n      case 27: // Escape\n        event.preventDefault()\n        setQuery('')\n        break\n      case 39: // Right\n      case 37: // Left\n        break\n      default:\n        // Default\n        setSelected(0)\n    }\n  }\n\n  useEffect(() => {\n    const onSearch = () => {\n      if (!search) {\n        return\n      }\n      let vals = search\n        .search(query)\n        .filter(\n          item => !get(values, 'dependencies', []).find(o => o === item.id)\n        )\n      setCount(vals.length)\n      if (vals.length > 5) {\n        vals = vals.slice(0, 5)\n      }\n      vals = sortResult(vals)\n      setResult(vals)\n    }\n    onSearch()\n  }, [values, query, search, setResult])\n\n  return (\n    <div className='colset-2'>\n      <div className='column'>\n        <label className='search-label' htmlFor='input-quicksearch'>\n          {/* eslint-disable-line */}\n          搜索依赖组件\n        </label>\n        <input\n          type='text'\n          className='control-input'\n          placeholder='Web, Security, JPA, Actuator, Devtools...'\n          value={query}\n          onBlur={onBlur}\n          onFocus={onFocus}\n          onChange={event => {\n            setQuery(event.target.value)\n            setSelected(0)\n          }}\n          id='input-quicksearch'\n          ref={input}\n          onKeyDown={onKeyDown}\n        />\n        <Result\n          list={result}\n          add={item => {\n            add(item.id)\n            setQuery('')\n            if (input) {\n              get(input, 'current').focus()\n            }\n          }}\n          selected={selected}\n          select={setSelected}\n        />\n        {count > 5 && (\n          <div className='search-more-warning'>\n            <p>\n              More than 5 results found.\n              <br />\n              Refine your search if necessary.\n            </p>\n          </div>\n        )}\n      </div>\n      <div className='column'>\n        {/* eslint-disable-next-line */}\n        <label>已选组件</label>\n        {get(values, 'dependencies', []).length === 0 ? (\n          <div className='search-no-selected'>暂未选择任何组件</div>\n        ) : (\n          <Dependencies\n            list={dependencies}\n            remove={item => {\n              dispatch({\n                type: 'REMOVE_DEPENDENCY',\n                payload: { id: item.id },\n              })\n            }}\n          />\n        )}\n      </div>\n    </div>\n  )\n}\n\nQuickSearch.defaultProps = {}\n\nQuickSearch.propTypes = {\n  submit: PropTypes.func.isRequired,\n  input: PropTypes.oneOfType([\n    PropTypes.func,\n    PropTypes.shape({ current: PropTypes.instanceOf(Element) }),\n  ]).isRequired,\n}\n\nexport default QuickSearch\n","import PropTypes from 'prop-types'\nimport React from 'react'\n\nimport {IconCheck, IconPlus, IconTimes} from '../../icons'\n\nfunction ListItem({\n  id,\n  name,\n  description,\n  valid,\n  message,\n  onChange,\n  selected,\n}) {\n  const toggle = event => {\n    event.preventDefault()\n    if (valid) {\n      onChange(!selected)\n    }\n  }\n  const onKeyDown = event => {\n    const keyPressed = event.key\n    if (keyPressed === 'Enter' || keyPressed === ' ') {\n      toggle(event)\n    }\n  }\n  return (\n    <a\n      href='/'\n      onClick={toggle}\n      tabIndex={!valid ? -1 : ''}\n      className={`${!valid ? 'invalid' : ''} ${selected ? 'checked' : ''}`}\n      key={id}\n      onKeyDown={onKeyDown}\n    >\n      <div key={`d${id}`}>\n        <input\n          type='checkbox'\n          value={id}\n          key={`ck${id}`}\n          checked={selected}\n          disabled={!valid}\n          onChange={() => {}}\n        />\n        <strong key={`ck1${id}`}>{name}</strong>\n        <br key={`br${id}`} />\n        {valid && <span key={`ck2${id}`}>{description}</span>}\n        <span key={`ck3${id}`} className='icon'>\n          <IconPlus key={`ck4${id}`} />\n          <IconTimes key={`ck5${id}`} />\n          <IconCheck key={`ck6${id}`} />\n        </span>\n        {!valid && (\n          <span className='warning' key={`warning${id}`}>\n            {message}\n          </span>\n        )}\n      </div>\n    </a>\n  )\n}\n\nListItem.defaultProps = {\n  message: '',\n}\n\nListItem.propTypes = {\n  id: PropTypes.string.isRequired,\n  name: PropTypes.string.isRequired,\n  description: PropTypes.string.isRequired,\n  valid: PropTypes.bool.isRequired,\n  message: PropTypes.string,\n  onChange: PropTypes.func.isRequired,\n  selected: PropTypes.bool.isRequired,\n}\n\nexport default ListItem\n","import PropTypes from 'prop-types'\nimport React from 'react'\n\nimport ListItem from './ListItem'\nimport {IconChevronRight} from '../../icons'\n\nfunction ListGroup({\n  group,\n  items,\n  itemsSelected,\n  isClose,\n  add,\n  remove,\n  toggle,\n}) {\n  const toggleGroup = event => {\n    event.preventDefault()\n    toggle(group)\n  }\n  const onKeyDown = event => {\n    const keyPressed = event.key\n    if (keyPressed === 'Enter' || keyPressed === ' ') {\n      toggleGroup(event)\n    }\n  }\n  const isItemSelected = item => {\n    return !!itemsSelected.find(o => o === item.id)\n  }\n  return (\n    <div className='group'>\n      <div className='group-title'>\n        <a\n          href='/'\n          onClick={toggleGroup}\n          className={!isClose ? 'toggleGroupItems' : ''}\n          tabIndex={0}\n          onKeyDown={onKeyDown}\n        >\n          <IconChevronRight />\n          {group}\n        </a>\n      </div>\n      {!isClose && (\n        <div className='group-items' key={`links${group}`}>\n          {items.map(item => (\n            <ListItem\n              key={item.id}\n              id={item.id}\n              name={item.name}\n              description={item.description}\n              valid={item.valid}\n              message={item.message}\n              selected={isItemSelected(item)}\n              onChange={value => {\n                if (value) {\n                  add(item.id)\n                } else {\n                  remove(item.id)\n                }\n              }}\n            />\n          ))}\n        </div>\n      )}\n    </div>\n  )\n}\n\nListGroup.propTypes = {\n  group: PropTypes.string.isRequired,\n  add: PropTypes.func.isRequired,\n  remove: PropTypes.func.isRequired,\n  toggle: PropTypes.func.isRequired,\n  itemsSelected: PropTypes.arrayOf(PropTypes.string).isRequired,\n  isClose: PropTypes.bool.isRequired,\n  items: PropTypes.arrayOf(\n    PropTypes.shape({\n      description: PropTypes.string.isRequired,\n      group: PropTypes.string.isRequired,\n      id: PropTypes.string.isRequired,\n      keywords: PropTypes.string,\n      name: PropTypes.string.isRequired,\n      valid: PropTypes.bool.isRequired,\n    })\n  ).isRequired,\n}\n\nexport default ListGroup\n","import get from 'lodash.get'\nimport React, {useContext} from 'react'\n\nimport ListGroup from './ListGroup'\nimport {AppContext} from '../../../reducer/App'\nimport {InitializrContext} from '../../../reducer/Initializr'\n\nconst List = () => {\n  const { dependencies, dispatch, groupsOpened } = useContext(AppContext)\n  const { values, dispatch: dispatchInitializr } = useContext(InitializrContext)\n  return (\n    <div className='groups'>\n      {get(dependencies, 'groups').map(group => {\n        return (\n          <ListGroup\n            group={group.group}\n            key={group.group}\n            dependencyGroup={group}\n            add={id => {\n              dispatchInitializr({\n                type: 'ADD_DEPENDENCY',\n                payload: { id },\n              })\n            }}\n            remove={id => {\n              dispatchInitializr({\n                type: 'REMOVE_DEPENDENCY',\n                payload: { id },\n              })\n            }}\n            toggle={id => {\n              dispatch({\n                type: 'TOGGLE_GROUP',\n                payload: { id },\n              })\n            }}\n            itemsSelected={get(values, 'dependencies', [])}\n            isClose={groupsOpened.indexOf(group.group) < 0}\n            items={group.items}\n          />\n        )\n      })}\n    </div>\n  )\n}\n\nexport default List\n","import PropTypes from 'prop-types'\nimport React from 'react'\n\nconst Header = ({ children }) => (\n  <div className='header'>\n    <h1 className='logo'>\n      <a href='/bootstrap.html'>\n        <span className='title'>\n          <strong>云原生</strong>应用脚手架\n        </span>\n        <span className='description'>Cloud Native App Initializer</span>\n      </a>\n    </h1>\n    {children}\n  </div>\n)\n\nHeader.defaultProps = {\n  children: null,\n}\n\nHeader.propTypes = {\n  children: PropTypes.node,\n}\n\nexport default Header\n","import get from 'lodash.get'\nimport React, {useContext, useEffect, useRef, useState} from 'react'\nimport {CSSTransition, TransitionGroup} from 'react-transition-group'\n\nimport {AppContext} from '../../reducer/App'\nimport {IconCaretDown, IconHelp} from '../icons'\nimport {Switch} from '../form'\n\nconst QuickLinks = () => {\n    const {theme, dispatch, language} = useContext(AppContext)\n    const [help, setHelp] = useState(false)\n    const wrapper = useRef(null)\n    const toggleTheme = () => {\n        const newTheme = theme === 'dark' ? 'light' : 'dark'\n        dispatch({\n            type: 'UPDATE',\n            payload: {\n                theme: newTheme,\n            },\n        })\n    }\n    const toggleLanguage = () => {\n        const newLanguage = language === 'en' ? 'zh' : 'en'\n        dispatch({\n            type: 'UPDATE',\n            payload: {\n                language: newLanguage,\n            },\n        })\n    }\n    useEffect(() => {\n        const clickOutside = event => {\n            const children = get(wrapper, 'current')\n            if (children && !children.contains(event.target)) {\n                setHelp(false)\n            }\n        }\n        document.addEventListener('mousedown', clickOutside)\n        return () => {\n            document.removeEventListener('mousedown', clickOutside)\n        }\n    }, [setHelp])\n\n    /*\n    <li>\n        <span className='switch-language'>\n          <Switch id='language-switch' isOn={language === 'en'} onChange={toggleLanguage} />\n          {language === 'en' ? 'English' : '中文'}\n        </span>\n    </li>\n    */\n    return (\n        <ul className='quick-links'>\n            <li>\n               <span className='switch-mode'>\n                  <Switch id='theme-switch' isOn={theme === 'dark'} onChange={toggleTheme}/>\n                    {theme === 'dark' ? '深色' : '浅色'} 主题\n                </span>\n            </li>\n            <li>\n                <a\n                    href='/'\n                    className='dropdown'\n                    tabIndex='-1'\n                    onClick={e => {\n                        e.preventDefault()\n                        setHelp(!help)\n                    }}\n                    ref={wrapper}\n                >\n                    <IconHelp/>\n                    帮助信息\n                    <IconCaretDown className='caret'/>\n                </a>\n\n                <TransitionGroup component={null}>\n                    {help && (\n                        <CSSTransition classNames='nav-anim' timeout={500}>\n                            <ul className='dropdown-menu'>\n                                <li>\n                                    <a\n                                        id='ql-help-projects'\n                                        target='_blank'\n                                        rel='noopener noreferrer'\n                                        href='https://spring.io/projects'\n                                        tabIndex='-1'\n                                    >\n                                        Spring Projects\n                                    </a>\n                                </li>\n                                <li>\n                                    <a\n                                        id='ql-help-guides'\n                                        target='_blank'\n                                        rel='noopener noreferrer'\n                                        tabIndex='-1'\n                                        href='https://spring.io/projects/spring-cloud/'\n                                    >\n                                        Spring Cloud\n                                    </a>\n                                </li>\n                                <li>\n                                    <a\n                                        id='ql-help-guides'\n                                        target='_blank'\n                                        rel='noopener noreferrer'\n                                        tabIndex='-1'\n                                        href='https://github.com/alibaba/spring-cloud-alibaba/blob/master/README-zh.md'\n                                    >\n                                        Spring Cloud Alibaba\n                                    </a>\n                                </li>\n                            </ul>\n                        </CSSTransition>\n                    )}\n                </TransitionGroup>\n            </li>\n        </ul>\n    )\n}\n\nexport default QuickLinks\n","import PropTypes from 'prop-types'\nimport React from 'react'\n\nimport Header from './Header'\nimport QuickLinks from './QuickLinks'\n\nconst Layout = ({ children }) => (\n  <>\n    <Header>\n      <QuickLinks />\n    </Header>\n    <main>{children}</main>\n  </>\n)\n\nLayout.propTypes = {\n  children: PropTypes.node.isRequired,\n}\n\nexport default Layout\n","import PropTypes from 'prop-types'\nimport React from 'react'\n\nconst Footer = ({ children }) => (\n  <div className='sticky'>\n    <div className='colset colset-submit'>\n      <div className='left nopadding'>\n        <footer className='footer'>\n          <div className='footer-container'>\n            © 1999-{new Date().getFullYear()} Aliyun.com\n            <br />\n            start.aliyun.com is powered by\n            <br />\n            <span>\n              <a\n                tabIndex='-1'\n                target='_blank'\n                rel='noopener noreferrer'\n                href='https://www.aliyun.com'\n              >\n                Aliyun.com\n              </a>\n            </span>\n          </div>\n        </footer>\n      </div>\n      {children && (\n        <div className='right nopadding'>\n          <div className='submit'>{children}</div>\n        </div>\n      )}\n    </div>\n  </div>\n)\n\nFooter.defaultProps = {\n  children: null,\n}\n\nFooter.propTypes = {\n  children: PropTypes.node,\n}\n\nexport default Footer\n","import React from 'react'\n\nimport Control from './Control'\nimport {Footer} from '../layout'\nimport {Placeholder} from '../form'\n\nexport default function Loading() {\n  return (\n    <>\n      <Control text='项目构建方式'>\n        <Placeholder type='radios' count={2} width='133px' />\n      </Control>\n      <Control text='开发语言'>\n        <Placeholder type='radios' count={3} width='73px' />\n      </Control>\n      <Control text='Spring Boot 版本'>\n        <Placeholder type='radios' count={5} width='105px' />\n      </Control>\n      <Control text='项目元信息' special='md'>\n        <div>\n          <div className='control'>\n            <Placeholder type='input' />\n          </div>\n          <div className='control'>\n            <Placeholder type='input' />\n          </div>\n          <div className='control'>\n            <Placeholder type='dropdown' />\n          </div>\n        </div>\n      </Control>\n      <Control text='组件与示例'>\n        <Placeholder type='tabs' count={2} />\n      </Control>\n      <Footer>\n        <Placeholder type='button' width='189px' />\n        <Placeholder type='button' width='212px' />\n        <Placeholder type='button' width='110px' />\n      </Footer>\n    </>\n  )\n}\n","import get from 'lodash.get'\nimport React, {useContext} from 'react'\n\nimport {IconTimes} from '../icons'\nimport {InitializrContext} from '../../reducer/Initializr'\n\nfunction Warnings() {\n  const { warnings, dispatch } = useContext(InitializrContext)\n  if (Object.keys(warnings).length > 0) {\n    return (\n      <div className='colset'>\n        <div className='left' />\n        <div className='right'>\n          <div className='warnings'>\n            <a\n              className='close'\n              href='/#'\n              onClick={event => {\n                event.preventDefault()\n                dispatch({\n                  type: 'CLEAR_WARNINGS',\n                })\n              }}\n            >\n              <IconTimes />\n            </a>\n            The following attributes could not be handled:\n            <ul>\n              {get(warnings, 'project') && (\n                <li>\n                  <strong>{get(warnings, 'project.value')}</strong> is not a\n                  valid project type,{' '}\n                  <strong>{get(warnings, 'project.select')}</strong> has been\n                  selected.\n                </li>\n              )}\n              {get(warnings, 'language') && (\n                <li>\n                  <strong>{get(warnings, 'language.value')}</strong> is not a\n                  valid language,{' '}\n                  <strong>{get(warnings, 'language.select')}</strong> has been\n                  selected.\n                </li>\n              )}\n              {get(warnings, 'boot') && (\n                <li>\n                  Spring Boot <strong>{get(warnings, 'boot.value')}</strong> is\n                  not available, <strong>{get(warnings, 'boot.select')}</strong>{' '}\n                  has been selected.\n                </li>\n              )}\n              {get(warnings, 'meta.java') && (\n                <li>\n                  <strong>{get(warnings, 'meta.java.value')}</strong> is not a\n                  valid Java version,{' '}\n                  <strong>{get(warnings, 'meta.java.select')}</strong> has been\n                  selected.\n                </li>\n              )}\n              {get(warnings, 'meta.packaging') && (\n                <li>\n                  <strong>{get(warnings, 'meta.packaging.value')}</strong> is\n                  not a valid packaging,{' '}\n                  <strong>{get(warnings, 'meta.packaging.select')}</strong> has\n                  been selected.\n                </li>\n              )}\n              {get(warnings, 'dependencies') && (\n                <li>\n                  The following dependencies are not supported:{' '}\n                  <strong>{get(warnings, 'dependencies.value')}</strong>.\n                </li>\n              )}\n            </ul>\n          </div>\n        </div>\n      </div>\n    )\n  }\n  return <></>\n}\n\nexport default Warnings\n","import BodyClassName from 'react-body-classname'\nimport get from 'lodash.get'\nimport React, {lazy, Suspense, useContext, useEffect, useRef, useState,} from 'react'\nimport {toast} from 'react-toastify'\n\nimport useHash from './utils/Hash'\nimport useWindowsUtils from './utils/WindowsUtils'\nimport {AppContext} from './reducer/App'\nimport {Button, Form, RadioGroup} from './common/form'\nimport {\n    Control,\n    FieldError,\n    FieldInput,\n    FieldRadio,\n    List,\n    Loading,\n    PanelMore,\n    QuickSearch,\n    Tabs,\n    Warnings,\n} from './common/builder'\nimport {Footer, Layout} from './common/layout'\nimport {InitializrContext} from './reducer/Initializr'\nimport {getConfig, getInfo, getProject, getQueryString} from './utils/ApiUtils'\n\nconst Explore = lazy(() => import('./common/explore/Explore.js'))\nconst Share = lazy(() => import('./common/share/Share.js'))\nconst Fetch = lazy(() => import('./common/fetch/Fetch.js'))\nconst HotKeys = lazy(() => import('./common/builder/HotKeys.js'))\n\nexport default function Application() {\n  const {\n    complete,\n    config,\n    more,\n    tab,\n    dispatch,\n    theme,\n    fetch: fetchOpen,\n    share: shareOpen,\n    explore: exploreOpen,\n    dependencies,\n  } = useContext(AppContext)\n  const { values, share, dispatch: dispatchInitializr, errors } = useContext(InitializrContext)\n\n  const [positionShare, setPositionShare] = useState({ x: 0, y: 0 })\n\n  const [blob, setBlob] = useState(null)\n\n\n  const inputMore = useRef(null)\n  const inputQuickSearch = useRef(null)\n\n  const windowsUtils = useWindowsUtils()\n  useHash()\n\n  useEffect(() => {\n    if (windowsUtils.origin) {\n      const url = `${windowsUtils.origin}/metadata/client`\n      getInfo(url).then(jsonConfig => {\n        const response = getConfig(jsonConfig)\n        dispatchInitializr({ type: 'COMPLETE', payload: { ...response } })\n        dispatch({ type: 'COMPLETE', payload: response })\n      })\n    }\n  }, [dispatch, dispatchInitializr, windowsUtils.origin])\n\n  const onSubmit = async () => {\n    dispatch({ type: 'FETCH_UPDATE', payload: { open: true } })\n  }\n\n  const onExplore = async () => {\n    const url = `${windowsUtils.origin}/starter.zip`\n    dispatch({ type: 'EXPLORE_UPDATE', payload: { open: true } })\n    const project = await getProject(\n      url,\n      values,\n      get(dependencies, 'list')\n    ).catch(() => {\n      toast.error(`Could not connect to server. Please check your network.`)\n    })\n    setBlob(project)\n  }\n\n  const onShare = event => {\n    const { x, y } = get(event, 'target').getBoundingClientRect()\n    setPositionShare({ x, y })\n    dispatch({ type: 'SHARE_UPDATE', payload: { open: true } })\n  }\n\n  const update = args => {\n    dispatchInitializr({ type: 'UPDATE', payload: args })\n  }\n\n  const onRunInSandbox = () => {\n    const origin = `${windowsUtils.origin}`\n    const config = get(dependencies, 'list')\n    const params = getQueryString(values, config, [\"cloudshell\"])\n\n    const gitUrl = `${origin}/${params}/${values.meta.artifact}.git`\n\n    const handsOnUrl = `${origin}/handson?${params}`\n\n    window.open(handsOnUrl)\n\n  }\n\n  const onExport = () => {\n    const origin = `${windowsUtils.origin}`\n    const config = get(dependencies, 'list')\n    const params = getQueryString(values, config)\n\n    const codeupUrl = `${origin}/codeup?${params}`\n\n    window.open(codeupUrl)\n  }\n\n  let shareSrc = get(values, 'share')\n  if(shareSrc){\n    shareSrc = `${shareSrc}/`\n  } else {\n    shareSrc = ''\n  }\n\n  return (\n    <Layout>\n      <BodyClassName className={theme} />\n      <Suspense fallback=''>\n        <HotKeys onSubmit={onSubmit} onExplore={onExplore} />\n      </Suspense>\n      <Form onSubmit={onSubmit}>\n        {!complete ? (\n          <Loading />\n        ) : (\n          <>\n            <Warnings />\n            <Control text='项目构建方式'>\n              <RadioGroup\n                name='project'\n                selected={get(values, 'project')}\n                options={get(config, 'lists.project')}\n                onChange={value => {\n                  update({ project: value })\n                }}\n              />\n            </Control>\n            <Control text='开发语言'>\n              <RadioGroup\n                name='language'\n                selected={get(values, 'language')}\n                options={get(config, 'lists.language')}\n                onChange={value => {\n                  update({ language: value })\n                }}\n              />\n            </Control>\n            <Control text='Spring Boot版本'>\n              <RadioGroup\n                name='boot'\n                selected={get(values, 'boot')}\n                error={get(errors, 'boot.value', '')}\n                options={get(config, 'lists.boot')}\n                onChange={value => {\n                  dispatchInitializr({\n                    type: 'UPDATE',\n                    payload: { boot: value },\n                    config: get(dependencies, 'list'),\n                  })\n                  dispatch({\n                    type: 'UPDATE_DEPENDENCIES',\n                    payload: { boot: value },\n                  })\n                }}\n              />\n              {get(errors, 'boot') && (\n                <FieldError>\n                  Spring Boot {get(errors, 'boot.value')} is not supported.\n                  Please select a valid version\n                </FieldError>\n              )}\n            </Control>\n            <Control text='项目基本信息' variant='md'>\n              <FieldInput\n                id='input-group'\n                value={get(values, 'meta.group')}\n                text='Group'\n                onChange={event => {\n                  update({ meta: { group: event.target.value } })\n                }}\n              />\n              <FieldInput\n                id='input-artifact'\n                value={get(values, 'meta.artifact')}\n                text='Artifact'\n                onChange={event => {\n                  update({ meta: { artifact: event.target.value } })\n                }}\n              />\n              <PanelMore fieldFocusOnOpen={inputMore}>\n                <FieldInput\n                  id='input-name'\n                  value={get(values, 'meta.name')}\n                  text='项目名称'\n                  disabled={!more}\n                  inputRef={inputMore}\n                  onChange={event => {\n                    update({ meta: { name: event.target.value } })\n                  }}\n                />\n                <FieldInput\n                  id='input-description'\n                  value={get(values, 'meta.description')}\n                  text='项目描述'\n                  disabled={!more}\n                  onChange={event => {\n                    update({ meta: { description: event.target.value } })\n                  }}\n                />\n                <FieldInput\n                  id='input-packageName'\n                  value={get(values, 'meta.packageName')}\n                  text='基础包'\n                  disabled={!more}\n                  onChange={event => {\n                    update({ meta: { packageName: event.target.value } })\n                  }}\n                />\n                <FieldRadio\n                  id='input-packaging'\n                  value={get(values, 'meta.packaging')}\n                  text='打包方式'\n                  disabled={!more}\n                  options={get(config, 'lists.meta.packaging')}\n                  onChange={value => {\n                    update({ meta: { packaging: value } })\n                  }}\n                />\n                <FieldRadio\n                  id='input-java'\n                  value={get(values, 'meta.java')}\n                  text='Java版本'\n                  disabled={!more}\n                  options={get(config, 'lists.meta.java')}\n                  onChange={value => {\n                    update({ meta: { java: value } })\n                  }}\n                />\n              </PanelMore>\n            </Control>\n            <Control text='应用架构'>\n              <RadioGroup\n                name='architecture'\n                selected={get(values, 'architecture')}\n                options={get(config, 'lists.architecture')}\n                onChange={value => {\n                  update({ architecture: value })\n\n                  get(values, 'dependencies', []).forEach(item => {\n                    dispatchInitializr({\n                      type: 'REMOVE_DEPENDENCY',\n                      payload: { id:item },\n                    })\n                  })\n\n                  get(config, 'lists.architecture', [])\n                  .filter(item => item.key === value)\n                  .forEach(arch => {\n                    get(arch, 'dependencies', []).forEach(dep => {\n                      dispatchInitializr({\n                        type: 'ADD_DEPENDENCY',\n                        payload: { id:dep },\n                      })\n                    })\n                  })\n\n                }}\n              />\n            </Control>\n            <Control text='组件与示例' variant={tab === 'quicksearch' ? 'xl' : 'xxl'}>\n              <Tabs\n                changeTab={newTab => {\n                  if (\n                    newTab === 'quicksearch' &&\n                    get(inputQuickSearch, 'current')\n                  ) {\n                    get(inputQuickSearch, 'current').focus()\n                  }\n                }}\n              />\n              {tab === 'quicksearch' && (\n                <QuickSearch submit={onSubmit} input={inputQuickSearch} />\n              )}\n              {tab === 'list' && <List />}\n            </Control>\n            <Footer>\n              <Button\n                id='generate-project'\n                variant='primary'\n                onClick={onSubmit}\n                hotkey={`${windowsUtils.symb} + ⏎`}\n              >\n                获取代码\n              </Button>\n              <Button\n                id='explore-project'\n                onClick={onExplore}\n                hotkey='Ctrl + Space'\n              >\n                浏览代码\n              </Button>\n              <Button id='share-project' onClick={onShare}>\n                分享...\n              </Button>\n            </Footer>\n          </>\n        )}\n      </Form>\n      <Suspense fallback=''>\n        <Share\n          open={shareOpen || false}\n          shareUrl={share}\n          shareSrc={shareSrc}\n          position={positionShare}\n          onClose={() => {\n            dispatch({\n              type: 'SHARE_UPDATE',\n              payload: { open: false },\n            })\n          }}\n        />\n        <Explore\n          projectName={`${get(values, 'meta.artifact')}.zip`}\n          blob={blob}\n          open={exploreOpen || false}\n          onClose={() => {\n            dispatch({\n              type: 'EXPLORE_UPDATE',\n              payload: { open: false },\n            })\n            setBlob(null)\n          }}\n        />\n        <Fetch\n          open={fetchOpen || false}\n          onClose={() => {\n            dispatch({\n              type: 'FETCH_UPDATE',\n              payload: { open: false },\n            })\n          }}\n        />\n      </Suspense>\n    </Layout>\n  )\n}\n","import './styles/app.scss'\n\nimport React from 'react'\nimport {ToastContainer} from 'react-toastify'\nimport {render} from 'react-dom'\n\nimport Application from './components/Application'\nimport Close from './components/common/form/Close'\nimport {AppProvider} from './components/reducer/App'\nimport {InitializrProvider} from './components/reducer/Initializr'\n\nrender(\n  <AppProvider>\n    <InitializrProvider>\n      <ToastContainer\n        closeButton={<Close />}\n        position='top-center'\n        hideProgressBar\n      />\n      <Application />\n    </InitializrProvider>\n  </AppProvider>,\n  document.getElementById('app')\n)\n"],"sourceRoot":""}
\ No newline at end of file
diff --git a/initializer-page/public/chunk-bb4f568ad8459aeeffda.js b/initializer-page/public/chunk-d045279c48fa41927c6c.js
similarity index 75%
rename from initializer-page/public/chunk-bb4f568ad8459aeeffda.js
rename to initializer-page/public/chunk-d045279c48fa41927c6c.js
index c19df85..f2eb372 100644
--- a/initializer-page/public/chunk-bb4f568ad8459aeeffda.js
+++ b/initializer-page/public/chunk-d045279c48fa41927c6c.js
@@ -1,2 +1,2 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[1],[,,,,function(e,t,n){"use strict";n.d(t,"d",(function(){return s})),n.d(t,"e",(function(){return u})),n.d(t,"c",(function(){return m})),n.d(t,"b",(function(){return b})),n.d(t,"a",(function(){return y}));var a=n(1),o=n.n(a),i=n(0),r=n.n(i);function d(e){var t=e.handler,n=e.value,a=e.disabled,o=e.error,i=e.checked,d=e.text;return a||o?r.a.createElement("span",{className:"radio disabled ".concat(i?"checked":""," ").concat(o?"err":"")},d):r.a.createElement("a",{href:"/",className:"radio ".concat(i?"checked":""),onClick:function(e){e.preventDefault(),t(n)}},d)}d.defaultProps={disabled:!1,error:!1},d.propTypes={checked:o.a.bool.isRequired,text:o.a.string.isRequired,value:o.a.string.isRequired,handler:o.a.func.isRequired,disabled:o.a.bool,error:o.a.bool};var c=d;function l(e){var t=e.onChange,n=e.options,a=e.error,o=e.selected,i=e.disabled,d=function(e){t&&t(e)},l=n.map((function(e){return r.a.createElement(c,{key:e.key,checked:!a&&o===e.key,text:e.text,value:e.key,disabled:i,handler:d})}));return a&&l.push(r.a.createElement(c,{key:l.length+1,checked:!0,text:a,value:a,disabled:i,handler:d,error:!0})),r.a.createElement("div",{className:"group-radio"},l)}l.defaultProps={selected:"",error:null,onChange:null,disabled:!1,options:{error:""}},l.propTypes={selected:o.a.string,error:o.a.string,options:o.a.arrayOf(o.a.shape({key:o.a.string.isRequired,text:o.a.string.isRequired})),onChange:o.a.func,disabled:o.a.bool};var s=l,p=function(e){var t=e.id,n=e.isOn,a=e.onChange;return r.a.createElement("span",{className:"switch"},r.a.createElement("input",{checked:n,onChange:a,className:"switch-checkbox",id:t,name:"switch-new",type:"checkbox"}),r.a.createElement("label",{className:"switch-label",htmlFor:t},r.a.createElement("span",{className:"switch-button"})))};p.defaultProps={isOn:!1,onChange:null},p.propTypes={isOn:o.a.bool,onChange:o.a.func};var u=p;n(21);function f(e){var t=e.type,n=e.count,a=e.width;if("radios"===t){var o=Array.from({length:n},(function(e,t){var n="p".concat(t);return r.a.createElement("span",{key:n,style:{width:a},className:"placeholder-radio"})}));return r.a.createElement("span",{className:"placeholder-radios"},o)}if("input"===t)return r.a.createElement("span",{className:"placeholder-input"});if("dropdown"===t)return r.a.createElement("span",{className:"placeholder-dropdown"});if("text"===t)return r.a.createElement("span",{style:{width:a},className:"placeholder-text"});if("button"===t)return r.a.createElement("span",{style:{width:a},className:"placeholder-button"});if("tabs"===t){var i=Array.from({length:n},(function(e,t){return r.a.createElement("span",{key:"p".concat(t),className:"placeholder-tab"})}));return r.a.createElement("span",{className:"placeholder-tabs"},r.a.createElement("span",{className:"placeholder-header"},i))}return""}f.defaultProps={width:"150px",type:"radios",count:3},f.propTypes={type:o.a.string,count:o.a.number,width:o.a.string};var m=f,g=function(e){var t=e.onSubmit,n=e.children;return r.a.createElement("form",{onSubmit:t,autoComplete:"off"},r.a.createElement("input",{style:{display:"none"},type:"text",name:"fakeusernameremembered"}),r.a.createElement("input",{style:{display:"none"},type:"password",name:"fakepasswordremembered"}),n)};g.defaultProps={children:null},g.propTypes={onSubmit:o.a.func.isRequired,children:o.a.node};var b=g;function h(e){var t=e.id,n=e.onClick,a=e.children,o=e.variant,i=e.hotkey;return r.a.createElement("button",{className:"button ".concat("primary"===o?"primary":""),type:"button",id:t,onClick:function(e){n&&n(e)}},a,i&&r.a.createElement(r.a.Fragment,null," ",r.a.createElement("span",{className:"desktop-only"},"- ",i)))}h.defaultProps={onClick:null,children:null,variant:"",hotkey:""},h.propTypes={id:o.a.string.isRequired,variant:o.a.string,hotkey:o.a.string,onClick:o.a.func,children:o.a.node};var y=h},function(e,t,n){"use strict";n.d(t,"j",(function(){return f})),n.d(t,"h",(function(){return p})),n.d(t,"a",(function(){return i})),n.d(t,"g",(function(){return s})),n.d(t,"i",(function(){return u})),n.d(t,"b",(function(){return r})),n.d(t,"c",(function(){return l})),n.d(t,"e",(function(){return d})),n.d(t,"d",(function(){return c})),n.d(t,"f",(function(){return m}));var a=n(0),o=n.n(a),i=function(){return o.a.createElement("svg",{"aria-hidden":"true",focusable:"false","data-icon":"caret-down",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 320 512",className:"icon-caret-down"},o.a.createElement("path",{fill:"currentColor",d:"M31.3 192h257.3c17.8 0 26.7 21.5 14.1 34.1L174.1 354.8c-7.8 7.8-20.5 7.8-28.3 0L17.2 226.1C4.6 213.5 13.5 192 31.3 192z"}))},r=function(){return o.a.createElement("svg",{"aria-hidden":"true",focusable:"false","data-icon":"check",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",className:"icon-check"},o.a.createElement("path",{fill:"currentColor",d:"M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z"}))},d=function(){return o.a.createElement("svg",{"aria-hidden":"true",focusable:"false","data-icon":"folder",role:"img",xmlns:"http://www.w3.org/2000/svg",className:"icon-folder",viewBox:"0 0 512 512"},o.a.createElement("g",null,o.a.createElement("path",{fill:"#86ad5c",d:"M430.1,192H81.9c-17.7,0-18.6,9.2-17.6,20.5l13,183c0.9,11.2,3.5,20.5,21.1,20.5h316.2c18,0,20.1-9.2,21.1-20.5l12.1-185.3   C448.7,199,447.8,192,430.1,192z"}),o.a.createElement("g",null,o.a.createElement("path",{fill:"#718c50",d:"M426.2,143.3c-0.5-12.4-4.5-15.3-15.1-15.3c0,0-121.4,0-143.2,0c-21.8,0-24.4,0.3-40.9-17.4C213.3,95.8,218.7,96,190.4,96    c-22.6,0-75.3,0-75.3,0c-17.4,0-23.6-1.5-25.2,16.6c-1.5,16.7-5,57.2-5.5,63.4h343.4L426.2,143.3z"}))))},c=function(){return o.a.createElement("svg",{"aria-hidden":"true",focusable:"false","data-icon":"file",role:"img",xmlns:"http://www.w3.org/2000/svg",className:"icon-file",viewBox:"0 0 1792 1792"},o.a.createElement("path",{fill:"currentColor",d:"M1596 380q28 28 48 76t20 88v1152q0 40-28 68t-68 28h-1344q-40 0-68-28t-28-68v-1600q0-40 28-68t68-28h896q40 0 88 20t76 48zm-444-244v376h376q-10-29-22-41l-313-313q-12-12-41-22zm384 1528v-1024h-416q-40 0-68-28t-28-68v-416h-768v1536h1280z"}))},l=function(){return o.a.createElement("svg",{"aria-hidden":"true",focusable:"false","data-icon":"chevron-right",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 320 512",className:"icon-chevron-right"},o.a.createElement("path",{fill:"currentColor",d:"M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z"}))},s=function(){return o.a.createElement("svg",{"aria-hidden":"true",focusable:"false","data-icon":"list",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",className:"icon-list"},o.a.createElement("path",{fill:"currentColor",d:"M128 116V76c0-8.837 7.163-16 16-16h352c8.837 0 16 7.163 16 16v40c0 8.837-7.163 16-16 16H144c-8.837 0-16-7.163-16-16zm16 176h352c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H144c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h352c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H144c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zM16 144h64c8.837 0 16-7.163 16-16V64c0-8.837-7.163-16-16-16H16C7.163 48 0 55.163 0 64v64c0 8.837 7.163 16 16 16zm0 160h64c8.837 0 16-7.163 16-16v-64c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v64c0 8.837 7.163 16 16 16zm0 160h64c8.837 0 16-7.163 16-16v-64c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v64c0 8.837 7.163 16 16 16z"}))},p=function(){return o.a.createElement("svg",{"aria-hidden":"true",focusable:"false","data-prefix":"fas","data-icon":"plus",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 448 512",className:"icon-plus"},o.a.createElement("path",{fill:"currentColor",d:"M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z"}))},u=function(){return o.a.createElement("svg",{"aria-hidden":"true",focusable:"false","data-icon":"search",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",className:"icon-search"},o.a.createElement("path",{fill:"currentColor",d:"M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"}))},f=function(){return o.a.createElement("svg",{"aria-hidden":"true",focusable:"false","data-prefix":"fas","data-icon":"times",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 352 512",className:"icon-times"},o.a.createElement("path",{fill:"currentColor",d:"M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z"}))},m=function(){return o.a.createElement("svg",{t:"1583993417464",className:"icon-help",focusable:"false","aria-hidden":"true",role:"img","data-icon":"help",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"1960",width:"18",height:"18"},o.a.createElement("path",{"p-id":"1961",fill:"currentColor",d:"M0.12992 518.398052C-6.268452 236.869666 224.072954 6.528259 505.601341 0.129887c281.528386-6.398372 511.869793 223.943034 518.268165 505.471421 6.398372 281.528386-223.943034 511.869793-505.47142 518.268165-281.528386 6.398372-511.869793-223.943034-518.268166-505.471421zM595.178555 767.934577c0-44.788607-38.390234-83.178841-83.178842-83.178842-44.788607 0-83.178841 38.390234-83.178841 83.178842 0 44.788607 38.390234 83.178841 83.178841 83.178841 44.788607 0 83.178841-38.390234 83.178842-83.178841zM300.853423 345.641997v12.796745c0 31.991862 6.398372 63.983724 63.983725 63.983724S435.219244 384.032232 435.219244 345.641997c0-12.796745 38.390234-44.788607 76.780469-44.788607s83.178841 19.195117 83.178842 76.780469c0 38.390234-63.983724 76.780469-95.975587 108.772331-70.382097 63.983724-63.983724 89.577214-63.983724 89.577214 0 38.390234 12.796745 76.780469 70.382097 70.382097 57.585352-6.398372 166.357683-153.560938 166.357682-153.560938 51.186979-57.585352 51.186979-127.967448 51.18698-127.967448 0-121.569076-95.975586-185.5528-211.14629-185.5528-115.170703-6.398372-204.747917 51.186979-211.14629 166.357682z"}))}},,function(e,t,n){"use strict";n.d(t,"b",(function(){return u})),n.d(t,"e",(function(){return f})),n.d(t,"g",(function(){return m})),n.d(t,"h",(function(){return g})),n.d(t,"a",(function(){return y})),n.d(t,"f",(function(){return k})),n.d(t,"d",(function(){return x})),n.d(t,"c",(function(){return v}));var a=n(2),o=n.n(a),i=n(26),r=n.n(i),d=n(8),c=n.n(d),l=n(39),s=n(17),p={type:"project",language:"language",architecture:"architecture",platformVersion:"boot",packaging:"meta.packaging",jvmVersion:"meta.java",groupId:"meta.group",artifactId:"meta.artifact",name:"meta.name",description:"meta.description",packageName:"meta.packageName",dependencies:"dependencies"},u=function(e){return new Promise((function(t,n){fetch("".concat(e),{method:"GET",headers:{Accept:"application/vnd.initializr.v2.1+json"}}).then((function(e){return e.json()}),(function(){return n(),null})).then((function(e){e&&t(e)}))}))},f=function(e){var t={};Object.keys(p).forEach((function(n){var a=o()(p,n),i=o()(e,a);"dependencies"!==n&&c()(t,n,i)}));var n="".concat(r.a.stringify(t));return o()(e,"dependencies",[]).length>0&&(n="".concat(n,"&dependencies=").concat(o()(e,"dependencies").join(","))),n},m=function(e){return Object.keys(e).map((function(e){return!!o()(p,e,null)})).filter((function(e){return!!e})).length>0},g=function(e,t,n){var a={},i={};return m(t)&&Object.keys(t).forEach((function(r){var d=o()(p,r);if(d){var l=o()(t,r,"").toLowerCase();switch(d){case"project":case"language":case"architecture":case"meta.packaging":case"meta.java":var u=o()(n,d,[]),f=u.find((function(e){return e.key.toLowerCase()===l}));if(f)c()(e,d,f.key);else{var m=u.find((function(t){return t.key.toLowerCase()===o()(e,d)}));c()(i,d,{value:o()(t,r,""),select:m.text})}break;case"boot":var g=o()(n,d,[]),b=g.find((function(e){return e.key.toLowerCase()===l})),h=!1;if(b)c()(e,d,b.key);else{h=!0;var y=l;if(-1===y.indexOf(".x")&&(y=o()(Object(s.c)(y),"major","")),y.indexOf(".x")>-1){var k=Object(s.b)(g).filter((function(e){return e.major.toLowerCase()===y.toLowerCase()}));if(k.length>0){var x=k.reduce((function(e,t){return e.qualify>t.qualify||e.qualify===t.qualify&&e.minor>t.minor?e:t}),k[0]);if(x){h=!1,c()(e,d,x.version);var v=g.find((function(e){return e.key.toLowerCase()===x.version.toLowerCase()}));c()(i,d,{value:o()(t,r,""),select:v.text})}}}}h&&c()(a,"boot",{value:o()(t,r,"")});break;case"dependencies":var w=[],E=l.split(",").map((function(e){var t=o()(n,"dependencies").find((function(t){return t.id===e.trim()}));return t?t.id:(w.push(e),null)})).filter((function(e){return!!e}));w.length>0&&c()(i,d,{value:w.join(", ")}),c()(e,d,E);break;default:c()(e,d,o()(t,r,""))}}})),{values:e,errors:a,warnings:i}},b=function(e){var t=[];return o()(e,"dependencies.values",[]).forEach((function(e){e.values.forEach((function(n){var a=l.find((function(e){return e.id===o()(n,"id","")})),i={id:"".concat(o()(n,"id","")),name:"".concat(o()(n,"name","")),group:"".concat(e.name),description:"".concat(o()(n,"description","")),versionRange:"".concat(o()(n,"versionRange","")),versionRequirement:"".concat(o()(n,"versionRange","")),weight:o()(a,"weight",50)};t.push(i)}))})),{project:o()(e,"type.values",[]).filter((function(e){return"/starter.zip"===e.action})).map((function(e){return{key:"".concat(e.id),text:"".concat(e.name)}})),language:o()(e,"language.values",[]).map((function(e){return{key:"".concat(e.id),text:"".concat(e.name)}})),architecture:o()(e,"architecture.values",[]).map((function(e){return{key:"".concat(e.id),text:"".concat(e.name),dependencies:o()(e,"dependOn",[])}})),boot:o()(e,"bootVersion.values",[]).map((function(e){return{key:"".concat(e.id),text:"".concat(e.name)}})),meta:{java:o()(e,"javaVersion.values",[]).map((function(e){return{key:"".concat(e.id),text:"".concat(e.name)}})),packaging:o()(e,"packaging.values",[]).map((function(e){return{key:"".concat(e.id),text:"".concat(e.name)}}))},dependencies:t}},h=function(e){return{project:o()(e,"type.default"),language:o()(e,"language.default"),architecture:o()(e,"architecture.default"),boot:o()(e,"bootVersion.default"),meta:{name:o()(e,"name.default"),group:o()(e,"groupId.default"),artifact:o()(e,"artifactId.default"),description:o()(e,"description.default"),packaging:o()(e,"packaging.default"),packageName:o()(e,"packageName.default"),java:o()(e,"javaVersion.default")},share:o()(e,"share.default"),dependencies:[],availableCount:[]}},y=function(e){return{lists:b(e),defaultValues:h(e)}},k=function(e,t){return!!t&&(!o()(t,"versionRange")||Object(s.a)(e,o()(t,"versionRange")))},x=function(e,t){var n=r.a.stringify({type:o()(e,"project"),language:o()(e,"language"),architecture:o()(e,"architecture"),bootVersion:o()(e,"boot"),baseDir:o()(e,"meta.artifact"),groupId:o()(e,"meta.group"),artifactId:o()(e,"meta.artifact"),name:o()(e,"meta.name"),description:o()(e,"meta.description"),packageName:o()(e,"meta.packageName"),packaging:o()(e,"meta.packaging"),javaVersion:o()(e,"meta.java")}),a=o()(e,"dependencies",[]).map((function(n){var a=t.find((function(e){return e.id===n}));return k(o()(e,"boot"),a)?n:null})).filter((function(e){return!!e})).join(",");return a&&(a="&dependencies=".concat(a)),"".concat(n).concat(a)},v=function(e,t,n){return new Promise((function(a,o){var i=x(t,n);fetch("".concat(e,"?").concat(i),{method:"GET"}).then((function(e){200!==e.status?o():a(e.blob())}),(function(){o()}))}))}},,function(e,t,n){"use strict";n.d(t,"a",(function(){return O})),n.d(t,"b",(function(){return T}));var a=n(3),o=n.n(a),i=n(14),r=n.n(i),d=n(16),c=n.n(d),l=n(1),s=n.n(l),p=n(2),u=n.n(p),f=n(8),m=n.n(f),g=n(0),b=n.n(g);function h(){var e,t=Object(g.useState)((e=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches,localStorage.getItem("springtheme")||(e?"dark":"light")));return o()(t,1)[0]}var y=n(7),k=n(17);function x(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function v(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?x(Object(n),!0).forEach((function(t){c()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):x(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var w={more:!1,complete:!1,explore:!1,share:!1,fetch:!1,tab:"quicksearch",theme:"light",language:"zh",config:{},groupsOpened:[],dependencies:{list:[],groups:[]}};function E(e,t){for(var n=[],a=[],o=function(e,t){return e.find((function(e){return e.group===t}))},i=0;i<t.length;i+=1){var r="",d=t[i],c=o(n,d.group);c||(c={group:d.group,items:[]},n.push(c));var l=Object(y.f)(e,d);l||(r="Requires Spring Boot ".concat(Object(k.d)(u()(d,"versionRequirement")),".")),c.items.push(v(v({},d),{},{valid:l,message:r})),a.push(v(v({},d),{},{valid:l,message:r}))}return{list:a,groups:n}}function _(e,t){switch(t.type){case"UPDATE":var n=v({},e),a=Object.keys(w);return Object.keys(u()(t,"payload",{})).map((function(e){if(-1===a.indexOf(e))throw Error("Error AppProvider, invalid paylaod field action");var o=u()(t,"payload.".concat(e));return m()(n,e,o),"theme"===e&&localStorage.setItem("springtheme",o),e})),n;case"TOGGLE_GROUP":var o=u()(t,"payload.id"),i=r()(e.groupsOpened);return i=i.indexOf(o)>-1?r()(i.filter((function(e){return e!==o}))):[].concat(r()(i),[o]),v(v({},e),{},{groupsOpened:i});case"UPDATE_DEPENDENCIES":var d=E(u()(t,"payload.boot"),u()(e,"config.lists.dependencies"));return v(v({},e),{},{dependencies:d});case"SHARE_UPDATE":var c=u()(t,"payload.open",!1);return v(v({},e),{},{share:c});case"EXPLORE_UPDATE":var l=u()(t,"payload.open",!1);return v(v({},e),{},{explore:l});case"FETCH_UPDATE":var s=u()(t,"payload.open",!1);return v(v({},e),{},{fetch:s});case"COMPLETE":var p=u()(t,"payload",{}),f=E(u()(p,"defaultValues.boot"),u()(p,"lists.dependencies"));return v(v({},e),{},{complete:!0,config:p,dependencies:f});default:return e}}var O=b.a.createContext(v({},w));function T(e){var t=e.children,n=h(),a=Object(g.useReducer)(_,v(v({},w),{},{theme:n})),i=o()(a,2),r=i[0],d=i[1];return b.a.createElement(O.Provider,{value:v(v({},r),{},{dispatch:d})},t)}T.propTypes={children:s.a.node.isRequired}},function(e,t,n){"use strict";n.d(t,"a",(function(){return _})),n.d(t,"b",(function(){return O}));var a=n(3),o=n.n(a),i=n(14),r=n.n(i),d=n(40),c=n.n(d),l=n(16),s=n.n(l),p=n(1),u=n.n(p),f=n(2),m=n.n(f),g=n(8),b=n.n(g),h=n(0),y=n.n(h),k=n(7);function x(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function v(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?x(Object(n),!0).forEach((function(t){s()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):x(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var w={values:{project:"",language:"",architecture:"",boot:"",meta:{name:"",group:"",artifact:"",description:"",packaging:"",packageName:"",java:""},dependencies:[],share:[]},share:"",errors:{},warnings:{}};function E(e,t){switch(t.type){case"COMPLETE":var n=m()(t,"payload"),a=v(v({},m()(n,"defaultValues")),{},{meta:m()(n,"defaultValues.meta")});return{values:a,share:Object(k.e)(a),errors:{},warnings:{}};case"UPDATE":var o=m()(t,"payload"),i=v({},e.errors),d=v({},m()(e,"values.meta"));if(m()(o,"meta")&&(d=v(v({},d),m()(o,"meta"))),m()(o,"boot")){var l=i;l.boot;i=c()(l,["boot"])}m()(o,"meta.group")&&b()(d,"packageName","".concat(m()(d,"group"),".").concat(m()(d,"artifact"))),m()(o,"meta.artifact")&&(b()(d,"packageName","".concat(m()(d,"group"),".").concat(m()(d,"artifact"))),b()(d,"name","".concat(m()(d,"artifact"))));var s=v(v(v({},m()(e,"values")),o),{},{meta:d});return v(v({},e),{},{values:s,share:Object(k.e)(s),errors:i});case"LOAD":var p=m()(t,"payload.params"),u=m()(t,"payload.lists"),f=Object(k.h)(e.values,p,u),g=f.values,h=f.errors,y=f.warnings;return v(v({},e),{},{values:g,errors:h,warnings:y,share:Object(k.e)(g)});case"ADD_DEPENDENCY":var x=m()(t,"payload.id"),w=v({},m()(e,"values"));return 0==m()(w,"dependencies",[]).filter((function(e){return e===x})).length&&(w.dependencies=[].concat(r()(m()(w,"dependencies")),[x])),v(v({},e),{},{values:w,share:Object(k.e)(w)});case"REMOVE_DEPENDENCY":var E=m()(t,"payload.id"),_=v({},m()(e,"values"));return _.dependencies=r()(m()(_,"dependencies").filter((function(e){return e!==E}))),v(v({},e),{},{values:_,share:Object(k.e)(_)});case"CLEAR_WARNINGS":return v(v({},e),{},{warnings:{}});default:return e}}var _=y.a.createContext(v({},w));function O(e){var t=e.children,n=Object(h.useReducer)(E,v({},w)),a=o()(n,2),i=a[0],r=a[1];return y.a.createElement(_.Provider,{value:v(v({},i),{},{dispatch:r})},t)}O.defaultProps={children:null},O.propTypes={children:u.a.node}},,,,,,,function(e,t,n){"use strict";n.d(t,"c",(function(){return c})),n.d(t,"b",(function(){return s})),n.d(t,"a",(function(){return p})),n.d(t,"d",(function(){return u}));var a=/\[(.*),(.*)\]/,o=/\[(.*),(.*)\)/,i=/\((.*),(.*)\]/,r=["M","RC","BUILD-SNAPSHOT","RELEASE"],d=function(e){var t=(e||"").replace(/\d+/g,"").replace(/\./g," ").replace(/\s/g,"");return r.indexOf(t)>-1?t:"RELEASE"},c=function(e){var t=e.toString().split(".");return t.length<2?{version:e}:{version:e,short:"".concat(t[0],".").concat(t[1],".").concat(t[2]),major:"".concat(t[0],".").concat(t[1],".x"),qualify:r.indexOf(d(e)),minor:+t[2]}},l=function(e,t){var n,a=e.split("."),o=t.split(".");3===a.length&&(a[3]=""),3===o.length&&(o[3]="");for(var i=0;i<3;i+=1)if(0!==(n=parseInt(a[i],10)-parseInt(o[i],10)))return n;var c=function(e){return r.indexOf(d(e))};return 0!==(n=c(e)-c(t))?n:a[3].localeCompare(o[3])},s=function(e){return e.map((function(e){return c(e.key)}))},p=function(e,t){if(!t)return!0;var n=t.match(a);if(n)return l(n[1],e)<=0&&l(n[2],e)>=0;var r=t.match(o);if(r)return l(r[1],e)<=0&&l(r[2],e)>0;var d=t.match(i);return d?l(d[1],e)<0&&l(d[2],e)>=0:l(t,e)<=0},u=function(e){var t=e.match(a);if(t)return">= ".concat(t[1]," and <= ").concat(t[2]);var n=e.match(o);if(n)return">= ".concat(n[1]," and < ").concat(n[2]);var r=e.match(i);return r?"> ".concat(r[1]," and <= ").concat(r[2]):">= ".concat(e)}},,,,function(e,t,n){"use strict";var a=n(1),o=n.n(a),i=n(0),r=n.n(i),d=n(5),c=function(e){var t=e.onClose;return r.a.createElement("a",{href:"/#",className:"toast-close",onClick:function(e){e.preventDefault(),t&&t()}},r.a.createElement(d.j,null))};c.defaultProps={onClose:null},c.propTypes={onClose:o.a.func},t.a=c},,,,,,,,function(e,t,n){"use strict";n.d(t,"a",(function(){return d}));var a=n(3),o=n.n(a),i=n(0);function r(){return{symb:window.navigator.userAgent.toLowerCase().indexOf("mac")>-1?"⌘":"Ctrl",origin:window.location.origin,pathname:window.location.pathname}}function d(){var e=Object(i.useState)(r().symb),t=o()(e,1)[0],n=Object(i.useState)(r().origin),a=o()(n,1)[0],d=Object(i.useState)(r().pathname);return{symb:t,origin:a,pathname:o()(d,1)[0]}}},,,,,,,,,,function(e){e.exports=JSON.parse('[{"id":"web","weight":100},{"id":"webflux","weight":90},{"id":"rest","weight":60},{"id":"thymeleaf","weight":90},{"id":"security","weight":100},{"id":"data-jpa","weight":100},{"id":"data-mongodb","weight":50},{"id":"data-mongodb-reactive","weight":50},{"id":"data-elasticsearch","weight":60},{"id":"integration","weight":100},{"id":"ampq","weight":100},{"id":"kafka","weight":100},{"id":"kafka-streams","weight":90},{"id":"batch","weight":100},{"id":"cloud-config-client","weight":100},{"id":"cloud-stream","weight":90},{"id":"reactive-cloud-stream","weight":90},{"id":"cloud-eureka","weight":100}]')},,,,,,function(e,t,n){var a=n(42),o=n(46);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.i,o,""]]);var i={insert:"head",singleton:!1};a(o,i);e.exports=o.locals||{}},function(e,t,n){var a=n(43),o=n(47),i=n(48),r=n(49),d=n(50),c=n(51),l=n(52),s=n(53),p=n(54),u=n(55),f=n(56),m=n(57),g=n(58),b=n(59),h=n(60),y=n(61),k=n(62),x=n(63),v=n(64),w=n(65),E=n(66),_=n(67);t=a(!1);var O=o(i),T=o(i,{hash:"?#iefix"}),j=o(r),N=o(d),C=o(c),q=o(l,{hash:"#Karla"}),R=o(s),P=o(s,{hash:"?#iefix"}),D=o(p),z=o(u),S=o(f),L=o(m,{hash:"#Karla"}),I=o(g),A=o(g,{hash:"?#iefix"}),M=o(b),U=o(h),B=o(y),F=o(k,{hash:"#Karla"}),V=o(x),H=o(x,{hash:"?#iefix"}),G=o(v),K=o(w),Y=o(E),J=o(_,{hash:"#Karla"});t.push([e.i,"@font-face{font-family:'Karla';font-style:normal;font-weight:400;src:url("+O+');src:local(""),url('+T+') format("embedded-opentype"),url('+j+') format("woff2"),url('+N+') format("woff"),url('+C+') format("truetype"),url('+q+") format(\"svg\")}@font-face{font-family:'Karla';font-style:normal;font-weight:700;src:url("+R+');src:local(""),url('+P+') format("embedded-opentype"),url('+D+') format("woff2"),url('+z+') format("woff"),url('+S+') format("truetype"),url('+L+") format(\"svg\")}html,body{text-rendering:optimizeLegibility;height:100%}body{color:#222;padding:0;margin:0;font-size:15px;font-family:Karla,Arial,sans-serif;font-weight:400;font-style:normal;position:relative;line-height:32px;background-repeat:repeat-y;background-size:316px 1px;background-color:#fff}body.light{background:linear-gradient(to right, #ff6a00 4px, #f7f7f7 4px 316px, #fff 316px)}div{outline:none}@font-face{font-family:'Karla';font-style:normal;font-weight:400;src:url("+I+");src:url("+A+') format("embedded-opentype"),url('+M+') format("woff2"),url('+U+') format("woff"),url('+B+') format("truetype"),url('+F+") format(\"svg\")}@font-face{font-family:'Karla';font-style:normal;font-weight:700;src:url("+V+");src:url("+H+') format("embedded-opentype"),url('+G+') format("woff2"),url('+K+') format("woff"),url('+Y+') format("truetype"),url('+J+") format(\"svg\")}.header{width:316px}.header h1.logo{width:280px;margin:0px 20px 0px 24px}.header h1.logo a{display:block;position:relative;padding:4px 0;color:#000;text-decoration:none;font-size:1.0rem;line-height:1.6rem;font-weight:normal;width:260px;outline:1px dotted transparent}.header h1.logo a span{display:block}.header h1.logo a span.title{display:block;font-size:1.6rem;font-weight:normal;margin-top:10px;letter-spacing:-1px}.header h1.logo a span.title strong{color:#ff6a00}.header h1.logo a svg{width:65px;height:65px;margin-left:-10px;position:absolute;left:0;color:#ff6a00}.header h1.logo a:focus{outline:1px dotted rgba(0,0,0,0.2)}.quick-links{position:absolute;top:10px;right:20px;width:1000px;text-align:right;list-style:none;margin:0px;padding:0px}.quick-links li{position:relative;display:inline-block}.quick-links li a{padding:8px;padding-left:28px;padding-right:4px;position:relative;color:#222;margin:0px 12px;text-decoration:none;cursor:pointer;outline:none;-webkit-transition:color .15s;-moz-transition:color .15s;-ms-transition:color .15s;-o-transition:color .15s;transition:color .15s}.quick-links li a svg{position:absolute;left:4px;top:8px;height:18px}.quick-links li a:hover{color:#ff6a00}.quick-links li a.dropdown{padding-right:8px}.quick-links li a.dropdown svg.icon-caret-down{position:relative;width:10px;top:3px;margin-left:6px}.quick-links ul.dropdown-menu{z-index:999;position:absolute;top:34px;right:0px;width:220px;box-shadow:rgba(0,0,0,0.2) 0px 4px 10px;text-align:left;background:white;padding:0px;margin:0px;list-style:none}.quick-links ul.dropdown-menu li{display:block}.quick-links ul.dropdown-menu li a{display:block;position:relative;color:#222;padding:4px 12px;margin:0px;text-decoration:none;-webkit-transition:background .15s;-moz-transition:background .15s;-ms-transition:background .15s;-o-transition:background .15s;transition:background .15s}.quick-links ul.dropdown-menu li a:hover{background:#e7f1f4}.quick-links .nav-anim-enter{opacity:0.01;transform:scale(0.95)}.quick-links .nav-anim-enter-active{opacity:1;transform:scale(1);transition:all 300ms}.quick-links .nav-anim-exit{opacity:1;transform:scale(1)}.quick-links .nav-anim-exit-active{opacity:0.01;transform:scale(0.95);transition:all 300ms}.quick-links .switch-language{position:relative;padding-left:32px;padding-right:20px}.quick-links .switch-language .switch{position:absolute;top:-3px;left:0}.quick-links .switch-mode{position:relative;padding-left:32px;padding-right:20px}.quick-links .switch-mode .switch{position:absolute;top:-3px;left:0}.quick-links .icon-cloud-tookit{width:25px;height:25px;top:4px;left:0px}.quick-links .icon-feedback{width:20px;height:20px}.footer{background:#f7f7f7;line-height:24px;padding:0 40px 8px 8px;font-weight:400;color:rgba(0,0,0,0.5);font-size:14px;letter-spacing:-0.5px;text-align:right;margin-left:8px}.footer .footer-container{padding:4px 0 0}.footer a{color:#0188ff;text-decoration:underline}.footer a:hover{text-decoration:none}.colset{display:flex;padding-right:8px}.colset .left{font-weight:700;width:280px;text-align:right;position:relative;padding:8px 32px 8px 0px;flex:0 0 280px}.colset .left.nopadding{padding:0;flex:0 0 310px;margin-left:6px}.colset .right{max-width:900px;padding:8px 0px 8px 32px;flex:2 1 0%;min-height:51px}.colset .right.nopadding{max-width:600px;margin-left:28px;flex:2 1 0%;padding:0px}.colset .right.right-md{max-width:500px;padding:8px 0px 8px 32px;flex:2 1 0%;min-height:187px}.dependencies-box{padding:8px 0 8px 32px;flex:2;max-width:900px;-webkit-transition:all .15s;-moz-transition:all .15s;-ms-transition:all .15s;-o-transition:all .15s;transition:all .15s}.dependencies-box .colset-2{padding-top:20px}.dependencies-box.large{max-width:1200px}.colset-2{display:flex;min-height:300px}.colset-2 .column{flex:1 1 0%}.colset-2 .column+.column{padding-left:20px}.control{padding-top:8px}.control+.control{padding-top:16px}label{display:block;color:#706c69;font-size:14px;font-weight:lighter;line-height:17px}.dependencies label{padding:8px 0}.control-input{display:block;border:0;outline:none;border-bottom:3px solid #ebebeb;line-height:16px;font-family:Karla, sans-serif;font-size:15px;box-sizing:border-box;background-clip:padding-box;width:100%;padding:0.35rem 0 0.55rem;border-radius:0;background:#fff;-webkit-transition:border-color .15s;-moz-transition:border-color .15s;-ms-transition:border-color .15s;-o-transition:border-color .15s;transition:border-color .15s}.control-input:hover{border-color:#cbcbcb}.control-input:focus{border-color:#ff6a00}.button{display:inline-block;color:#222;padding:4px 32px;border:2px solid #f1f1f1;background-color:#f1f1f1;border-radius:4px;font-family:Karla, sans-serif;font-size:15px;font-weight:400;cursor:pointer;line-height:32px;-webkit-transition:all .15s;-moz-transition:all .15s;-ms-transition:all .15s;-o-transition:all .15s;transition:all .15s;white-space:nowrap;text-decoration:none;outline:1px dotted transparent}.button:hover{border:2px solid #e4e4e4;background-color:#e4e4e4}.button:focus{outline:1px dotted rgba(0,0,0,0.2)}.button.primary{color:#fff;border:2px solid #ff6a00;background-color:#ff6a00;-webkit-transition:all .15s;-moz-transition:all .15s;-ms-transition:all .15s;-o-transition:all .15s;transition:all .15s}.button.primary:hover{border:2px solid #e65f00;background-color:#e65f00}.button.blue{color:#fff;border:2px solid #3d96f7;background-color:#3d96f7;-webkit-transition:all .15s;-moz-transition:all .15s;-ms-transition:all .15s;-o-transition:all .15s;transition:all .15s}.button.blue:hover{border:2px solid #3391f7;background-color:#3391f7}.button+.button{margin-left:6px}.control-error{padding:16px 0}.control-error p{padding:0;margin:0;line-height:24px}.control-error p a{color:#0188ff;text-decoration:underline}.control-error p a:hover{text-decoration:none}.control-error .title{color:#f30808}.control-warning{padding:6px 0;color:#eb4200}.control-warning a{color:#0188ff;text-decoration:underline}.control-warning a:hover{text-decoration:none}.sticky{position:sticky;bottom:0px;z-index:100}.see-all{position:absolute;top:38px;right:35px;font-weight:400;width:80px;height:22px;line-height:22px;cursor:pointer;text-decoration:underline;color:#097dff;outline:1px dotted transparent}.see-all:focus{outline:1px dotted rgba(0,0,0,0.2)}.submit{bottom:0px;width:auto;background:white;height:36px;padding:18px 0 29px;margin-right:12px;border-top:1px solid #ccc}.colset-submit .right.nopadding{max-width:100%;background:white;margin-left:0;padding-left:28px;max-width:1212px}.radio{display:inline-block;border-bottom:3px solid #e4e4e4;text-decoration:none;color:#888;line-height:32px;padding:0 16px;text-align:center;font-weight:700;cursor:pointer;margin-right:4px;-webkit-transition:all .15s;-moz-transition:all .15s;-ms-transition:all .15s;-o-transition:all .15s;transition:all .15s;outline:1px dotted transparent}.radio:focus{outline:1px dotted rgba(0,0,0,0.2)}.radio:hover{border-color:#cbcbcb;color:#222}.radio.checked{border-bottom-color:#ff6a00;color:#000}.radio.err{color:#8e1313;background:#fbe5e5;border-bottom-color:#d60000;cursor:not-allowed}.dependencies-list,ul.dependencies-list{list-style:none;padding:0;margin:0}.dependencies-list .dependency-item,ul.dependencies-list .dependency-item{position:relative;display:block;text-decoration:none;padding:16px;padding-right:60px;color:rgba(34,34,34,0.8);background:#f7f7f7;cursor:pointer;font-size:14px;display:flex;align-items:center;line-height:24px}.dependencies-list .dependency-item:focus,ul.dependencies-list .dependency-item:focus{outline:1px dotted rgba(0,0,0,0.2)}.dependencies-list .dependency-item strong,ul.dependencies-list .dependency-item strong{color:#222}.dependencies-list .dependency-item input,ul.dependencies-list .dependency-item input{display:none}.dependencies-list .dependency-item div,ul.dependencies-list .dependency-item div{padding:0;margin:0}.dependencies-list .dependency-item span,ul.dependencies-list .dependency-item span{font-size:13px}.dependencies-list .dependency-item .icon,ul.dependencies-list .dependency-item .icon{position:absolute;display:block;border:2px solid #e4e4e4;height:24px;width:24px;margin-top:-12px;top:50%;right:16px;border-radius:14px;color:#222}.dependencies-list .dependency-item .icon-times,.dependencies-list .dependency-item .icon-check,.dependencies-list .dependency-item .icon-plus,ul.dependencies-list .dependency-item .icon-times,ul.dependencies-list .dependency-item .icon-check,ul.dependencies-list .dependency-item .icon-plus{display:block;opacity:0;width:12px;margin:0 auto;position:absolute;top:5px;left:6px}.dependencies-list .dependency-item .icon-times,ul.dependencies-list .dependency-item .icon-times{left:7px;width:10px;color:#d20000}.dependencies-list .dependency-item .icon-check,ul.dependencies-list .dependency-item .icon-check{top:6px}.dependencies-list .dependency-item.selected,ul.dependencies-list .dependency-item.selected{background:#e7f1f4}.dependencies-list .dependency-item.selected .icon,ul.dependencies-list .dependency-item.selected .icon{border-color:rgba(161,200,212,0.6);color:#356574}.dependencies-list .dependency-item.selected .icon-plus,ul.dependencies-list .dependency-item.selected .icon-plus{opacity:1}.dependencies-list .dependency-item.checked,.dependencies-list .dependency-item .selected,ul.dependencies-list .dependency-item.checked,ul.dependencies-list .dependency-item .selected{background:white;box-shadow:0 2px 3px 1px rgba(0,0,0,0.1)}.dependencies-list .dependency-item.checked .icon,.dependencies-list .dependency-item .selected .icon,ul.dependencies-list .dependency-item.checked .icon,ul.dependencies-list .dependency-item .selected .icon{border-color:rgba(0,0,0,0.1);color:#ff6a00}.dependencies-list .dependency-item.checked .icon-check,.dependencies-list .dependency-item .selected .icon-check,ul.dependencies-list .dependency-item.checked .icon-check,ul.dependencies-list .dependency-item .selected .icon-check{opacity:1}.dependencies-list .dependency-item.checked:hover .icon-plus,ul.dependencies-list .dependency-item.checked:hover .icon-plus{opacity:0}.dependencies-list .dependency-item.checked:hover .icon-check,ul.dependencies-list .dependency-item.checked:hover .icon-check{opacity:0}.dependencies-list .dependency-item.checked:hover .icon-times,ul.dependencies-list .dependency-item.checked:hover .icon-times{opacity:1}.dependencies-list .dependency-item.invalid,.dependencies-list .dependency-item.checked.invalid,ul.dependencies-list .dependency-item.invalid,ul.dependencies-list .dependency-item.checked.invalid{opacity:0.6;cursor:not-allowed;background:#f7f7f7}.dependencies-list .dependency-item.invalid:hover,.dependencies-list .dependency-item.checked.invalid:hover,ul.dependencies-list .dependency-item.invalid:hover,ul.dependencies-list .dependency-item.checked.invalid:hover{background:#f7f7f7}.dependencies-list .dependency-item.invalid .warning,.dependencies-list .dependency-item.checked.invalid .warning,ul.dependencies-list .dependency-item.invalid .warning,ul.dependencies-list .dependency-item.checked.invalid .warning{color:#f30808}.dependencies-list .dependency-item.invalid .icon,ul.dependencies-list .dependency-item.invalid .icon{display:none}.dependencies-list .dependency-item.checked.invalid,ul.dependencies-list .dependency-item.checked.invalid{cursor:pointer}.dependencies-list .dependency-item.checked.invalid .icon,ul.dependencies-list .dependency-item.checked.invalid .icon{display:block}.dependencies-list .dependency-item.checked.invalid .icon-check,ul.dependencies-list .dependency-item.checked.invalid .icon-check{opacity:0}.dependencies-list .dependency-item.checked.invalid .icon-times,ul.dependencies-list .dependency-item.checked.invalid .icon-times{opacity:1}.dependencies-list.dependencies-list-checked .dependency-item-span,ul.dependencies-list.dependencies-list-checked .dependency-item-span{padding:6px 0}.dependencies-list.dependencies-list-checked .dependency-item-span>a,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a{position:relative;display:block;text-decoration:none;padding:16px;padding-right:60px;color:rgba(34,34,34,0.8);background:#f7f7f7;cursor:pointer;font-size:14px;display:flex;align-items:center;line-height:24px}.dependencies-list.dependencies-list-checked .dependency-item-span>a:focus,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a:focus{outline:1px dotted rgba(0,0,0,0.2)}.dependencies-list.dependencies-list-checked .dependency-item-span>a strong,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a strong{color:#222}.dependencies-list.dependencies-list-checked .dependency-item-span>a input,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a input{display:none}.dependencies-list.dependencies-list-checked .dependency-item-span>a div,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a div{padding:0;margin:0}.dependencies-list.dependencies-list-checked .dependency-item-span>a span,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a span{font-size:13px}.dependencies-list.dependencies-list-checked .dependency-item-span>a .icon,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a .icon{position:absolute;display:block;border:2px solid #e4e4e4;height:24px;width:24px;margin-top:-12px;top:50%;right:16px;border-radius:14px;color:#222}.dependencies-list.dependencies-list-checked .dependency-item-span>a .icon-times,.dependencies-list.dependencies-list-checked .dependency-item-span>a .icon-check,.dependencies-list.dependencies-list-checked .dependency-item-span>a .icon-plus,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a .icon-times,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a .icon-check,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a .icon-plus{display:block;opacity:0;width:12px;margin:0 auto;position:absolute;top:5px;left:6px}.dependencies-list.dependencies-list-checked .dependency-item-span>a .icon-times,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a .icon-times{left:7px;width:10px;color:#d20000}.dependencies-list.dependencies-list-checked .dependency-item-span>a .icon-check,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a .icon-check{top:6px}.dependencies-list.dependencies-list-checked .dependency-item-span>a.selected,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.selected{background:#e7f1f4}.dependencies-list.dependencies-list-checked .dependency-item-span>a.selected .icon,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.selected .icon{border-color:rgba(161,200,212,0.6);color:#356574}.dependencies-list.dependencies-list-checked .dependency-item-span>a.selected .icon-plus,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.selected .icon-plus{opacity:1}.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked,.dependencies-list.dependencies-list-checked .dependency-item-span>a .selected,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a .selected{background:white;box-shadow:0 2px 3px 1px rgba(0,0,0,0.1)}.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked .icon,.dependencies-list.dependencies-list-checked .dependency-item-span>a .selected .icon,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked .icon,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a .selected .icon{border-color:rgba(0,0,0,0.1);color:#ff6a00}.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked .icon-check,.dependencies-list.dependencies-list-checked .dependency-item-span>a .selected .icon-check,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked .icon-check,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a .selected .icon-check{opacity:1}.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked:hover .icon-plus,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked:hover .icon-plus{opacity:0}.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked:hover .icon-check,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked:hover .icon-check{opacity:0}.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked:hover .icon-times,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked:hover .icon-times{opacity:1}.dependencies-list.dependencies-list-checked .dependency-item-span>a.invalid,.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.invalid,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid{opacity:0.6;cursor:not-allowed;background:#f7f7f7}.dependencies-list.dependencies-list-checked .dependency-item-span>a.invalid:hover,.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid:hover,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.invalid:hover,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid:hover{background:#f7f7f7}.dependencies-list.dependencies-list-checked .dependency-item-span>a.invalid .warning,.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid .warning,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.invalid .warning,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid .warning{color:#f30808}.dependencies-list.dependencies-list-checked .dependency-item-span>a.invalid .icon,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.invalid .icon{display:none}.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid{cursor:pointer}.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid .icon,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid .icon{display:block}.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid .icon-check,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid .icon-check{opacity:0}.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid .icon-times,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid .icon-times{opacity:1}.dependencies-list .dependency-item-span,ul.dependencies-list .dependency-item-span{display:block;padding-top:4px}.dependencies-list li,ul.dependencies-list li{margin:0}.dependencies-list .fade-enter,ul.dependencies-list .fade-enter{max-height:0;opacity:0}.dependencies-list .fade-enter-active,ul.dependencies-list .fade-enter-active{max-height:200px;opacity:1;transition:all 250ms}.dependencies-list .fade-exit,ul.dependencies-list .fade-exit{max-height:200px;opacity:1}.dependencies-list .fade-exit-active,ul.dependencies-list .fade-exit-active{max-height:0;opacity:0;transition:all 250ms}.more{line-height:16px;padding-top:4px;margin-top:4px}.more div.wrap{border-bottom:3px solid #ebebeb;padding-bottom:4px}.more div.wrap a{position:relative;display:block;height:28px;line-height:28px;margin-top:4px;padding:0 16px 0 24px;color:#222;text-decoration:none;border-radius:4px;outline:1px dotted transparent;-webkit-transition:all .15s;-moz-transition:all .15s;-ms-transition:all .15s;-o-transition:all .15s;transition:all .15s}.more div.wrap a:focus{outline:1px dotted rgba(0,0,0,0.2)}.more div.wrap a:hover{color:#222}.more div.wrap a:hover svg{color:#ff6a00}.more div.wrap a svg{position:absolute;width:8px;left:8px;top:8px;color:#222;-webkit-transition:all .15s;-moz-transition:all .15s;-ms-transition:all .15s;-o-transition:all .15s;transition:all .15s}.more div.wrap a.toggle svg{transform:rotate(90deg)}.demos{line-height:16px}.demos div.wrap{border-bottom:3px solid #ebebeb;padding-bottom:4px}.demos div.wrap a{position:relative;display:block;height:28px;line-height:28px;padding:0 16px 0 24px;color:#222;text-decoration:none;border-radius:4px;outline:1px dotted transparent;-webkit-transition:all .15s;-moz-transition:all .15s;-ms-transition:all .15s;-o-transition:all .15s;transition:all .15s}.demos div.wrap a:focus{outline:1px dotted rgba(0,0,0,0.2)}.demos div.wrap a:hover{color:#222}.demos div.wrap a:hover svg{color:#ff6a00}.demos div.wrap a svg{position:absolute;width:8px;left:8px;top:8px;color:#222;-webkit-transition:all .15s;-moz-transition:all .15s;-ms-transition:all .15s;-o-transition:all .15s;transition:all .15s}.demos div.wrap a.toggle svg{transform:rotate(90deg)}.demos div.wrap a strong{float:right;font-weight:normal;background-color:#f7f7f7;padding:0 8px;margin-left:8px;border-radius:4px;line-height:24px;font-weight:bold;color:rgba(34,34,34,0.7)}.demos div.wrap a strong span{color:#222;padding:0px 3px 0px 3px}.panel{overflow:hidden;max-height:0;-webkit-transition:all .45s;-moz-transition:all .45s;-ms-transition:all .45s;-o-transition:all .45s;transition:all .45s}.panel.panel-active{max-height:600px}.panel .panel-wrap{border:1px solid #f5f5f5;border-top:0 none;padding:12px 24px;padding-bottom:24px}.casePanel{overflow:hidden;max-height:0;-webkit-transition:all .45s;-moz-transition:all .45s;-ms-transition:all .45s;-o-transition:all .45s;transition:all .45s}.casePanel.casePanel-active{max-height:600px}.casePanel .panel-wrap{border:1px solid #f5f5f5;border-top:0 none;padding:8px 16px}.groups{padding:0px 0px 16px 0}.groups .group{line-height:1.4rem;position:relative;padding-bottom:12px}.groups .group a{position:relative;display:block;text-decoration:none;padding:16px;padding-right:60px;color:rgba(34,34,34,0.8);background:#f7f7f7;cursor:pointer;font-size:14px;display:flex;align-items:center;line-height:24px}.groups .group a:focus{outline:1px dotted rgba(0,0,0,0.2)}.groups .group a strong{color:#222}.groups .group a input{display:none}.groups .group a div{padding:0;margin:0}.groups .group a span{font-size:13px}.groups .group a .icon{position:absolute;display:block;border:2px solid #e4e4e4;height:24px;width:24px;margin-top:-12px;top:50%;right:16px;border-radius:14px;color:#222}.groups .group a .icon-times,.groups .group a .icon-check,.groups .group a .icon-plus{display:block;opacity:0;width:12px;margin:0 auto;position:absolute;top:5px;left:6px}.groups .group a .icon-times{left:7px;width:10px;color:#d20000}.groups .group a .icon-check{top:6px}.groups .group a.selected{background:#e7f1f4}.groups .group a.selected .icon{border-color:rgba(161,200,212,0.6);color:#356574}.groups .group a.selected .icon-plus{opacity:1}.groups .group a.checked,.groups .group a .selected{background:white;box-shadow:0 2px 3px 1px rgba(0,0,0,0.1)}.groups .group a.checked .icon,.groups .group a .selected .icon{border-color:rgba(0,0,0,0.1);color:#ff6a00}.groups .group a.checked .icon-check,.groups .group a .selected .icon-check{opacity:1}.groups .group a.checked:hover .icon-plus{opacity:0}.groups .group a.checked:hover .icon-check{opacity:0}.groups .group a.checked:hover .icon-times{opacity:1}.groups .group a.invalid,.groups .group a.checked.invalid{opacity:0.6;cursor:not-allowed;background:#f7f7f7}.groups .group a.invalid:hover,.groups .group a.checked.invalid:hover{background:#f7f7f7}.groups .group a.invalid .warning,.groups .group a.checked.invalid .warning{color:#f30808}.groups .group a.invalid .icon{display:none}.groups .group a.checked.invalid{cursor:pointer}.groups .group a.checked.invalid .icon{display:block}.groups .group a.checked.invalid .icon-check{opacity:0}.groups .group a.checked.invalid .icon-times{opacity:1}.groups .group a:hover{background:#e7f1f4}.groups .group a:hover .icon{border-color:rgba(161,200,212,0.6);color:#15282e}.groups .group a:hover .icon-plus{opacity:1}.groups .group a.checked:hover{background:white}.groups .group a.checked:hover .icon{border-color:rgba(0,0,0,0.1)}.groups .group .group-title{border-bottom:1px solid #e4e4e4;font-weight:bold;margin-top:8px;cursor:pointer}.groups .group .group-title a{display:block;position:relative;margin:4px 0;padding:4px 0;padding-left:26px;line-height:22px;font-size:16px;background:white}.groups .group .group-title a:focus{outline:1px dotted rgba(0,0,0,0.2)}.groups .group .group-title a svg{position:absolute;top:8px;left:8px;width:8px;-webkit-transition:all .15s;-moz-transition:all .15s;-ms-transition:all .15s;-o-transition:all .15s;transition:all .15s}.groups .group .group-title a.toggleGroupItems svg{transform:rotate(90deg)}.groups .group .group-title a:hover svg{color:#ff6a00}.groups .group:first-child{padding-top:8px}.groups div.group-items{padding-top:15px;display:grid;grid-template-columns:repeat(auto-fill, minmax(250px, 1fr));grid-template-rows:repeat(auto-fill, minmax(85, 0.75fr));grid-gap:8px 10px}.search-label{padding-bottom:8px}.search-no-selected{color:rgba(0,0,0,0.4)}.search-more-warning,.search-no-result{padding:8px 0 16px;color:rgba(0,0,0,0.5)}.search-more-warning p,.search-no-result p{padding:0;margin:0;line-height:24px;padding-left:16px}.search-no-result p{padding-left:0}.sticky-label{padding-top:4px;position:sticky;top:0}.tab{position:sticky;top:0;z-index:90;background:white;padding:0 20px;margin:0 -20px;margin-bottom:10px}.tab .tab-container{border-bottom:3px solid #f3f3f3}.tab a{display:inline-block;margin-bottom:-3px;text-decoration:none;color:rgba(34,34,34,0.6);border-bottom:3px solid #f3f3f3;padding:15px 16px 11px;font-weight:bold;line-height:16px;outline:1px dotted transparent;-webkit-transition:all .15s;-moz-transition:all .15s;-ms-transition:all .15s;-o-transition:all .15s;transition:all .15s}.tab a:focus{outline:1px dotted rgba(0,0,0,0.2)}.tab a svg{width:16px}.tab a:hover{color:#222;border-bottom:3px solid #cbcbcb}.tab a.active{color:#222;border-bottom:3px solid #ff6a00}.tab a span{margin:0px 0px 0px 5px;vertical-align:top}.tab strong{float:right;font-weight:normal;background-color:#f7f7f7;padding:0 8px;border-radius:4px;line-height:24px;margin-top:6px;font-weight:bold;color:rgba(34,34,34,0.7)}.tab strong span{color:#222}.placeholder-radios .placeholder-radio{display:inline-block;height:32px;background:#f7f7f7;border-bottom:3px solid #e4e4e4;margin-right:4px}.placeholder-input{display:block;height:32px;background:#f7f7f7;border-bottom:3px solid #e4e4e4;position:relative;margin-top:15px}.placeholder-input:after{display:inline-block;content:' ';position:absolute;top:-15px;left:0;height:15px;background:#f7f7f7;width:70px}.placeholder-text{display:inline-block;height:14px;background:#f7f7f7}.placeholder-dropdown{display:block;margin-top:-3px;height:32px;background:#f7f7f7;border-bottom:3px solid #e4e4e4;position:relative}.placeholder-tabs{display:block;height:378px}.placeholder-tabs .placeholder-header{display:block;height:45px;border-bottom:3px solid #e4e4e4;position:relative}.placeholder-tabs .placeholder-tab{display:inline-block;height:45px;background:#f7f7f7;width:42px}.placeholder-button{display:inline-block;height:44px;background:#f7f7f7;position:relative;border-radius:4px}.placeholder-button+.placeholder-button{margin-left:6px}.warnings{position:relative;margin-bottom:8px;background:#fff0d0;padding:16px;color:#8f2500;line-height:26px;margin-top:-45px}.warnings .close{display:block;position:absolute;top:0;right:0;padding:12px 12px;height:28px;cursor:pointer;opacity:0.7;color:#8f2500}.warnings .close svg{width:14px}.warnings .close:hover{opacity:1}.warnings ul{padding:0;padding-left:20px;margin:0}.warnings li{padding:0;margin:0}.switch-checkbox{height:0;width:0;visibility:hidden;position:absolute}.switch-label{cursor:pointer;width:25px;height:16px;position:relative;display:inline-block}.switch-label::after{content:' ';width:25px;height:6px;background:rgba(0,0,0,0.2);position:absolute;top:0;left:0;z-index:1;border-radius:6px;top:5px}.switch-label .switch-button{content:'';z-index:2;position:absolute;top:0px;left:0;width:16px;height:16px;border-radius:16px;transition:0.2s left;background:#222}.switch-checkbox:checked+.switch-label .switch-button{left:9px;background:#222;width:16px}.switch-label:active .switch-button{width:16px}.Toastify__toast-container{z-index:9999;-webkit-transform:translate3d(0, 0, 9999px);position:fixed;padding:4px;width:400px;box-sizing:border-box;color:#fff}.Toastify__toast-container--top-left{top:1em;left:1em}.Toastify__toast-container--top-center{top:1em;left:50%;margin-left:-200px}.Toastify__toast-container--top-right{top:1em;right:1em}.Toastify__toast-container--bottom-left{bottom:1em;left:1em}.Toastify__toast-container--bottom-center{bottom:1em;left:50%;margin-left:-200px}.Toastify__toast-container--bottom-right{bottom:1em;right:1em}@media only screen and (max-width: 480px){.Toastify__toast-container{width:100vw;padding:0;left:0;margin:0}.Toastify__toast-container--top-left,.Toastify__toast-container--top-center,.Toastify__toast-container--top-right{top:0}.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-right{bottom:0}.Toastify__toast-container--rtl{right:0;left:initial}}.Toastify__toast{position:relative;min-height:64px;box-sizing:border-box;margin-bottom:1rem;padding:8px;border-radius:1px;box-shadow:0 1px 10px 0 rgba(0,0,0,0.1),0 2px 15px 0 rgba(0,0,0,0.05);display:flex;justify-content:space-between;max-height:800px;overflow:hidden;font-family:sans-serif;cursor:pointer;direction:ltr}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--default{background:#fff;color:#aaa}.Toastify__toast--info{background:#3498db}.Toastify__toast--success{background:#ff6a00}.Toastify__toast--warning{background:#e8ba00}.Toastify__toast--error{background:#e74c3c}.Toastify__toast-body{margin:auto 0;flex:1}@media only screen and (max-width: 480px){.Toastify__toast{margin-bottom:0}}.Toastify__close-button{color:#fff;font-weight:bold;font-size:14px;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:0.7;transition:0.3s ease;align-self:flex-start}.Toastify__close-button--default{color:#000;opacity:0.3}.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}100%{transform:scaleX(0)}}.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:5px;z-index:9999;opacity:0.7;background-color:rgba(255,255,255,0.7);transform-origin:left}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:initial;transform-origin:right}.Toastify__progress-bar--default{background:linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55)}@keyframes Toastify__bounceInRight{from,60%,75%,90%,to{animation-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}from{opacity:0;transform:translate3d(3000px, 0, 0)}60%{opacity:1;transform:translate3d(-25px, 0, 0)}75%{transform:translate3d(10px, 0, 0)}90%{transform:translate3d(-5px, 0, 0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px, 0, 0)}to{opacity:0;transform:translate3d(2000px, 0, 0)}}@keyframes Toastify__bounceInLeft{from,60%,75%,90%,to{animation-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}0%{opacity:0;transform:translate3d(-3000px, 0, 0)}60%{opacity:1;transform:translate3d(25px, 0, 0)}75%{transform:translate3d(-10px, 0, 0)}90%{transform:translate3d(5px, 0, 0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px, 0, 0)}to{opacity:0;transform:translate3d(-2000px, 0, 0)}}@keyframes Toastify__bounceInUp{from,60%,75%,90%,to{animation-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}from{opacity:0;transform:translate3d(0, 3000px, 0)}60%{opacity:1;transform:translate3d(0, -20px, 0)}75%{transform:translate3d(0, 10px, 0)}90%{transform:translate3d(0, -5px, 0)}to{transform:translate3d(0, 0, 0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0, -10px, 0)}40%,45%{opacity:1;transform:translate3d(0, 20px, 0)}to{opacity:0;transform:translate3d(0, -2000px, 0)}}@keyframes Toastify__bounceInDown{from,60%,75%,90%,to{animation-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}0%{opacity:0;transform:translate3d(0, -3000px, 0)}60%{opacity:1;transform:translate3d(0, 25px, 0)}75%{transform:translate3d(0, -10px, 0)}90%{transform:translate3d(0, 5px, 0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0, 10px, 0)}40%,45%{opacity:1;transform:translate3d(0, -20px, 0)}to{opacity:0;transform:translate3d(0, 2000px, 0)}}.Toastify__bounce-enter--top-left,.Toastify__bounce-enter--bottom-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--top-right,.Toastify__bounce-enter--bottom-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--top-left,.Toastify__bounce-exit--bottom-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--top-right,.Toastify__bounce-exit--bottom-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{from{opacity:0;transform:scale3d(0.3, 0.3, 0.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{from{opacity:1}50%{opacity:0;transform:scale3d(0.3, 0.3, 0.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{from{transform:perspective(400px) rotate3d(1, 0, 0, 90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotate3d(1, 0, 0, -20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotate3d(1, 0, 0, 10deg);opacity:1}80%{transform:perspective(400px) rotate3d(1, 0, 0, -5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{from{transform:perspective(400px)}30%{transform:perspective(400px) rotate3d(1, 0, 0, -20deg);opacity:1}to{transform:perspective(400px) rotate3d(1, 0, 0, 90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{from{transform:translate3d(110%, 0, 0);visibility:visible}to{transform:translate3d(0, 0, 0)}}@keyframes Toastify__slideInLeft{from{transform:translate3d(-110%, 0, 0);visibility:visible}to{transform:translate3d(0, 0, 0)}}@keyframes Toastify__slideInUp{from{transform:translate3d(0, 110%, 0);visibility:visible}to{transform:translate3d(0, 0, 0)}}@keyframes Toastify__slideInDown{from{transform:translate3d(0, -110%, 0);visibility:visible}to{transform:translate3d(0, 0, 0)}}@keyframes Toastify__slideOutRight{from{transform:translate3d(0, 0, 0)}to{visibility:hidden;transform:translate3d(110%, 0, 0)}}@keyframes Toastify__slideOutLeft{from{transform:translate3d(0, 0, 0)}to{visibility:hidden;transform:translate3d(-110%, 0, 0)}}@keyframes Toastify__slideOutDown{from{transform:translate3d(0, 0, 0)}to{visibility:hidden;transform:translate3d(0, 500px, 0)}}@keyframes Toastify__slideOutUp{from{transform:translate3d(0, 0, 0)}to{visibility:hidden;transform:translate3d(0, -500px, 0)}}.Toastify__slide-enter--top-left,.Toastify__slide-enter--bottom-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--top-right,.Toastify__slide-enter--bottom-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--top-left,.Toastify__slide-exit--bottom-left{animation-name:Toastify__slideOutLeft}.Toastify__slide-exit--top-right,.Toastify__slide-exit--bottom-right{animation-name:Toastify__slideOutRight}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown}.Toastify__toast-container{line-height:22px}.Toastify__toast{padding:16px}.Toastify__toast{position:relative;min-height:32px;padding:12px}.Toastify__toast .toast-close{display:block;position:absolute;top:0;right:0;padding:6px 8px;height:28px;cursor:pointer;opacity:0;color:white}.Toastify__toast .toast-close svg{width:14px}.Toastify__toast:hover .toast-close{opacity:0.6}@media (max-width: 900px){.desktop-only{display:none}body,body.light{background:none;padding-bottom:94px;min-width:0}.colset{display:block;max-width:none;min-width:0;padding:16px}.colset .left{text-align:left;padding:0;max-width:none;min-width:0;flex:none}.colset .right{padding:0;max-width:none;min-width:0;flex:none}.colset .right.right-md{padding:0;max-width:none;width:auto;flex:0}.header{padding:0;border-top:4px solid #ff6a00;width:auto}.header h1.logo a{margin:0 auto}.quick-links{position:relative;text-align:center;display:block;top:0;right:0;border-top:1px solid #e4e4e4;border-bottom:1px solid #e4e4e4;background:#f7f7f7;padding:0.5rem 0;width:auto}.colset-2{display:block;flex-flow:wrap}.colset-2 .column{padding:0;margin:0;flex:none}.colset-2 .column+.column{margin:0;padding:0;padding-top:24px}.dependencies-box{padding:8px 0}.colset .left.nopadding{margin-left:0;padding:0px;flex:none;width:auto;text-align:center;display:none}.sticky .colset{padding:0}.colset .right.nopadding{padding:0;margin:0;max-width:none;min-width:0;flex:none}.colset .right.nopadding .submit{width:auto;text-align:center}.colset .right.nopadding .placeholder-button{margin:0 auto}.groups .group{padding-right:0;padding-left:0}.groups .group .group-title{position:relative;margin:0;float:none;top:0}.submit{margin-right:0}.tab{padding:0;margin:0}.error{position:relative;left:auto;top:auto;padding:0 40px}.warnings{margin-top:0}.button{padding:4px 18px}.share-area>.button,.share-area{width:90px}}body.dark{background-color:#1b1f23;background:linear-gradient(to right, #ff6a00 4px, #262a2d 4px 316px, #1b1f23 316px);color:#d1d2d3}body.dark .header h1.logo a{color:#fff}body.dark .header h1.logo a span.title strong{color:#ff6a00}body.dark .header h1.logo a svg{color:#ff6a00}body.dark .radio{color:#8d8f91;border-color:#323638}body.dark .radio:hover{color:#d1d2d3;border-color:#4a5053}body.dark .radio.checked{color:#fff;border-bottom-color:#ff6a00}body.dark .radio:hover{border-bottom-color:#ff6a00}body.dark .colset-submit .right.nopadding{background:#1b1f23}body.dark .submit{background:#1b1f23;border-color:#4a5053}body.dark .tab{background:#1b1f23}body.dark .tab .tab-container{border-color:#323638}body.dark .tab a{color:#8d8f91;border-color:#323638}body.dark .tab a:hover{color:#d1d2d3;border-bottom-color:#4a5053}body.dark .tab a.active{color:#fff;border-bottom-color:#ff6a00}body.dark .tab a.active:hover{border-bottom-color:#ff6a00}body.dark .control-input{background:#1b1f23;color:#fff;border-color:#323638}body.dark .control-input:hover{border-color:#4a5053}body.dark .control-input:focus{border-bottom-color:#ff6a00}body.dark .control-input:focus:hover{border-bottom-color:#ff6a00}body.dark .panel .panel-wrap{border-color:#323638}body.dark .casePanel .panel-wrap{border-color:#323638}body.dark .more div.wrap{border-color:#323638}body.dark .more div.wrap a{color:#d1d2d3}body.dark .more div.wrap a:hover{color:#d1d2d3}body.dark .more div.wrap a:hover svg{color:#ff6a00}body.dark .more div.wrap a svg{color:#d1d2d3}body.dark .demos div.wrap{border-color:#323638}body.dark .demos div.wrap a{color:#d1d2d3}body.dark .demos div.wrap a:hover{color:#d1d2d3}body.dark .demos div.wrap a:hover svg{color:#ff6a00}body.dark .demos div.wrap a svg{color:#d1d2d3}body.dark .demos div.wrap a strong{color:#8d8f91;background:#32373b}body.dark .demos div.wrap a strong span{color:#fff}body.dark .button{background:#262a2d;border-color:#262a2d;color:#fff}body.dark .button:hover{background:#32373b;border-color:#32373b}body.dark .button.primary{border-color:#ff6a00;background-color:#ff6a00}body.dark .button.primary:hover{border-color:#e65f00;background-color:#e65f00}body.dark .footer{background:#262a2d;color:#8d8f91}body.dark label{color:#494c4e}body.dark .search-no-selected{color:#d1d2d3}body.dark .groups .group a{background:#262a2d;color:#d1d2d3}body.dark .groups .group a strong{color:#fff}body.dark .groups .group a .icon{border:2px solid #4a5053;color:#d1d2d3}body.dark .groups .group a:hover{background:#32373b}body.dark .groups .group a:hover .icon{color:#d1d2d3}body.dark .groups .group .group-title{border-color:#323638}body.dark .groups .group .group-title a{background:#1b1f23}body.dark .quick-links li a{color:#d1d2d3}body.dark .quick-links li a:hover{color:#ff6a00}body.dark .groups .group a.invalid,body.dark .groups .group a.checked.invalid{background:#23282b}body.dark .groups .group a.invalid strong,body.dark .groups .group a.checked.invalid strong{color:#8d8f91}body.dark .groups .group a.invalid:hover,body.dark .groups .group a.checked.invalid:hover{background:#23282b}body.dark .groups .group a.checked,body.dark .groups .group a.selected{background:#363e44}body.dark .groups .group a.checked:hover,body.dark .groups .group a.selected:hover{background:#444e55}body.dark .groups .group a.checked .icon,body.dark .groups .group a .selected .icon{border-color:#4a5053}body.dark .groups .group a.checked .icon:hover,body.dark .groups .group a .selected .icon:hover{border-color:#4a5053}body.dark .groups .group a.checked:hover .icon,body.dark .groups .group a .selected:hover .icon{border-color:#626a6e}body.dark .tab strong{color:#8d8f91;background:#32373b}body.dark .tab strong span{color:#fff}body.dark .dependencies-list .dependency-item.checked,body.dark .dependencies-list .dependency-item .selected,body.dark ul.dependencies-list .dependency-item.checked,body.dark ul.dependencies-list .dependency-item .selected{background:#262a2d;color:#d1d2d3}body.dark .dependencies-list .dependency-item.checked strong,body.dark .dependencies-list .dependency-item .selected strong,body.dark ul.dependencies-list .dependency-item.checked strong,body.dark ul.dependencies-list .dependency-item .selected strong{color:#fff}body.dark .dependencies-list .dependency-item.checked .icon,body.dark .dependencies-list .dependency-item .selected .icon,body.dark ul.dependencies-list .dependency-item.checked .icon,body.dark ul.dependencies-list .dependency-item .selected .icon{border-color:#4a5053;color:#d1d2d3}body.dark .dependencies-list .dependency-item.checked:hover,body.dark .dependencies-list .dependency-item .selected:hover,body.dark ul.dependencies-list .dependency-item.checked:hover,body.dark ul.dependencies-list .dependency-item .selected:hover{background:#32373b}body.dark .dependencies-list .dependency-item.checked:hover .icon,body.dark .dependencies-list .dependency-item .selected:hover .icon,body.dark ul.dependencies-list .dependency-item.checked:hover .icon,body.dark ul.dependencies-list .dependency-item .selected:hover .icon{color:#d1d2d3}body.dark .dependencies-list .dependency-item,body.dark ul.dependencies-list .dependency-item{background:#262a2d;color:#d1d2d3}body.dark .dependencies-list .dependency-item strong,body.dark ul.dependencies-list .dependency-item strong{color:#fff}body.dark .dependencies-list .dependency-item .icon,body.dark ul.dependencies-list .dependency-item .icon{border:2px solid #4a5053;color:#ff6a00}body.dark .dependencies-list .dependency-item:hover,body.dark ul.dependencies-list .dependency-item:hover{background:#32373b}body.dark .dependencies-list .dependency-item:hover .icon,body.dark ul.dependencies-list .dependency-item:hover .icon{color:#d1d2d3}body.dark .dependencies-list .dependency-item.invalid,body.dark .dependencies-list .dependency-item.checked.invalid,body.dark ul.dependencies-list .dependency-item.invalid,body.dark ul.dependencies-list .dependency-item.checked.invalid{background:#23282b}body.dark .dependencies-list .dependency-item.invalid:hover,body.dark .dependencies-list .dependency-item.checked.invalid:hover,body.dark ul.dependencies-list .dependency-item.invalid:hover,body.dark ul.dependencies-list .dependency-item.checked.invalid:hover{background:#23282b}body.dark .dependencies-list .dependency-item.invalid .warning,body.dark .dependencies-list .dependency-item.checked.invalid .warning,body.dark ul.dependencies-list .dependency-item.invalid .warning,body.dark ul.dependencies-list .dependency-item.checked.invalid .warning{color:#ff7676}body.dark .search-more-warning,body.dark .search-no-result{color:#8d8f91}body.dark .dependencies-list .dependency-item.selected,body.dark ul.dependencies-list .dependency-item.selected{background:#32373b}body.dark .dependencies-list .dependency-item.selected .icon,body.dark ul.dependencies-list .dependency-item.selected .icon{color:#d1d2d3}body.dark .dependencies-list-checked .dependency-item.checked .icon,body.dark ul.dependencies-list-checked .dependency-item.checked .icon{color:#ff6a00}body.dark .quick-links ul.dropdown-menu{background:#32373b}body.dark .quick-links ul.dropdown-menu li a{color:#fff}body.dark .quick-links ul.dropdown-menu li a:hover{background:#262a2d}body.dark .popup-share{background:#32373b}body.dark .popup-share .popup-header{border-color:#4a5053}body.dark .popup-share .popup-header .close{color:#8d8f91}body.dark .popup-share .popup-content label{color:#d1d2d3}body.dark .popup-share .control-input{background:#32373b;border-color:#4a5053}body.dark .popup-share .control-input:focus{border-color:#ff6a00}body.dark .popup-share-overlay{background:rgba(27,31,35,0.95)}body.dark .placeholder-radios .placeholder-radio{background:rgba(255,255,255,0.05);border-color:rgba(255,255,255,0.2)}body.dark .placeholder-input,body.dark .placeholder-dropdown{background:rgba(255,255,255,0.05);border-color:rgba(255,255,255,0.2)}body.dark .placeholder-input::after,body.dark .placeholder-dropdown::after{background:rgba(255,255,255,0.05)}body.dark .placeholder-button{background:rgba(255,255,255,0.05)}body.dark .placeholder-tabs .placeholder-header{border-color:rgba(255,255,255,0.2)}body.dark .placeholder-tabs .placeholder-tab{background:rgba(255,255,255,0.05)}body.dark .placeholder-text{background:rgba(255,255,255,0.05)}body.dark .overlay{background:rgba(27,31,35,0.95)}body.dark .modal-explorer{background:#32373b;box-shadow:0 0 0 black}body.dark .modal-fetch{background:#32373b;box-shadow:0 0 0 black}body.dark .modal-fetch .control-input{background:#32373b;border-color:#4a5053}body.dark .modal-fetch .control-input:focus{border-color:#ff6a00}body.dark .modal-explorer .colset-explorer .head,body.dark .modal-explorer .colset-explorer .foot,body.dark .modal-explorer .colset-explorer .left,body.dark .modal-explorer .colset-explorer .right{color:#d1d2d3;border-color:#4a5053}body.dark .modal-explorer .colset-explorer .head .placeholder-text,body.dark .modal-explorer .colset-explorer .foot .placeholder-text,body.dark .modal-explorer .colset-explorer .left .placeholder-text,body.dark .modal-explorer .colset-explorer .right .placeholder-text{background:rgba(255,255,255,0.05)}body.dark .modal-explorer .close{color:#8d8f91}body.dark .modal-explorer .colset-explorer .head .actions{color:#8d8f91}body.dark .explorer-ul .file.selected,body.dark .explorer-ul .folder.selected{color:#fff;background:#262a2d}body.dark .explorer-ul .file.selected:hover,body.dark .explorer-ul .folder.selected:hover{color:#fff;background:#262a2d}body.dark .explorer-ul .file,body.dark .explorer-ul .folder{color:#d1d2d3}body.dark .explorer-ul .file:hover,body.dark .explorer-ul .folder:hover{background:rgba(255,255,255,0.05);color:#fff}body.dark pre.prism-code span.explorer-number{color:rgba(255,255,255,0.5)}body.dark pre.prism-code span.explorer-number:before{background-color:#262a2d;color:rgba(255,255,255,0.5)}body.dark pre.prism-code:before{color:rgba(255,255,255,0.5);background-color:#262a2d}body.dark .explorer-ul .file.disabled,body.dark .explorer-ul .folder.disabled{color:#d1d2d3}body.dark .explorer-ul .file.disabled:hover,body.dark .explorer-ul .folder.disabled:hover{color:#d1d2d3}body.dark .token.cdata,body.dark .token.comment,body.dark .token.doctype,body.dark .token.prolog{color:#8d8f91}body.dark code[class*='language-'],body.dark pre[class*='language-'],body.dark .token.operator,body.dark .token.punctuation,body.dark .token.operator{color:#d1d2d3}body.dark .switch-label::after{background:rgba(255,255,255,0.2)}body.dark .warnings{background:#ffe09c}body.dark .radio.err{background:#32373b;border-color:#f30808}body.dark .switch-label .switch-button,body.dark .switch-checkbox:checked+.switch-label .switch-button{background:#fff}body.dark .modal-explorer .colset-explorer .foot .action:focus,body.dark .modal-explorer .colset-explorer .head a:focus,body.dark .modal-explorer .close:focus,body.dark .header h1.logo a:focus,body.dark .radio:focus,body.dark .tab a:focus,body.dark .more div.wrap a:focus,body.dark .button:focus,body.dark .groups .group a:focus,body.dark .groups .group .group-title span:focus,body.dark .dependencies-list .dependency-item:focus,body.dark ul.dependencies-list .dependency-item:focus,body.dark .explorer-ul .file:focus,body.dark .explorer-ul .folder:focus{outline-color:#76797a}body.dark .groups .group a.invalid .warning,body.dark .groups .group a.checked.invalid .warning{color:#ff7676}body.dark .footer a,body.dark .popup-share .popup-content .link,body.dark .modal-explorer .colset-explorer .action,body.dark .markdown a,body.dark .markdown-source a{color:#0188ff}@media (max-width: 900px){body.dark{background:#1b1f23}body.dark .quick-links{border-color:#323638;background:#1b1f23}}\n",""]),e.exports=t},,function(e,t,n){e.exports=n.p+"fonts/c1e9a8527a4a4f457a8fdf644d373e9c.eot"},function(e,t,n){e.exports=n.p+"fonts/7f562c00d80cb9d59bed376763039487.woff2"},function(e,t,n){e.exports=n.p+"fonts/ae06d340240442c47ff1ccaa5ca4cfbe.woff"},function(e,t,n){e.exports=n.p+"fonts/3c5ebd87cbd775f3be8ed0551a682ef8.ttf"},function(e,t,n){e.exports=n.p+"fonts/d12e4e15d6e01ff7ceceea6f00e32159.svg"},function(e,t,n){e.exports=n.p+"fonts/00f4610c11ae2aeb7db685df41262363.eot"},function(e,t,n){e.exports=n.p+"fonts/063f63b80a18487346b6bf074d4f094b.woff2"},function(e,t,n){e.exports=n.p+"fonts/63f573c4f806c10fa904fe911089f058.woff"},function(e,t,n){e.exports=n.p+"fonts/d4f0ebf5d59c08236fe25bb12820c2bd.ttf"},function(e,t,n){e.exports=n.p+"fonts/f803d8e8ab86c9c0eb9ad1da9978f9f5.svg"},function(e,t,n){e.exports=n.p+"fonts/98291d65d7c5a049c81e8f5d786eec98.eot"},function(e,t,n){e.exports=n.p+"fonts/5a488c3dab6ff8ccfa74bbd909a7bb95.woff2"},function(e,t,n){e.exports=n.p+"fonts/d85e4310339264b58f21bfcac7130bcc.woff"},function(e,t,n){e.exports=n.p+"fonts/ab4a5ea7b67c74de76a88b85f6ca2ff5.ttf"},function(e,t,n){e.exports=n.p+"fonts/303a293f207127f2d21561491c3a71c4.svg"},function(e,t,n){e.exports=n.p+"fonts/07d5c9e793599811873ff699c36b86c5.eot"},function(e,t,n){e.exports=n.p+"fonts/b8ecef1f4c0e42d365ec8626607e1406.woff2"},function(e,t,n){e.exports=n.p+"fonts/f4f638d0cbf629e67fa9c355daa47347.woff"},function(e,t,n){e.exports=n.p+"fonts/5f8a077b674fd55bfb19713a06aa2add.ttf"},function(e,t,n){e.exports=n.p+"fonts/083662cca067cf52ac4c2d16ca877db9.svg"},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";n.r(t);n(45);var a=n(0),o=n.n(a),i=n(15),r=n(13),d=n(19),c=n.n(d),l=n(23),s=n.n(l),p=n(16),u=n.n(p),f=n(3),m=n.n(f),g=n(37),b=n.n(g),h=n(2),y=n.n(h),k=n(38),x=n.n(k),v=n(9),w=n(10),E=n(7),_=function(){return window.location.hash};function O(){var e=Object(a.useState)(_()),t=m()(e,2),n=t[0],o=t[1],r=Object(a.useContext)(w.a).dispatch,d=Object(a.useContext)(v.a),c=d.config,l=d.complete;return Object(a.useEffect)((function(){var e=function(){o(_())};return window.addEventListener("hashchange",e),function(){window.removeEventListener("hashchange",e)}}),[]),Object(a.useEffect)((function(){if(l&&n){var e=x.a.parse("?".concat(n.substr(2)));r({type:"LOAD",payload:{params:e,lists:c.lists}}),window.location.hash&&(window.history.pushState?window.history.pushState(null,null,window.location.pathname):window.history.hash=""),o(""),Object(E.g)(e)&&i.b.success("分享配置 已加载.")}}),[l,n,r,c]),null}var T=n(29),j=n(4),N=n(1),C=n.n(N),q=function(e){var t=e.text,n=e.children,a=e.variant;return"xl"===a||"xxl"===a?o.a.createElement("div",{className:"colset"},o.a.createElement("div",{className:"left"},o.a.createElement("div",{className:"sticky-label"},t)),o.a.createElement("div",{className:"dependencies-box ".concat("xl"===a?"list":"large")},n)):o.a.createElement("div",{className:"colset"},o.a.createElement("div",{className:"left"},o.a.createElement(o.a.Fragment,null,t)),o.a.createElement("div",{className:"right ".concat("md"===a?"right-md":"")},n))};q.defaultProps={children:null,variant:""},q.propTypes={children:C.a.node,variant:C.a.string,text:C.a.string.isRequired};var R=q,P=function(e){var t=e.id,n=e.text,a=e.value,i=e.onChange,r=e.disabled,d=e.inputRef;return o.a.createElement("div",{className:"control"},o.a.createElement("label",{htmlFor:t},n),o.a.createElement("input",{type:"text",id:t,className:"control-input",disabled:r,value:a,onChange:i,ref:d}))};P.defaultProps={disabled:!1,inputRef:null},P.propTypes={id:C.a.string.isRequired,text:C.a.string.isRequired,value:C.a.string.isRequired,onChange:C.a.func.isRequired,inputRef:C.a.oneOfType([C.a.func,C.a.shape({current:C.a.instanceOf(Element)})]),disabled:C.a.bool};var D=P,z=function(e){var t=e.id,n=e.text,a=e.value,i=e.onChange,r=e.disabled,d=e.options;return o.a.createElement("div",{className:"control"},o.a.createElement("label",{htmlFor:t},n),o.a.createElement(j.d,{name:"packaging",disabled:r,selected:a,options:d,onChange:i}))};z.defaultProps={disabled:!1,options:[]},z.propTypes={id:C.a.string.isRequired,text:C.a.string.isRequired,value:C.a.string.isRequired,onChange:C.a.func.isRequired,disabled:C.a.bool,options:C.a.arrayOf(C.a.shape({key:C.a.string,text:C.a.string}))};var S=z;function L(e){var t=e.children;return o.a.createElement("div",{className:"control-error"},o.a.createElement("p",{className:"title"},o.a.createElement("strong",null,t)))}L.propTypes={children:C.a.string.isRequired};var I=L,A=n(5),M=function(e){var t=e.children,n=e.fieldFocusOnOpen,i=Object(a.useContext)(v.a),r=i.more,d=i.dispatch;return Object(a.useEffect)((function(){r&&n&&setTimeout((function(){y()(n,"current").focus()}),300)}),[r,n]),o.a.createElement("div",null,o.a.createElement("div",{className:"more"},o.a.createElement("div",{className:"wrap"},o.a.createElement("a",{href:"/",onClick:function(e){e.preventDefault(),d({type:"UPDATE",payload:{more:!r}})},className:r?"toggle":""},o.a.createElement(A.c,null),"高级选项"))),o.a.createElement("div",{className:"panel ".concat(r?"panel-active":"")},o.a.createElement("div",{className:"panel-wrap"},t)))};M.defaultProps={children:null,fieldFocusOnOpen:null},M.propTypes={children:C.a.node,fieldFocusOnOpen:C.a.oneOfType([C.a.func,C.a.shape({current:C.a.instanceOf(Element)})])};var U=M,B=function(e){var t=e.changeTab,n=Object(a.useContext)(v.a),i=n.dependencies,r=n.dispatch,d=n.tab,c=Object(a.useContext)(w.a).values,l=Object(a.useState)(0),s=m()(l,2),p=s[0],u=s[1];Object(a.useEffect)((function(){u(c.dependencies.filter((function(e){return y()(i,"list",[]).find((function(t){return t.id===e})).valid})).length)}),[i,c.dependencies]);var f=function(e){r({type:"UPDATE",payload:{tab:e}}),setTimeout((function(){t(e)}))};return o.a.createElement("div",{className:"tab"},o.a.createElement("div",{className:"tab-container"},o.a.createElement("a",{href:"/","aria-label":"Search",onClick:function(e){e.preventDefault(),f("quicksearch")},className:"quick-search ".concat("quicksearch"===d?"active":"")},o.a.createElement(A.i,null),o.a.createElement("span",null,"搜索")),o.a.createElement("a",{href:"/","aria-label":"List",onClick:function(e){e.preventDefault(),f("list")},className:"list ".concat("list"===d?"active":"")},o.a.createElement(A.g,null),o.a.createElement("span",null,"分组列表")),p>0&&o.a.createElement(o.a.Fragment,null,o.a.createElement("strong",null,o.a.createElement("span",null,p)," 项已选择"))))};B.propTypes={changeTab:C.a.func.isRequired};var F=B,V=n(41),H=n(101),G=n(102);function K(e){var t=e.list,n=e.remove;return o.a.createElement(H.a,{component:"ul",className:"dependencies-list dependencies-list-checked"},t.map((function(e){return o.a.createElement(G.a,{timeout:500,classNames:"fade",key:"f".concat(e.id)},o.a.createElement("li",null,o.a.createElement("span",{className:"dependency-item-span"},o.a.createElement("a",{className:"dependency-item checked ".concat(e.valid?"":"invalid"),href:"/",onClick:function(t){t.preventDefault(),n(e)},key:e.id},o.a.createElement("div",{key:"d1".concat(e.id)},o.a.createElement("strong",{key:"d2".concat(e.id)},e.name),o.a.createElement("br",{key:"d3".concat(e.id)}),e.valid&&o.a.createElement("span",{key:"d4".concat(e.id),className:"description"},e.description),o.a.createElement("span",{key:"d5".concat(e.id),className:"icon"},o.a.createElement(A.j,{key:"d6".concat(e.id)}),o.a.createElement(A.b,{key:"d7".concat(e.id)})),!e.valid&&o.a.createElement("span",{className:"warning",key:"warning".concat(e.id)},e.message))))))})))}K.defaultProps={list:[]},K.propTypes={list:C.a.arrayOf(C.a.shape({id:C.a.string.isRequired,name:C.a.string.isRequired,group:C.a.string.isRequired,valid:C.a.bool.isRequired,description:C.a.string.isRequired,message:C.a.string})),remove:C.a.func.isRequired};var Y=K;function J(e){var t=e.list,n=e.selected,a=e.select,i=e.add;return o.a.createElement(H.a,{component:"ul",className:"dependencies-list"},t.map((function(e,t){return o.a.createElement(G.a,{timeout:500,classNames:"fade",key:"f".concat(e.id)},o.a.createElement("li",null,o.a.createElement("span",{className:"dependency-item-span"},o.a.createElement("a",{href:"/",className:"dependency-item dependency-item-gray ".concat(e.valid?"":"invalid","  ").concat(n===t?"selected":""),key:"item".concat(e.id),selected:n===t,disabled:!e.valid,onClick:function(t){t.preventDefault(),e.valid&&i(e)},onMouseEnter:function(){e.valid&&a(t)},onMouseLeave:function(){e.valid&&a(-1)}},o.a.createElement("div",null,o.a.createElement("strong",{className:"title",key:"item".concat(e.id)},e.name),o.a.createElement("br",null),e.valid&&o.a.createElement("span",{key:"d1".concat(e.id)},o.a.createElement("span",{className:"description",key:"d2".concat(e.id)},e.description),o.a.createElement("span",{key:"d3".concat(e.id),className:"icon"},o.a.createElement(A.h,{key:"d4".concat(e.id)}))),!e.valid&&o.a.createElement("span",{className:"warning",key:"warning".concat(e.id)},e.message))))))})))}J.defaultProps={list:[],selected:null},J.propTypes={list:C.a.arrayOf(C.a.shape({id:C.a.string.isRequired,name:C.a.string.isRequired,group:C.a.string.isRequired,description:C.a.string.isRequired,versionRange:C.a.string,versionRequirement:C.a.string})),add:C.a.func.isRequired,selected:C.a.number,select:C.a.func.isRequired};var X=J,W=function(e){var t=e.submit,n=e.input,i=Object(a.useContext)(w.a),r=i.values,d=i.dispatch,c=Object(a.useContext)(v.a).dependencies,l=Object(a.useState)(""),s=m()(l,2),p=s[0],u=s[1],f=Object(a.useState)(0),g=m()(f,2),b=g[0],h=g[1],k=Object(a.useState)([]),x=m()(k,2),E=x[0],_=x[1],O=Object(a.useState)([]),T=m()(O,2),j=T[0],N=T[1],C=Object(a.useState)(0),q=m()(C,2),R=q[0],P=q[1],D=Object(a.useState)(null),z=m()(D,2),S=z[0],L=z[1],I=function(e){d({type:"ADD_DEPENDENCY",payload:{id:e}})};Object(a.useEffect)((function(){var e=y()(r,"dependencies",[]).map((function(e){return y()(c,"list",[]).find((function(t){return t.id===e}))}));_(e);var t=new V.Search("name");t.addIndex("name"),t.addIndex("id"),t.addIndex("description"),t.addIndex("group"),t.addDocuments(y()(c,"list")),L(t)}),[r,c,r.dependencies]);return Object(a.useEffect)((function(){!function(){if(S){var e=S.search(p).filter((function(e){return!y()(r,"dependencies",[]).find((function(t){return t===e.id}))}));P(e.length),e.length>5&&(e=e.slice(0,5)),e=function(e){return e.sort((function(e,t){return e.valid&&!t.valid?-1:!e.valid&&t.valid?1:t.weight-e.weight}))}(e),N(e)}}()}),[r,p,S,N]),o.a.createElement("div",{className:"colset-2"},o.a.createElement("div",{className:"column"},o.a.createElement("label",{className:"search-label",htmlFor:"input-quicksearch"},"搜索依赖组件"),o.a.createElement("input",{type:"text",className:"control-input",placeholder:"Web, Security, JPA, Actuator, Devtools...",value:p,onBlur:function(){h(-1)},onFocus:function(){h(0)},onChange:function(e){u(e.target.value),h(0)},id:"input-quicksearch",ref:n,onKeyDown:function(e){switch(e.keyCode){case 40:e.preventDefault(),h(Math.min(b+1,j.length-1,4));break;case 38:e.preventDefault(),h(Math.max(b-1,0));break;case 13:e.preventDefault(),j.length>0?(I(j[b].id),u("")):t();break;case 27:e.preventDefault(),u("");break;case 39:case 37:break;default:h(0)}}}),o.a.createElement(X,{list:j,add:function(e){I(e.id),u(""),n&&y()(n,"current").focus()},selected:b,select:h}),R>5&&o.a.createElement("div",{className:"search-more-warning"},o.a.createElement("p",null,"More than 5 results found.",o.a.createElement("br",null),"Refine your search if necessary."))),o.a.createElement("div",{className:"column"},o.a.createElement("label",null,"已选组件"),0===y()(r,"dependencies",[]).length?o.a.createElement("div",{className:"search-no-selected"},"暂未选择任何组件"):o.a.createElement(Y,{list:E,remove:function(e){d({type:"REMOVE_DEPENDENCY",payload:{id:e.id}})}})))};W.defaultProps={},W.propTypes={submit:C.a.func.isRequired,input:C.a.oneOfType([C.a.func,C.a.shape({current:C.a.instanceOf(Element)})]).isRequired};var Q=W;function Z(e){var t=e.id,n=e.name,a=e.description,i=e.valid,r=e.message,d=e.onChange,c=e.selected,l=function(e){e.preventDefault(),i&&d(!c)};return o.a.createElement("a",{href:"/",onClick:l,tabIndex:i?"":-1,className:"".concat(i?"":"invalid"," ").concat(c?"checked":""),key:t,onKeyDown:function(e){var t=e.key;"Enter"!==t&&" "!==t||l(e)}},o.a.createElement("div",{key:"d".concat(t)},o.a.createElement("input",{type:"checkbox",value:t,key:"ck".concat(t),checked:c,disabled:!i,onChange:function(){}}),o.a.createElement("strong",{key:"ck1".concat(t)},n),o.a.createElement("br",{key:"br".concat(t)}),i&&o.a.createElement("span",{key:"ck2".concat(t)},a),o.a.createElement("span",{key:"ck3".concat(t),className:"icon"},o.a.createElement(A.h,{key:"ck4".concat(t)}),o.a.createElement(A.j,{key:"ck5".concat(t)}),o.a.createElement(A.b,{key:"ck6".concat(t)})),!i&&o.a.createElement("span",{className:"warning",key:"warning".concat(t)},r)))}Z.defaultProps={message:""},Z.propTypes={id:C.a.string.isRequired,name:C.a.string.isRequired,description:C.a.string.isRequired,valid:C.a.bool.isRequired,message:C.a.string,onChange:C.a.func.isRequired,selected:C.a.bool.isRequired};var $=Z;function ee(e){var t=e.group,n=e.items,a=e.itemsSelected,i=e.isClose,r=e.add,d=e.remove,c=e.toggle,l=function(e){e.preventDefault(),c(t)},s=function(e){return!!a.find((function(t){return t===e.id}))};return o.a.createElement("div",{className:"group"},o.a.createElement("div",{className:"group-title"},o.a.createElement("a",{href:"/",onClick:l,className:i?"":"toggleGroupItems",tabIndex:0,onKeyDown:function(e){var t=e.key;"Enter"!==t&&" "!==t||l(e)}},o.a.createElement(A.c,null),t)),!i&&o.a.createElement("div",{className:"group-items",key:"links".concat(t)},n.map((function(e){return o.a.createElement($,{key:e.id,id:e.id,name:e.name,description:e.description,valid:e.valid,message:e.message,selected:s(e),onChange:function(t){t?r(e.id):d(e.id)}})}))))}ee.propTypes={group:C.a.string.isRequired,add:C.a.func.isRequired,remove:C.a.func.isRequired,toggle:C.a.func.isRequired,itemsSelected:C.a.arrayOf(C.a.string).isRequired,isClose:C.a.bool.isRequired,items:C.a.arrayOf(C.a.shape({description:C.a.string.isRequired,group:C.a.string.isRequired,id:C.a.string.isRequired,keywords:C.a.string,name:C.a.string.isRequired,valid:C.a.bool.isRequired})).isRequired};var te=ee,ne=function(){var e=Object(a.useContext)(v.a),t=e.dependencies,n=e.dispatch,i=e.groupsOpened,r=Object(a.useContext)(w.a),d=r.values,c=r.dispatch;return o.a.createElement("div",{className:"groups"},y()(t,"groups").map((function(e){return o.a.createElement(te,{group:e.group,key:e.group,dependencyGroup:e,add:function(e){c({type:"ADD_DEPENDENCY",payload:{id:e}})},remove:function(e){c({type:"REMOVE_DEPENDENCY",payload:{id:e}})},toggle:function(e){n({type:"TOGGLE_GROUP",payload:{id:e}})},itemsSelected:y()(d,"dependencies",[]),isClose:i.indexOf(e.group)<0,items:e.items})})))},ae=function(e){var t=e.children;return o.a.createElement("div",{className:"header"},o.a.createElement("h1",{className:"logo"},o.a.createElement("a",{href:"/bootstrap.html"},o.a.createElement("span",{className:"title"},o.a.createElement("strong",null,"云原生"),"应用脚手架"),o.a.createElement("span",{className:"description"},"Cloud Native App Initializer"))),t)};ae.defaultProps={children:null},ae.propTypes={children:C.a.node};var oe=ae,ie=function(){var e=Object(a.useContext)(v.a),t=e.theme,n=e.dispatch,i=(e.language,Object(a.useState)(!1)),r=m()(i,2),d=r[0],c=r[1],l=Object(a.useRef)(null);return Object(a.useEffect)((function(){var e=function(e){var t=y()(l,"current");t&&!t.contains(e.target)&&c(!1)};return document.addEventListener("mousedown",e),function(){document.removeEventListener("mousedown",e)}}),[c]),o.a.createElement("ul",{className:"quick-links"},o.a.createElement("li",null,o.a.createElement("span",{className:"switch-mode"},o.a.createElement(j.e,{id:"theme-switch",isOn:"dark"===t,onChange:function(){n({type:"UPDATE",payload:{theme:"dark"===t?"light":"dark"}})}}),"dark"===t?"深色":"浅色"," 主题")),o.a.createElement("li",null,o.a.createElement("a",{href:"/",className:"dropdown",tabIndex:"-1",onClick:function(e){e.preventDefault(),c(!d)},ref:l},o.a.createElement(A.f,null),"帮助信息",o.a.createElement(A.a,{className:"caret"})),o.a.createElement(H.a,{component:null},d&&o.a.createElement(G.a,{classNames:"nav-anim",timeout:500},o.a.createElement("ul",{className:"dropdown-menu"},o.a.createElement("li",null,o.a.createElement("a",{id:"ql-help-projects",target:"_blank",rel:"noopener noreferrer",href:"https://spring.io/projects",tabIndex:"-1"},"Spring Projects")),o.a.createElement("li",null,o.a.createElement("a",{id:"ql-help-guides",target:"_blank",rel:"noopener noreferrer",tabIndex:"-1",href:"https://spring.io/projects/spring-cloud/"},"Spring Cloud")),o.a.createElement("li",null,o.a.createElement("a",{id:"ql-help-guides",target:"_blank",rel:"noopener noreferrer",tabIndex:"-1",href:"https://github.com/alibaba/spring-cloud-alibaba/blob/master/README-zh.md"},"Spring Cloud Alibaba")))))))},re=function(e){var t=e.children;return o.a.createElement(o.a.Fragment,null,o.a.createElement(oe,null,o.a.createElement(ie,null)),o.a.createElement("main",null,t))};re.propTypes={children:C.a.node.isRequired};var de=re,ce=function(e){var t=e.children;return o.a.createElement("div",{className:"sticky"},o.a.createElement("div",{className:"colset colset-submit"},o.a.createElement("div",{className:"left nopadding"},o.a.createElement("footer",{className:"footer"},o.a.createElement("div",{className:"footer-container"},"© 1999-",(new Date).getFullYear()," Aliyun.com",o.a.createElement("br",null),"start.aliyun.com is powered by",o.a.createElement("br",null),o.a.createElement("span",null,o.a.createElement("a",{tabIndex:"-1",target:"_blank",rel:"noopener noreferrer",href:"https://www.aliyun.com"},"Aliyun.com"))))),t&&o.a.createElement("div",{className:"right nopadding"},o.a.createElement("div",{className:"submit"},t))))};ce.defaultProps={children:null},ce.propTypes={children:C.a.node};var le=ce;function se(){return o.a.createElement(o.a.Fragment,null,o.a.createElement(R,{text:"项目构建方式"},o.a.createElement(j.c,{type:"radios",count:2,width:"133px"})),o.a.createElement(R,{text:"开发语言"},o.a.createElement(j.c,{type:"radios",count:3,width:"73px"})),o.a.createElement(R,{text:"Spring Boot 版本"},o.a.createElement(j.c,{type:"radios",count:5,width:"105px"})),o.a.createElement(R,{text:"项目元信息",special:"md"},o.a.createElement("div",null,o.a.createElement("div",{className:"control"},o.a.createElement(j.c,{type:"input"})),o.a.createElement("div",{className:"control"},o.a.createElement(j.c,{type:"input"})),o.a.createElement("div",{className:"control"},o.a.createElement(j.c,{type:"dropdown"})))),o.a.createElement(R,{text:"组件与示例"},o.a.createElement(j.c,{type:"tabs",count:2})),o.a.createElement(le,null,o.a.createElement(j.c,{type:"button",width:"189px"}),o.a.createElement(j.c,{type:"button",width:"212px"}),o.a.createElement(j.c,{type:"button",width:"110px"})))}var pe=function(){var e=Object(a.useContext)(w.a),t=e.warnings,n=e.dispatch;return Object.keys(t).length>0?o.a.createElement("div",{className:"colset"},o.a.createElement("div",{className:"left"}),o.a.createElement("div",{className:"right"},o.a.createElement("div",{className:"warnings"},o.a.createElement("a",{className:"close",href:"/#",onClick:function(e){e.preventDefault(),n({type:"CLEAR_WARNINGS"})}},o.a.createElement(A.j,null)),"The following attributes could not be handled:",o.a.createElement("ul",null,y()(t,"project")&&o.a.createElement("li",null,o.a.createElement("strong",null,y()(t,"project.value"))," is not a valid project type,"," ",o.a.createElement("strong",null,y()(t,"project.select"))," has been selected."),y()(t,"language")&&o.a.createElement("li",null,o.a.createElement("strong",null,y()(t,"language.value"))," is not a valid language,"," ",o.a.createElement("strong",null,y()(t,"language.select"))," has been selected."),y()(t,"boot")&&o.a.createElement("li",null,"Spring Boot ",o.a.createElement("strong",null,y()(t,"boot.value"))," is not available, ",o.a.createElement("strong",null,y()(t,"boot.select"))," ","has been selected."),y()(t,"meta.java")&&o.a.createElement("li",null,o.a.createElement("strong",null,y()(t,"meta.java.value"))," is not a valid Java version,"," ",o.a.createElement("strong",null,y()(t,"meta.java.select"))," has been selected."),y()(t,"meta.packaging")&&o.a.createElement("li",null,o.a.createElement("strong",null,y()(t,"meta.packaging.value"))," is not a valid packaging,"," ",o.a.createElement("strong",null,y()(t,"meta.packaging.select"))," has been selected."),y()(t,"dependencies")&&o.a.createElement("li",null,"The following dependencies are not supported:"," ",o.a.createElement("strong",null,y()(t,"dependencies.value")),"."))))):o.a.createElement(o.a.Fragment,null)};function ue(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function fe(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ue(Object(n),!0).forEach((function(t){u()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ue(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var me=Object(a.lazy)((function(){return Promise.all([n.e(0),n.e(4),n.e(6)]).then(n.bind(null,239))})),ge=Object(a.lazy)((function(){return n.e(5).then(n.bind(null,238))})),be=Object(a.lazy)((function(){return Promise.all([n.e(0),n.e(7)]).then(n.bind(null,236))})),he=Object(a.lazy)((function(){return Promise.all([n.e(8),n.e(9)]).then(n.bind(null,237))}));function ye(){var e=Object(a.useContext)(v.a),t=e.complete,n=e.config,r=e.more,d=e.tab,l=e.dispatch,p=e.theme,u=e.fetch,f=e.share,g=e.explore,h=e.dependencies,k=Object(a.useContext)(w.a),x=k.values,_=k.share,N=k.dispatch,C=k.errors,q=Object(a.useState)({x:0,y:0}),P=m()(q,2),z=P[0],L=P[1],A=Object(a.useState)(null),M=m()(A,2),B=M[0],V=M[1],H=Object(a.useRef)(null),G=Object(a.useRef)(null),K=Object(T.a)();O(),Object(a.useEffect)((function(){if(K.origin){var e="".concat(K.origin,"/metadata/client");Object(E.b)(e).then((function(e){var t=Object(E.a)(e);N({type:"COMPLETE",payload:fe({},t)}),l({type:"COMPLETE",payload:t})}))}}),[l,N,K.origin]);var Y=function(){var e=s()(c.a.mark((function e(){return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:l({type:"FETCH_UPDATE",payload:{open:!0}});case 1:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),J=function(){var e=s()(c.a.mark((function e(){var t,n;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t="".concat(K.origin,"/starter.zip"),l({type:"EXPLORE_UPDATE",payload:{open:!0}}),e.next=4,Object(E.c)(t,x,y()(h,"list")).catch((function(){i.b.error("Could not connect to server. Please check your network.")}));case 4:n=e.sent,V(n);case 6:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),X=function(e){N({type:"UPDATE",payload:e})},W=y()(x,"share");return W=W?"".concat(W,"/"):"",o.a.createElement(de,null,o.a.createElement(b.a,{className:p}),o.a.createElement(a.Suspense,{fallback:""},o.a.createElement(he,{onSubmit:Y,onExplore:J})),o.a.createElement(j.b,{onSubmit:Y},t?o.a.createElement(o.a.Fragment,null,o.a.createElement(pe,null),o.a.createElement(R,{text:"项目构建方式"},o.a.createElement(j.d,{name:"project",selected:y()(x,"project"),options:y()(n,"lists.project"),onChange:function(e){X({project:e})}})),o.a.createElement(R,{text:"开发语言"},o.a.createElement(j.d,{name:"language",selected:y()(x,"language"),options:y()(n,"lists.language"),onChange:function(e){X({language:e})}})),o.a.createElement(R,{text:"Spring Boot版本"},o.a.createElement(j.d,{name:"boot",selected:y()(x,"boot"),error:y()(C,"boot.value",""),options:y()(n,"lists.boot"),onChange:function(e){N({type:"UPDATE",payload:{boot:e},config:y()(h,"list")}),l({type:"UPDATE_DEPENDENCIES",payload:{boot:e}})}}),y()(C,"boot")&&o.a.createElement(I,null,"Spring Boot ",y()(C,"boot.value")," is not supported. Please select a valid version")),o.a.createElement(R,{text:"项目基本信息",variant:"md"},o.a.createElement(D,{id:"input-group",value:y()(x,"meta.group"),text:"Group",onChange:function(e){X({meta:{group:e.target.value}})}}),o.a.createElement(D,{id:"input-artifact",value:y()(x,"meta.artifact"),text:"Artifact",onChange:function(e){X({meta:{artifact:e.target.value}})}}),o.a.createElement(U,{fieldFocusOnOpen:H},o.a.createElement(D,{id:"input-name",value:y()(x,"meta.name"),text:"项目名称",disabled:!r,inputRef:H,onChange:function(e){X({meta:{name:e.target.value}})}}),o.a.createElement(D,{id:"input-description",value:y()(x,"meta.description"),text:"项目描述",disabled:!r,onChange:function(e){X({meta:{description:e.target.value}})}}),o.a.createElement(D,{id:"input-packageName",value:y()(x,"meta.packageName"),text:"基础包",disabled:!r,onChange:function(e){X({meta:{packageName:e.target.value}})}}),o.a.createElement(S,{id:"input-packaging",value:y()(x,"meta.packaging"),text:"打包方式",disabled:!r,options:y()(n,"lists.meta.packaging"),onChange:function(e){X({meta:{packaging:e}})}}),o.a.createElement(S,{id:"input-java",value:y()(x,"meta.java"),text:"Java版本",disabled:!r,options:y()(n,"lists.meta.java"),onChange:function(e){X({meta:{java:e}})}}))),o.a.createElement(R,{text:"应用架构"},o.a.createElement(j.d,{name:"architecture",selected:y()(x,"architecture"),options:y()(n,"lists.architecture"),onChange:function(e){X({architecture:e}),y()(x,"dependencies",[]).forEach((function(e){N({type:"REMOVE_DEPENDENCY",payload:{id:e}})})),y()(n,"lists.architecture",[]).filter((function(t){return t.key===e})).forEach((function(e){y()(e,"dependencies",[]).forEach((function(e){N({type:"ADD_DEPENDENCY",payload:{id:e}})}))}))}})),o.a.createElement(R,{text:"组件与示例",variant:"quicksearch"===d?"xl":"xxl"},o.a.createElement(F,{changeTab:function(e){"quicksearch"===e&&y()(G,"current")&&y()(G,"current").focus()}}),"quicksearch"===d&&o.a.createElement(Q,{submit:Y,input:G}),"list"===d&&o.a.createElement(ne,null)),o.a.createElement(le,null,o.a.createElement(j.a,{id:"generate-project",variant:"primary",onClick:Y,hotkey:"".concat(K.symb," + ⏎")},"获取代码"),o.a.createElement(j.a,{id:"explore-project",onClick:J,hotkey:"Ctrl + Space"},"浏览代码"),o.a.createElement(j.a,{id:"share-project",onClick:function(e){var t=y()(e,"target").getBoundingClientRect(),n=t.x,a=t.y;L({x:n,y:a}),l({type:"SHARE_UPDATE",payload:{open:!0}})}},"分享..."))):o.a.createElement(se,null)),o.a.createElement(a.Suspense,{fallback:""},o.a.createElement(ge,{open:f||!1,shareUrl:_,shareSrc:W,position:z,onClose:function(){l({type:"SHARE_UPDATE",payload:{open:!1}})}}),o.a.createElement(me,{projectName:"".concat(y()(x,"meta.artifact"),".zip"),blob:B,open:g||!1,onClose:function(){l({type:"EXPLORE_UPDATE",payload:{open:!1}}),V(null)}}),o.a.createElement(be,{open:u||!1,onClose:function(){l({type:"FETCH_UPDATE",payload:{open:!1}})}})))}var ke=n(21);Object(r.render)(o.a.createElement(v.b,null,o.a.createElement(w.b,null,o.a.createElement(i.a,{closeButton:o.a.createElement(ke.a,null),position:"top-center",hideProgressBar:!0}),o.a.createElement(ye,null))),document.getElementById("app"))}],[[100,2,3]]]);
-//# sourceMappingURL=chunk-bb4f568ad8459aeeffda.js.map
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[1],[,,,,function(e,t,n){"use strict";n.d(t,"d",(function(){return s})),n.d(t,"e",(function(){return u})),n.d(t,"c",(function(){return m})),n.d(t,"b",(function(){return b})),n.d(t,"a",(function(){return y}));var a=n(1),o=n.n(a),i=n(0),r=n.n(i);function d(e){var t=e.handler,n=e.value,a=e.disabled,o=e.error,i=e.checked,d=e.text;return a||o?r.a.createElement("span",{className:"radio disabled ".concat(i?"checked":""," ").concat(o?"err":"")},d):r.a.createElement("a",{href:"/",className:"radio ".concat(i?"checked":""),onClick:function(e){e.preventDefault(),t(n)}},d)}d.defaultProps={disabled:!1,error:!1},d.propTypes={checked:o.a.bool.isRequired,text:o.a.string.isRequired,value:o.a.string.isRequired,handler:o.a.func.isRequired,disabled:o.a.bool,error:o.a.bool};var c=d;function l(e){var t=e.onChange,n=e.options,a=e.error,o=e.selected,i=e.disabled,d=function(e){t&&t(e)},l=n.map((function(e){return r.a.createElement(c,{key:e.key,checked:!a&&o===e.key,text:e.text,value:e.key,disabled:i,handler:d})}));return a&&l.push(r.a.createElement(c,{key:l.length+1,checked:!0,text:a,value:a,disabled:i,handler:d,error:!0})),r.a.createElement("div",{className:"group-radio"},l)}l.defaultProps={selected:"",error:null,onChange:null,disabled:!1,options:{error:""}},l.propTypes={selected:o.a.string,error:o.a.string,options:o.a.arrayOf(o.a.shape({key:o.a.string.isRequired,text:o.a.string.isRequired})),onChange:o.a.func,disabled:o.a.bool};var s=l,p=function(e){var t=e.id,n=e.isOn,a=e.onChange;return r.a.createElement("span",{className:"switch"},r.a.createElement("input",{checked:n,onChange:a,className:"switch-checkbox",id:t,name:"switch-new",type:"checkbox"}),r.a.createElement("label",{className:"switch-label",htmlFor:t},r.a.createElement("span",{className:"switch-button"})))};p.defaultProps={isOn:!1,onChange:null},p.propTypes={isOn:o.a.bool,onChange:o.a.func};var u=p;n(21);function f(e){var t=e.type,n=e.count,a=e.width;if("radios"===t){var o=Array.from({length:n},(function(e,t){var n="p".concat(t);return r.a.createElement("span",{key:n,style:{width:a},className:"placeholder-radio"})}));return r.a.createElement("span",{className:"placeholder-radios"},o)}if("input"===t)return r.a.createElement("span",{className:"placeholder-input"});if("dropdown"===t)return r.a.createElement("span",{className:"placeholder-dropdown"});if("text"===t)return r.a.createElement("span",{style:{width:a},className:"placeholder-text"});if("button"===t)return r.a.createElement("span",{style:{width:a},className:"placeholder-button"});if("tabs"===t){var i=Array.from({length:n},(function(e,t){return r.a.createElement("span",{key:"p".concat(t),className:"placeholder-tab"})}));return r.a.createElement("span",{className:"placeholder-tabs"},r.a.createElement("span",{className:"placeholder-header"},i))}return""}f.defaultProps={width:"150px",type:"radios",count:3},f.propTypes={type:o.a.string,count:o.a.number,width:o.a.string};var m=f,g=function(e){var t=e.onSubmit,n=e.children;return r.a.createElement("form",{onSubmit:t,autoComplete:"off"},r.a.createElement("input",{style:{display:"none"},type:"text",name:"fakeusernameremembered"}),r.a.createElement("input",{style:{display:"none"},type:"password",name:"fakepasswordremembered"}),n)};g.defaultProps={children:null},g.propTypes={onSubmit:o.a.func.isRequired,children:o.a.node};var b=g;function h(e){var t=e.id,n=e.onClick,a=e.children,o=e.variant,i=e.hotkey;return r.a.createElement("button",{className:"button ".concat("primary"===o?"primary":""),type:"button",id:t,onClick:function(e){n&&n(e)}},a,i&&r.a.createElement(r.a.Fragment,null," ",r.a.createElement("span",{className:"desktop-only"},"- ",i)))}h.defaultProps={onClick:null,children:null,variant:"",hotkey:""},h.propTypes={id:o.a.string.isRequired,variant:o.a.string,hotkey:o.a.string,onClick:o.a.func,children:o.a.node};var y=h},function(e,t,n){"use strict";n.d(t,"j",(function(){return f})),n.d(t,"h",(function(){return p})),n.d(t,"a",(function(){return i})),n.d(t,"g",(function(){return s})),n.d(t,"i",(function(){return u})),n.d(t,"b",(function(){return r})),n.d(t,"c",(function(){return l})),n.d(t,"e",(function(){return d})),n.d(t,"d",(function(){return c})),n.d(t,"f",(function(){return m}));var a=n(0),o=n.n(a),i=function(){return o.a.createElement("svg",{"aria-hidden":"true",focusable:"false","data-icon":"caret-down",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 320 512",className:"icon-caret-down"},o.a.createElement("path",{fill:"currentColor",d:"M31.3 192h257.3c17.8 0 26.7 21.5 14.1 34.1L174.1 354.8c-7.8 7.8-20.5 7.8-28.3 0L17.2 226.1C4.6 213.5 13.5 192 31.3 192z"}))},r=function(){return o.a.createElement("svg",{"aria-hidden":"true",focusable:"false","data-icon":"check",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",className:"icon-check"},o.a.createElement("path",{fill:"currentColor",d:"M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z"}))},d=function(){return o.a.createElement("svg",{"aria-hidden":"true",focusable:"false","data-icon":"folder",role:"img",xmlns:"http://www.w3.org/2000/svg",className:"icon-folder",viewBox:"0 0 512 512"},o.a.createElement("g",null,o.a.createElement("path",{fill:"#86ad5c",d:"M430.1,192H81.9c-17.7,0-18.6,9.2-17.6,20.5l13,183c0.9,11.2,3.5,20.5,21.1,20.5h316.2c18,0,20.1-9.2,21.1-20.5l12.1-185.3   C448.7,199,447.8,192,430.1,192z"}),o.a.createElement("g",null,o.a.createElement("path",{fill:"#718c50",d:"M426.2,143.3c-0.5-12.4-4.5-15.3-15.1-15.3c0,0-121.4,0-143.2,0c-21.8,0-24.4,0.3-40.9-17.4C213.3,95.8,218.7,96,190.4,96    c-22.6,0-75.3,0-75.3,0c-17.4,0-23.6-1.5-25.2,16.6c-1.5,16.7-5,57.2-5.5,63.4h343.4L426.2,143.3z"}))))},c=function(){return o.a.createElement("svg",{"aria-hidden":"true",focusable:"false","data-icon":"file",role:"img",xmlns:"http://www.w3.org/2000/svg",className:"icon-file",viewBox:"0 0 1792 1792"},o.a.createElement("path",{fill:"currentColor",d:"M1596 380q28 28 48 76t20 88v1152q0 40-28 68t-68 28h-1344q-40 0-68-28t-28-68v-1600q0-40 28-68t68-28h896q40 0 88 20t76 48zm-444-244v376h376q-10-29-22-41l-313-313q-12-12-41-22zm384 1528v-1024h-416q-40 0-68-28t-28-68v-416h-768v1536h1280z"}))},l=function(){return o.a.createElement("svg",{"aria-hidden":"true",focusable:"false","data-icon":"chevron-right",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 320 512",className:"icon-chevron-right"},o.a.createElement("path",{fill:"currentColor",d:"M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z"}))},s=function(){return o.a.createElement("svg",{"aria-hidden":"true",focusable:"false","data-icon":"list",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",className:"icon-list"},o.a.createElement("path",{fill:"currentColor",d:"M128 116V76c0-8.837 7.163-16 16-16h352c8.837 0 16 7.163 16 16v40c0 8.837-7.163 16-16 16H144c-8.837 0-16-7.163-16-16zm16 176h352c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H144c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h352c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H144c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zM16 144h64c8.837 0 16-7.163 16-16V64c0-8.837-7.163-16-16-16H16C7.163 48 0 55.163 0 64v64c0 8.837 7.163 16 16 16zm0 160h64c8.837 0 16-7.163 16-16v-64c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v64c0 8.837 7.163 16 16 16zm0 160h64c8.837 0 16-7.163 16-16v-64c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v64c0 8.837 7.163 16 16 16z"}))},p=function(){return o.a.createElement("svg",{"aria-hidden":"true",focusable:"false","data-prefix":"fas","data-icon":"plus",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 448 512",className:"icon-plus"},o.a.createElement("path",{fill:"currentColor",d:"M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z"}))},u=function(){return o.a.createElement("svg",{"aria-hidden":"true",focusable:"false","data-icon":"search",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",className:"icon-search"},o.a.createElement("path",{fill:"currentColor",d:"M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"}))},f=function(){return o.a.createElement("svg",{"aria-hidden":"true",focusable:"false","data-prefix":"fas","data-icon":"times",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 352 512",className:"icon-times"},o.a.createElement("path",{fill:"currentColor",d:"M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z"}))},m=function(){return o.a.createElement("svg",{t:"1583993417464",className:"icon-help",focusable:"false","aria-hidden":"true",role:"img","data-icon":"help",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"1960",width:"18",height:"18"},o.a.createElement("path",{"p-id":"1961",fill:"currentColor",d:"M0.12992 518.398052C-6.268452 236.869666 224.072954 6.528259 505.601341 0.129887c281.528386-6.398372 511.869793 223.943034 518.268165 505.471421 6.398372 281.528386-223.943034 511.869793-505.47142 518.268165-281.528386 6.398372-511.869793-223.943034-518.268166-505.471421zM595.178555 767.934577c0-44.788607-38.390234-83.178841-83.178842-83.178842-44.788607 0-83.178841 38.390234-83.178841 83.178842 0 44.788607 38.390234 83.178841 83.178841 83.178841 44.788607 0 83.178841-38.390234 83.178842-83.178841zM300.853423 345.641997v12.796745c0 31.991862 6.398372 63.983724 63.983725 63.983724S435.219244 384.032232 435.219244 345.641997c0-12.796745 38.390234-44.788607 76.780469-44.788607s83.178841 19.195117 83.178842 76.780469c0 38.390234-63.983724 76.780469-95.975587 108.772331-70.382097 63.983724-63.983724 89.577214-63.983724 89.577214 0 38.390234 12.796745 76.780469 70.382097 70.382097 57.585352-6.398372 166.357683-153.560938 166.357682-153.560938 51.186979-57.585352 51.186979-127.967448 51.18698-127.967448 0-121.569076-95.975586-185.5528-211.14629-185.5528-115.170703-6.398372-204.747917 51.186979-211.14629 166.357682z"}))}},,function(e,t,n){"use strict";n.d(t,"b",(function(){return u})),n.d(t,"e",(function(){return f})),n.d(t,"g",(function(){return m})),n.d(t,"h",(function(){return g})),n.d(t,"a",(function(){return y})),n.d(t,"f",(function(){return k})),n.d(t,"d",(function(){return x})),n.d(t,"c",(function(){return v}));var a=n(2),o=n.n(a),i=n(26),r=n.n(i),d=n(8),c=n.n(d),l=n(39),s=n(17),p={type:"project",language:"language",architecture:"architecture",platformVersion:"boot",packaging:"meta.packaging",jvmVersion:"meta.java",groupId:"meta.group",artifactId:"meta.artifact",name:"meta.name",description:"meta.description",packageName:"meta.packageName",dependencies:"dependencies"},u=function(e){return new Promise((function(t,n){fetch("".concat(e),{method:"GET",headers:{Accept:"application/vnd.initializr.v2.1+json"}}).then((function(e){return e.json()}),(function(){return n(),null})).then((function(e){e&&t(e)}))}))},f=function(e){var t={};Object.keys(p).forEach((function(n){var a=o()(p,n),i=o()(e,a);"dependencies"!==n&&c()(t,n,i)}));var n="".concat(r.a.stringify(t));return o()(e,"dependencies",[]).length>0&&(n="".concat(n,"&dependencies=").concat(o()(e,"dependencies").join(","))),n},m=function(e){return Object.keys(e).map((function(e){return!!o()(p,e,null)})).filter((function(e){return!!e})).length>0},g=function(e,t,n){var a={},i={};return m(t)&&Object.keys(t).forEach((function(r){var d=o()(p,r);if(d){var l=o()(t,r,"").toLowerCase();switch(d){case"project":case"language":case"architecture":case"meta.packaging":case"meta.java":var u=o()(n,d,[]),f=u.find((function(e){return e.key.toLowerCase()===l}));if(f)c()(e,d,f.key);else{var m=u.find((function(t){return t.key.toLowerCase()===o()(e,d)}));c()(i,d,{value:o()(t,r,""),select:m.text})}break;case"boot":var g=o()(n,d,[]),b=g.find((function(e){return e.key.toLowerCase()===l})),h=!1;if(b)c()(e,d,b.key);else{h=!0;var y=l;if(-1===y.indexOf(".x")&&(y=o()(Object(s.c)(y),"major","")),y.indexOf(".x")>-1){var k=Object(s.b)(g).filter((function(e){return e.major.toLowerCase()===y.toLowerCase()}));if(k.length>0){var x=k.reduce((function(e,t){return e.qualify>t.qualify||e.qualify===t.qualify&&e.minor>t.minor?e:t}),k[0]);if(x){h=!1,c()(e,d,x.version);var v=g.find((function(e){return e.key.toLowerCase()===x.version.toLowerCase()}));c()(i,d,{value:o()(t,r,""),select:v.text})}}}}h&&c()(a,"boot",{value:o()(t,r,"")});break;case"dependencies":var w=[],E=l.split(",").map((function(e){var t=o()(n,"dependencies").find((function(t){return t.id===e.trim()}));return t?t.id:(w.push(e),null)})).filter((function(e){return!!e}));w.length>0&&c()(i,d,{value:w.join(", ")}),c()(e,d,E);break;default:c()(e,d,o()(t,r,""))}}})),{values:e,errors:a,warnings:i}},b=function(e){var t=[];return o()(e,"dependencies.values",[]).forEach((function(e){e.values.forEach((function(n){var a=l.find((function(e){return e.id===o()(n,"id","")})),i={id:"".concat(o()(n,"id","")),name:"".concat(o()(n,"name","")),group:"".concat(e.name),description:"".concat(o()(n,"description","")),versionRange:"".concat(o()(n,"versionRange","")),versionRequirement:"".concat(o()(n,"versionRange","")),weight:o()(a,"weight",50)};t.push(i)}))})),{project:o()(e,"type.values",[]).filter((function(e){return"/starter.zip"===e.action})).map((function(e){return{key:"".concat(e.id),text:"".concat(e.name)}})),language:o()(e,"language.values",[]).map((function(e){return{key:"".concat(e.id),text:"".concat(e.name)}})),architecture:o()(e,"architecture.values",[]).map((function(e){return{key:"".concat(e.id),text:"".concat(e.name),dependencies:o()(e,"dependOn",[])}})),boot:o()(e,"bootVersion.values",[]).map((function(e){return{key:"".concat(e.id),text:"".concat(e.name)}})),meta:{java:o()(e,"javaVersion.values",[]).map((function(e){return{key:"".concat(e.id),text:"".concat(e.name)}})),packaging:o()(e,"packaging.values",[]).map((function(e){return{key:"".concat(e.id),text:"".concat(e.name)}}))},dependencies:t}},h=function(e){return{project:o()(e,"type.default"),language:o()(e,"language.default"),architecture:o()(e,"architecture.default"),boot:o()(e,"bootVersion.default"),meta:{name:o()(e,"name.default"),group:o()(e,"groupId.default"),artifact:o()(e,"artifactId.default"),description:o()(e,"description.default"),packaging:o()(e,"packaging.default"),packageName:o()(e,"packageName.default"),java:o()(e,"javaVersion.default")},share:o()(e,"share.default"),dependencies:[],availableCount:[]}},y=function(e){return{lists:b(e),defaultValues:h(e)}},k=function(e,t){return!!t&&(!o()(t,"versionRange")||Object(s.a)(e,o()(t,"versionRange")))},x=function(e,t){var n=r.a.stringify({type:o()(e,"project"),language:o()(e,"language"),architecture:o()(e,"architecture"),bootVersion:o()(e,"boot"),baseDir:o()(e,"meta.artifact"),groupId:o()(e,"meta.group"),artifactId:o()(e,"meta.artifact"),name:o()(e,"meta.name"),description:o()(e,"meta.description"),packageName:o()(e,"meta.packageName"),packaging:o()(e,"meta.packaging"),javaVersion:o()(e,"meta.java")}),a=o()(e,"dependencies",[]).map((function(n){var a=t.find((function(e){return e.id===n}));return k(o()(e,"boot"),a)?n:null})).filter((function(e){return!!e})).join(",");return a&&(a="&dependencies=".concat(a)),"".concat(n).concat(a)},v=function(e,t,n){return new Promise((function(a,o){var i=x(t,n);fetch("".concat(e,"?").concat(i),{method:"GET"}).then((function(e){200!==e.status?o():a(e.blob())}),(function(){o()}))}))}},,function(e,t,n){"use strict";n.d(t,"a",(function(){return O})),n.d(t,"b",(function(){return T}));var a=n(3),o=n.n(a),i=n(14),r=n.n(i),d=n(16),c=n.n(d),l=n(1),s=n.n(l),p=n(2),u=n.n(p),f=n(8),m=n.n(f),g=n(0),b=n.n(g);function h(){var e,t=Object(g.useState)((e=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches,localStorage.getItem("springtheme")||(e?"dark":"light")));return o()(t,1)[0]}var y=n(7),k=n(17);function x(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function v(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?x(Object(n),!0).forEach((function(t){c()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):x(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var w={more:!1,complete:!1,explore:!1,share:!1,fetch:!1,tab:"quicksearch",theme:"light",language:"zh",config:{},groupsOpened:[],dependencies:{list:[],groups:[]}};function E(e,t){for(var n=[],a=[],o=function(e,t){return e.find((function(e){return e.group===t}))},i=0;i<t.length;i+=1){var r="",d=t[i],c=o(n,d.group);c||(c={group:d.group,items:[]},n.push(c));var l=Object(y.f)(e,d);l||(r="Requires Spring Boot ".concat(Object(k.d)(u()(d,"versionRequirement")),".")),c.items.push(v(v({},d),{},{valid:l,message:r})),a.push(v(v({},d),{},{valid:l,message:r}))}return{list:a,groups:n}}function _(e,t){switch(t.type){case"UPDATE":var n=v({},e),a=Object.keys(w);return Object.keys(u()(t,"payload",{})).map((function(e){if(-1===a.indexOf(e))throw Error("Error AppProvider, invalid paylaod field action");var o=u()(t,"payload.".concat(e));return m()(n,e,o),"theme"===e&&localStorage.setItem("springtheme",o),e})),n;case"TOGGLE_GROUP":var o=u()(t,"payload.id"),i=r()(e.groupsOpened);return i=i.indexOf(o)>-1?r()(i.filter((function(e){return e!==o}))):[].concat(r()(i),[o]),v(v({},e),{},{groupsOpened:i});case"UPDATE_DEPENDENCIES":var d=E(u()(t,"payload.boot"),u()(e,"config.lists.dependencies"));return v(v({},e),{},{dependencies:d});case"SHARE_UPDATE":var c=u()(t,"payload.open",!1);return v(v({},e),{},{share:c});case"EXPLORE_UPDATE":var l=u()(t,"payload.open",!1);return v(v({},e),{},{explore:l});case"FETCH_UPDATE":var s=u()(t,"payload.open",!1);return v(v({},e),{},{fetch:s});case"COMPLETE":var p=u()(t,"payload",{}),f=E(u()(p,"defaultValues.boot"),u()(p,"lists.dependencies"));return v(v({},e),{},{complete:!0,config:p,dependencies:f});default:return e}}var O=b.a.createContext(v({},w));function T(e){var t=e.children,n=h(),a=Object(g.useReducer)(_,v(v({},w),{},{theme:n})),i=o()(a,2),r=i[0],d=i[1];return b.a.createElement(O.Provider,{value:v(v({},r),{},{dispatch:d})},t)}T.propTypes={children:s.a.node.isRequired}},function(e,t,n){"use strict";n.d(t,"a",(function(){return _})),n.d(t,"b",(function(){return O}));var a=n(3),o=n.n(a),i=n(14),r=n.n(i),d=n(40),c=n.n(d),l=n(16),s=n.n(l),p=n(1),u=n.n(p),f=n(2),m=n.n(f),g=n(8),b=n.n(g),h=n(0),y=n.n(h),k=n(7);function x(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function v(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?x(Object(n),!0).forEach((function(t){s()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):x(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var w={values:{project:"",language:"",architecture:"",boot:"",meta:{name:"",group:"",artifact:"",description:"",packaging:"",packageName:"",java:""},dependencies:[],share:[]},share:"",errors:{},warnings:{}};function E(e,t){switch(t.type){case"COMPLETE":var n=m()(t,"payload"),a=v(v({},m()(n,"defaultValues")),{},{meta:m()(n,"defaultValues.meta")});return{values:a,share:Object(k.e)(a),errors:{},warnings:{}};case"UPDATE":var o=m()(t,"payload"),i=v({},e.errors),d=v({},m()(e,"values.meta"));if(m()(o,"meta")&&(d=v(v({},d),m()(o,"meta"))),m()(o,"boot")){var l=i;l.boot;i=c()(l,["boot"])}m()(o,"meta.group")&&b()(d,"packageName","".concat(m()(d,"group"),".").concat(m()(d,"artifact"))),m()(o,"meta.artifact")&&(b()(d,"packageName","".concat(m()(d,"group"),".").concat(m()(d,"artifact"))),b()(d,"name","".concat(m()(d,"artifact"))));var s=v(v(v({},m()(e,"values")),o),{},{meta:d});return v(v({},e),{},{values:s,share:Object(k.e)(s),errors:i});case"LOAD":var p=m()(t,"payload.params"),u=m()(t,"payload.lists"),f=Object(k.h)(e.values,p,u),g=f.values,h=f.errors,y=f.warnings;return v(v({},e),{},{values:g,errors:h,warnings:y,share:Object(k.e)(g)});case"ADD_DEPENDENCY":var x=m()(t,"payload.id"),w=v({},m()(e,"values"));return 0==m()(w,"dependencies",[]).filter((function(e){return e===x})).length&&(w.dependencies=[].concat(r()(m()(w,"dependencies")),[x])),v(v({},e),{},{values:w,share:Object(k.e)(w)});case"REMOVE_DEPENDENCY":var E=m()(t,"payload.id"),_=v({},m()(e,"values"));return _.dependencies=r()(m()(_,"dependencies").filter((function(e){return e!==E}))),v(v({},e),{},{values:_,share:Object(k.e)(_)});case"CLEAR_WARNINGS":return v(v({},e),{},{warnings:{}});default:return e}}var _=y.a.createContext(v({},w));function O(e){var t=e.children,n=Object(h.useReducer)(E,v({},w)),a=o()(n,2),i=a[0],r=a[1];return y.a.createElement(_.Provider,{value:v(v({},i),{},{dispatch:r})},t)}O.defaultProps={children:null},O.propTypes={children:u.a.node}},,,,,,,function(e,t,n){"use strict";n.d(t,"c",(function(){return c})),n.d(t,"b",(function(){return s})),n.d(t,"a",(function(){return p})),n.d(t,"d",(function(){return u}));var a=/\[(.*),(.*)\]/,o=/\[(.*),(.*)\)/,i=/\((.*),(.*)\]/,r=["M","RC","BUILD-SNAPSHOT","RELEASE"],d=function(e){var t=(e||"").replace(/\d+/g,"").replace(/\./g," ").replace(/\s/g,"");return r.indexOf(t)>-1?t:"RELEASE"},c=function(e){var t=e.toString().split(".");return t.length<2?{version:e}:{version:e,short:"".concat(t[0],".").concat(t[1],".").concat(t[2]),major:"".concat(t[0],".").concat(t[1],".x"),qualify:r.indexOf(d(e)),minor:+t[2]}},l=function(e,t){var n,a=e.split("."),o=t.split(".");3===a.length&&(a[3]=""),3===o.length&&(o[3]="");for(var i=0;i<3;i+=1)if(0!==(n=parseInt(a[i],10)-parseInt(o[i],10)))return n;var c=function(e){return r.indexOf(d(e))};return 0!==(n=c(e)-c(t))?n:a[3].localeCompare(o[3])},s=function(e){return e.map((function(e){return c(e.key)}))},p=function(e,t){if(!t)return!0;var n=t.match(a);if(n)return l(n[1],e)<=0&&l(n[2],e)>=0;var r=t.match(o);if(r)return l(r[1],e)<=0&&l(r[2],e)>0;var d=t.match(i);return d?l(d[1],e)<0&&l(d[2],e)>=0:l(t,e)<=0},u=function(e){var t=e.match(a);if(t)return">= ".concat(t[1]," and <= ").concat(t[2]);var n=e.match(o);if(n)return">= ".concat(n[1]," and < ").concat(n[2]);var r=e.match(i);return r?"> ".concat(r[1]," and <= ").concat(r[2]):">= ".concat(e)}},,,,function(e,t,n){"use strict";var a=n(1),o=n.n(a),i=n(0),r=n.n(i),d=n(5),c=function(e){var t=e.onClose;return r.a.createElement("a",{href:"/#",className:"toast-close",onClick:function(e){e.preventDefault(),t&&t()}},r.a.createElement(d.j,null))};c.defaultProps={onClose:null},c.propTypes={onClose:o.a.func},t.a=c},,,,,,,,function(e,t,n){"use strict";n.d(t,"a",(function(){return d}));var a=n(3),o=n.n(a),i=n(0);function r(){return{symb:window.navigator.userAgent.toLowerCase().indexOf("mac")>-1?"⌘":"Ctrl",origin:window.location.origin,pathname:window.location.pathname}}function d(){var e=Object(i.useState)(r().symb),t=o()(e,1)[0],n=Object(i.useState)(r().origin),a=o()(n,1)[0],d=Object(i.useState)(r().pathname);return{symb:t,origin:a,pathname:o()(d,1)[0]}}},,,,,,,,,,function(e){e.exports=JSON.parse('[{"id":"web","weight":100},{"id":"webflux","weight":90},{"id":"rest","weight":60},{"id":"thymeleaf","weight":90},{"id":"security","weight":100},{"id":"data-jpa","weight":100},{"id":"data-mongodb","weight":50},{"id":"data-mongodb-reactive","weight":50},{"id":"data-elasticsearch","weight":60},{"id":"integration","weight":100},{"id":"ampq","weight":100},{"id":"kafka","weight":100},{"id":"kafka-streams","weight":90},{"id":"batch","weight":100},{"id":"cloud-config-client","weight":100},{"id":"cloud-stream","weight":90},{"id":"reactive-cloud-stream","weight":90},{"id":"cloud-eureka","weight":100}]')},,,,,,function(e,t,n){var a=n(42),o=n(46);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.i,o,""]]);var i={insert:"head",singleton:!1};a(o,i);e.exports=o.locals||{}},function(e,t,n){var a=n(43),o=n(47),i=n(48),r=n(49),d=n(50),c=n(51),l=n(52),s=n(53),p=n(54),u=n(55),f=n(56),m=n(57),g=n(58),b=n(59),h=n(60),y=n(61),k=n(62),x=n(63),v=n(64),w=n(65),E=n(66),_=n(67);t=a(!1);var O=o(i),T=o(i,{hash:"?#iefix"}),j=o(r),N=o(d),C=o(c),q=o(l,{hash:"#Karla"}),R=o(s),P=o(s,{hash:"?#iefix"}),D=o(p),z=o(u),S=o(f),L=o(m,{hash:"#Karla"}),I=o(g),A=o(g,{hash:"?#iefix"}),M=o(b),U=o(h),B=o(y),F=o(k,{hash:"#Karla"}),V=o(x),H=o(x,{hash:"?#iefix"}),G=o(v),K=o(w),Y=o(E),J=o(_,{hash:"#Karla"});t.push([e.i,"@font-face{font-family:'Karla';font-style:normal;font-weight:400;src:url("+O+');src:local(""),url('+T+') format("embedded-opentype"),url('+j+') format("woff2"),url('+N+') format("woff"),url('+C+') format("truetype"),url('+q+") format(\"svg\")}@font-face{font-family:'Karla';font-style:normal;font-weight:700;src:url("+R+');src:local(""),url('+P+') format("embedded-opentype"),url('+D+') format("woff2"),url('+z+') format("woff"),url('+S+') format("truetype"),url('+L+") format(\"svg\")}html,body{text-rendering:optimizeLegibility;height:100%}body{color:#222;padding:0;margin:0;font-size:15px;font-family:Karla,Arial,sans-serif;font-weight:400;font-style:normal;position:relative;line-height:32px;background-repeat:repeat-y;background-size:316px 1px;background-color:#fff}body.light{background:linear-gradient(to right, #ff6a00 4px, #f7f7f7 4px 316px, #fff 316px)}div{outline:none}@font-face{font-family:'Karla';font-style:normal;font-weight:400;src:url("+I+");src:url("+A+') format("embedded-opentype"),url('+M+') format("woff2"),url('+U+') format("woff"),url('+B+') format("truetype"),url('+F+") format(\"svg\")}@font-face{font-family:'Karla';font-style:normal;font-weight:700;src:url("+V+");src:url("+H+') format("embedded-opentype"),url('+G+') format("woff2"),url('+K+') format("woff"),url('+Y+') format("truetype"),url('+J+") format(\"svg\")}.header{width:316px}.header h1.logo{width:280px;margin:0px 20px 0px 24px}.header h1.logo a{display:block;position:relative;padding:4px 0;color:#000;text-decoration:none;font-size:1.0rem;line-height:1.6rem;font-weight:normal;width:260px;outline:1px dotted transparent}.header h1.logo a span{display:block}.header h1.logo a span.title{display:block;font-size:1.6rem;font-weight:normal;margin-top:10px;letter-spacing:-1px}.header h1.logo a span.title strong{color:#ff6a00}.header h1.logo a svg{width:65px;height:65px;margin-left:-10px;position:absolute;left:0;color:#ff6a00}.header h1.logo a:focus{outline:1px dotted rgba(0,0,0,0.2)}.quick-links{position:absolute;top:10px;right:20px;width:1000px;text-align:right;list-style:none;margin:0px;padding:0px}.quick-links li{position:relative;display:inline-block}.quick-links li a{padding:8px;padding-left:28px;padding-right:4px;position:relative;color:#222;margin:0px 12px;text-decoration:none;cursor:pointer;outline:none;-webkit-transition:color .15s;-moz-transition:color .15s;-ms-transition:color .15s;-o-transition:color .15s;transition:color .15s}.quick-links li a svg{position:absolute;left:4px;top:8px;height:18px}.quick-links li a:hover{color:#ff6a00}.quick-links li a.dropdown{padding-right:8px}.quick-links li a.dropdown svg.icon-caret-down{position:relative;width:10px;top:3px;margin-left:6px}.quick-links ul.dropdown-menu{z-index:999;position:absolute;top:34px;right:0px;width:220px;box-shadow:rgba(0,0,0,0.2) 0px 4px 10px;text-align:left;background:white;padding:0px;margin:0px;list-style:none}.quick-links ul.dropdown-menu li{display:block}.quick-links ul.dropdown-menu li a{display:block;position:relative;color:#222;padding:4px 12px;margin:0px;text-decoration:none;-webkit-transition:background .15s;-moz-transition:background .15s;-ms-transition:background .15s;-o-transition:background .15s;transition:background .15s}.quick-links ul.dropdown-menu li a:hover{background:#e7f1f4}.quick-links .nav-anim-enter{opacity:0.01;transform:scale(0.95)}.quick-links .nav-anim-enter-active{opacity:1;transform:scale(1);transition:all 300ms}.quick-links .nav-anim-exit{opacity:1;transform:scale(1)}.quick-links .nav-anim-exit-active{opacity:0.01;transform:scale(0.95);transition:all 300ms}.quick-links .switch-language{position:relative;padding-left:32px;padding-right:20px}.quick-links .switch-language .switch{position:absolute;top:-3px;left:0}.quick-links .switch-mode{position:relative;padding-left:32px;padding-right:20px}.quick-links .switch-mode .switch{position:absolute;top:-3px;left:0}.quick-links .icon-cloud-tookit{width:25px;height:25px;top:4px;left:0px}.quick-links .icon-feedback{width:20px;height:20px}.footer{background:#f7f7f7;line-height:24px;padding:0 40px 8px 8px;font-weight:400;color:rgba(0,0,0,0.5);font-size:14px;letter-spacing:-0.5px;text-align:right;margin-left:8px}.footer .footer-container{padding:4px 0 0}.footer a{color:#0188ff;text-decoration:underline}.footer a:hover{text-decoration:none}.colset{display:flex;padding-right:8px}.colset .left{font-weight:700;width:280px;text-align:right;position:relative;padding:8px 32px 8px 0px;flex:0 0 280px}.colset .left.nopadding{padding:0;flex:0 0 310px;margin-left:6px}.colset .right{max-width:900px;padding:8px 0px 8px 32px;flex:2 1 0%;min-height:51px}.colset .right.nopadding{max-width:600px;margin-left:28px;flex:2 1 0%;padding:0px}.colset .right.right-md{max-width:500px;padding:8px 0px 8px 32px;flex:2 1 0%;min-height:187px}.dependencies-box{padding:8px 0 8px 32px;flex:2;max-width:900px;-webkit-transition:all .15s;-moz-transition:all .15s;-ms-transition:all .15s;-o-transition:all .15s;transition:all .15s}.dependencies-box .colset-2{padding-top:20px}.dependencies-box.large{max-width:1200px}.colset-2{display:flex;min-height:300px}.colset-2 .column{flex:1 1 0%}.colset-2 .column+.column{padding-left:20px}.control{padding-top:8px}.control+.control{padding-top:16px}label{display:block;color:#706c69;font-size:14px;font-weight:lighter;line-height:17px}.dependencies label{padding:8px 0}.control-input{display:block;border:0;outline:none;border-bottom:3px solid #ebebeb;line-height:16px;font-family:Karla, sans-serif;font-size:15px;box-sizing:border-box;background-clip:padding-box;width:100%;padding:0.35rem 0 0.55rem;border-radius:0;background:#fff;-webkit-transition:border-color .15s;-moz-transition:border-color .15s;-ms-transition:border-color .15s;-o-transition:border-color .15s;transition:border-color .15s}.control-input:hover{border-color:#cbcbcb}.control-input:focus{border-color:#ff6a00}.button{display:inline-block;color:#222;padding:4px 32px;border:2px solid #f1f1f1;background-color:#f1f1f1;border-radius:4px;font-family:Karla, sans-serif;font-size:15px;font-weight:400;cursor:pointer;line-height:32px;-webkit-transition:all .15s;-moz-transition:all .15s;-ms-transition:all .15s;-o-transition:all .15s;transition:all .15s;white-space:nowrap;text-decoration:none;outline:1px dotted transparent}.button:hover{border:2px solid #e4e4e4;background-color:#e4e4e4}.button:focus{outline:1px dotted rgba(0,0,0,0.2)}.button.primary{color:#fff;border:2px solid #ff6a00;background-color:#ff6a00;-webkit-transition:all .15s;-moz-transition:all .15s;-ms-transition:all .15s;-o-transition:all .15s;transition:all .15s}.button.primary:hover{border:2px solid #e65f00;background-color:#e65f00}.button.blue{color:#fff;border:2px solid #3d96f7;background-color:#3d96f7;-webkit-transition:all .15s;-moz-transition:all .15s;-ms-transition:all .15s;-o-transition:all .15s;transition:all .15s}.button.blue:hover{border:2px solid #3391f7;background-color:#3391f7}.button+.button{margin-left:6px}.control-error{padding:16px 0}.control-error p{padding:0;margin:0;line-height:24px}.control-error p a{color:#0188ff;text-decoration:underline}.control-error p a:hover{text-decoration:none}.control-error .title{color:#f30808}.control-warning{padding:6px 0;color:#eb4200}.control-warning a{color:#0188ff;text-decoration:underline}.control-warning a:hover{text-decoration:none}.sticky{position:sticky;bottom:0px;z-index:100}.see-all{position:absolute;top:38px;right:35px;font-weight:400;width:80px;height:22px;line-height:22px;cursor:pointer;text-decoration:underline;color:#097dff;outline:1px dotted transparent}.see-all:focus{outline:1px dotted rgba(0,0,0,0.2)}.submit{bottom:0px;width:auto;background:white;height:36px;padding:18px 0 29px;margin-right:12px;border-top:1px solid #ccc}.colset-submit .right.nopadding{max-width:100%;background:white;margin-left:0;padding-left:28px;max-width:1212px}.radio{display:inline-block;border-bottom:3px solid #e4e4e4;text-decoration:none;color:#888;line-height:32px;padding:0 16px;text-align:center;font-weight:700;cursor:pointer;margin-right:4px;-webkit-transition:all .15s;-moz-transition:all .15s;-ms-transition:all .15s;-o-transition:all .15s;transition:all .15s;outline:1px dotted transparent}.radio:focus{outline:1px dotted rgba(0,0,0,0.2)}.radio:hover{border-color:#cbcbcb;color:#222}.radio.checked{border-bottom-color:#ff6a00;color:#000}.radio.err{color:#8e1313;background:#fbe5e5;border-bottom-color:#d60000;cursor:not-allowed}.dependencies-list,ul.dependencies-list{list-style:none;padding:0;margin:0}.dependencies-list .dependency-item,ul.dependencies-list .dependency-item{position:relative;display:block;text-decoration:none;padding:16px;padding-right:60px;color:rgba(34,34,34,0.8);background:#f7f7f7;cursor:pointer;font-size:14px;display:flex;align-items:center;line-height:24px}.dependencies-list .dependency-item:focus,ul.dependencies-list .dependency-item:focus{outline:1px dotted rgba(0,0,0,0.2)}.dependencies-list .dependency-item strong,ul.dependencies-list .dependency-item strong{color:#222}.dependencies-list .dependency-item input,ul.dependencies-list .dependency-item input{display:none}.dependencies-list .dependency-item div,ul.dependencies-list .dependency-item div{padding:0;margin:0}.dependencies-list .dependency-item span,ul.dependencies-list .dependency-item span{font-size:13px}.dependencies-list .dependency-item .icon,ul.dependencies-list .dependency-item .icon{position:absolute;display:block;border:2px solid #e4e4e4;height:24px;width:24px;margin-top:-12px;top:50%;right:16px;border-radius:14px;color:#222}.dependencies-list .dependency-item .icon-times,.dependencies-list .dependency-item .icon-check,.dependencies-list .dependency-item .icon-plus,ul.dependencies-list .dependency-item .icon-times,ul.dependencies-list .dependency-item .icon-check,ul.dependencies-list .dependency-item .icon-plus{display:block;opacity:0;width:12px;margin:0 auto;position:absolute;top:5px;left:6px}.dependencies-list .dependency-item .icon-times,ul.dependencies-list .dependency-item .icon-times{left:7px;width:10px;color:#d20000}.dependencies-list .dependency-item .icon-check,ul.dependencies-list .dependency-item .icon-check{top:6px}.dependencies-list .dependency-item.selected,ul.dependencies-list .dependency-item.selected{background:#e7f1f4}.dependencies-list .dependency-item.selected .icon,ul.dependencies-list .dependency-item.selected .icon{border-color:rgba(161,200,212,0.6);color:#356574}.dependencies-list .dependency-item.selected .icon-plus,ul.dependencies-list .dependency-item.selected .icon-plus{opacity:1}.dependencies-list .dependency-item.checked,.dependencies-list .dependency-item .selected,ul.dependencies-list .dependency-item.checked,ul.dependencies-list .dependency-item .selected{background:white;box-shadow:0 2px 3px 1px rgba(0,0,0,0.1)}.dependencies-list .dependency-item.checked .icon,.dependencies-list .dependency-item .selected .icon,ul.dependencies-list .dependency-item.checked .icon,ul.dependencies-list .dependency-item .selected .icon{border-color:rgba(0,0,0,0.1);color:#ff6a00}.dependencies-list .dependency-item.checked .icon-check,.dependencies-list .dependency-item .selected .icon-check,ul.dependencies-list .dependency-item.checked .icon-check,ul.dependencies-list .dependency-item .selected .icon-check{opacity:1}.dependencies-list .dependency-item.checked:hover .icon-plus,ul.dependencies-list .dependency-item.checked:hover .icon-plus{opacity:0}.dependencies-list .dependency-item.checked:hover .icon-check,ul.dependencies-list .dependency-item.checked:hover .icon-check{opacity:0}.dependencies-list .dependency-item.checked:hover .icon-times,ul.dependencies-list .dependency-item.checked:hover .icon-times{opacity:1}.dependencies-list .dependency-item.invalid,.dependencies-list .dependency-item.checked.invalid,ul.dependencies-list .dependency-item.invalid,ul.dependencies-list .dependency-item.checked.invalid{opacity:0.6;cursor:not-allowed;background:#f7f7f7}.dependencies-list .dependency-item.invalid:hover,.dependencies-list .dependency-item.checked.invalid:hover,ul.dependencies-list .dependency-item.invalid:hover,ul.dependencies-list .dependency-item.checked.invalid:hover{background:#f7f7f7}.dependencies-list .dependency-item.invalid .warning,.dependencies-list .dependency-item.checked.invalid .warning,ul.dependencies-list .dependency-item.invalid .warning,ul.dependencies-list .dependency-item.checked.invalid .warning{color:#f30808}.dependencies-list .dependency-item.invalid .icon,ul.dependencies-list .dependency-item.invalid .icon{display:none}.dependencies-list .dependency-item.checked.invalid,ul.dependencies-list .dependency-item.checked.invalid{cursor:pointer}.dependencies-list .dependency-item.checked.invalid .icon,ul.dependencies-list .dependency-item.checked.invalid .icon{display:block}.dependencies-list .dependency-item.checked.invalid .icon-check,ul.dependencies-list .dependency-item.checked.invalid .icon-check{opacity:0}.dependencies-list .dependency-item.checked.invalid .icon-times,ul.dependencies-list .dependency-item.checked.invalid .icon-times{opacity:1}.dependencies-list.dependencies-list-checked .dependency-item-span,ul.dependencies-list.dependencies-list-checked .dependency-item-span{padding:6px 0}.dependencies-list.dependencies-list-checked .dependency-item-span>a,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a{position:relative;display:block;text-decoration:none;padding:16px;padding-right:60px;color:rgba(34,34,34,0.8);background:#f7f7f7;cursor:pointer;font-size:14px;display:flex;align-items:center;line-height:24px}.dependencies-list.dependencies-list-checked .dependency-item-span>a:focus,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a:focus{outline:1px dotted rgba(0,0,0,0.2)}.dependencies-list.dependencies-list-checked .dependency-item-span>a strong,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a strong{color:#222}.dependencies-list.dependencies-list-checked .dependency-item-span>a input,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a input{display:none}.dependencies-list.dependencies-list-checked .dependency-item-span>a div,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a div{padding:0;margin:0}.dependencies-list.dependencies-list-checked .dependency-item-span>a span,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a span{font-size:13px}.dependencies-list.dependencies-list-checked .dependency-item-span>a .icon,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a .icon{position:absolute;display:block;border:2px solid #e4e4e4;height:24px;width:24px;margin-top:-12px;top:50%;right:16px;border-radius:14px;color:#222}.dependencies-list.dependencies-list-checked .dependency-item-span>a .icon-times,.dependencies-list.dependencies-list-checked .dependency-item-span>a .icon-check,.dependencies-list.dependencies-list-checked .dependency-item-span>a .icon-plus,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a .icon-times,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a .icon-check,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a .icon-plus{display:block;opacity:0;width:12px;margin:0 auto;position:absolute;top:5px;left:6px}.dependencies-list.dependencies-list-checked .dependency-item-span>a .icon-times,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a .icon-times{left:7px;width:10px;color:#d20000}.dependencies-list.dependencies-list-checked .dependency-item-span>a .icon-check,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a .icon-check{top:6px}.dependencies-list.dependencies-list-checked .dependency-item-span>a.selected,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.selected{background:#e7f1f4}.dependencies-list.dependencies-list-checked .dependency-item-span>a.selected .icon,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.selected .icon{border-color:rgba(161,200,212,0.6);color:#356574}.dependencies-list.dependencies-list-checked .dependency-item-span>a.selected .icon-plus,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.selected .icon-plus{opacity:1}.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked,.dependencies-list.dependencies-list-checked .dependency-item-span>a .selected,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a .selected{background:white;box-shadow:0 2px 3px 1px rgba(0,0,0,0.1)}.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked .icon,.dependencies-list.dependencies-list-checked .dependency-item-span>a .selected .icon,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked .icon,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a .selected .icon{border-color:rgba(0,0,0,0.1);color:#ff6a00}.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked .icon-check,.dependencies-list.dependencies-list-checked .dependency-item-span>a .selected .icon-check,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked .icon-check,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a .selected .icon-check{opacity:1}.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked:hover .icon-plus,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked:hover .icon-plus{opacity:0}.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked:hover .icon-check,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked:hover .icon-check{opacity:0}.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked:hover .icon-times,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked:hover .icon-times{opacity:1}.dependencies-list.dependencies-list-checked .dependency-item-span>a.invalid,.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.invalid,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid{opacity:0.6;cursor:not-allowed;background:#f7f7f7}.dependencies-list.dependencies-list-checked .dependency-item-span>a.invalid:hover,.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid:hover,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.invalid:hover,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid:hover{background:#f7f7f7}.dependencies-list.dependencies-list-checked .dependency-item-span>a.invalid .warning,.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid .warning,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.invalid .warning,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid .warning{color:#f30808}.dependencies-list.dependencies-list-checked .dependency-item-span>a.invalid .icon,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.invalid .icon{display:none}.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid{cursor:pointer}.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid .icon,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid .icon{display:block}.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid .icon-check,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid .icon-check{opacity:0}.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid .icon-times,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid .icon-times{opacity:1}.dependencies-list .dependency-item-span,ul.dependencies-list .dependency-item-span{display:block;padding-top:4px}.dependencies-list li,ul.dependencies-list li{margin:0}.dependencies-list .fade-enter,ul.dependencies-list .fade-enter{max-height:0;opacity:0}.dependencies-list .fade-enter-active,ul.dependencies-list .fade-enter-active{max-height:200px;opacity:1;transition:all 250ms}.dependencies-list .fade-exit,ul.dependencies-list .fade-exit{max-height:200px;opacity:1}.dependencies-list .fade-exit-active,ul.dependencies-list .fade-exit-active{max-height:0;opacity:0;transition:all 250ms}.more{line-height:16px;padding-top:4px;margin-top:4px}.more div.wrap{border-bottom:3px solid #ebebeb;padding-bottom:4px}.more div.wrap a{position:relative;display:block;height:28px;line-height:28px;margin-top:4px;padding:0 16px 0 24px;color:#222;text-decoration:none;border-radius:4px;outline:1px dotted transparent;-webkit-transition:all .15s;-moz-transition:all .15s;-ms-transition:all .15s;-o-transition:all .15s;transition:all .15s}.more div.wrap a:focus{outline:1px dotted rgba(0,0,0,0.2)}.more div.wrap a:hover{color:#222}.more div.wrap a:hover svg{color:#ff6a00}.more div.wrap a svg{position:absolute;width:8px;left:8px;top:8px;color:#222;-webkit-transition:all .15s;-moz-transition:all .15s;-ms-transition:all .15s;-o-transition:all .15s;transition:all .15s}.more div.wrap a.toggle svg{transform:rotate(90deg)}.demos{line-height:16px}.demos div.wrap{border-bottom:3px solid #ebebeb;padding-bottom:4px}.demos div.wrap a{position:relative;display:block;height:28px;line-height:28px;padding:0 16px 0 24px;color:#222;text-decoration:none;border-radius:4px;outline:1px dotted transparent;-webkit-transition:all .15s;-moz-transition:all .15s;-ms-transition:all .15s;-o-transition:all .15s;transition:all .15s}.demos div.wrap a:focus{outline:1px dotted rgba(0,0,0,0.2)}.demos div.wrap a:hover{color:#222}.demos div.wrap a:hover svg{color:#ff6a00}.demos div.wrap a svg{position:absolute;width:8px;left:8px;top:8px;color:#222;-webkit-transition:all .15s;-moz-transition:all .15s;-ms-transition:all .15s;-o-transition:all .15s;transition:all .15s}.demos div.wrap a.toggle svg{transform:rotate(90deg)}.demos div.wrap a strong{float:right;font-weight:normal;background-color:#f7f7f7;padding:0 8px;margin-left:8px;border-radius:4px;line-height:24px;font-weight:bold;color:rgba(34,34,34,0.7)}.demos div.wrap a strong span{color:#222;padding:0px 3px 0px 3px}.panel{overflow:hidden;max-height:0;-webkit-transition:all .45s;-moz-transition:all .45s;-ms-transition:all .45s;-o-transition:all .45s;transition:all .45s}.panel.panel-active{max-height:600px}.panel .panel-wrap{border:1px solid #f5f5f5;border-top:0 none;padding:12px 24px;padding-bottom:24px}.casePanel{overflow:hidden;max-height:0;-webkit-transition:all .45s;-moz-transition:all .45s;-ms-transition:all .45s;-o-transition:all .45s;transition:all .45s}.casePanel.casePanel-active{max-height:600px}.casePanel .panel-wrap{border:1px solid #f5f5f5;border-top:0 none;padding:8px 16px}.groups{padding:0px 0px 16px 0}.groups .group{line-height:1.4rem;position:relative;padding-bottom:12px}.groups .group a{position:relative;display:block;text-decoration:none;padding:16px;padding-right:60px;color:rgba(34,34,34,0.8);background:#f7f7f7;cursor:pointer;font-size:14px;display:flex;align-items:center;line-height:24px}.groups .group a:focus{outline:1px dotted rgba(0,0,0,0.2)}.groups .group a strong{color:#222}.groups .group a input{display:none}.groups .group a div{padding:0;margin:0}.groups .group a span{font-size:13px}.groups .group a .icon{position:absolute;display:block;border:2px solid #e4e4e4;height:24px;width:24px;margin-top:-12px;top:50%;right:16px;border-radius:14px;color:#222}.groups .group a .icon-times,.groups .group a .icon-check,.groups .group a .icon-plus{display:block;opacity:0;width:12px;margin:0 auto;position:absolute;top:5px;left:6px}.groups .group a .icon-times{left:7px;width:10px;color:#d20000}.groups .group a .icon-check{top:6px}.groups .group a.selected{background:#e7f1f4}.groups .group a.selected .icon{border-color:rgba(161,200,212,0.6);color:#356574}.groups .group a.selected .icon-plus{opacity:1}.groups .group a.checked,.groups .group a .selected{background:white;box-shadow:0 2px 3px 1px rgba(0,0,0,0.1)}.groups .group a.checked .icon,.groups .group a .selected .icon{border-color:rgba(0,0,0,0.1);color:#ff6a00}.groups .group a.checked .icon-check,.groups .group a .selected .icon-check{opacity:1}.groups .group a.checked:hover .icon-plus{opacity:0}.groups .group a.checked:hover .icon-check{opacity:0}.groups .group a.checked:hover .icon-times{opacity:1}.groups .group a.invalid,.groups .group a.checked.invalid{opacity:0.6;cursor:not-allowed;background:#f7f7f7}.groups .group a.invalid:hover,.groups .group a.checked.invalid:hover{background:#f7f7f7}.groups .group a.invalid .warning,.groups .group a.checked.invalid .warning{color:#f30808}.groups .group a.invalid .icon{display:none}.groups .group a.checked.invalid{cursor:pointer}.groups .group a.checked.invalid .icon{display:block}.groups .group a.checked.invalid .icon-check{opacity:0}.groups .group a.checked.invalid .icon-times{opacity:1}.groups .group a:hover{background:#e7f1f4}.groups .group a:hover .icon{border-color:rgba(161,200,212,0.6);color:#15282e}.groups .group a:hover .icon-plus{opacity:1}.groups .group a.checked:hover{background:white}.groups .group a.checked:hover .icon{border-color:rgba(0,0,0,0.1)}.groups .group .group-title{border-bottom:1px solid #e4e4e4;font-weight:bold;margin-top:8px;cursor:pointer}.groups .group .group-title a{display:block;position:relative;margin:4px 0;padding:4px 0;padding-left:26px;line-height:22px;font-size:16px;background:white}.groups .group .group-title a:focus{outline:1px dotted rgba(0,0,0,0.2)}.groups .group .group-title a svg{position:absolute;top:8px;left:8px;width:8px;-webkit-transition:all .15s;-moz-transition:all .15s;-ms-transition:all .15s;-o-transition:all .15s;transition:all .15s}.groups .group .group-title a.toggleGroupItems svg{transform:rotate(90deg)}.groups .group .group-title a:hover svg{color:#ff6a00}.groups .group:first-child{padding-top:8px}.groups div.group-items{padding-top:15px;display:grid;grid-template-columns:repeat(auto-fill, minmax(250px, 1fr));grid-template-rows:repeat(auto-fill, minmax(85, 0.75fr));grid-gap:8px 10px}.search-label{padding-bottom:8px}.search-no-selected{color:rgba(0,0,0,0.4)}.search-more-warning,.search-no-result{padding:8px 0 16px;color:rgba(0,0,0,0.5)}.search-more-warning p,.search-no-result p{padding:0;margin:0;line-height:24px;padding-left:16px}.search-no-result p{padding-left:0}.sticky-label{padding-top:4px;position:sticky;top:0}.tab{position:sticky;top:0;z-index:90;background:white;padding:0 20px;margin:0 -20px;margin-bottom:10px}.tab .tab-container{border-bottom:3px solid #f3f3f3}.tab a{display:inline-block;margin-bottom:-3px;text-decoration:none;color:rgba(34,34,34,0.6);border-bottom:3px solid #f3f3f3;padding:15px 16px 11px;font-weight:bold;line-height:16px;outline:1px dotted transparent;-webkit-transition:all .15s;-moz-transition:all .15s;-ms-transition:all .15s;-o-transition:all .15s;transition:all .15s}.tab a:focus{outline:1px dotted rgba(0,0,0,0.2)}.tab a svg{width:16px}.tab a:hover{color:#222;border-bottom:3px solid #cbcbcb}.tab a.active{color:#222;border-bottom:3px solid #ff6a00}.tab a span{margin:0px 0px 0px 5px;vertical-align:top}.tab strong{float:right;font-weight:normal;background-color:#f7f7f7;padding:0 8px;border-radius:4px;line-height:24px;margin-top:6px;font-weight:bold;color:rgba(34,34,34,0.7)}.tab strong span{color:#222}.placeholder-radios .placeholder-radio{display:inline-block;height:32px;background:#f7f7f7;border-bottom:3px solid #e4e4e4;margin-right:4px}.placeholder-input{display:block;height:32px;background:#f7f7f7;border-bottom:3px solid #e4e4e4;position:relative;margin-top:15px}.placeholder-input:after{display:inline-block;content:' ';position:absolute;top:-15px;left:0;height:15px;background:#f7f7f7;width:70px}.placeholder-text{display:inline-block;height:14px;background:#f7f7f7}.placeholder-dropdown{display:block;margin-top:-3px;height:32px;background:#f7f7f7;border-bottom:3px solid #e4e4e4;position:relative}.placeholder-tabs{display:block;height:378px}.placeholder-tabs .placeholder-header{display:block;height:45px;border-bottom:3px solid #e4e4e4;position:relative}.placeholder-tabs .placeholder-tab{display:inline-block;height:45px;background:#f7f7f7;width:42px}.placeholder-button{display:inline-block;height:44px;background:#f7f7f7;position:relative;border-radius:4px}.placeholder-button+.placeholder-button{margin-left:6px}.warnings{position:relative;margin-bottom:8px;background:#fff0d0;padding:16px;color:#8f2500;line-height:26px;margin-top:-45px}.warnings .close{display:block;position:absolute;top:0;right:0;padding:12px 12px;height:28px;cursor:pointer;opacity:0.7;color:#8f2500}.warnings .close svg{width:14px}.warnings .close:hover{opacity:1}.warnings ul{padding:0;padding-left:20px;margin:0}.warnings li{padding:0;margin:0}.switch-checkbox{height:0;width:0;visibility:hidden;position:absolute}.switch-label{cursor:pointer;width:25px;height:16px;position:relative;display:inline-block}.switch-label::after{content:' ';width:25px;height:6px;background:rgba(0,0,0,0.2);position:absolute;top:0;left:0;z-index:1;border-radius:6px;top:5px}.switch-label .switch-button{content:'';z-index:2;position:absolute;top:0px;left:0;width:16px;height:16px;border-radius:16px;transition:0.2s left;background:#222}.switch-checkbox:checked+.switch-label .switch-button{left:9px;background:#222;width:16px}.switch-label:active .switch-button{width:16px}.Toastify__toast-container{z-index:9999;-webkit-transform:translate3d(0, 0, 9999px);position:fixed;padding:4px;width:400px;box-sizing:border-box;color:#fff}.Toastify__toast-container--top-left{top:1em;left:1em}.Toastify__toast-container--top-center{top:1em;left:50%;margin-left:-200px}.Toastify__toast-container--top-right{top:1em;right:1em}.Toastify__toast-container--bottom-left{bottom:1em;left:1em}.Toastify__toast-container--bottom-center{bottom:1em;left:50%;margin-left:-200px}.Toastify__toast-container--bottom-right{bottom:1em;right:1em}@media only screen and (max-width: 480px){.Toastify__toast-container{width:100vw;padding:0;left:0;margin:0}.Toastify__toast-container--top-left,.Toastify__toast-container--top-center,.Toastify__toast-container--top-right{top:0}.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-right{bottom:0}.Toastify__toast-container--rtl{right:0;left:initial}}.Toastify__toast{position:relative;min-height:64px;box-sizing:border-box;margin-bottom:1rem;padding:8px;border-radius:1px;box-shadow:0 1px 10px 0 rgba(0,0,0,0.1),0 2px 15px 0 rgba(0,0,0,0.05);display:flex;justify-content:space-between;max-height:800px;overflow:hidden;font-family:sans-serif;cursor:pointer;direction:ltr}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--default{background:#fff;color:#aaa}.Toastify__toast--info{background:#3498db}.Toastify__toast--success{background:#ff6a00}.Toastify__toast--warning{background:#e8ba00}.Toastify__toast--error{background:#e74c3c}.Toastify__toast-body{margin:auto 0;flex:1}@media only screen and (max-width: 480px){.Toastify__toast{margin-bottom:0}}.Toastify__close-button{color:#fff;font-weight:bold;font-size:14px;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:0.7;transition:0.3s ease;align-self:flex-start}.Toastify__close-button--default{color:#000;opacity:0.3}.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}100%{transform:scaleX(0)}}.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:5px;z-index:9999;opacity:0.7;background-color:rgba(255,255,255,0.7);transform-origin:left}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:initial;transform-origin:right}.Toastify__progress-bar--default{background:linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55)}@keyframes Toastify__bounceInRight{from,60%,75%,90%,to{animation-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}from{opacity:0;transform:translate3d(3000px, 0, 0)}60%{opacity:1;transform:translate3d(-25px, 0, 0)}75%{transform:translate3d(10px, 0, 0)}90%{transform:translate3d(-5px, 0, 0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px, 0, 0)}to{opacity:0;transform:translate3d(2000px, 0, 0)}}@keyframes Toastify__bounceInLeft{from,60%,75%,90%,to{animation-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}0%{opacity:0;transform:translate3d(-3000px, 0, 0)}60%{opacity:1;transform:translate3d(25px, 0, 0)}75%{transform:translate3d(-10px, 0, 0)}90%{transform:translate3d(5px, 0, 0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px, 0, 0)}to{opacity:0;transform:translate3d(-2000px, 0, 0)}}@keyframes Toastify__bounceInUp{from,60%,75%,90%,to{animation-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}from{opacity:0;transform:translate3d(0, 3000px, 0)}60%{opacity:1;transform:translate3d(0, -20px, 0)}75%{transform:translate3d(0, 10px, 0)}90%{transform:translate3d(0, -5px, 0)}to{transform:translate3d(0, 0, 0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0, -10px, 0)}40%,45%{opacity:1;transform:translate3d(0, 20px, 0)}to{opacity:0;transform:translate3d(0, -2000px, 0)}}@keyframes Toastify__bounceInDown{from,60%,75%,90%,to{animation-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}0%{opacity:0;transform:translate3d(0, -3000px, 0)}60%{opacity:1;transform:translate3d(0, 25px, 0)}75%{transform:translate3d(0, -10px, 0)}90%{transform:translate3d(0, 5px, 0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0, 10px, 0)}40%,45%{opacity:1;transform:translate3d(0, -20px, 0)}to{opacity:0;transform:translate3d(0, 2000px, 0)}}.Toastify__bounce-enter--top-left,.Toastify__bounce-enter--bottom-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--top-right,.Toastify__bounce-enter--bottom-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--top-left,.Toastify__bounce-exit--bottom-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--top-right,.Toastify__bounce-exit--bottom-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{from{opacity:0;transform:scale3d(0.3, 0.3, 0.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{from{opacity:1}50%{opacity:0;transform:scale3d(0.3, 0.3, 0.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{from{transform:perspective(400px) rotate3d(1, 0, 0, 90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotate3d(1, 0, 0, -20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotate3d(1, 0, 0, 10deg);opacity:1}80%{transform:perspective(400px) rotate3d(1, 0, 0, -5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{from{transform:perspective(400px)}30%{transform:perspective(400px) rotate3d(1, 0, 0, -20deg);opacity:1}to{transform:perspective(400px) rotate3d(1, 0, 0, 90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{from{transform:translate3d(110%, 0, 0);visibility:visible}to{transform:translate3d(0, 0, 0)}}@keyframes Toastify__slideInLeft{from{transform:translate3d(-110%, 0, 0);visibility:visible}to{transform:translate3d(0, 0, 0)}}@keyframes Toastify__slideInUp{from{transform:translate3d(0, 110%, 0);visibility:visible}to{transform:translate3d(0, 0, 0)}}@keyframes Toastify__slideInDown{from{transform:translate3d(0, -110%, 0);visibility:visible}to{transform:translate3d(0, 0, 0)}}@keyframes Toastify__slideOutRight{from{transform:translate3d(0, 0, 0)}to{visibility:hidden;transform:translate3d(110%, 0, 0)}}@keyframes Toastify__slideOutLeft{from{transform:translate3d(0, 0, 0)}to{visibility:hidden;transform:translate3d(-110%, 0, 0)}}@keyframes Toastify__slideOutDown{from{transform:translate3d(0, 0, 0)}to{visibility:hidden;transform:translate3d(0, 500px, 0)}}@keyframes Toastify__slideOutUp{from{transform:translate3d(0, 0, 0)}to{visibility:hidden;transform:translate3d(0, -500px, 0)}}.Toastify__slide-enter--top-left,.Toastify__slide-enter--bottom-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--top-right,.Toastify__slide-enter--bottom-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--top-left,.Toastify__slide-exit--bottom-left{animation-name:Toastify__slideOutLeft}.Toastify__slide-exit--top-right,.Toastify__slide-exit--bottom-right{animation-name:Toastify__slideOutRight}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown}.Toastify__toast-container{line-height:22px}.Toastify__toast{padding:16px}.Toastify__toast{position:relative;min-height:32px;padding:12px}.Toastify__toast .toast-close{display:block;position:absolute;top:0;right:0;padding:6px 8px;height:28px;cursor:pointer;opacity:0;color:white}.Toastify__toast .toast-close svg{width:14px}.Toastify__toast:hover .toast-close{opacity:0.6}@media (max-width: 900px){.desktop-only{display:none}body,body.light{background:none;padding-bottom:94px;min-width:0}.colset{display:block;max-width:none;min-width:0;padding:16px}.colset .left{text-align:left;padding:0;max-width:none;min-width:0;flex:none}.colset .right{padding:0;max-width:none;min-width:0;flex:none}.colset .right.right-md{padding:0;max-width:none;width:auto;flex:0}.header{padding:0;border-top:4px solid #ff6a00;width:auto}.header h1.logo a{margin:0 auto}.quick-links{position:relative;text-align:center;display:block;top:0;right:0;border-top:1px solid #e4e4e4;border-bottom:1px solid #e4e4e4;background:#f7f7f7;padding:0.5rem 0;width:auto}.colset-2{display:block;flex-flow:wrap}.colset-2 .column{padding:0;margin:0;flex:none}.colset-2 .column+.column{margin:0;padding:0;padding-top:24px}.dependencies-box{padding:8px 0}.colset .left.nopadding{margin-left:0;padding:0px;flex:none;width:auto;text-align:center;display:none}.sticky .colset{padding:0}.colset .right.nopadding{padding:0;margin:0;max-width:none;min-width:0;flex:none}.colset .right.nopadding .submit{width:auto;text-align:center}.colset .right.nopadding .placeholder-button{margin:0 auto}.groups .group{padding-right:0;padding-left:0}.groups .group .group-title{position:relative;margin:0;float:none;top:0}.submit{margin-right:0}.tab{padding:0;margin:0}.error{position:relative;left:auto;top:auto;padding:0 40px}.warnings{margin-top:0}.button{padding:4px 18px}.share-area>.button,.share-area{width:90px}}body.dark{background-color:#1b1f23;background:linear-gradient(to right, #ff6a00 4px, #262a2d 4px 316px, #1b1f23 316px);color:#d1d2d3}body.dark .header h1.logo a{color:#fff}body.dark .header h1.logo a span.title strong{color:#ff6a00}body.dark .header h1.logo a svg{color:#ff6a00}body.dark .radio{color:#8d8f91;border-color:#323638}body.dark .radio:hover{color:#d1d2d3;border-color:#4a5053}body.dark .radio.checked{color:#fff;border-bottom-color:#ff6a00}body.dark .radio:hover{border-bottom-color:#ff6a00}body.dark .colset-submit .right.nopadding{background:#1b1f23}body.dark .submit{background:#1b1f23;border-color:#4a5053}body.dark .tab{background:#1b1f23}body.dark .tab .tab-container{border-color:#323638}body.dark .tab a{color:#8d8f91;border-color:#323638}body.dark .tab a:hover{color:#d1d2d3;border-bottom-color:#4a5053}body.dark .tab a.active{color:#fff;border-bottom-color:#ff6a00}body.dark .tab a.active:hover{border-bottom-color:#ff6a00}body.dark .control-input{background:#1b1f23;color:#fff;border-color:#323638}body.dark .control-input:hover{border-color:#4a5053}body.dark .control-input:focus{border-bottom-color:#ff6a00}body.dark .control-input:focus:hover{border-bottom-color:#ff6a00}body.dark .panel .panel-wrap{border-color:#323638}body.dark .casePanel .panel-wrap{border-color:#323638}body.dark .more div.wrap{border-color:#323638}body.dark .more div.wrap a{color:#d1d2d3}body.dark .more div.wrap a:hover{color:#d1d2d3}body.dark .more div.wrap a:hover svg{color:#ff6a00}body.dark .more div.wrap a svg{color:#d1d2d3}body.dark .demos div.wrap{border-color:#323638}body.dark .demos div.wrap a{color:#d1d2d3}body.dark .demos div.wrap a:hover{color:#d1d2d3}body.dark .demos div.wrap a:hover svg{color:#ff6a00}body.dark .demos div.wrap a svg{color:#d1d2d3}body.dark .demos div.wrap a strong{color:#8d8f91;background:#32373b}body.dark .demos div.wrap a strong span{color:#fff}body.dark .button{background:#262a2d;border-color:#262a2d;color:#fff}body.dark .button:hover{background:#32373b;border-color:#32373b}body.dark .button.primary{border-color:#ff6a00;background-color:#ff6a00}body.dark .button.primary:hover{border-color:#e65f00;background-color:#e65f00}body.dark .footer{background:#262a2d;color:#8d8f91}body.dark label{color:#494c4e}body.dark .search-no-selected{color:#d1d2d3}body.dark .groups .group a{background:#262a2d;color:#d1d2d3}body.dark .groups .group a strong{color:#fff}body.dark .groups .group a .icon{border:2px solid #4a5053;color:#d1d2d3}body.dark .groups .group a:hover{background:#32373b}body.dark .groups .group a:hover .icon{color:#d1d2d3}body.dark .groups .group .group-title{border-color:#323638}body.dark .groups .group .group-title a{background:#1b1f23}body.dark .quick-links li a{color:#d1d2d3}body.dark .quick-links li a:hover{color:#ff6a00}body.dark .groups .group a.invalid,body.dark .groups .group a.checked.invalid{background:#23282b}body.dark .groups .group a.invalid strong,body.dark .groups .group a.checked.invalid strong{color:#8d8f91}body.dark .groups .group a.invalid:hover,body.dark .groups .group a.checked.invalid:hover{background:#23282b}body.dark .groups .group a.checked,body.dark .groups .group a.selected{background:#363e44}body.dark .groups .group a.checked:hover,body.dark .groups .group a.selected:hover{background:#444e55}body.dark .groups .group a.checked .icon,body.dark .groups .group a .selected .icon{border-color:#4a5053}body.dark .groups .group a.checked .icon:hover,body.dark .groups .group a .selected .icon:hover{border-color:#4a5053}body.dark .groups .group a.checked:hover .icon,body.dark .groups .group a .selected:hover .icon{border-color:#626a6e}body.dark .tab strong{color:#8d8f91;background:#32373b}body.dark .tab strong span{color:#fff}body.dark .dependencies-list .dependency-item.checked,body.dark .dependencies-list .dependency-item .selected,body.dark ul.dependencies-list .dependency-item.checked,body.dark ul.dependencies-list .dependency-item .selected{background:#262a2d;color:#d1d2d3}body.dark .dependencies-list .dependency-item.checked strong,body.dark .dependencies-list .dependency-item .selected strong,body.dark ul.dependencies-list .dependency-item.checked strong,body.dark ul.dependencies-list .dependency-item .selected strong{color:#fff}body.dark .dependencies-list .dependency-item.checked .icon,body.dark .dependencies-list .dependency-item .selected .icon,body.dark ul.dependencies-list .dependency-item.checked .icon,body.dark ul.dependencies-list .dependency-item .selected .icon{border-color:#4a5053;color:#d1d2d3}body.dark .dependencies-list .dependency-item.checked:hover,body.dark .dependencies-list .dependency-item .selected:hover,body.dark ul.dependencies-list .dependency-item.checked:hover,body.dark ul.dependencies-list .dependency-item .selected:hover{background:#32373b}body.dark .dependencies-list .dependency-item.checked:hover .icon,body.dark .dependencies-list .dependency-item .selected:hover .icon,body.dark ul.dependencies-list .dependency-item.checked:hover .icon,body.dark ul.dependencies-list .dependency-item .selected:hover .icon{color:#d1d2d3}body.dark .dependencies-list .dependency-item,body.dark ul.dependencies-list .dependency-item{background:#262a2d;color:#d1d2d3}body.dark .dependencies-list .dependency-item strong,body.dark ul.dependencies-list .dependency-item strong{color:#fff}body.dark .dependencies-list .dependency-item .icon,body.dark ul.dependencies-list .dependency-item .icon{border:2px solid #4a5053;color:#ff6a00}body.dark .dependencies-list .dependency-item:hover,body.dark ul.dependencies-list .dependency-item:hover{background:#32373b}body.dark .dependencies-list .dependency-item:hover .icon,body.dark ul.dependencies-list .dependency-item:hover .icon{color:#d1d2d3}body.dark .dependencies-list .dependency-item.invalid,body.dark .dependencies-list .dependency-item.checked.invalid,body.dark ul.dependencies-list .dependency-item.invalid,body.dark ul.dependencies-list .dependency-item.checked.invalid{background:#23282b}body.dark .dependencies-list .dependency-item.invalid:hover,body.dark .dependencies-list .dependency-item.checked.invalid:hover,body.dark ul.dependencies-list .dependency-item.invalid:hover,body.dark ul.dependencies-list .dependency-item.checked.invalid:hover{background:#23282b}body.dark .dependencies-list .dependency-item.invalid .warning,body.dark .dependencies-list .dependency-item.checked.invalid .warning,body.dark ul.dependencies-list .dependency-item.invalid .warning,body.dark ul.dependencies-list .dependency-item.checked.invalid .warning{color:#ff7676}body.dark .search-more-warning,body.dark .search-no-result{color:#8d8f91}body.dark .dependencies-list .dependency-item.selected,body.dark ul.dependencies-list .dependency-item.selected{background:#32373b}body.dark .dependencies-list .dependency-item.selected .icon,body.dark ul.dependencies-list .dependency-item.selected .icon{color:#d1d2d3}body.dark .dependencies-list-checked .dependency-item.checked .icon,body.dark ul.dependencies-list-checked .dependency-item.checked .icon{color:#ff6a00}body.dark .quick-links ul.dropdown-menu{background:#32373b}body.dark .quick-links ul.dropdown-menu li a{color:#fff}body.dark .quick-links ul.dropdown-menu li a:hover{background:#262a2d}body.dark .popup-share{background:#32373b}body.dark .popup-share .popup-header{border-color:#4a5053}body.dark .popup-share .popup-header .close{color:#8d8f91}body.dark .popup-share .popup-content label{color:#d1d2d3}body.dark .popup-share .control-input{background:#32373b;border-color:#4a5053}body.dark .popup-share .control-input:focus{border-color:#ff6a00}body.dark .popup-share-overlay{background:rgba(27,31,35,0.95)}body.dark .placeholder-radios .placeholder-radio{background:rgba(255,255,255,0.05);border-color:rgba(255,255,255,0.2)}body.dark .placeholder-input,body.dark .placeholder-dropdown{background:rgba(255,255,255,0.05);border-color:rgba(255,255,255,0.2)}body.dark .placeholder-input::after,body.dark .placeholder-dropdown::after{background:rgba(255,255,255,0.05)}body.dark .placeholder-button{background:rgba(255,255,255,0.05)}body.dark .placeholder-tabs .placeholder-header{border-color:rgba(255,255,255,0.2)}body.dark .placeholder-tabs .placeholder-tab{background:rgba(255,255,255,0.05)}body.dark .placeholder-text{background:rgba(255,255,255,0.05)}body.dark .overlay{background:rgba(27,31,35,0.95)}body.dark .modal-explorer{background:#32373b;box-shadow:0 0 0 black}body.dark .modal-fetch{background:#32373b;box-shadow:0 0 0 black}body.dark .modal-fetch .control-input{background:#32373b;border-color:#4a5053}body.dark .modal-fetch .control-input:focus{border-color:#ff6a00}body.dark .modal-explorer .colset-explorer .head,body.dark .modal-explorer .colset-explorer .foot,body.dark .modal-explorer .colset-explorer .left,body.dark .modal-explorer .colset-explorer .right{color:#d1d2d3;border-color:#4a5053}body.dark .modal-explorer .colset-explorer .head .placeholder-text,body.dark .modal-explorer .colset-explorer .foot .placeholder-text,body.dark .modal-explorer .colset-explorer .left .placeholder-text,body.dark .modal-explorer .colset-explorer .right .placeholder-text{background:rgba(255,255,255,0.05)}body.dark .modal-explorer .close{color:#8d8f91}body.dark .modal-explorer .colset-explorer .head .actions{color:#8d8f91}body.dark .explorer-ul .file.selected,body.dark .explorer-ul .folder.selected{color:#fff;background:#262a2d}body.dark .explorer-ul .file.selected:hover,body.dark .explorer-ul .folder.selected:hover{color:#fff;background:#262a2d}body.dark .explorer-ul .file,body.dark .explorer-ul .folder{color:#d1d2d3}body.dark .explorer-ul .file:hover,body.dark .explorer-ul .folder:hover{background:rgba(255,255,255,0.05);color:#fff}body.dark pre.prism-code span.explorer-number{color:rgba(255,255,255,0.5)}body.dark pre.prism-code span.explorer-number:before{background-color:#262a2d;color:rgba(255,255,255,0.5)}body.dark pre.prism-code:before{color:rgba(255,255,255,0.5);background-color:#262a2d}body.dark .explorer-ul .file.disabled,body.dark .explorer-ul .folder.disabled{color:#d1d2d3}body.dark .explorer-ul .file.disabled:hover,body.dark .explorer-ul .folder.disabled:hover{color:#d1d2d3}body.dark .token.cdata,body.dark .token.comment,body.dark .token.doctype,body.dark .token.prolog{color:#8d8f91}body.dark code[class*='language-'],body.dark pre[class*='language-'],body.dark .token.operator,body.dark .token.punctuation,body.dark .token.operator{color:#d1d2d3}body.dark .switch-label::after{background:rgba(255,255,255,0.2)}body.dark .warnings{background:#ffe09c}body.dark .radio.err{background:#32373b;border-color:#f30808}body.dark .switch-label .switch-button,body.dark .switch-checkbox:checked+.switch-label .switch-button{background:#fff}body.dark .modal-explorer .colset-explorer .foot .action:focus,body.dark .modal-explorer .colset-explorer .head a:focus,body.dark .modal-explorer .close:focus,body.dark .header h1.logo a:focus,body.dark .radio:focus,body.dark .tab a:focus,body.dark .more div.wrap a:focus,body.dark .button:focus,body.dark .groups .group a:focus,body.dark .groups .group .group-title span:focus,body.dark .dependencies-list .dependency-item:focus,body.dark ul.dependencies-list .dependency-item:focus,body.dark .explorer-ul .file:focus,body.dark .explorer-ul .folder:focus{outline-color:#76797a}body.dark .groups .group a.invalid .warning,body.dark .groups .group a.checked.invalid .warning{color:#ff7676}body.dark .footer a,body.dark .popup-share .popup-content .link,body.dark .modal-explorer .colset-explorer .action,body.dark .markdown a,body.dark .markdown-source a{color:#0188ff}@media (max-width: 900px){body.dark{background:#1b1f23}body.dark .quick-links{border-color:#323638;background:#1b1f23}}\n",""]),e.exports=t},,function(e,t,n){e.exports=n.p+"fonts/c1e9a8527a4a4f457a8fdf644d373e9c.eot"},function(e,t,n){e.exports=n.p+"fonts/7f562c00d80cb9d59bed376763039487.woff2"},function(e,t,n){e.exports=n.p+"fonts/ae06d340240442c47ff1ccaa5ca4cfbe.woff"},function(e,t,n){e.exports=n.p+"fonts/3c5ebd87cbd775f3be8ed0551a682ef8.ttf"},function(e,t,n){e.exports=n.p+"fonts/d12e4e15d6e01ff7ceceea6f00e32159.svg"},function(e,t,n){e.exports=n.p+"fonts/00f4610c11ae2aeb7db685df41262363.eot"},function(e,t,n){e.exports=n.p+"fonts/063f63b80a18487346b6bf074d4f094b.woff2"},function(e,t,n){e.exports=n.p+"fonts/63f573c4f806c10fa904fe911089f058.woff"},function(e,t,n){e.exports=n.p+"fonts/d4f0ebf5d59c08236fe25bb12820c2bd.ttf"},function(e,t,n){e.exports=n.p+"fonts/f803d8e8ab86c9c0eb9ad1da9978f9f5.svg"},function(e,t,n){e.exports=n.p+"fonts/98291d65d7c5a049c81e8f5d786eec98.eot"},function(e,t,n){e.exports=n.p+"fonts/5a488c3dab6ff8ccfa74bbd909a7bb95.woff2"},function(e,t,n){e.exports=n.p+"fonts/d85e4310339264b58f21bfcac7130bcc.woff"},function(e,t,n){e.exports=n.p+"fonts/ab4a5ea7b67c74de76a88b85f6ca2ff5.ttf"},function(e,t,n){e.exports=n.p+"fonts/303a293f207127f2d21561491c3a71c4.svg"},function(e,t,n){e.exports=n.p+"fonts/07d5c9e793599811873ff699c36b86c5.eot"},function(e,t,n){e.exports=n.p+"fonts/b8ecef1f4c0e42d365ec8626607e1406.woff2"},function(e,t,n){e.exports=n.p+"fonts/f4f638d0cbf629e67fa9c355daa47347.woff"},function(e,t,n){e.exports=n.p+"fonts/5f8a077b674fd55bfb19713a06aa2add.ttf"},function(e,t,n){e.exports=n.p+"fonts/083662cca067cf52ac4c2d16ca877db9.svg"},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";n.r(t);n(45);var a=n(0),o=n.n(a),i=n(15),r=n(13),d=n(19),c=n.n(d),l=n(23),s=n.n(l),p=n(16),u=n.n(p),f=n(3),m=n.n(f),g=n(37),b=n.n(g),h=n(2),y=n.n(h),k=n(38),x=n.n(k),v=n(9),w=n(10),E=n(7),_=function(){return window.location.hash};function O(){var e=Object(a.useState)(_()),t=m()(e,2),n=t[0],o=t[1],r=Object(a.useContext)(w.a).dispatch,d=Object(a.useContext)(v.a),c=d.config,l=d.complete;return Object(a.useEffect)((function(){var e=function(){o(_())};return window.addEventListener("hashchange",e),function(){window.removeEventListener("hashchange",e)}}),[]),Object(a.useEffect)((function(){if(l&&n){var e=x.a.parse("?".concat(n.substr(2)));e&&window.safemode&&(delete e.artifactId,delete e.groupId,delete e.description,delete e.name,delete e.packageName),r({type:"LOAD",payload:{params:e,lists:c.lists}}),window.location.hash&&(window.history.pushState?window.history.pushState(null,null,window.location.pathname):window.history.hash=""),o(""),Object(E.g)(e)&&i.b.success("分享配置 已加载.")}}),[l,n,r,c]),null}var T=n(29),j=n(4),N=n(1),C=n.n(N),q=function(e){var t=e.text,n=e.children,a=e.variant;return"xl"===a||"xxl"===a?o.a.createElement("div",{className:"colset"},o.a.createElement("div",{className:"left"},o.a.createElement("div",{className:"sticky-label"},t)),o.a.createElement("div",{className:"dependencies-box ".concat("xl"===a?"list":"large")},n)):o.a.createElement("div",{className:"colset"},o.a.createElement("div",{className:"left"},o.a.createElement(o.a.Fragment,null,t)),o.a.createElement("div",{className:"right ".concat("md"===a?"right-md":"")},n))};q.defaultProps={children:null,variant:""},q.propTypes={children:C.a.node,variant:C.a.string,text:C.a.string.isRequired};var R=q,P=function(e){var t=e.id,n=e.text,a=e.value,i=e.onChange,r=e.disabled,d=e.inputRef;return o.a.createElement("div",{className:"control"},o.a.createElement("label",{htmlFor:t},n),o.a.createElement("input",{type:"text",id:t,className:"control-input",disabled:r,value:a,onChange:i,ref:d}))};P.defaultProps={disabled:!1,inputRef:null},P.propTypes={id:C.a.string.isRequired,text:C.a.string.isRequired,value:C.a.string.isRequired,onChange:C.a.func.isRequired,inputRef:C.a.oneOfType([C.a.func,C.a.shape({current:C.a.instanceOf(Element)})]),disabled:C.a.bool};var D=P,z=function(e){var t=e.id,n=e.text,a=e.value,i=e.onChange,r=e.disabled,d=e.options;return o.a.createElement("div",{className:"control"},o.a.createElement("label",{htmlFor:t},n),o.a.createElement(j.d,{name:"packaging",disabled:r,selected:a,options:d,onChange:i}))};z.defaultProps={disabled:!1,options:[]},z.propTypes={id:C.a.string.isRequired,text:C.a.string.isRequired,value:C.a.string.isRequired,onChange:C.a.func.isRequired,disabled:C.a.bool,options:C.a.arrayOf(C.a.shape({key:C.a.string,text:C.a.string}))};var S=z;function L(e){var t=e.children;return o.a.createElement("div",{className:"control-error"},o.a.createElement("p",{className:"title"},o.a.createElement("strong",null,t)))}L.propTypes={children:C.a.string.isRequired};var I=L,A=n(5),M=function(e){var t=e.children,n=e.fieldFocusOnOpen,i=Object(a.useContext)(v.a),r=i.more,d=i.dispatch;return Object(a.useEffect)((function(){r&&n&&setTimeout((function(){y()(n,"current").focus()}),300)}),[r,n]),o.a.createElement("div",null,o.a.createElement("div",{className:"more"},o.a.createElement("div",{className:"wrap"},o.a.createElement("a",{href:"/",onClick:function(e){e.preventDefault(),d({type:"UPDATE",payload:{more:!r}})},className:r?"toggle":""},o.a.createElement(A.c,null),"高级选项"))),o.a.createElement("div",{className:"panel ".concat(r?"panel-active":"")},o.a.createElement("div",{className:"panel-wrap"},t)))};M.defaultProps={children:null,fieldFocusOnOpen:null},M.propTypes={children:C.a.node,fieldFocusOnOpen:C.a.oneOfType([C.a.func,C.a.shape({current:C.a.instanceOf(Element)})])};var U=M,B=function(e){var t=e.changeTab,n=Object(a.useContext)(v.a),i=n.dependencies,r=n.dispatch,d=n.tab,c=Object(a.useContext)(w.a).values,l=Object(a.useState)(0),s=m()(l,2),p=s[0],u=s[1];Object(a.useEffect)((function(){u(c.dependencies.filter((function(e){return y()(i,"list",[]).find((function(t){return t.id===e})).valid})).length)}),[i,c.dependencies]);var f=function(e){r({type:"UPDATE",payload:{tab:e}}),setTimeout((function(){t(e)}))};return o.a.createElement("div",{className:"tab"},o.a.createElement("div",{className:"tab-container"},o.a.createElement("a",{href:"/","aria-label":"Search",onClick:function(e){e.preventDefault(),f("quicksearch")},className:"quick-search ".concat("quicksearch"===d?"active":"")},o.a.createElement(A.i,null),o.a.createElement("span",null,"搜索")),o.a.createElement("a",{href:"/","aria-label":"List",onClick:function(e){e.preventDefault(),f("list")},className:"list ".concat("list"===d?"active":"")},o.a.createElement(A.g,null),o.a.createElement("span",null,"分组列表")),p>0&&o.a.createElement(o.a.Fragment,null,o.a.createElement("strong",null,o.a.createElement("span",null,p)," 项已选择"))))};B.propTypes={changeTab:C.a.func.isRequired};var F=B,V=n(41),H=n(101),G=n(102);function K(e){var t=e.list,n=e.remove;return o.a.createElement(H.a,{component:"ul",className:"dependencies-list dependencies-list-checked"},t.map((function(e){return o.a.createElement(G.a,{timeout:500,classNames:"fade",key:"f".concat(e.id)},o.a.createElement("li",null,o.a.createElement("span",{className:"dependency-item-span"},o.a.createElement("a",{className:"dependency-item checked ".concat(e.valid?"":"invalid"),href:"/",onClick:function(t){t.preventDefault(),n(e)},key:e.id},o.a.createElement("div",{key:"d1".concat(e.id)},o.a.createElement("strong",{key:"d2".concat(e.id)},e.name),o.a.createElement("br",{key:"d3".concat(e.id)}),e.valid&&o.a.createElement("span",{key:"d4".concat(e.id),className:"description"},e.description),o.a.createElement("span",{key:"d5".concat(e.id),className:"icon"},o.a.createElement(A.j,{key:"d6".concat(e.id)}),o.a.createElement(A.b,{key:"d7".concat(e.id)})),!e.valid&&o.a.createElement("span",{className:"warning",key:"warning".concat(e.id)},e.message))))))})))}K.defaultProps={list:[]},K.propTypes={list:C.a.arrayOf(C.a.shape({id:C.a.string.isRequired,name:C.a.string.isRequired,group:C.a.string.isRequired,valid:C.a.bool.isRequired,description:C.a.string.isRequired,message:C.a.string})),remove:C.a.func.isRequired};var Y=K;function J(e){var t=e.list,n=e.selected,a=e.select,i=e.add;return o.a.createElement(H.a,{component:"ul",className:"dependencies-list"},t.map((function(e,t){return o.a.createElement(G.a,{timeout:500,classNames:"fade",key:"f".concat(e.id)},o.a.createElement("li",null,o.a.createElement("span",{className:"dependency-item-span"},o.a.createElement("a",{href:"/",className:"dependency-item dependency-item-gray ".concat(e.valid?"":"invalid","  ").concat(n===t?"selected":""),key:"item".concat(e.id),selected:n===t,disabled:!e.valid,onClick:function(t){t.preventDefault(),e.valid&&i(e)},onMouseEnter:function(){e.valid&&a(t)},onMouseLeave:function(){e.valid&&a(-1)}},o.a.createElement("div",null,o.a.createElement("strong",{className:"title",key:"item".concat(e.id)},e.name),o.a.createElement("br",null),e.valid&&o.a.createElement("span",{key:"d1".concat(e.id)},o.a.createElement("span",{className:"description",key:"d2".concat(e.id)},e.description),o.a.createElement("span",{key:"d3".concat(e.id),className:"icon"},o.a.createElement(A.h,{key:"d4".concat(e.id)}))),!e.valid&&o.a.createElement("span",{className:"warning",key:"warning".concat(e.id)},e.message))))))})))}J.defaultProps={list:[],selected:null},J.propTypes={list:C.a.arrayOf(C.a.shape({id:C.a.string.isRequired,name:C.a.string.isRequired,group:C.a.string.isRequired,description:C.a.string.isRequired,versionRange:C.a.string,versionRequirement:C.a.string})),add:C.a.func.isRequired,selected:C.a.number,select:C.a.func.isRequired};var X=J,W=function(e){var t=e.submit,n=e.input,i=Object(a.useContext)(w.a),r=i.values,d=i.dispatch,c=Object(a.useContext)(v.a).dependencies,l=Object(a.useState)(""),s=m()(l,2),p=s[0],u=s[1],f=Object(a.useState)(0),g=m()(f,2),b=g[0],h=g[1],k=Object(a.useState)([]),x=m()(k,2),E=x[0],_=x[1],O=Object(a.useState)([]),T=m()(O,2),j=T[0],N=T[1],C=Object(a.useState)(0),q=m()(C,2),R=q[0],P=q[1],D=Object(a.useState)(null),z=m()(D,2),S=z[0],L=z[1],I=function(e){d({type:"ADD_DEPENDENCY",payload:{id:e}})};Object(a.useEffect)((function(){var e=y()(r,"dependencies",[]).map((function(e){return y()(c,"list",[]).find((function(t){return t.id===e}))}));_(e);var t=new V.Search("name");t.addIndex("name"),t.addIndex("id"),t.addIndex("description"),t.addIndex("group"),t.addDocuments(y()(c,"list")),L(t)}),[r,c,r.dependencies]);return Object(a.useEffect)((function(){!function(){if(S){var e=S.search(p).filter((function(e){return!y()(r,"dependencies",[]).find((function(t){return t===e.id}))}));P(e.length),e.length>5&&(e=e.slice(0,5)),e=function(e){return e.sort((function(e,t){return e.valid&&!t.valid?-1:!e.valid&&t.valid?1:t.weight-e.weight}))}(e),N(e)}}()}),[r,p,S,N]),o.a.createElement("div",{className:"colset-2"},o.a.createElement("div",{className:"column"},o.a.createElement("label",{className:"search-label",htmlFor:"input-quicksearch"},"搜索依赖组件"),o.a.createElement("input",{type:"text",className:"control-input",placeholder:"Web, Security, JPA, Actuator, Devtools...",value:p,onBlur:function(){h(-1)},onFocus:function(){h(0)},onChange:function(e){u(e.target.value),h(0)},id:"input-quicksearch",ref:n,onKeyDown:function(e){switch(e.keyCode){case 40:e.preventDefault(),h(Math.min(b+1,j.length-1,4));break;case 38:e.preventDefault(),h(Math.max(b-1,0));break;case 13:e.preventDefault(),j.length>0?(I(j[b].id),u("")):t();break;case 27:e.preventDefault(),u("");break;case 39:case 37:break;default:h(0)}}}),o.a.createElement(X,{list:j,add:function(e){I(e.id),u(""),n&&y()(n,"current").focus()},selected:b,select:h}),R>5&&o.a.createElement("div",{className:"search-more-warning"},o.a.createElement("p",null,"More than 5 results found.",o.a.createElement("br",null),"Refine your search if necessary."))),o.a.createElement("div",{className:"column"},o.a.createElement("label",null,"已选组件"),0===y()(r,"dependencies",[]).length?o.a.createElement("div",{className:"search-no-selected"},"暂未选择任何组件"):o.a.createElement(Y,{list:E,remove:function(e){d({type:"REMOVE_DEPENDENCY",payload:{id:e.id}})}})))};W.defaultProps={},W.propTypes={submit:C.a.func.isRequired,input:C.a.oneOfType([C.a.func,C.a.shape({current:C.a.instanceOf(Element)})]).isRequired};var Q=W;function Z(e){var t=e.id,n=e.name,a=e.description,i=e.valid,r=e.message,d=e.onChange,c=e.selected,l=function(e){e.preventDefault(),i&&d(!c)};return o.a.createElement("a",{href:"/",onClick:l,tabIndex:i?"":-1,className:"".concat(i?"":"invalid"," ").concat(c?"checked":""),key:t,onKeyDown:function(e){var t=e.key;"Enter"!==t&&" "!==t||l(e)}},o.a.createElement("div",{key:"d".concat(t)},o.a.createElement("input",{type:"checkbox",value:t,key:"ck".concat(t),checked:c,disabled:!i,onChange:function(){}}),o.a.createElement("strong",{key:"ck1".concat(t)},n),o.a.createElement("br",{key:"br".concat(t)}),i&&o.a.createElement("span",{key:"ck2".concat(t)},a),o.a.createElement("span",{key:"ck3".concat(t),className:"icon"},o.a.createElement(A.h,{key:"ck4".concat(t)}),o.a.createElement(A.j,{key:"ck5".concat(t)}),o.a.createElement(A.b,{key:"ck6".concat(t)})),!i&&o.a.createElement("span",{className:"warning",key:"warning".concat(t)},r)))}Z.defaultProps={message:""},Z.propTypes={id:C.a.string.isRequired,name:C.a.string.isRequired,description:C.a.string.isRequired,valid:C.a.bool.isRequired,message:C.a.string,onChange:C.a.func.isRequired,selected:C.a.bool.isRequired};var $=Z;function ee(e){var t=e.group,n=e.items,a=e.itemsSelected,i=e.isClose,r=e.add,d=e.remove,c=e.toggle,l=function(e){e.preventDefault(),c(t)},s=function(e){return!!a.find((function(t){return t===e.id}))};return o.a.createElement("div",{className:"group"},o.a.createElement("div",{className:"group-title"},o.a.createElement("a",{href:"/",onClick:l,className:i?"":"toggleGroupItems",tabIndex:0,onKeyDown:function(e){var t=e.key;"Enter"!==t&&" "!==t||l(e)}},o.a.createElement(A.c,null),t)),!i&&o.a.createElement("div",{className:"group-items",key:"links".concat(t)},n.map((function(e){return o.a.createElement($,{key:e.id,id:e.id,name:e.name,description:e.description,valid:e.valid,message:e.message,selected:s(e),onChange:function(t){t?r(e.id):d(e.id)}})}))))}ee.propTypes={group:C.a.string.isRequired,add:C.a.func.isRequired,remove:C.a.func.isRequired,toggle:C.a.func.isRequired,itemsSelected:C.a.arrayOf(C.a.string).isRequired,isClose:C.a.bool.isRequired,items:C.a.arrayOf(C.a.shape({description:C.a.string.isRequired,group:C.a.string.isRequired,id:C.a.string.isRequired,keywords:C.a.string,name:C.a.string.isRequired,valid:C.a.bool.isRequired})).isRequired};var te=ee,ne=function(){var e=Object(a.useContext)(v.a),t=e.dependencies,n=e.dispatch,i=e.groupsOpened,r=Object(a.useContext)(w.a),d=r.values,c=r.dispatch;return o.a.createElement("div",{className:"groups"},y()(t,"groups").map((function(e){return o.a.createElement(te,{group:e.group,key:e.group,dependencyGroup:e,add:function(e){c({type:"ADD_DEPENDENCY",payload:{id:e}})},remove:function(e){c({type:"REMOVE_DEPENDENCY",payload:{id:e}})},toggle:function(e){n({type:"TOGGLE_GROUP",payload:{id:e}})},itemsSelected:y()(d,"dependencies",[]),isClose:i.indexOf(e.group)<0,items:e.items})})))},ae=function(e){var t=e.children;return o.a.createElement("div",{className:"header"},o.a.createElement("h1",{className:"logo"},o.a.createElement("a",{href:"/bootstrap.html"},o.a.createElement("span",{className:"title"},o.a.createElement("strong",null,"云原生"),"应用脚手架"),o.a.createElement("span",{className:"description"},"Cloud Native App Initializer"))),t)};ae.defaultProps={children:null},ae.propTypes={children:C.a.node};var oe=ae,ie=function(){var e=Object(a.useContext)(v.a),t=e.theme,n=e.dispatch,i=(e.language,Object(a.useState)(!1)),r=m()(i,2),d=r[0],c=r[1],l=Object(a.useRef)(null);return Object(a.useEffect)((function(){var e=function(e){var t=y()(l,"current");t&&!t.contains(e.target)&&c(!1)};return document.addEventListener("mousedown",e),function(){document.removeEventListener("mousedown",e)}}),[c]),o.a.createElement("ul",{className:"quick-links"},o.a.createElement("li",null,o.a.createElement("span",{className:"switch-mode"},o.a.createElement(j.e,{id:"theme-switch",isOn:"dark"===t,onChange:function(){n({type:"UPDATE",payload:{theme:"dark"===t?"light":"dark"}})}}),"dark"===t?"深色":"浅色"," 主题")),o.a.createElement("li",null,o.a.createElement("a",{href:"/",className:"dropdown",tabIndex:"-1",onClick:function(e){e.preventDefault(),c(!d)},ref:l},o.a.createElement(A.f,null),"帮助信息",o.a.createElement(A.a,{className:"caret"})),o.a.createElement(H.a,{component:null},d&&o.a.createElement(G.a,{classNames:"nav-anim",timeout:500},o.a.createElement("ul",{className:"dropdown-menu"},o.a.createElement("li",null,o.a.createElement("a",{id:"ql-help-projects",target:"_blank",rel:"noopener noreferrer",href:"https://spring.io/projects",tabIndex:"-1"},"Spring Projects")),o.a.createElement("li",null,o.a.createElement("a",{id:"ql-help-guides",target:"_blank",rel:"noopener noreferrer",tabIndex:"-1",href:"https://spring.io/projects/spring-cloud/"},"Spring Cloud")),o.a.createElement("li",null,o.a.createElement("a",{id:"ql-help-guides",target:"_blank",rel:"noopener noreferrer",tabIndex:"-1",href:"https://github.com/alibaba/spring-cloud-alibaba/blob/master/README-zh.md"},"Spring Cloud Alibaba")))))))},re=function(e){var t=e.children;return o.a.createElement(o.a.Fragment,null,o.a.createElement(oe,null,o.a.createElement(ie,null)),o.a.createElement("main",null,t))};re.propTypes={children:C.a.node.isRequired};var de=re,ce=function(e){var t=e.children;return o.a.createElement("div",{className:"sticky"},o.a.createElement("div",{className:"colset colset-submit"},o.a.createElement("div",{className:"left nopadding"},o.a.createElement("footer",{className:"footer"},o.a.createElement("div",{className:"footer-container"},"© 1999-",(new Date).getFullYear()," Aliyun.com",o.a.createElement("br",null),"start.aliyun.com is powered by",o.a.createElement("br",null),o.a.createElement("span",null,o.a.createElement("a",{tabIndex:"-1",target:"_blank",rel:"noopener noreferrer",href:"https://www.aliyun.com"},"Aliyun.com"))))),t&&o.a.createElement("div",{className:"right nopadding"},o.a.createElement("div",{className:"submit"},t))))};ce.defaultProps={children:null},ce.propTypes={children:C.a.node};var le=ce;function se(){return o.a.createElement(o.a.Fragment,null,o.a.createElement(R,{text:"项目构建方式"},o.a.createElement(j.c,{type:"radios",count:2,width:"133px"})),o.a.createElement(R,{text:"开发语言"},o.a.createElement(j.c,{type:"radios",count:3,width:"73px"})),o.a.createElement(R,{text:"Spring Boot 版本"},o.a.createElement(j.c,{type:"radios",count:5,width:"105px"})),o.a.createElement(R,{text:"项目元信息",special:"md"},o.a.createElement("div",null,o.a.createElement("div",{className:"control"},o.a.createElement(j.c,{type:"input"})),o.a.createElement("div",{className:"control"},o.a.createElement(j.c,{type:"input"})),o.a.createElement("div",{className:"control"},o.a.createElement(j.c,{type:"dropdown"})))),o.a.createElement(R,{text:"组件与示例"},o.a.createElement(j.c,{type:"tabs",count:2})),o.a.createElement(le,null,o.a.createElement(j.c,{type:"button",width:"189px"}),o.a.createElement(j.c,{type:"button",width:"212px"}),o.a.createElement(j.c,{type:"button",width:"110px"})))}var pe=function(){var e=Object(a.useContext)(w.a),t=e.warnings,n=e.dispatch;return Object.keys(t).length>0?o.a.createElement("div",{className:"colset"},o.a.createElement("div",{className:"left"}),o.a.createElement("div",{className:"right"},o.a.createElement("div",{className:"warnings"},o.a.createElement("a",{className:"close",href:"/#",onClick:function(e){e.preventDefault(),n({type:"CLEAR_WARNINGS"})}},o.a.createElement(A.j,null)),"The following attributes could not be handled:",o.a.createElement("ul",null,y()(t,"project")&&o.a.createElement("li",null,o.a.createElement("strong",null,y()(t,"project.value"))," is not a valid project type,"," ",o.a.createElement("strong",null,y()(t,"project.select"))," has been selected."),y()(t,"language")&&o.a.createElement("li",null,o.a.createElement("strong",null,y()(t,"language.value"))," is not a valid language,"," ",o.a.createElement("strong",null,y()(t,"language.select"))," has been selected."),y()(t,"boot")&&o.a.createElement("li",null,"Spring Boot ",o.a.createElement("strong",null,y()(t,"boot.value"))," is not available, ",o.a.createElement("strong",null,y()(t,"boot.select"))," ","has been selected."),y()(t,"meta.java")&&o.a.createElement("li",null,o.a.createElement("strong",null,y()(t,"meta.java.value"))," is not a valid Java version,"," ",o.a.createElement("strong",null,y()(t,"meta.java.select"))," has been selected."),y()(t,"meta.packaging")&&o.a.createElement("li",null,o.a.createElement("strong",null,y()(t,"meta.packaging.value"))," is not a valid packaging,"," ",o.a.createElement("strong",null,y()(t,"meta.packaging.select"))," has been selected."),y()(t,"dependencies")&&o.a.createElement("li",null,"The following dependencies are not supported:"," ",o.a.createElement("strong",null,y()(t,"dependencies.value")),"."))))):o.a.createElement(o.a.Fragment,null)};function ue(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function fe(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ue(Object(n),!0).forEach((function(t){u()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ue(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var me=Object(a.lazy)((function(){return Promise.all([n.e(0),n.e(4),n.e(6)]).then(n.bind(null,239))})),ge=Object(a.lazy)((function(){return n.e(5).then(n.bind(null,238))})),be=Object(a.lazy)((function(){return Promise.all([n.e(0),n.e(7)]).then(n.bind(null,236))})),he=Object(a.lazy)((function(){return Promise.all([n.e(8),n.e(9)]).then(n.bind(null,237))}));function ye(){var e=Object(a.useContext)(v.a),t=e.complete,n=e.config,r=e.more,d=e.tab,l=e.dispatch,p=e.theme,u=e.fetch,f=e.share,g=e.explore,h=e.dependencies,k=Object(a.useContext)(w.a),x=k.values,_=k.share,N=k.dispatch,C=k.errors,q=Object(a.useState)({x:0,y:0}),P=m()(q,2),z=P[0],L=P[1],A=Object(a.useState)(null),M=m()(A,2),B=M[0],V=M[1],H=Object(a.useRef)(null),G=Object(a.useRef)(null),K=Object(T.a)();O(),Object(a.useEffect)((function(){if(K.origin){var e="".concat(K.origin,"/metadata/client");Object(E.b)(e).then((function(e){var t=Object(E.a)(e);N({type:"COMPLETE",payload:fe({},t)}),l({type:"COMPLETE",payload:t})}))}}),[l,N,K.origin]);var Y=function(){var e=s()(c.a.mark((function e(){return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:l({type:"FETCH_UPDATE",payload:{open:!0}});case 1:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),J=function(){var e=s()(c.a.mark((function e(){var t,n;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t="".concat(K.origin,"/starter.zip"),l({type:"EXPLORE_UPDATE",payload:{open:!0}}),e.next=4,Object(E.c)(t,x,y()(h,"list")).catch((function(){i.b.error("Could not connect to server. Please check your network.")}));case 4:n=e.sent,V(n);case 6:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),X=function(e){N({type:"UPDATE",payload:e})},W=y()(x,"share");return W=W?"".concat(W,"/"):"",o.a.createElement(de,null,o.a.createElement(b.a,{className:p}),o.a.createElement(a.Suspense,{fallback:""},o.a.createElement(he,{onSubmit:Y,onExplore:J})),o.a.createElement(j.b,{onSubmit:Y},t?o.a.createElement(o.a.Fragment,null,o.a.createElement(pe,null),o.a.createElement(R,{text:"项目构建方式"},o.a.createElement(j.d,{name:"project",selected:y()(x,"project"),options:y()(n,"lists.project"),onChange:function(e){X({project:e})}})),o.a.createElement(R,{text:"开发语言"},o.a.createElement(j.d,{name:"language",selected:y()(x,"language"),options:y()(n,"lists.language"),onChange:function(e){X({language:e})}})),o.a.createElement(R,{text:"Spring Boot版本"},o.a.createElement(j.d,{name:"boot",selected:y()(x,"boot"),error:y()(C,"boot.value",""),options:y()(n,"lists.boot"),onChange:function(e){N({type:"UPDATE",payload:{boot:e},config:y()(h,"list")}),l({type:"UPDATE_DEPENDENCIES",payload:{boot:e}})}}),y()(C,"boot")&&o.a.createElement(I,null,"Spring Boot ",y()(C,"boot.value")," is not supported. Please select a valid version")),o.a.createElement(R,{text:"项目基本信息",variant:"md"},o.a.createElement(D,{id:"input-group",value:y()(x,"meta.group"),text:"Group",onChange:function(e){X({meta:{group:e.target.value}})}}),o.a.createElement(D,{id:"input-artifact",value:y()(x,"meta.artifact"),text:"Artifact",onChange:function(e){X({meta:{artifact:e.target.value}})}}),o.a.createElement(U,{fieldFocusOnOpen:H},o.a.createElement(D,{id:"input-name",value:y()(x,"meta.name"),text:"项目名称",disabled:!r,inputRef:H,onChange:function(e){X({meta:{name:e.target.value}})}}),o.a.createElement(D,{id:"input-description",value:y()(x,"meta.description"),text:"项目描述",disabled:!r,onChange:function(e){X({meta:{description:e.target.value}})}}),o.a.createElement(D,{id:"input-packageName",value:y()(x,"meta.packageName"),text:"基础包",disabled:!r,onChange:function(e){X({meta:{packageName:e.target.value}})}}),o.a.createElement(S,{id:"input-packaging",value:y()(x,"meta.packaging"),text:"打包方式",disabled:!r,options:y()(n,"lists.meta.packaging"),onChange:function(e){X({meta:{packaging:e}})}}),o.a.createElement(S,{id:"input-java",value:y()(x,"meta.java"),text:"Java版本",disabled:!r,options:y()(n,"lists.meta.java"),onChange:function(e){X({meta:{java:e}})}}))),o.a.createElement(R,{text:"应用架构"},o.a.createElement(j.d,{name:"architecture",selected:y()(x,"architecture"),options:y()(n,"lists.architecture"),onChange:function(e){X({architecture:e}),y()(x,"dependencies",[]).forEach((function(e){N({type:"REMOVE_DEPENDENCY",payload:{id:e}})})),y()(n,"lists.architecture",[]).filter((function(t){return t.key===e})).forEach((function(e){y()(e,"dependencies",[]).forEach((function(e){N({type:"ADD_DEPENDENCY",payload:{id:e}})}))}))}})),o.a.createElement(R,{text:"组件与示例",variant:"quicksearch"===d?"xl":"xxl"},o.a.createElement(F,{changeTab:function(e){"quicksearch"===e&&y()(G,"current")&&y()(G,"current").focus()}}),"quicksearch"===d&&o.a.createElement(Q,{submit:Y,input:G}),"list"===d&&o.a.createElement(ne,null)),o.a.createElement(le,null,o.a.createElement(j.a,{id:"generate-project",variant:"primary",onClick:Y,hotkey:"".concat(K.symb," + ⏎")},"获取代码"),o.a.createElement(j.a,{id:"explore-project",onClick:J,hotkey:"Ctrl + Space"},"浏览代码"),o.a.createElement(j.a,{id:"share-project",onClick:function(e){var t=y()(e,"target").getBoundingClientRect(),n=t.x,a=t.y;L({x:n,y:a}),l({type:"SHARE_UPDATE",payload:{open:!0}})}},"分享..."))):o.a.createElement(se,null)),o.a.createElement(a.Suspense,{fallback:""},o.a.createElement(ge,{open:f||!1,shareUrl:_,shareSrc:W,position:z,onClose:function(){l({type:"SHARE_UPDATE",payload:{open:!1}})}}),o.a.createElement(me,{projectName:"".concat(y()(x,"meta.artifact"),".zip"),blob:B,open:g||!1,onClose:function(){l({type:"EXPLORE_UPDATE",payload:{open:!1}}),V(null)}}),o.a.createElement(be,{open:u||!1,onClose:function(){l({type:"FETCH_UPDATE",payload:{open:!1}})}})))}var ke=n(21);Object(r.render)(o.a.createElement(v.b,null,o.a.createElement(w.b,null,o.a.createElement(i.a,{closeButton:o.a.createElement(ke.a,null),position:"top-center",hideProgressBar:!0}),o.a.createElement(ye,null))),document.getElementById("app"))}],[[100,2,3]]]);
+//# sourceMappingURL=chunk-d045279c48fa41927c6c.js.map
\ No newline at end of file
diff --git a/initializer-page/public/chunk-d045279c48fa41927c6c.js.map b/initializer-page/public/chunk-d045279c48fa41927c6c.js.map
new file mode 100644
index 0000000..a436192
--- /dev/null
+++ b/initializer-page/public/chunk-d045279c48fa41927c6c.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["webpack:///./src/components/common/form/Radio.js","webpack:///./src/components/common/form/RadioGroup.js","webpack:///./src/components/common/form/Switch.js","webpack:///./src/components/common/form/Placeholder.js","webpack:///./src/components/common/form/Form.js","webpack:///./src/components/common/form/Button.js","webpack:///./src/components/common/icons/Icons.js","webpack:///./src/components/utils/ApiUtils.js","webpack:///./src/components/utils/Theme.js","webpack:///./src/components/reducer/App.js","webpack:///./src/components/reducer/Initializr.js","webpack:///./src/components/utils/Version.js","webpack:///./src/components/common/form/Close.js","webpack:///./src/components/utils/WindowsUtils.js","webpack:///./src/styles/app.scss?4dc7","webpack:///./src/styles/app.scss","webpack:///./src/fonts/karla-v12-latin-regular.eot","webpack:///./src/fonts/karla-v12-latin-regular.woff2","webpack:///./src/fonts/karla-v12-latin-regular.woff","webpack:///./src/fonts/karla-v12-latin-regular.ttf","webpack:///./src/fonts/karla-v12-latin-regular.svg","webpack:///./src/fonts/karla-v12-latin-700.eot","webpack:///./src/fonts/karla-v12-latin-700.woff2","webpack:///./src/fonts/karla-v12-latin-700.woff","webpack:///./src/fonts/karla-v12-latin-700.ttf","webpack:///./src/fonts/karla-v12-latin-700.svg","webpack:///./src/fonts/karla-v8-latin-regular.eot","webpack:///./src/fonts/karla-v8-latin-regular.woff2","webpack:///./src/fonts/karla-v8-latin-regular.woff","webpack:///./src/fonts/karla-v8-latin-regular.ttf","webpack:///./src/fonts/karla-v8-latin-regular.svg","webpack:///./src/fonts/karla-v8-latin-700.eot","webpack:///./src/fonts/karla-v8-latin-700.woff2","webpack:///./src/fonts/karla-v8-latin-700.woff","webpack:///./src/fonts/karla-v8-latin-700.ttf","webpack:///./src/fonts/karla-v8-latin-700.svg","webpack:///./src/components/utils/Hash.js","webpack:///./src/components/common/builder/Control.js","webpack:///./src/components/common/builder/FieldInput.js","webpack:///./src/components/common/builder/FieldRadio.js","webpack:///./src/components/common/builder/FieldError.js","webpack:///./src/components/common/builder/PanelMore.js","webpack:///./src/components/common/builder/Tabs.js","webpack:///./src/components/common/builder/quick-search/Dependencies.js","webpack:///./src/components/common/builder/quick-search/Result.js","webpack:///./src/components/common/builder/quick-search/QuickSearch.js","webpack:///./src/components/common/builder/list/ListItem.js","webpack:///./src/components/common/builder/list/ListGroup.js","webpack:///./src/components/common/builder/list/List.js","webpack:///./src/components/common/layout/Header.js","webpack:///./src/components/common/layout/QuickLinks.js","webpack:///./src/components/common/layout/Layout.js","webpack:///./src/components/common/layout/Footer.js","webpack:///./src/components/common/builder/Loading.js","webpack:///./src/components/common/builder/Warnings.js","webpack:///./src/components/Application.js","webpack:///./src/App.js"],"names":["Radio","handler","value","disabled","error","checked","text","className","href","onClick","event","preventDefault","defaultProps","propTypes","PropTypes","bool","isRequired","string","func","RadioGroup","onChange","options","selected","onChangeHandler","allOptions","map","option","key","push","length","arrayOf","shape","Switch","id","isOn","name","type","htmlFor","Placeholder","count","width","Array","from","item","i","style","number","Form","onSubmit","children","autoComplete","display","node","Button","variant","hotkey","IconCaretDown","aria-hidden","focusable","data-icon","role","xmlns","viewBox","fill","d","IconCheck","IconFolder","IconFile","IconChevronRight","IconList","IconPlus","data-prefix","IconSearch","IconTimes","IconHelp","t","version","p-id","height","PROPERTIES_MAPPING_URL","language","architecture","platformVersion","packaging","jvmVersion","groupId","artifactId","description","packageName","dependencies","getInfo","url","Promise","resolve","reject","fetch","method","headers","Accept","then","response","json","data","getShareUrl","values","props","Object","keys","forEach","key2","get","set","params","querystring","stringify","join","isValidParams","entry","filter","parseParams","queryParams","lists","errors","warnings","toLowerCase","list","res","find","a","currentValue","select","versionMajor","indexOf","parseVersion","releases","parseReleases","release","major","reduce","p","c","qualify","minor","depsWarning","newVal","split","dep","trim","getLists","deps","group","extend","Extend","it","val","versionRange","versionRequirement","weight","project","action","boot","meta","java","getDefaultValues","artifact","share","availableCount","getConfig","defaultValues","isValidDependency","dependency","isInRange","getQueryString","config","bootVersion","baseDir","javaVersion","paramsDependencies","getProject","paramsStr","status","blob","useTheme","isDarkConfig","useState","window","matchMedia","matches","localStorage","getItem","defaultAppContext","more","complete","explore","tab","theme","groupsOpened","groups","reduceDependencies","items","getParent","m","message","parent","valid","rangeToText","reducer","state","newState","keysContext","Error","setItem","g","AppContext","React","createContext","AppProvider","useReducer","dispatch","Provider","defaultInitializrContext","changes","InitializrContext","InitializrProvider","strictRange","halfopenRightRange","halfopenLeftRange","qualifiers","parseQualifier","qual","replace","r","toString","short","compare","b","result","versionA","versionB","parseInt","localeCompare","range","strickMatch","match","horMatch","holMatch","strictMatch","Close","onClose","getProperties","symb","navigator","userAgent","origin","location","pathname","useWindowsUtils","api","content","__esModule","default","module","exports","locals","___CSS_LOADER_API_IMPORT___","___CSS_LOADER_GET_URL_IMPORT___","___CSS_LOADER_URL_IMPORT_0___","___CSS_LOADER_URL_IMPORT_1___","___CSS_LOADER_URL_IMPORT_2___","___CSS_LOADER_URL_IMPORT_3___","___CSS_LOADER_URL_IMPORT_4___","___CSS_LOADER_URL_IMPORT_5___","___CSS_LOADER_URL_IMPORT_6___","___CSS_LOADER_URL_IMPORT_7___","___CSS_LOADER_URL_IMPORT_8___","___CSS_LOADER_URL_IMPORT_9___","___CSS_LOADER_URL_IMPORT_10___","___CSS_LOADER_URL_IMPORT_11___","___CSS_LOADER_URL_IMPORT_12___","___CSS_LOADER_URL_IMPORT_13___","___CSS_LOADER_URL_IMPORT_14___","___CSS_LOADER_URL_IMPORT_15___","___CSS_LOADER_URL_IMPORT_16___","___CSS_LOADER_URL_IMPORT_17___","___CSS_LOADER_URL_IMPORT_18___","___CSS_LOADER_URL_IMPORT_19___","___CSS_LOADER_URL_REPLACEMENT_0___","___CSS_LOADER_URL_REPLACEMENT_1___","hash","___CSS_LOADER_URL_REPLACEMENT_2___","___CSS_LOADER_URL_REPLACEMENT_3___","___CSS_LOADER_URL_REPLACEMENT_4___","___CSS_LOADER_URL_REPLACEMENT_5___","___CSS_LOADER_URL_REPLACEMENT_6___","___CSS_LOADER_URL_REPLACEMENT_7___","___CSS_LOADER_URL_REPLACEMENT_8___","___CSS_LOADER_URL_REPLACEMENT_9___","___CSS_LOADER_URL_REPLACEMENT_10___","___CSS_LOADER_URL_REPLACEMENT_11___","___CSS_LOADER_URL_REPLACEMENT_12___","___CSS_LOADER_URL_REPLACEMENT_13___","___CSS_LOADER_URL_REPLACEMENT_14___","___CSS_LOADER_URL_REPLACEMENT_15___","___CSS_LOADER_URL_REPLACEMENT_16___","___CSS_LOADER_URL_REPLACEMENT_17___","___CSS_LOADER_URL_REPLACEMENT_18___","___CSS_LOADER_URL_REPLACEMENT_19___","___CSS_LOADER_URL_REPLACEMENT_20___","___CSS_LOADER_URL_REPLACEMENT_21___","___CSS_LOADER_URL_REPLACEMENT_22___","___CSS_LOADER_URL_REPLACEMENT_23___","getHash","useHash","setHash","useContext","useEffect","addEventListener","removeEventListener","queryString","parse","substr","safemode","payload","history","pushState","toast","success","Control","FieldInput","inputRef","ref","oneOfType","current","instanceOf","Element","FieldRadio","FieldError","PanelMore","fieldFocusOnOpen","setTimeout","focus","Tabs","changeTab","setCount","change","newTab","aria-label","Dependencies","remove","TransitionGroup","component","CSSTransition","timeout","classNames","Result","add","index","e","onMouseEnter","onMouseLeave","QuickSearch","submit","input","dependenciesContext","query","setQuery","setSelected","setDependencies","setResult","search","setSearch","newDeps","jsSearchUp","JsSearch","addIndex","addDocuments","vals","o","slice","sort","sortResult","onSearch","placeholder","onBlur","onFocus","target","onKeyDown","keyCode","Math","min","max","ListItem","toggle","tabIndex","keyPressed","ListGroup","itemsSelected","isClose","toggleGroup","isItemSelected","keywords","List","dispatchInitializr","dependencyGroup","Header","QuickLinks","help","setHelp","wrapper","useRef","clickOutside","contains","document","rel","Layout","Footer","Date","getFullYear","Loading","special","Warnings","Explore","lazy","Share","Fetch","HotKeys","Application","fetchOpen","shareOpen","exploreOpen","x","y","positionShare","setPositionShare","setBlob","inputMore","inputQuickSearch","windowsUtils","jsonConfig","open","onExplore","catch","update","args","shareSrc","fallback","arch","getBoundingClientRect","shareUrl","position","projectName","render","App","Initializr","closeButton","hideProgressBar","getElementById"],"mappings":"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","file":"chunk-d045279c48fa41927c6c.js","sourcesContent":["import PropTypes from 'prop-types'\nimport React from 'react'\n\nfunction Radio({ handler, value, disabled, error, checked, text }) {\n  const onClick = event => {\n    event.preventDefault()\n    handler(value)\n  }\n  if (disabled || error) {\n    return (\n      <span\n        className={`radio disabled ${checked ? 'checked' : ''} ${\n          error ? 'err' : ''\n        }`}\n      >\n        {text}\n      </span>\n    )\n  }\n  return (\n    <a\n      href='/'\n      className={`radio ${checked ? 'checked' : ''}`}\n      onClick={onClick}\n    >\n      {text}\n    </a>\n  )\n}\n\nRadio.defaultProps = {\n  disabled: false,\n  error: false,\n}\n\nRadio.propTypes = {\n  checked: PropTypes.bool.isRequired,\n  text: PropTypes.string.isRequired,\n  value: PropTypes.string.isRequired,\n  handler: PropTypes.func.isRequired,\n  disabled: PropTypes.bool,\n  error: PropTypes.bool,\n}\n\nexport default Radio\n","import PropTypes from 'prop-types'\nimport React from 'react'\n\nimport Radio from './Radio'\n\nfunction RadioGroup({ onChange, options, error, selected, disabled }) {\n  const onChangeHandler = value => {\n    if (onChange) {\n      onChange(value)\n    }\n  }\n  const allOptions = options.map(option => {\n    return (\n      <Radio\n        key={option.key}\n        checked={!error && selected === option.key}\n        text={option.text}\n        value={option.key}\n        disabled={disabled}\n        handler={onChangeHandler}\n      />\n    )\n  })\n  if (error) {\n    allOptions.push(\n      <Radio\n        key={allOptions.length + 1}\n        checked\n        text={error}\n        value={error}\n        disabled={disabled}\n        handler={onChangeHandler}\n        error\n      />\n    )\n  }\n  return <div className='group-radio'>{allOptions}</div>\n}\n\nRadioGroup.defaultProps = {\n  selected: '',\n  error: null,\n  onChange: null,\n  disabled: false,\n  options: {\n    error: '',\n  },\n}\n\nRadioGroup.propTypes = {\n  selected: PropTypes.string,\n  error: PropTypes.string,\n  options: PropTypes.arrayOf(\n    PropTypes.shape({\n      key: PropTypes.string.isRequired,\n      text: PropTypes.string.isRequired,\n    })\n  ),\n  onChange: PropTypes.func,\n  disabled: PropTypes.bool,\n}\n\nexport default RadioGroup\n","import PropTypes from 'prop-types'\nimport React from 'react'\n\nconst Switch = ({ id, isOn, onChange }) => {\n  return (\n    <span className='switch'>\n      <input\n        checked={isOn}\n        onChange={onChange}\n        className='switch-checkbox'\n        id={id}\n        name='switch-new'\n        type='checkbox'\n      />\n      {/* eslint-disable-next-line */}\n      <label className='switch-label' htmlFor={id}>\n        <span className='switch-button' />\n      </label>\n    </span>\n  )\n}\n\nSwitch.defaultProps = {\n  isOn: false,\n  onChange: null,\n}\n\nSwitch.propTypes = {\n  isOn: PropTypes.bool,\n  onChange: PropTypes.func,\n}\n\nexport default Switch\n","import PropTypes from 'prop-types'\nimport React from 'react'\n\nfunction Placeholder({ type, count, width }) {\n  if (type === 'radios') {\n    const options = Array.from({ length: count }, (item, i) => {\n      const id = `p${i}`\n      return <span key={id} style={{ width }} className='placeholder-radio' />\n    })\n    return <span className='placeholder-radios'>{options}</span>\n  }\n  if (type === 'input') {\n    return <span className='placeholder-input' />\n  }\n  if (type === 'dropdown') {\n    return <span className='placeholder-dropdown' />\n  }\n  if (type === 'text') {\n    return <span style={{ width }} className='placeholder-text' />\n  }\n  if (type === 'button') {\n    return <span style={{ width }} className='placeholder-button' />\n  }\n  if (type === 'tabs') {\n    const options = Array.from({ length: count }, (item, i) => {\n      return <span key={`p${i}`} className='placeholder-tab' />\n    })\n    return (\n      <span className='placeholder-tabs'>\n        <span className='placeholder-header'>{options}</span>\n      </span>\n    )\n  }\n  return ''\n}\n\nPlaceholder.defaultProps = {\n  width: '150px',\n  type: 'radios',\n  count: 3,\n}\n\nPlaceholder.propTypes = {\n  type: PropTypes.string,\n  count: PropTypes.number,\n  width: PropTypes.string,\n}\n\nexport default Placeholder\n","import PropTypes from 'prop-types'\nimport React from 'react'\n\nconst Form = ({ onSubmit, children }) => (\n  <form onSubmit={onSubmit} autoComplete='off'>\n    <input\n      style={{ display: 'none' }}\n      type='text'\n      name='fakeusernameremembered'\n    />\n    <input\n      style={{ display: 'none' }}\n      type='password'\n      name='fakepasswordremembered'\n    />\n    {children}\n  </form>\n)\n\nForm.defaultProps = {\n  children: null,\n}\n\nForm.propTypes = {\n  onSubmit: PropTypes.func.isRequired,\n  children: PropTypes.node,\n}\n\nexport default Form\n","import PropTypes from 'prop-types'\nimport React from 'react'\n\nfunction Button({ id, onClick, children, variant, hotkey }) {\n  return (\n    <button\n      className={`button ${variant === 'primary' ? 'primary' : ''}`}\n      type='button'\n      id={id}\n      onClick={event => {\n        if (onClick) {\n          onClick(event)\n        }\n      }}\n    >\n      {children}\n      {hotkey && (\n        <>\n          {' '}\n          <span className='desktop-only'>- {hotkey}</span>\n        </>\n      )}\n    </button>\n  )\n}\n\nButton.defaultProps = {\n  onClick: null,\n  children: null,\n  variant: '',\n  hotkey: '',\n}\n\nButton.propTypes = {\n  id: PropTypes.string.isRequired,\n  variant: PropTypes.string,\n  hotkey: PropTypes.string,\n  onClick: PropTypes.func,\n  children: PropTypes.node,\n}\n\nexport default Button\n","import React from 'react'\n\nexport const IconCaretDown = () => (\n    <svg\n        aria-hidden='true'\n        focusable='false'\n        data-icon='caret-down'\n        role='img'\n        xmlns='http://www.w3.org/2000/svg'\n        viewBox='0 0 320 512'\n        className='icon-caret-down'\n    >\n        <path\n            fill='currentColor'\n            d='M31.3 192h257.3c17.8 0 26.7 21.5 14.1 34.1L174.1 354.8c-7.8 7.8-20.5 7.8-28.3 0L17.2 226.1C4.6 213.5 13.5 192 31.3 192z'\n        />\n    </svg>\n)\n\nexport const IconCheck = () => (\n    <svg\n        aria-hidden='true'\n        focusable='false'\n        data-icon='check'\n        role='img'\n        xmlns='http://www.w3.org/2000/svg'\n        viewBox='0 0 512 512'\n        className='icon-check'\n    >\n        <path\n            fill='currentColor'\n            d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'\n        />\n    </svg>\n)\n\nexport const IconFolder = () => (\n    <svg\n        aria-hidden='true'\n        focusable='false'\n        data-icon='folder'\n        role='img'\n        xmlns='http://www.w3.org/2000/svg'\n        className='icon-folder'\n        viewBox='0 0 512 512'\n    >\n        <g>\n            <path\n                fill='#86ad5c'\n                d='M430.1,192H81.9c-17.7,0-18.6,9.2-17.6,20.5l13,183c0.9,11.2,3.5,20.5,21.1,20.5h316.2c18,0,20.1-9.2,21.1-20.5l12.1-185.3   C448.7,199,447.8,192,430.1,192z'\n            />\n            <g>\n                <path\n                    fill='#718c50'\n                    d='M426.2,143.3c-0.5-12.4-4.5-15.3-15.1-15.3c0,0-121.4,0-143.2,0c-21.8,0-24.4,0.3-40.9-17.4C213.3,95.8,218.7,96,190.4,96    c-22.6,0-75.3,0-75.3,0c-17.4,0-23.6-1.5-25.2,16.6c-1.5,16.7-5,57.2-5.5,63.4h343.4L426.2,143.3z'\n                />\n            </g>\n        </g>\n    </svg>\n)\n\nexport const IconFile = () => (\n    <svg\n        aria-hidden='true'\n        focusable='false'\n        data-icon='file'\n        role='img'\n        xmlns='http://www.w3.org/2000/svg'\n        className='icon-file'\n        viewBox='0 0 1792 1792'\n    >\n        <path\n            fill='currentColor'\n            d='M1596 380q28 28 48 76t20 88v1152q0 40-28 68t-68 28h-1344q-40 0-68-28t-28-68v-1600q0-40 28-68t68-28h896q40 0 88 20t76 48zm-444-244v376h376q-10-29-22-41l-313-313q-12-12-41-22zm384 1528v-1024h-416q-40 0-68-28t-28-68v-416h-768v1536h1280z'\n        />\n    </svg>\n)\n\nexport const IconChevronLeft = () => (\n    <svg\n        aria-hidden='true'\n        focusable='false'\n        data-icon='chevron-left'\n        role='img'\n        xmlns='http://www.w3.org/2000/svg'\n        viewBox='0 0 320 512'\n        className='icon-chevron-left'\n    >\n        <path\n            fill='currentColor'\n            d='M34.52 239.03L228.87 44.69c9.37-9.37 24.57-9.37 33.94 0l22.67 22.67c9.36 9.36 9.37 24.52.04 33.9L131.49 256l154.02 154.75c9.34 9.38 9.32 24.54-.04 33.9l-22.67 22.67c-9.37 9.37-24.57 9.37-33.94 0L34.52 272.97c-9.37-9.37-9.37-24.57 0-33.94z'\n        />\n    </svg>\n)\n\nexport const IconChevronRight = () => (\n    <svg\n        aria-hidden='true'\n        focusable='false'\n        data-icon='chevron-right'\n        role='img'\n        xmlns='http://www.w3.org/2000/svg'\n        viewBox='0 0 320 512'\n        className='icon-chevron-right'\n    >\n        <path\n            fill='currentColor'\n            d='M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z'\n        />\n    </svg>\n)\n\nexport const IconChevronDown = () => (\n    <svg\n        aria-hidden='true'\n        focusable='false'\n        data-icon='chevron-down'\n        role='img'\n        xmlns='http://www.w3.org/2000/svg'\n        viewBox='0 0 448 512'\n        className='icon-chevron-down'\n    >\n        <path\n            fill='currentColor'\n            d='M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z'\n        />\n    </svg>\n)\n\nexport const IconChevronUp = () => (\n    <svg\n        aria-hidden='true'\n        focusable='false'\n        data-icon='chevron-up'\n        role='img'\n        xmlns='http://www.w3.org/2000/svg'\n        viewBox='0 0 448 512'\n        className='icon-chevron-up'\n    >\n        <path\n            fill='currentColor'\n            d='M240.971 130.524l194.343 194.343c9.373 9.373 9.373 24.569 0 33.941l-22.667 22.667c-9.357 9.357-24.522 9.375-33.901.04L224 227.495 69.255 381.516c-9.379 9.335-24.544 9.317-33.901-.04l-22.667-22.667c-9.373-9.373-9.373-24.569 0-33.941L207.03 130.525c9.372-9.373 24.568-9.373 33.941-.001z'\n        />\n    </svg>\n)\n\nexport const IconGithub = () => (\n    <svg\n        aria-hidden='true'\n        focusable='false'\n        data-icon='github'\n        role='img'\n        xmlns='http://www.w3.org/2000/svg'\n        viewBox='0 0 496 512'\n        className='icon-github'\n    >\n        <path\n            fill='currentColor'\n            d='M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z'\n        />\n    </svg>\n)\n\nexport const IconList = () => (\n    <svg\n        aria-hidden='true'\n        focusable='false'\n        data-icon='list'\n        role='img'\n        xmlns='http://www.w3.org/2000/svg'\n        viewBox='0 0 512 512'\n        className='icon-list'\n    >\n        <path\n            fill='currentColor'\n            d='M128 116V76c0-8.837 7.163-16 16-16h352c8.837 0 16 7.163 16 16v40c0 8.837-7.163 16-16 16H144c-8.837 0-16-7.163-16-16zm16 176h352c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H144c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h352c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H144c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zM16 144h64c8.837 0 16-7.163 16-16V64c0-8.837-7.163-16-16-16H16C7.163 48 0 55.163 0 64v64c0 8.837 7.163 16 16 16zm0 160h64c8.837 0 16-7.163 16-16v-64c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v64c0 8.837 7.163 16 16 16zm0 160h64c8.837 0 16-7.163 16-16v-64c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v64c0 8.837 7.163 16 16 16z'\n        />\n    </svg>\n)\n\nexport const IconPlus = () => (\n    <svg\n        aria-hidden='true'\n        focusable='false'\n        data-prefix='fas'\n        data-icon='plus'\n        role='img'\n        xmlns='http://www.w3.org/2000/svg'\n        viewBox='0 0 448 512'\n        className='icon-plus'\n    >\n        <path\n            fill='currentColor'\n            d='M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z'\n        />\n    </svg>\n)\n\nexport const IconSearch = () => (\n    <svg\n        aria-hidden='true'\n        focusable='false'\n        data-icon='search'\n        role='img'\n        xmlns='http://www.w3.org/2000/svg'\n        viewBox='0 0 512 512'\n        className='icon-search'\n    >\n        <path\n            fill='currentColor'\n            d='M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z'\n        />\n    </svg>\n)\n\nexport const IconTimes = () => (\n    <svg\n        aria-hidden='true'\n        focusable='false'\n        data-prefix='fas'\n        data-icon='times'\n        role='img'\n        xmlns='http://www.w3.org/2000/svg'\n        viewBox='0 0 352 512'\n        className='icon-times'\n    >\n        <path\n            fill='currentColor'\n            d='M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z'\n        />\n    </svg>\n)\n\nexport const IconTwitter = () => (\n    <svg\n        aria-hidden='true'\n        focusable='false'\n        data-icon='twitter'\n        role='img'\n        xmlns='http://www.w3.org/2000/svg'\n        viewBox='0 0 512 512'\n        className='icon-twitter'\n    >\n        <path\n            fill='currentColor'\n            d='M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z'\n        />\n    </svg>\n)\n\nexport const IconHelp = () => (\n    <svg\n        t=\"1583993417464\"\n        className='icon-help'\n        focusable='false'\n        aria-hidden='true'\n        role='img'\n        data-icon='help'\n        viewBox=\"0 0 1024 1024\"\n        version=\"1.1\"\n        xmlns=\"http://www.w3.org/2000/svg\"\n        p-id=\"1960\"\n        width=\"18\"\n        height=\"18\">\n        <path\n            p-id=\"1961\"\n            fill='currentColor'\n            d=\"M0.12992 518.398052C-6.268452 236.869666 224.072954 6.528259 505.601341 0.129887c281.528386-6.398372 511.869793 223.943034 518.268165 505.471421 6.398372 281.528386-223.943034 511.869793-505.47142 518.268165-281.528386 6.398372-511.869793-223.943034-518.268166-505.471421zM595.178555 767.934577c0-44.788607-38.390234-83.178841-83.178842-83.178842-44.788607 0-83.178841 38.390234-83.178841 83.178842 0 44.788607 38.390234 83.178841 83.178841 83.178841 44.788607 0 83.178841-38.390234 83.178842-83.178841zM300.853423 345.641997v12.796745c0 31.991862 6.398372 63.983724 63.983725 63.983724S435.219244 384.032232 435.219244 345.641997c0-12.796745 38.390234-44.788607 76.780469-44.788607s83.178841 19.195117 83.178842 76.780469c0 38.390234-63.983724 76.780469-95.975587 108.772331-70.382097 63.983724-63.983724 89.577214-63.983724 89.577214 0 38.390234 12.796745 76.780469 70.382097 70.382097 57.585352-6.398372 166.357683-153.560938 166.357682-153.560938 51.186979-57.585352 51.186979-127.967448 51.18698-127.967448 0-121.569076-95.975586-185.5528-211.14629-185.5528-115.170703-6.398372-204.747917 51.186979-211.14629 166.357682z\">\n        </path>\n    </svg>\n)\n\nexport const IconFeedBack = () => (\n    <svg\n        t=\"1589424011678\"\n        class=\"icon-feedback\"\n        focusable='false'\n        aria-hidden='true'\n        viewBox=\"0 0 1070 1024\"\n        version=\"1.1\"\n        xmlns=\"http://www.w3.org/2000/svg\"\n        p-id=\"1374\"\n        width=\"32\"\n        height=\"32\">\n        <path\n            fill='currentColor'\n            p-id=\"1375\"\n            d=\"M1021.713308 633.948781a48.653015 48.653015 0 0 1-48.653014-48.653014l-0.389224-487.673493-728.578895 0.413551a48.653015 48.653015 0 0 1 0-97.30603l678.709554-0.389224v0.413551h51.693829a97.306029 97.306029 0 0 1 95.359908 77.844823L1070.366323 585.295767a48.653015 48.653015 0 0 1-48.653015 48.653014zM924.407279 229.544923l0.413551 307.584359c0 1.216325-0.267592 2.432651-0.364898 3.600323l0.291918 200.912624a96.965458 96.965458 0 0 1-96.138357 86.213142h-51.693828l-270.024232 0.316245-182.448805 181.086521a48.653015 48.653015 0 1 1-68.795362-68.795363l189.162921-187.703331a48.653015 48.653015 0 0 1 40.576614-21.893856h1.946121l340.157552-0.316245v-76.506866 10.217133-17.75835L827.10125 486.5788c0-1.289305 0.267592-2.432651 0.364897-3.721956l-0.218938-164.155271c-1.021713-64.07602-9.000808-73.247114-64.659857-74.487766l64.173326 0.437877 0.486531 70.668504L827.10125 244.019195h-71.665891 7.10334-15.495985l-587.314867 0.316245c-51.085665 1.727182-60.645983 10.922602-62.397491 57.434884l0.291918 382.388368c2.432651 38.533188 14.085048 45.101345 65.851855 46.220364l-65.827529-0.437877v0.997387l194.903977-0.340571a48.653015 48.653015 0 0 1 0 97.306029l-143.526393 0.243265v-0.291918H97.306029a97.111417 97.111417 0 0 1-96.892478-93.073217L0 243.484012a97.062764 97.062764 0 0 1 92.927258-96.332969l736.120112-0.437877A96.989785 96.989785 0 0 1 924.407279 229.544923z m-827.10125 14.912149v33.424621l0.218939-33.230009 31.259562-0.218938H97.306029z m669.708747 485.873331c51.085665-1.240652 59.040433-9.730603 60.18378-65.997814l-0.462204 65.68157z m0 0c-10.460398 0.243265-22.502019 0.243265-36.927638 0.243265z m-603.51632 0l32.281275 0.218939c-12.211907 0-22.84259 0-32.232622-0.194612z m741.958474-632.099966l65.803202 0.437877 0.364898 54.613009c-1.483917-46.512282-10.72799-53.90754-66.192427-55.02656z m0 0l-32.402908-0.170286c12.284886 0 22.939896 0 32.378581 0.194612z m66.435691 97.135743l-0.291918-42.036204c0.364898 11.482111 0.291918 25.202262 0.291918 42.036204z\">\n        </path>\n    </svg>\n)\n\nexport const IconCloudTookit = () => (\n    <svg\n        t=\"1587979013746\"\n        className='icon-cloud-tookit'\n        focusable='false'\n        aria-hidden='true'\n        role='img'\n        data-icon='help'\n        viewBox=\"0 0 1024 1024\"\n        version=\"1.1\"\n        xmlns=\"http://www.w3.org/2000/svg\"\n        p-id=\"679\"\n        width=\"25\"\n        height=\"25\">\n        <path\n            p-id=\"680\"\n            fill='currentColor'\n            d=\"M228.616 662.377c-18.254-4.236-32.293-19.763-32.293-39.526V405.455c1.404-19.764 14.041-35.291 32.293-39.527l200.78-43.76 21.062-86.112H217.384c-82.839 0-148.83 66.347-148.83 148.225v256.923c0 81.876 67.395 149.636 148.83 149.636h233.074l-21.061-86.112-200.781-42.351z m584.092-426.323H578.226l21.062 86.111 200.785 43.761c18.253 4.237 32.287 19.764 32.287 39.526V622.85c-1.4 19.763-14.035 35.29-32.287 39.526l-200.785 43.762-21.062 86.11h234.482c81.436 0 148.83-66.347 148.83-149.635V384.278c-1.41-81.877-67.394-148.224-148.83-148.224zM429.396 502.86H600.69v21.174H429.396V502.86z\">\n        </path>\n    </svg>\n)\n\nexport const IconInitialzrTutorial = () => (\n    <svg t=\"1603192889200\" class=\"icon-cloud-tookit\" viewBox=\"0 0 1376 1024\" version=\"1.1\"\n         xmlns=\"http://www.w3.org/2000/svg\" p-id=\"1399\" width=\"200\" height=\"200\" style={{left: '20px'}}>\n        <path\n            d=\"M596.800316 1023.986434q-3.66285 0-7.447794-0.217058c-24.581792-1.356611-50.303136-9.048595-80.04005-17.934397-110.238211-32.789288-153.134251-29.397761-187.565038-26.630275-51.008574 4.069833-91.842566 15.926613-127.88772 26.345386-56.177262 16.279332-104.689672 30.293124-147.029502-6.783055C18.802629 974.239508 3.065941 934.6129 0.054264 880.972501V186.04851c0-91.313487 68.49529-165.750733 153.161384-167.093778a1093.645533 1093.645533 0 0 1 405.463899 0 151.831904 151.831904 0 0 1 108.094765 49.774058c28.990777 31.554772 44.958089 73.256995 44.958089 117.31972V879.683721c-3.147338 53.002792-18.870459 92.819325-46.748815 118.36431-19.00612 17.418885-41.403768 25.938403-68.18327 25.938403z m-243.376015-93.60616c69.187162 0 124.021379 16.360729 169.400017 29.845442 57.561005 17.161129 86.294026 24.418998 110.034719 2.713222 18.354947-16.821977 28.922947-45.58213 31.378413-85.466493V186.04851c0-32.165247-11.517627-62.404107-32.43657-85.195171a105.476506 105.476506 0 0 0-75.631063-34.430788h-2.19771l-2.157012-0.406983a1046.245545 1046.245545 0 0 0-391.884223 0l-2.19771 0.420549h-2.238408c-28.326038 0-55.159804 12.209499-75.563233 34.444354-20.918942 22.763933-32.436569 53.016358-32.436569 85.195171v692.943339c2.333371 40.060723 12.630049 68.346063 30.591578 84.109883 10.337376 9.048595 21.488718 12.52152 37.320369 11.626156 17.635943-1.003892 39.72157-7.379964 65.239423-14.759928 36.302911-10.513735 81.491623-23.591465 137.275469-28.068281 12.236631-1.031024 24.066279-1.478706 35.516076-1.478706z\"\n            p-id=\"1400\" fill='currentColor'></path>\n        <path\n            d=\"M1261.064898 1023.986434c-2.4419 0-4.924498-0.067831-7.447794-0.217058-24.581792-1.356611-50.303136-9.048595-80.04005-17.934397-110.251777-32.789288-153.174949-29.397761-187.605737-26.630275-51.008574 4.069833-91.842566 15.926613-127.88772 26.345386-56.177262 16.279332-104.689672 30.293124-147.029501-6.783055-28.027584-24.527527-43.764271-64.154135-46.775948-117.794534l47.413555-2.713222c2.26554 40.521971 12.575784 69.010802 30.605144 84.828887 10.337376 9.048595 21.502285 12.52152 37.320369 11.626156 17.635943-1.003892 39.72157-7.379964 65.239424-14.759928 36.302911-10.513735 81.491623-23.591465 137.275468-28.068282 86.199064-6.932282 152.02183 12.697879 204.916094 28.488832 57.561005 17.161129 86.294026 24.418998 110.034719 2.713222 18.354947-16.821977 28.922947-45.58213 31.378412-85.466494V186.04851c0-32.165247-11.517627-62.404107-32.436569-85.195171a105.476506 105.476506 0 0 0-75.64463-34.430788h-2.19771l-2.157011-0.406983a1046.245545 1046.245545 0 0 0-391.884223 0l-2.19771 0.420549h-2.238408c-28.326038 0-55.159804 12.209499-75.563234 34.444354-20.918942 22.763933-32.436569 53.016358-32.436569 85.195171h-47.481385c0-91.313487 68.49529-165.750733 153.161383-167.093778a1093.645533 1093.645533 0 0 1 405.463899 0 151.831904 151.831904 0 0 1 108.216861 49.746926c28.990777 31.554772 44.958089 73.256995 44.958088 117.31972V879.683721c-3.147338 53.002792-18.870459 92.819325-46.748815 118.36431-19.087517 17.418885-41.444466 25.938403-68.210402 25.938403zM121.362421 229.43293h334.974391v47.481386H121.362421zM121.362421 384.507135h334.974391v47.481386H121.362421z\"\n            p-id=\"1401\" fill='currentColor'></path>\n        <path\n            d=\"M942.342707 431.988521a23.740693 23.740693 0 0 1-23.740693-23.740693V14.681407h47.481386v342.788471l60.626946-50.655856a23.740693 23.740693 0 0 1 30.442351 0l55.376862 46.260436V23.689304h47.481385V403.87954a23.740693 23.740693 0 0 1-38.961868 18.219286l-79.131121-66.12122-84.367638 70.543772a23.740693 23.740693 0 0 1-15.20761 5.467143z\"\n            p-id=\"1402\" fill='currentColor'></path>\n    </svg>\n)\nexport const IconHot = () => (\n<svg t=\"1603192889200\" class=\"icon-cloud-tookit\" viewBox=\"0 0 1376 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"1399\" width=\"200\" height=\"200\">\n         p-id=\"2096\" width=\"200\" height=\"200\">\n        <path\n            d=\"M498.463465 545.489466c-32.862322 0-49.168055 24.584027-49.168055 61.460069 0 41.015189 16.431161 61.460069 49.168055 61.460068 32.862322 0 49.168055-20.44488 49.168055-61.460068-4.013719-36.876041-16.305732-57.44635-49.168055-61.460069z m0 0\"\n            fill=\"#FF0000\" p-id=\"2097\"></path>\n        <path\n            d=\"M674.816233 164.060755c20.44488 49.168055 24.584027 123.045566-16.431161 164.060754C588.646709 57.44635 412.29394 0 412.29394 0c20.570309 139.476727-73.752082 291.245468-168.074473 406.012739-4.139147-57.44635-8.152866-94.322391-36.876041-147.629593-8.152866 102.475257-82.030377 184.505634-106.614405 282.967172-16.431161 86.169525-4.139147 164.060755 57.320921 233.799119 98.461538 94.322391 352.705537 213.228809 611.088682 4.139147 237.812837-242.077413-36.876041-574.212641-94.322391-615.227829zM379.557047 705.411073h-45.154337v-77.89123H252.372333V705.411073h-45.154336V512.627144h45.154336v77.891229h86.169525v-77.891229h45.154336V705.411073h-4.139147z m118.906418 4.139147c-61.460069-4.139147-94.322391-36.876041-98.461538-98.461538 4.139147-65.599216 36.876041-98.461538 98.461538-102.475257 61.460069 4.139147 90.183244 36.876041 94.322391 102.475257 0 61.460069-32.862322 94.322391-94.322391 98.461538z m221.507104-160.047035v159.921607h-45.154336V549.503185h-61.460068v-36.876041H781.556067v36.876041h-61.585498z m0 0\"\n            fill=\"#FF0000\" p-id=\"2098\"></path>\n</svg>\n)","import get from 'lodash.get'\nimport querystring from 'querystring'\nimport set from 'lodash.set'\n\nimport Extend from '../../Extend.json'\nimport {isInRange, parseReleases, parseVersion} from './Version'\n\nconst PROPERTIES_MAPPING_URL = {\n  type: 'project',\n  language: 'language',\n  architecture: 'architecture',\n  platformVersion: 'boot',\n  packaging: 'meta.packaging',\n  jvmVersion: 'meta.java',\n  groupId: 'meta.group',\n  artifactId: 'meta.artifact',\n  name: 'meta.name',\n  description: 'meta.description',\n  packageName: 'meta.packageName',\n  dependencies: 'dependencies',\n}\n\nexport const getInfo = function getInfo(url) {\n  return new Promise((resolve, reject) => {\n    fetch(`${url}`, {\n      method: 'GET',\n      headers: {\n        Accept: 'application/vnd.initializr.v2.1+json',\n      },\n    })\n      .then(\n        response => response.json(),\n        () => {\n          reject()\n          return null\n        }\n      )\n      .then(data => {\n        if (data) {\n          resolve(data)\n        }\n      })\n  })\n}\n\nexport const getShareUrl = values => {\n  const props = {}\n  Object.keys(PROPERTIES_MAPPING_URL).forEach(key => {\n    const key2 = get(PROPERTIES_MAPPING_URL, key)\n    const value = get(values, key2)\n    if (key !== 'dependencies') {\n      set(props, key, value)\n    }\n  })\n  let params = `${querystring.stringify(props)}`\n  if (get(values, 'dependencies', []).length > 0) {\n    params = `${params}&dependencies=${get(values, 'dependencies').join(',')}`\n  }\n  return params\n}\n\nexport const isValidParams = params => {\n  return (\n    Object.keys(params)\n      .map(entry => {\n        return !!get(PROPERTIES_MAPPING_URL, entry, null)\n      })\n      .filter(item => !!item).length > 0\n  )\n}\n\nexport const parseParams = (values, queryParams, lists) => {\n  const errors = {}\n  const warnings = {}\n  if (isValidParams(queryParams)) {\n    Object.keys(queryParams).forEach(entry => {\n      const key = get(PROPERTIES_MAPPING_URL, entry)\n      if (key) {\n        const value = get(queryParams, entry, '').toLowerCase()\n        switch (key) {\n          case 'project':\n          case 'language':\n          case 'architecture':\n          case 'meta.packaging':\n          case 'meta.java': {\n            const list = get(lists, key, [])\n            const res = list.find(a => a.key.toLowerCase() === value)\n            if (res) {\n              set(values, key, res.key)\n            } else {\n              const currentValue = list.find(\n                a => a.key.toLowerCase() === get(values, key)\n              )\n              set(warnings, key, {\n                value: get(queryParams, entry, ''),\n                select: currentValue.text,\n              })\n            }\n            break\n          }\n          case 'boot': {\n            const list = get(lists, key, [])\n            const res = list.find(a => a.key.toLowerCase() === value)\n            let error = false\n            if (res) {\n              set(values, key, res.key)\n            } else {\n              error = true\n              let versionMajor = value\n              if (versionMajor.indexOf('.x') === -1) {\n                versionMajor = get(parseVersion(versionMajor), 'major', '')\n              }\n              if (versionMajor.indexOf('.x') > -1) {\n                const releases = parseReleases(list).filter(\n                  release =>\n                    release.major.toLowerCase() === versionMajor.toLowerCase()\n                )\n                if (releases.length > 0) {\n                  const release = releases.reduce((p, c) => {\n                    if (p.qualify > c.qualify) {\n                      return p\n                    }\n                    if (p.qualify === c.qualify) {\n                      if (p.minor > c.minor) {\n                        return p\n                      }\n                    }\n                    return c\n                  }, releases[0])\n\n                  if (release) {\n                    error = false\n                    set(values, key, release.version)\n                    const currentValue = list.find(\n                      a => a.key.toLowerCase() === release.version.toLowerCase()\n                    )\n                    set(warnings, key, {\n                      value: get(queryParams, entry, ''),\n                      select: currentValue.text,\n                    })\n                  }\n                }\n              }\n            }\n            if (error) {\n              set(errors, 'boot', {\n                value: get(queryParams, entry, ''),\n              })\n            }\n            break\n          }\n          case 'dependencies': {\n            const depsWarning = []\n            const newVal = value\n              .split(',')\n              .map(item => {\n                const dep = get(lists, 'dependencies').find(\n                  d => d.id === item.trim()\n                )\n                if (dep) {\n                  return dep.id\n                }\n                depsWarning.push(item)\n                return null\n              })\n              .filter(item => !!item)\n\n            if (depsWarning.length > 0) {\n              set(warnings, key, {\n                value: depsWarning.join(', '),\n              })\n            }\n            set(values, key, newVal)\n            break\n          }\n          default:\n            set(values, key, get(queryParams, entry, ''))\n        }\n      }\n    })\n  }\n  return {\n    values,\n    errors,\n    warnings,\n  }\n}\n\nexport const getLists = json => {\n  const deps = []\n  get(json, 'dependencies.values', []).forEach(group => {\n    group.values.forEach(item => {\n      const extend = Extend.find(it => it.id === get(item, 'id', ''))\n      const val = {\n        id: `${get(item, 'id', '')}`,\n        name: `${get(item, 'name', '')}`,\n        group: `${group.name}`,\n        description: `${get(item, 'description', '')}`,\n        versionRange: `${get(item, 'versionRange', '')}`,\n        versionRequirement: `${get(item, 'versionRange', '')}`,\n        weight: get(extend, 'weight', 50),\n      }\n      deps.push(val)\n    })\n  })\n  return {\n    project: get(json, 'type.values', [])\n      .filter(type => type.action === '/starter.zip')\n      .map(type => ({\n        key: `${type.id}`,\n        text: `${type.name}`,\n      })),\n    language: get(json, 'language.values', []).map(language => ({\n      key: `${language.id}`,\n      text: `${language.name}`,\n    })),\n    architecture: get(json, 'architecture.values', []).map(architecture => ({\n      key: `${architecture.id}`,\n      text: `${architecture.name}`,\n      dependencies: get(architecture, 'dependOn', []),\n    })),\n    boot: get(json, 'bootVersion.values', []).map(boot => ({\n      key: `${boot.id}`,\n      text: `${boot.name}`,\n    })),\n    meta: {\n      java: get(json, 'javaVersion.values', []).map(java => ({\n        key: `${java.id}`,\n        text: `${java.name}`,\n      })),\n      packaging: get(json, 'packaging.values', []).map(packaging => ({\n        key: `${packaging.id}`,\n        text: `${packaging.name}`,\n      })),\n    },\n    dependencies: deps,\n  }\n}\n\nexport const getDefaultValues = json => {\n  return {\n    project: get(json, 'type.default'),\n    language: get(json, 'language.default'),\n    architecture: get(json, 'architecture.default'),\n    boot: get(json, 'bootVersion.default'),\n    meta: {\n      name: get(json, 'name.default'),\n      group: get(json, 'groupId.default'),\n      artifact: get(json, 'artifactId.default'),\n      description: get(json, 'description.default'),\n      packaging: get(json, 'packaging.default'),\n      packageName: get(json, 'packageName.default'),\n      java: get(json, 'javaVersion.default'),\n    },\n    share: get(json, 'share.default'),\n    dependencies: [],\n    availableCount: [],\n  }\n}\n\nexport const getConfig = json => {\n  return {\n    lists: getLists(json),\n    defaultValues: getDefaultValues(json),\n  }\n}\n\nexport const isValidDependency = function isValidDependency(boot, dependency) {\n  if (!dependency) {\n    return false\n  }\n  return get(dependency, 'versionRange')\n    ? isInRange(boot, get(dependency, 'versionRange'))\n    : true\n}\n\nexport const getQueryString = function getQueryString(values, config) {\n  const params = querystring.stringify({\n    type: get(values, 'project'),\n    language: get(values, 'language'),\n    architecture: get(values, 'architecture'),\n    bootVersion: get(values, 'boot'),\n    baseDir: get(values, 'meta.artifact'),\n    groupId: get(values, 'meta.group'),\n    artifactId: get(values, 'meta.artifact'),\n    name: get(values, 'meta.name'),\n    description: get(values, 'meta.description'),\n    packageName: get(values, 'meta.packageName'),\n    packaging: get(values, 'meta.packaging'),\n    javaVersion: get(values, 'meta.java'),\n  })\n  let paramsDependencies = get(values, 'dependencies', [])\n    .map(dependency => {\n      const dep = config.find(it => it.id === dependency)\n      return isValidDependency(get(values, 'boot'), dep) ? dependency : null\n    })\n    .filter(dep => !!dep)\n    .join(',')\n  if (paramsDependencies) {\n    paramsDependencies = `&dependencies=${paramsDependencies}`\n  }\n\n  return `${params}${paramsDependencies}`\n}\n\nexport const getProject = function getProject(url, values, config) {\n  return new Promise((resolve, reject) => {\n\n    const paramsStr = getQueryString(values, config)\n\n    fetch(`${url}?${paramsStr}`, {\n      method: 'GET',\n    }).then(\n      response => {\n        if (response.status === 200) {\n          resolve(response.blob())\n          return\n        }\n        reject()\n      },\n      () => {\n        reject()\n      }\n    )\n  })\n}\n","import {useState} from 'react'\n\nfunction getTheme() {\n  const isDarkConfig =\n    window.matchMedia &&\n    window.matchMedia('(prefers-color-scheme: dark)').matches\n\n  const theme = localStorage.getItem('springtheme')\n  if (!theme) {\n    return isDarkConfig ? 'dark' : 'light'\n  }\n  return theme\n}\n\nexport default function useTheme() {\n  const [darkTheme] = useState(getTheme())\n  return darkTheme\n}\n","import PropTypes from 'prop-types'\nimport get from 'lodash.get'\nimport set from 'lodash.set'\nimport React, {useReducer} from 'react'\n\nimport useTheme from '../utils/Theme'\nimport {isValidDependency} from '../utils/ApiUtils'\nimport {rangeToText} from '../utils/Version'\n\nexport const defaultAppContext = {\n  more: false,\n  complete: false,\n  explore: false,\n  share: false,\n  fetch: false,\n  tab: 'quicksearch',\n  theme: 'light',\n  language: 'zh',\n  config: {},\n  groupsOpened: [],\n  dependencies: {\n    list: [],\n    groups: [],\n  },\n}\n\nexport function reduceDependencies(boot, items) {\n  const groups = []\n  const list = []\n  const getParent = (m, name) => {\n    return m.find(item => item.group === name)\n  }\n  for (let i = 0; i < items.length; i += 1) {\n    let message = ''\n    const dep = items[i]\n    let parent = getParent(groups, dep.group)\n    if (!parent) {\n      parent = {\n        group: dep.group,\n        items: [],\n      }\n      groups.push(parent)\n    }\n    const valid = isValidDependency(boot, dep)\n    if (!valid) {\n      message = `Requires Spring Boot ${rangeToText(\n        get(dep, 'versionRequirement')\n      )}.`\n    }\n    parent.items.push({ ...dep, valid, message })\n    list.push({ ...dep, valid, message })\n  }\n  return {\n    list,\n    groups,\n  }\n}\n\nexport function reducer(state, action) {\n  switch (action.type) {\n    case 'UPDATE': {\n      const newState = { ...state }\n      const keysContext = Object.keys(defaultAppContext)\n      const keys = Object.keys(get(action, 'payload', {}))\n      keys.map(key => {\n        if (keysContext.indexOf(key) === -1) {\n          throw Error('Error AppProvider, invalid paylaod field action')\n        }\n        const value = get(action, `payload.${key}`)\n        set(newState, key, value)\n        if (key === 'theme') {\n          localStorage.setItem('springtheme', value)\n        }\n        return key\n      })\n      return newState\n    }\n    case 'TOGGLE_GROUP': {\n      const id = get(action, 'payload.id')\n      let groupsOpened = [...state.groupsOpened]\n      if (groupsOpened.indexOf(id) > -1) {\n        groupsOpened = [...groupsOpened.filter(g => g !== id)]\n      } else {\n        groupsOpened = [...groupsOpened, id]\n      }\n      return { ...state, groupsOpened }\n    }\n    case 'UPDATE_DEPENDENCIES': {\n      const dependencies = reduceDependencies(\n        get(action, 'payload.boot'),\n        get(state, 'config.lists.dependencies')\n      )\n      return { ...state, dependencies }\n    }\n    case 'SHARE_UPDATE': {\n      const share = get(action, 'payload.open', false)\n      return { ...state, share }\n    }\n    case 'EXPLORE_UPDATE': {\n      const explore = get(action, 'payload.open', false)\n      return { ...state, explore }\n    }\n    case 'FETCH_UPDATE': {\n      const fetch = get(action, 'payload.open', false)\n      return { ...state, fetch }\n    }\n    case 'COMPLETE': {\n      const json = get(action, 'payload', {})\n      const dependencies = reduceDependencies(\n        get(json, 'defaultValues.boot'),\n        get(json, 'lists.dependencies')\n      )\n      return { ...state, complete: true, config: json, dependencies }\n    }\n    default:\n      return state\n  }\n}\n\nexport const AppContext = React.createContext({ ...defaultAppContext })\n\nexport function AppProvider({ children }) {\n  const theme = useTheme()\n  const [state, dispatch] = useReducer(reducer, { ...defaultAppContext, theme })\n  return (\n    <AppContext.Provider value={{ ...state, dispatch }}>\n      {children}\n    </AppContext.Provider>\n  )\n}\n\nAppProvider.propTypes = {\n  children: PropTypes.node.isRequired,\n}\n","import PropTypes from 'prop-types'\nimport get from 'lodash.get'\nimport set from 'lodash.set'\nimport React, {useReducer} from 'react'\n\nimport {getShareUrl, parseParams} from '../utils/ApiUtils'\n\nexport const defaultInitializrContext = {\n  values: {\n    project: '',\n    language: '',\n    architecture: '',\n    boot: '',\n    meta: {\n      name: '',\n      group: '',\n      artifact: '',\n      description: '',\n      packaging: '',\n      packageName: '',\n      java: '',\n    },\n    dependencies: [],\n    share: [],\n  },\n  share: '',\n  errors: {},\n  warnings: {},\n}\n\nexport function reducer(state, action) {\n  switch (action.type) {\n    case 'COMPLETE': {\n      const json = get(action, 'payload')\n      const defaultValues = {\n        ...get(json, 'defaultValues'),\n        meta: get(json, 'defaultValues.meta'),\n      }\n      return {\n        values: defaultValues,\n        share: getShareUrl(defaultValues),\n        errors: {},\n        warnings: {},\n      }\n    }\n    case 'UPDATE': {\n      const changes = get(action, 'payload')\n      let errors = { ...state.errors }\n      let meta = { ...get(state, 'values.meta') }\n      if (get(changes, 'meta')) {\n        meta = { ...meta, ...get(changes, 'meta') }\n      }\n      if (get(changes, 'boot')) {\n        const { boot, ...err } = errors\n        errors = err\n      }\n      if (get(changes, 'meta.group')) {\n        set(\n          meta,\n          'packageName',\n          `${get(meta, 'group')}.${get(meta, 'artifact')}`\n        )\n      }\n      if (get(changes, 'meta.artifact')) {\n        set(\n          meta,\n          'packageName',\n          `${get(meta, 'group')}.${get(meta, 'artifact')}`\n        )\n        set(meta, 'name', `${get(meta, 'artifact')}`)\n      }\n      const values = {\n        ...get(state, 'values'),\n        ...changes,\n        meta,\n      }\n      return { ...state, values, share: getShareUrl(values), errors }\n    }\n    case 'LOAD': {\n      const params = get(action, 'payload.params')\n      const lists = get(action, 'payload.lists')\n      const { values, errors, warnings } = parseParams(\n        state.values,\n        params,\n        lists\n      )\n      return { ...state, values, errors, warnings, share: getShareUrl(values) }\n    }\n    case 'ADD_DEPENDENCY': {\n      const dependency = get(action, 'payload.id')\n      const values = { ...get(state, 'values') }\n      if(get(values, 'dependencies', []).filter(item => item === dependency).length == 0){\n        values.dependencies = [...get(values, 'dependencies'), dependency]\n      }\n      return { ...state, values, share: getShareUrl(values) }\n    }\n    case 'REMOVE_DEPENDENCY': {\n      const dependency = get(action, 'payload.id')\n      const values = { ...get(state, 'values') }\n      values.dependencies = [\n        ...get(values, 'dependencies').filter(dep => dep !== dependency),\n      ]\n      return { ...state, values, share: getShareUrl(values) }\n    }\n    case 'CLEAR_WARNINGS': {\n      return { ...state, warnings: {} }\n    }\n    default:\n      return state\n  }\n}\n\nexport const InitializrContext = React.createContext({\n  ...defaultInitializrContext,\n})\n\nexport function InitializrProvider({ children }) {\n  const [state, dispatch] = useReducer(reducer, { ...defaultInitializrContext })\n  return (\n    <InitializrContext.Provider value={{ ...state, dispatch }}>\n      {children}\n    </InitializrContext.Provider>\n  )\n}\n\nInitializrProvider.defaultProps = {\n  children: null,\n}\n\nInitializrProvider.propTypes = {\n  children: PropTypes.node,\n}\n","const strictRange = /\\[(.*),(.*)\\]/\nconst halfopenRightRange = /\\[(.*),(.*)\\)/\nconst halfopenLeftRange = /\\((.*),(.*)\\]/\nconst qualifiers = ['M', 'RC', 'BUILD-SNAPSHOT', 'RELEASE']\n\nexport const parseQualifier = version => {\n  const qual = (version || '')\n    .replace(/\\d+/g, '')\n    .replace(/\\./g, ' ')\n    .replace(/\\s/g, '')\n  return qualifiers.indexOf(qual) > -1 ? qual : 'RELEASE'\n}\n\nexport const parseVersion = version => {\n  const r = version.toString().split('.')\n  if (r.length < 2) {\n    return {\n      version,\n    }\n  }\n  return {\n    version,\n    short: `${r[0]}.${r[1]}.${r[2]}`,\n    major: `${r[0]}.${r[1]}.x`,\n    qualify: qualifiers.indexOf(parseQualifier(version)),\n    minor: +r[2],\n  }\n}\n\nexport const compare = (a, b) => {\n  let result\n  const versionA = a.split('.')\n  const versionB = b.split('.')\n  if (versionA.length === 3) {\n    versionA[3] = ''\n  }\n  if (versionB.length === 3) {\n    versionB[3] = ''\n  }\n  for (let i = 0; i < 3; i += 1) {\n    result = parseInt(versionA[i], 10) - parseInt(versionB[i], 10)\n    if (result !== 0) {\n      return result\n    }\n  }\n  const qualify = version => qualifiers.indexOf(parseQualifier(version))\n  result = qualify(a) - qualify(b)\n  if (result !== 0) {\n    return result\n  }\n  return versionA[3].localeCompare(versionB[3])\n}\n\nexport const parseReleases = releases => {\n  return releases.map(release => {\n    const version = parseVersion(release.key)\n    return version\n  })\n}\n\nexport const isInRange = (version, range) => {\n  if (!range) {\n    return true\n  }\n  const strickMatch = range.match(strictRange)\n  if (strickMatch) {\n    return (\n      compare(strickMatch[1], version) <= 0 &&\n      compare(strickMatch[2], version) >= 0\n    )\n  }\n  const horMatch = range.match(halfopenRightRange)\n  if (horMatch) {\n    return (\n      compare(horMatch[1], version) <= 0 && compare(horMatch[2], version) > 0\n    )\n  }\n  const holMatch = range.match(halfopenLeftRange)\n  if (holMatch) {\n    return (\n      compare(holMatch[1], version) < 0 && compare(holMatch[2], version) >= 0\n    )\n  }\n  return compare(range, version) <= 0\n}\n\nexport const rangeToText = range => {\n  const strictMatch = range.match(strictRange)\n  if (strictMatch) {\n    return `>= ${strictMatch[1]} and <= ${strictMatch[2]}`\n  }\n  const horMatch = range.match(halfopenRightRange)\n  if (horMatch) {\n    return `>= ${horMatch[1]} and < ${horMatch[2]}`\n  }\n  const holMatch = range.match(halfopenLeftRange)\n  if (holMatch) {\n    return `> ${holMatch[1]} and <= ${holMatch[2]}`\n  }\n  return `>= ${range}`\n}\n\nexport const getValidDependencies = (boot, dependencies) => {\n  return dependencies\n    .map(dep => {\n      const compatibility = dep.versionRange\n        ? isInRange(boot, dep.versionRange)\n        : true\n      if (!compatibility) {\n        return null\n      }\n      return dep\n    })\n    .filter(d => !!d)\n}\n","import PropTypes from 'prop-types'\nimport React from 'react'\n\nimport {IconTimes} from '../icons'\n\nconst Close = ({ onClose }) => (\n  <a\n    href='/#'\n    className='toast-close'\n    onClick={event => {\n      event.preventDefault()\n      if (onClose) {\n        onClose()\n      }\n    }}\n  >\n    <IconTimes />\n  </a>\n)\n\nClose.defaultProps = {\n  onClose: null,\n}\n\nClose.propTypes = {\n  onClose: PropTypes.func,\n}\n\nexport default Close\n","import {useState} from 'react'\n\nfunction getProperties() {\n  return {\n    symb:\n      window.navigator.userAgent.toLowerCase().indexOf('mac') > -1\n        ? '⌘'\n        : 'Ctrl',\n    origin: window.location.origin,\n    pathname: window.location.pathname,\n  }\n}\n\nexport default function useWindowsUtils() {\n  const [symb] = useState(getProperties().symb)\n  const [origin] = useState(getProperties().origin)\n  const [pathname] = useState(getProperties().pathname)\n  return { symb, origin, pathname }\n}\n","var api = require(\"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n            var content = require(\"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/sass-loader/dist/cjs.js!./app.scss\");\n\n            content = content.__esModule ? content.default : content;\n\n            if (typeof content === 'string') {\n              content = [[module.id, content, '']];\n            }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_GET_URL_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/getUrl.js\");\nvar ___CSS_LOADER_URL_IMPORT_0___ = require(\"../fonts/karla-v12-latin-regular.eot\");\nvar ___CSS_LOADER_URL_IMPORT_1___ = require(\"../fonts/karla-v12-latin-regular.woff2\");\nvar ___CSS_LOADER_URL_IMPORT_2___ = require(\"../fonts/karla-v12-latin-regular.woff\");\nvar ___CSS_LOADER_URL_IMPORT_3___ = require(\"../fonts/karla-v12-latin-regular.ttf\");\nvar ___CSS_LOADER_URL_IMPORT_4___ = require(\"../fonts/karla-v12-latin-regular.svg\");\nvar ___CSS_LOADER_URL_IMPORT_5___ = require(\"../fonts/karla-v12-latin-700.eot\");\nvar ___CSS_LOADER_URL_IMPORT_6___ = require(\"../fonts/karla-v12-latin-700.woff2\");\nvar ___CSS_LOADER_URL_IMPORT_7___ = require(\"../fonts/karla-v12-latin-700.woff\");\nvar ___CSS_LOADER_URL_IMPORT_8___ = require(\"../fonts/karla-v12-latin-700.ttf\");\nvar ___CSS_LOADER_URL_IMPORT_9___ = require(\"../fonts/karla-v12-latin-700.svg\");\nvar ___CSS_LOADER_URL_IMPORT_10___ = require(\"../fonts/karla-v8-latin-regular.eot\");\nvar ___CSS_LOADER_URL_IMPORT_11___ = require(\"../fonts/karla-v8-latin-regular.woff2\");\nvar ___CSS_LOADER_URL_IMPORT_12___ = require(\"../fonts/karla-v8-latin-regular.woff\");\nvar ___CSS_LOADER_URL_IMPORT_13___ = require(\"../fonts/karla-v8-latin-regular.ttf\");\nvar ___CSS_LOADER_URL_IMPORT_14___ = require(\"../fonts/karla-v8-latin-regular.svg\");\nvar ___CSS_LOADER_URL_IMPORT_15___ = require(\"../fonts/karla-v8-latin-700.eot\");\nvar ___CSS_LOADER_URL_IMPORT_16___ = require(\"../fonts/karla-v8-latin-700.woff2\");\nvar ___CSS_LOADER_URL_IMPORT_17___ = require(\"../fonts/karla-v8-latin-700.woff\");\nvar ___CSS_LOADER_URL_IMPORT_18___ = require(\"../fonts/karla-v8-latin-700.ttf\");\nvar ___CSS_LOADER_URL_IMPORT_19___ = require(\"../fonts/karla-v8-latin-700.svg\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___, { hash: \"?#iefix\" });\nvar ___CSS_LOADER_URL_REPLACEMENT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);\nvar ___CSS_LOADER_URL_REPLACEMENT_3___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_2___);\nvar ___CSS_LOADER_URL_REPLACEMENT_4___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_3___);\nvar ___CSS_LOADER_URL_REPLACEMENT_5___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_4___, { hash: \"#Karla\" });\nvar ___CSS_LOADER_URL_REPLACEMENT_6___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_5___);\nvar ___CSS_LOADER_URL_REPLACEMENT_7___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_5___, { hash: \"?#iefix\" });\nvar ___CSS_LOADER_URL_REPLACEMENT_8___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_6___);\nvar ___CSS_LOADER_URL_REPLACEMENT_9___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_7___);\nvar ___CSS_LOADER_URL_REPLACEMENT_10___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_8___);\nvar ___CSS_LOADER_URL_REPLACEMENT_11___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_9___, { hash: \"#Karla\" });\nvar ___CSS_LOADER_URL_REPLACEMENT_12___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_10___);\nvar ___CSS_LOADER_URL_REPLACEMENT_13___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_10___, { hash: \"?#iefix\" });\nvar ___CSS_LOADER_URL_REPLACEMENT_14___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_11___);\nvar ___CSS_LOADER_URL_REPLACEMENT_15___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_12___);\nvar ___CSS_LOADER_URL_REPLACEMENT_16___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_13___);\nvar ___CSS_LOADER_URL_REPLACEMENT_17___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_14___, { hash: \"#Karla\" });\nvar ___CSS_LOADER_URL_REPLACEMENT_18___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_15___);\nvar ___CSS_LOADER_URL_REPLACEMENT_19___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_15___, { hash: \"?#iefix\" });\nvar ___CSS_LOADER_URL_REPLACEMENT_20___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_16___);\nvar ___CSS_LOADER_URL_REPLACEMENT_21___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_17___);\nvar ___CSS_LOADER_URL_REPLACEMENT_22___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_18___);\nvar ___CSS_LOADER_URL_REPLACEMENT_23___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_19___, { hash: \"#Karla\" });\n// Module\nexports.push([module.id, \"@font-face{font-family:'Karla';font-style:normal;font-weight:400;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");src:local(\\\"\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \") format(\\\"embedded-opentype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \") format(\\\"woff2\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_3___ + \") format(\\\"woff\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \") format(\\\"truetype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_5___ + \") format(\\\"svg\\\")}@font-face{font-family:'Karla';font-style:normal;font-weight:700;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_6___ + \");src:local(\\\"\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_7___ + \") format(\\\"embedded-opentype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_8___ + \") format(\\\"woff2\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_9___ + \") format(\\\"woff\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_10___ + \") format(\\\"truetype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_11___ + \") format(\\\"svg\\\")}html,body{text-rendering:optimizeLegibility;height:100%}body{color:#222;padding:0;margin:0;font-size:15px;font-family:Karla,Arial,sans-serif;font-weight:400;font-style:normal;position:relative;line-height:32px;background-repeat:repeat-y;background-size:316px 1px;background-color:#fff}body.light{background:linear-gradient(to right, #ff6a00 4px, #f7f7f7 4px 316px, #fff 316px)}div{outline:none}@font-face{font-family:'Karla';font-style:normal;font-weight:400;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_12___ + \");src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_13___ + \") format(\\\"embedded-opentype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \") format(\\\"woff2\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \") format(\\\"woff\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_16___ + \") format(\\\"truetype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_17___ + \") format(\\\"svg\\\")}@font-face{font-family:'Karla';font-style:normal;font-weight:700;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_18___ + \");src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_19___ + \") format(\\\"embedded-opentype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_20___ + \") format(\\\"woff2\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_21___ + \") format(\\\"woff\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_22___ + \") format(\\\"truetype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_23___ + \") format(\\\"svg\\\")}.header{width:316px}.header h1.logo{width:280px;margin:0px 20px 0px 24px}.header h1.logo a{display:block;position:relative;padding:4px 0;color:#000;text-decoration:none;font-size:1.0rem;line-height:1.6rem;font-weight:normal;width:260px;outline:1px dotted transparent}.header h1.logo a span{display:block}.header h1.logo a span.title{display:block;font-size:1.6rem;font-weight:normal;margin-top:10px;letter-spacing:-1px}.header h1.logo a span.title strong{color:#ff6a00}.header h1.logo a svg{width:65px;height:65px;margin-left:-10px;position:absolute;left:0;color:#ff6a00}.header h1.logo a:focus{outline:1px dotted rgba(0,0,0,0.2)}.quick-links{position:absolute;top:10px;right:20px;width:1000px;text-align:right;list-style:none;margin:0px;padding:0px}.quick-links li{position:relative;display:inline-block}.quick-links li a{padding:8px;padding-left:28px;padding-right:4px;position:relative;color:#222;margin:0px 12px;text-decoration:none;cursor:pointer;outline:none;-webkit-transition:color .15s;-moz-transition:color .15s;-ms-transition:color .15s;-o-transition:color .15s;transition:color .15s}.quick-links li a svg{position:absolute;left:4px;top:8px;height:18px}.quick-links li a:hover{color:#ff6a00}.quick-links li a.dropdown{padding-right:8px}.quick-links li a.dropdown svg.icon-caret-down{position:relative;width:10px;top:3px;margin-left:6px}.quick-links ul.dropdown-menu{z-index:999;position:absolute;top:34px;right:0px;width:220px;box-shadow:rgba(0,0,0,0.2) 0px 4px 10px;text-align:left;background:white;padding:0px;margin:0px;list-style:none}.quick-links ul.dropdown-menu li{display:block}.quick-links ul.dropdown-menu li a{display:block;position:relative;color:#222;padding:4px 12px;margin:0px;text-decoration:none;-webkit-transition:background .15s;-moz-transition:background .15s;-ms-transition:background .15s;-o-transition:background .15s;transition:background .15s}.quick-links ul.dropdown-menu li a:hover{background:#e7f1f4}.quick-links .nav-anim-enter{opacity:0.01;transform:scale(0.95)}.quick-links .nav-anim-enter-active{opacity:1;transform:scale(1);transition:all 300ms}.quick-links .nav-anim-exit{opacity:1;transform:scale(1)}.quick-links .nav-anim-exit-active{opacity:0.01;transform:scale(0.95);transition:all 300ms}.quick-links .switch-language{position:relative;padding-left:32px;padding-right:20px}.quick-links .switch-language .switch{position:absolute;top:-3px;left:0}.quick-links .switch-mode{position:relative;padding-left:32px;padding-right:20px}.quick-links .switch-mode .switch{position:absolute;top:-3px;left:0}.quick-links .icon-cloud-tookit{width:25px;height:25px;top:4px;left:0px}.quick-links .icon-feedback{width:20px;height:20px}.footer{background:#f7f7f7;line-height:24px;padding:0 40px 8px 8px;font-weight:400;color:rgba(0,0,0,0.5);font-size:14px;letter-spacing:-0.5px;text-align:right;margin-left:8px}.footer .footer-container{padding:4px 0 0}.footer a{color:#0188ff;text-decoration:underline}.footer a:hover{text-decoration:none}.colset{display:flex;padding-right:8px}.colset .left{font-weight:700;width:280px;text-align:right;position:relative;padding:8px 32px 8px 0px;flex:0 0 280px}.colset .left.nopadding{padding:0;flex:0 0 310px;margin-left:6px}.colset .right{max-width:900px;padding:8px 0px 8px 32px;flex:2 1 0%;min-height:51px}.colset .right.nopadding{max-width:600px;margin-left:28px;flex:2 1 0%;padding:0px}.colset .right.right-md{max-width:500px;padding:8px 0px 8px 32px;flex:2 1 0%;min-height:187px}.dependencies-box{padding:8px 0 8px 32px;flex:2;max-width:900px;-webkit-transition:all .15s;-moz-transition:all .15s;-ms-transition:all .15s;-o-transition:all .15s;transition:all .15s}.dependencies-box .colset-2{padding-top:20px}.dependencies-box.large{max-width:1200px}.colset-2{display:flex;min-height:300px}.colset-2 .column{flex:1 1 0%}.colset-2 .column+.column{padding-left:20px}.control{padding-top:8px}.control+.control{padding-top:16px}label{display:block;color:#706c69;font-size:14px;font-weight:lighter;line-height:17px}.dependencies label{padding:8px 0}.control-input{display:block;border:0;outline:none;border-bottom:3px solid #ebebeb;line-height:16px;font-family:Karla, sans-serif;font-size:15px;box-sizing:border-box;background-clip:padding-box;width:100%;padding:0.35rem 0 0.55rem;border-radius:0;background:#fff;-webkit-transition:border-color .15s;-moz-transition:border-color .15s;-ms-transition:border-color .15s;-o-transition:border-color .15s;transition:border-color .15s}.control-input:hover{border-color:#cbcbcb}.control-input:focus{border-color:#ff6a00}.button{display:inline-block;color:#222;padding:4px 32px;border:2px solid #f1f1f1;background-color:#f1f1f1;border-radius:4px;font-family:Karla, sans-serif;font-size:15px;font-weight:400;cursor:pointer;line-height:32px;-webkit-transition:all .15s;-moz-transition:all .15s;-ms-transition:all .15s;-o-transition:all .15s;transition:all .15s;white-space:nowrap;text-decoration:none;outline:1px dotted transparent}.button:hover{border:2px solid #e4e4e4;background-color:#e4e4e4}.button:focus{outline:1px dotted rgba(0,0,0,0.2)}.button.primary{color:#fff;border:2px solid #ff6a00;background-color:#ff6a00;-webkit-transition:all .15s;-moz-transition:all .15s;-ms-transition:all .15s;-o-transition:all .15s;transition:all .15s}.button.primary:hover{border:2px solid #e65f00;background-color:#e65f00}.button.blue{color:#fff;border:2px solid #3d96f7;background-color:#3d96f7;-webkit-transition:all .15s;-moz-transition:all .15s;-ms-transition:all .15s;-o-transition:all .15s;transition:all .15s}.button.blue:hover{border:2px solid #3391f7;background-color:#3391f7}.button+.button{margin-left:6px}.control-error{padding:16px 0}.control-error p{padding:0;margin:0;line-height:24px}.control-error p a{color:#0188ff;text-decoration:underline}.control-error p a:hover{text-decoration:none}.control-error .title{color:#f30808}.control-warning{padding:6px 0;color:#eb4200}.control-warning a{color:#0188ff;text-decoration:underline}.control-warning a:hover{text-decoration:none}.sticky{position:sticky;bottom:0px;z-index:100}.see-all{position:absolute;top:38px;right:35px;font-weight:400;width:80px;height:22px;line-height:22px;cursor:pointer;text-decoration:underline;color:#097dff;outline:1px dotted transparent}.see-all:focus{outline:1px dotted rgba(0,0,0,0.2)}.submit{bottom:0px;width:auto;background:white;height:36px;padding:18px 0 29px;margin-right:12px;border-top:1px solid #ccc}.colset-submit .right.nopadding{max-width:100%;background:white;margin-left:0;padding-left:28px;max-width:1212px}.radio{display:inline-block;border-bottom:3px solid #e4e4e4;text-decoration:none;color:#888;line-height:32px;padding:0 16px;text-align:center;font-weight:700;cursor:pointer;margin-right:4px;-webkit-transition:all .15s;-moz-transition:all .15s;-ms-transition:all .15s;-o-transition:all .15s;transition:all .15s;outline:1px dotted transparent}.radio:focus{outline:1px dotted rgba(0,0,0,0.2)}.radio:hover{border-color:#cbcbcb;color:#222}.radio.checked{border-bottom-color:#ff6a00;color:#000}.radio.err{color:#8e1313;background:#fbe5e5;border-bottom-color:#d60000;cursor:not-allowed}.dependencies-list,ul.dependencies-list{list-style:none;padding:0;margin:0}.dependencies-list .dependency-item,ul.dependencies-list .dependency-item{position:relative;display:block;text-decoration:none;padding:16px;padding-right:60px;color:rgba(34,34,34,0.8);background:#f7f7f7;cursor:pointer;font-size:14px;display:flex;align-items:center;line-height:24px}.dependencies-list .dependency-item:focus,ul.dependencies-list .dependency-item:focus{outline:1px dotted rgba(0,0,0,0.2)}.dependencies-list .dependency-item strong,ul.dependencies-list .dependency-item strong{color:#222}.dependencies-list .dependency-item input,ul.dependencies-list .dependency-item input{display:none}.dependencies-list .dependency-item div,ul.dependencies-list .dependency-item div{padding:0;margin:0}.dependencies-list .dependency-item span,ul.dependencies-list .dependency-item span{font-size:13px}.dependencies-list .dependency-item .icon,ul.dependencies-list .dependency-item .icon{position:absolute;display:block;border:2px solid #e4e4e4;height:24px;width:24px;margin-top:-12px;top:50%;right:16px;border-radius:14px;color:#222}.dependencies-list .dependency-item .icon-times,.dependencies-list .dependency-item .icon-check,.dependencies-list .dependency-item .icon-plus,ul.dependencies-list .dependency-item .icon-times,ul.dependencies-list .dependency-item .icon-check,ul.dependencies-list .dependency-item .icon-plus{display:block;opacity:0;width:12px;margin:0 auto;position:absolute;top:5px;left:6px}.dependencies-list .dependency-item .icon-times,ul.dependencies-list .dependency-item .icon-times{left:7px;width:10px;color:#d20000}.dependencies-list .dependency-item .icon-check,ul.dependencies-list .dependency-item .icon-check{top:6px}.dependencies-list .dependency-item.selected,ul.dependencies-list .dependency-item.selected{background:#e7f1f4}.dependencies-list .dependency-item.selected .icon,ul.dependencies-list .dependency-item.selected .icon{border-color:rgba(161,200,212,0.6);color:#356574}.dependencies-list .dependency-item.selected .icon-plus,ul.dependencies-list .dependency-item.selected .icon-plus{opacity:1}.dependencies-list .dependency-item.checked,.dependencies-list .dependency-item .selected,ul.dependencies-list .dependency-item.checked,ul.dependencies-list .dependency-item .selected{background:white;box-shadow:0 2px 3px 1px rgba(0,0,0,0.1)}.dependencies-list .dependency-item.checked .icon,.dependencies-list .dependency-item .selected .icon,ul.dependencies-list .dependency-item.checked .icon,ul.dependencies-list .dependency-item .selected .icon{border-color:rgba(0,0,0,0.1);color:#ff6a00}.dependencies-list .dependency-item.checked .icon-check,.dependencies-list .dependency-item .selected .icon-check,ul.dependencies-list .dependency-item.checked .icon-check,ul.dependencies-list .dependency-item .selected .icon-check{opacity:1}.dependencies-list .dependency-item.checked:hover .icon-plus,ul.dependencies-list .dependency-item.checked:hover .icon-plus{opacity:0}.dependencies-list .dependency-item.checked:hover .icon-check,ul.dependencies-list .dependency-item.checked:hover .icon-check{opacity:0}.dependencies-list .dependency-item.checked:hover .icon-times,ul.dependencies-list .dependency-item.checked:hover .icon-times{opacity:1}.dependencies-list .dependency-item.invalid,.dependencies-list .dependency-item.checked.invalid,ul.dependencies-list .dependency-item.invalid,ul.dependencies-list .dependency-item.checked.invalid{opacity:0.6;cursor:not-allowed;background:#f7f7f7}.dependencies-list .dependency-item.invalid:hover,.dependencies-list .dependency-item.checked.invalid:hover,ul.dependencies-list .dependency-item.invalid:hover,ul.dependencies-list .dependency-item.checked.invalid:hover{background:#f7f7f7}.dependencies-list .dependency-item.invalid .warning,.dependencies-list .dependency-item.checked.invalid .warning,ul.dependencies-list .dependency-item.invalid .warning,ul.dependencies-list .dependency-item.checked.invalid .warning{color:#f30808}.dependencies-list .dependency-item.invalid .icon,ul.dependencies-list .dependency-item.invalid .icon{display:none}.dependencies-list .dependency-item.checked.invalid,ul.dependencies-list .dependency-item.checked.invalid{cursor:pointer}.dependencies-list .dependency-item.checked.invalid .icon,ul.dependencies-list .dependency-item.checked.invalid .icon{display:block}.dependencies-list .dependency-item.checked.invalid .icon-check,ul.dependencies-list .dependency-item.checked.invalid .icon-check{opacity:0}.dependencies-list .dependency-item.checked.invalid .icon-times,ul.dependencies-list .dependency-item.checked.invalid .icon-times{opacity:1}.dependencies-list.dependencies-list-checked .dependency-item-span,ul.dependencies-list.dependencies-list-checked .dependency-item-span{padding:6px 0}.dependencies-list.dependencies-list-checked .dependency-item-span>a,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a{position:relative;display:block;text-decoration:none;padding:16px;padding-right:60px;color:rgba(34,34,34,0.8);background:#f7f7f7;cursor:pointer;font-size:14px;display:flex;align-items:center;line-height:24px}.dependencies-list.dependencies-list-checked .dependency-item-span>a:focus,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a:focus{outline:1px dotted rgba(0,0,0,0.2)}.dependencies-list.dependencies-list-checked .dependency-item-span>a strong,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a strong{color:#222}.dependencies-list.dependencies-list-checked .dependency-item-span>a input,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a input{display:none}.dependencies-list.dependencies-list-checked .dependency-item-span>a div,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a div{padding:0;margin:0}.dependencies-list.dependencies-list-checked .dependency-item-span>a span,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a span{font-size:13px}.dependencies-list.dependencies-list-checked .dependency-item-span>a .icon,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a .icon{position:absolute;display:block;border:2px solid #e4e4e4;height:24px;width:24px;margin-top:-12px;top:50%;right:16px;border-radius:14px;color:#222}.dependencies-list.dependencies-list-checked .dependency-item-span>a .icon-times,.dependencies-list.dependencies-list-checked .dependency-item-span>a .icon-check,.dependencies-list.dependencies-list-checked .dependency-item-span>a .icon-plus,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a .icon-times,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a .icon-check,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a .icon-plus{display:block;opacity:0;width:12px;margin:0 auto;position:absolute;top:5px;left:6px}.dependencies-list.dependencies-list-checked .dependency-item-span>a .icon-times,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a .icon-times{left:7px;width:10px;color:#d20000}.dependencies-list.dependencies-list-checked .dependency-item-span>a .icon-check,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a .icon-check{top:6px}.dependencies-list.dependencies-list-checked .dependency-item-span>a.selected,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.selected{background:#e7f1f4}.dependencies-list.dependencies-list-checked .dependency-item-span>a.selected .icon,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.selected .icon{border-color:rgba(161,200,212,0.6);color:#356574}.dependencies-list.dependencies-list-checked .dependency-item-span>a.selected .icon-plus,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.selected .icon-plus{opacity:1}.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked,.dependencies-list.dependencies-list-checked .dependency-item-span>a .selected,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a .selected{background:white;box-shadow:0 2px 3px 1px rgba(0,0,0,0.1)}.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked .icon,.dependencies-list.dependencies-list-checked .dependency-item-span>a .selected .icon,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked .icon,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a .selected .icon{border-color:rgba(0,0,0,0.1);color:#ff6a00}.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked .icon-check,.dependencies-list.dependencies-list-checked .dependency-item-span>a .selected .icon-check,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked .icon-check,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a .selected .icon-check{opacity:1}.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked:hover .icon-plus,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked:hover .icon-plus{opacity:0}.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked:hover .icon-check,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked:hover .icon-check{opacity:0}.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked:hover .icon-times,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked:hover .icon-times{opacity:1}.dependencies-list.dependencies-list-checked .dependency-item-span>a.invalid,.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.invalid,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid{opacity:0.6;cursor:not-allowed;background:#f7f7f7}.dependencies-list.dependencies-list-checked .dependency-item-span>a.invalid:hover,.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid:hover,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.invalid:hover,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid:hover{background:#f7f7f7}.dependencies-list.dependencies-list-checked .dependency-item-span>a.invalid .warning,.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid .warning,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.invalid .warning,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid .warning{color:#f30808}.dependencies-list.dependencies-list-checked .dependency-item-span>a.invalid .icon,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.invalid .icon{display:none}.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid{cursor:pointer}.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid .icon,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid .icon{display:block}.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid .icon-check,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid .icon-check{opacity:0}.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid .icon-times,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid .icon-times{opacity:1}.dependencies-list .dependency-item-span,ul.dependencies-list .dependency-item-span{display:block;padding-top:4px}.dependencies-list li,ul.dependencies-list li{margin:0}.dependencies-list .fade-enter,ul.dependencies-list .fade-enter{max-height:0;opacity:0}.dependencies-list .fade-enter-active,ul.dependencies-list .fade-enter-active{max-height:200px;opacity:1;transition:all 250ms}.dependencies-list .fade-exit,ul.dependencies-list .fade-exit{max-height:200px;opacity:1}.dependencies-list .fade-exit-active,ul.dependencies-list .fade-exit-active{max-height:0;opacity:0;transition:all 250ms}.more{line-height:16px;padding-top:4px;margin-top:4px}.more div.wrap{border-bottom:3px solid #ebebeb;padding-bottom:4px}.more div.wrap a{position:relative;display:block;height:28px;line-height:28px;margin-top:4px;padding:0 16px 0 24px;color:#222;text-decoration:none;border-radius:4px;outline:1px dotted transparent;-webkit-transition:all .15s;-moz-transition:all .15s;-ms-transition:all .15s;-o-transition:all .15s;transition:all .15s}.more div.wrap a:focus{outline:1px dotted rgba(0,0,0,0.2)}.more div.wrap a:hover{color:#222}.more div.wrap a:hover svg{color:#ff6a00}.more div.wrap a svg{position:absolute;width:8px;left:8px;top:8px;color:#222;-webkit-transition:all .15s;-moz-transition:all .15s;-ms-transition:all .15s;-o-transition:all .15s;transition:all .15s}.more div.wrap a.toggle svg{transform:rotate(90deg)}.demos{line-height:16px}.demos div.wrap{border-bottom:3px solid #ebebeb;padding-bottom:4px}.demos div.wrap a{position:relative;display:block;height:28px;line-height:28px;padding:0 16px 0 24px;color:#222;text-decoration:none;border-radius:4px;outline:1px dotted transparent;-webkit-transition:all .15s;-moz-transition:all .15s;-ms-transition:all .15s;-o-transition:all .15s;transition:all .15s}.demos div.wrap a:focus{outline:1px dotted rgba(0,0,0,0.2)}.demos div.wrap a:hover{color:#222}.demos div.wrap a:hover svg{color:#ff6a00}.demos div.wrap a svg{position:absolute;width:8px;left:8px;top:8px;color:#222;-webkit-transition:all .15s;-moz-transition:all .15s;-ms-transition:all .15s;-o-transition:all .15s;transition:all .15s}.demos div.wrap a.toggle svg{transform:rotate(90deg)}.demos div.wrap a strong{float:right;font-weight:normal;background-color:#f7f7f7;padding:0 8px;margin-left:8px;border-radius:4px;line-height:24px;font-weight:bold;color:rgba(34,34,34,0.7)}.demos div.wrap a strong span{color:#222;padding:0px 3px 0px 3px}.panel{overflow:hidden;max-height:0;-webkit-transition:all .45s;-moz-transition:all .45s;-ms-transition:all .45s;-o-transition:all .45s;transition:all .45s}.panel.panel-active{max-height:600px}.panel .panel-wrap{border:1px solid #f5f5f5;border-top:0 none;padding:12px 24px;padding-bottom:24px}.casePanel{overflow:hidden;max-height:0;-webkit-transition:all .45s;-moz-transition:all .45s;-ms-transition:all .45s;-o-transition:all .45s;transition:all .45s}.casePanel.casePanel-active{max-height:600px}.casePanel .panel-wrap{border:1px solid #f5f5f5;border-top:0 none;padding:8px 16px}.groups{padding:0px 0px 16px 0}.groups .group{line-height:1.4rem;position:relative;padding-bottom:12px}.groups .group a{position:relative;display:block;text-decoration:none;padding:16px;padding-right:60px;color:rgba(34,34,34,0.8);background:#f7f7f7;cursor:pointer;font-size:14px;display:flex;align-items:center;line-height:24px}.groups .group a:focus{outline:1px dotted rgba(0,0,0,0.2)}.groups .group a strong{color:#222}.groups .group a input{display:none}.groups .group a div{padding:0;margin:0}.groups .group a span{font-size:13px}.groups .group a .icon{position:absolute;display:block;border:2px solid #e4e4e4;height:24px;width:24px;margin-top:-12px;top:50%;right:16px;border-radius:14px;color:#222}.groups .group a .icon-times,.groups .group a .icon-check,.groups .group a .icon-plus{display:block;opacity:0;width:12px;margin:0 auto;position:absolute;top:5px;left:6px}.groups .group a .icon-times{left:7px;width:10px;color:#d20000}.groups .group a .icon-check{top:6px}.groups .group a.selected{background:#e7f1f4}.groups .group a.selected .icon{border-color:rgba(161,200,212,0.6);color:#356574}.groups .group a.selected .icon-plus{opacity:1}.groups .group a.checked,.groups .group a .selected{background:white;box-shadow:0 2px 3px 1px rgba(0,0,0,0.1)}.groups .group a.checked .icon,.groups .group a .selected .icon{border-color:rgba(0,0,0,0.1);color:#ff6a00}.groups .group a.checked .icon-check,.groups .group a .selected .icon-check{opacity:1}.groups .group a.checked:hover .icon-plus{opacity:0}.groups .group a.checked:hover .icon-check{opacity:0}.groups .group a.checked:hover .icon-times{opacity:1}.groups .group a.invalid,.groups .group a.checked.invalid{opacity:0.6;cursor:not-allowed;background:#f7f7f7}.groups .group a.invalid:hover,.groups .group a.checked.invalid:hover{background:#f7f7f7}.groups .group a.invalid .warning,.groups .group a.checked.invalid .warning{color:#f30808}.groups .group a.invalid .icon{display:none}.groups .group a.checked.invalid{cursor:pointer}.groups .group a.checked.invalid .icon{display:block}.groups .group a.checked.invalid .icon-check{opacity:0}.groups .group a.checked.invalid .icon-times{opacity:1}.groups .group a:hover{background:#e7f1f4}.groups .group a:hover .icon{border-color:rgba(161,200,212,0.6);color:#15282e}.groups .group a:hover .icon-plus{opacity:1}.groups .group a.checked:hover{background:white}.groups .group a.checked:hover .icon{border-color:rgba(0,0,0,0.1)}.groups .group .group-title{border-bottom:1px solid #e4e4e4;font-weight:bold;margin-top:8px;cursor:pointer}.groups .group .group-title a{display:block;position:relative;margin:4px 0;padding:4px 0;padding-left:26px;line-height:22px;font-size:16px;background:white}.groups .group .group-title a:focus{outline:1px dotted rgba(0,0,0,0.2)}.groups .group .group-title a svg{position:absolute;top:8px;left:8px;width:8px;-webkit-transition:all .15s;-moz-transition:all .15s;-ms-transition:all .15s;-o-transition:all .15s;transition:all .15s}.groups .group .group-title a.toggleGroupItems svg{transform:rotate(90deg)}.groups .group .group-title a:hover svg{color:#ff6a00}.groups .group:first-child{padding-top:8px}.groups div.group-items{padding-top:15px;display:grid;grid-template-columns:repeat(auto-fill, minmax(250px, 1fr));grid-template-rows:repeat(auto-fill, minmax(85, 0.75fr));grid-gap:8px 10px}.search-label{padding-bottom:8px}.search-no-selected{color:rgba(0,0,0,0.4)}.search-more-warning,.search-no-result{padding:8px 0 16px;color:rgba(0,0,0,0.5)}.search-more-warning p,.search-no-result p{padding:0;margin:0;line-height:24px;padding-left:16px}.search-no-result p{padding-left:0}.sticky-label{padding-top:4px;position:sticky;top:0}.tab{position:sticky;top:0;z-index:90;background:white;padding:0 20px;margin:0 -20px;margin-bottom:10px}.tab .tab-container{border-bottom:3px solid #f3f3f3}.tab a{display:inline-block;margin-bottom:-3px;text-decoration:none;color:rgba(34,34,34,0.6);border-bottom:3px solid #f3f3f3;padding:15px 16px 11px;font-weight:bold;line-height:16px;outline:1px dotted transparent;-webkit-transition:all .15s;-moz-transition:all .15s;-ms-transition:all .15s;-o-transition:all .15s;transition:all .15s}.tab a:focus{outline:1px dotted rgba(0,0,0,0.2)}.tab a svg{width:16px}.tab a:hover{color:#222;border-bottom:3px solid #cbcbcb}.tab a.active{color:#222;border-bottom:3px solid #ff6a00}.tab a span{margin:0px 0px 0px 5px;vertical-align:top}.tab strong{float:right;font-weight:normal;background-color:#f7f7f7;padding:0 8px;border-radius:4px;line-height:24px;margin-top:6px;font-weight:bold;color:rgba(34,34,34,0.7)}.tab strong span{color:#222}.placeholder-radios .placeholder-radio{display:inline-block;height:32px;background:#f7f7f7;border-bottom:3px solid #e4e4e4;margin-right:4px}.placeholder-input{display:block;height:32px;background:#f7f7f7;border-bottom:3px solid #e4e4e4;position:relative;margin-top:15px}.placeholder-input:after{display:inline-block;content:' ';position:absolute;top:-15px;left:0;height:15px;background:#f7f7f7;width:70px}.placeholder-text{display:inline-block;height:14px;background:#f7f7f7}.placeholder-dropdown{display:block;margin-top:-3px;height:32px;background:#f7f7f7;border-bottom:3px solid #e4e4e4;position:relative}.placeholder-tabs{display:block;height:378px}.placeholder-tabs .placeholder-header{display:block;height:45px;border-bottom:3px solid #e4e4e4;position:relative}.placeholder-tabs .placeholder-tab{display:inline-block;height:45px;background:#f7f7f7;width:42px}.placeholder-button{display:inline-block;height:44px;background:#f7f7f7;position:relative;border-radius:4px}.placeholder-button+.placeholder-button{margin-left:6px}.warnings{position:relative;margin-bottom:8px;background:#fff0d0;padding:16px;color:#8f2500;line-height:26px;margin-top:-45px}.warnings .close{display:block;position:absolute;top:0;right:0;padding:12px 12px;height:28px;cursor:pointer;opacity:0.7;color:#8f2500}.warnings .close svg{width:14px}.warnings .close:hover{opacity:1}.warnings ul{padding:0;padding-left:20px;margin:0}.warnings li{padding:0;margin:0}.switch-checkbox{height:0;width:0;visibility:hidden;position:absolute}.switch-label{cursor:pointer;width:25px;height:16px;position:relative;display:inline-block}.switch-label::after{content:' ';width:25px;height:6px;background:rgba(0,0,0,0.2);position:absolute;top:0;left:0;z-index:1;border-radius:6px;top:5px}.switch-label .switch-button{content:'';z-index:2;position:absolute;top:0px;left:0;width:16px;height:16px;border-radius:16px;transition:0.2s left;background:#222}.switch-checkbox:checked+.switch-label .switch-button{left:9px;background:#222;width:16px}.switch-label:active .switch-button{width:16px}.Toastify__toast-container{z-index:9999;-webkit-transform:translate3d(0, 0, 9999px);position:fixed;padding:4px;width:400px;box-sizing:border-box;color:#fff}.Toastify__toast-container--top-left{top:1em;left:1em}.Toastify__toast-container--top-center{top:1em;left:50%;margin-left:-200px}.Toastify__toast-container--top-right{top:1em;right:1em}.Toastify__toast-container--bottom-left{bottom:1em;left:1em}.Toastify__toast-container--bottom-center{bottom:1em;left:50%;margin-left:-200px}.Toastify__toast-container--bottom-right{bottom:1em;right:1em}@media only screen and (max-width: 480px){.Toastify__toast-container{width:100vw;padding:0;left:0;margin:0}.Toastify__toast-container--top-left,.Toastify__toast-container--top-center,.Toastify__toast-container--top-right{top:0}.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-right{bottom:0}.Toastify__toast-container--rtl{right:0;left:initial}}.Toastify__toast{position:relative;min-height:64px;box-sizing:border-box;margin-bottom:1rem;padding:8px;border-radius:1px;box-shadow:0 1px 10px 0 rgba(0,0,0,0.1),0 2px 15px 0 rgba(0,0,0,0.05);display:flex;justify-content:space-between;max-height:800px;overflow:hidden;font-family:sans-serif;cursor:pointer;direction:ltr}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--default{background:#fff;color:#aaa}.Toastify__toast--info{background:#3498db}.Toastify__toast--success{background:#ff6a00}.Toastify__toast--warning{background:#e8ba00}.Toastify__toast--error{background:#e74c3c}.Toastify__toast-body{margin:auto 0;flex:1}@media only screen and (max-width: 480px){.Toastify__toast{margin-bottom:0}}.Toastify__close-button{color:#fff;font-weight:bold;font-size:14px;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:0.7;transition:0.3s ease;align-self:flex-start}.Toastify__close-button--default{color:#000;opacity:0.3}.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}100%{transform:scaleX(0)}}.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:5px;z-index:9999;opacity:0.7;background-color:rgba(255,255,255,0.7);transform-origin:left}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:initial;transform-origin:right}.Toastify__progress-bar--default{background:linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55)}@keyframes Toastify__bounceInRight{from,60%,75%,90%,to{animation-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}from{opacity:0;transform:translate3d(3000px, 0, 0)}60%{opacity:1;transform:translate3d(-25px, 0, 0)}75%{transform:translate3d(10px, 0, 0)}90%{transform:translate3d(-5px, 0, 0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px, 0, 0)}to{opacity:0;transform:translate3d(2000px, 0, 0)}}@keyframes Toastify__bounceInLeft{from,60%,75%,90%,to{animation-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}0%{opacity:0;transform:translate3d(-3000px, 0, 0)}60%{opacity:1;transform:translate3d(25px, 0, 0)}75%{transform:translate3d(-10px, 0, 0)}90%{transform:translate3d(5px, 0, 0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px, 0, 0)}to{opacity:0;transform:translate3d(-2000px, 0, 0)}}@keyframes Toastify__bounceInUp{from,60%,75%,90%,to{animation-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}from{opacity:0;transform:translate3d(0, 3000px, 0)}60%{opacity:1;transform:translate3d(0, -20px, 0)}75%{transform:translate3d(0, 10px, 0)}90%{transform:translate3d(0, -5px, 0)}to{transform:translate3d(0, 0, 0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0, -10px, 0)}40%,45%{opacity:1;transform:translate3d(0, 20px, 0)}to{opacity:0;transform:translate3d(0, -2000px, 0)}}@keyframes Toastify__bounceInDown{from,60%,75%,90%,to{animation-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}0%{opacity:0;transform:translate3d(0, -3000px, 0)}60%{opacity:1;transform:translate3d(0, 25px, 0)}75%{transform:translate3d(0, -10px, 0)}90%{transform:translate3d(0, 5px, 0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0, 10px, 0)}40%,45%{opacity:1;transform:translate3d(0, -20px, 0)}to{opacity:0;transform:translate3d(0, 2000px, 0)}}.Toastify__bounce-enter--top-left,.Toastify__bounce-enter--bottom-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--top-right,.Toastify__bounce-enter--bottom-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--top-left,.Toastify__bounce-exit--bottom-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--top-right,.Toastify__bounce-exit--bottom-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{from{opacity:0;transform:scale3d(0.3, 0.3, 0.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{from{opacity:1}50%{opacity:0;transform:scale3d(0.3, 0.3, 0.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{from{transform:perspective(400px) rotate3d(1, 0, 0, 90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotate3d(1, 0, 0, -20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotate3d(1, 0, 0, 10deg);opacity:1}80%{transform:perspective(400px) rotate3d(1, 0, 0, -5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{from{transform:perspective(400px)}30%{transform:perspective(400px) rotate3d(1, 0, 0, -20deg);opacity:1}to{transform:perspective(400px) rotate3d(1, 0, 0, 90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{from{transform:translate3d(110%, 0, 0);visibility:visible}to{transform:translate3d(0, 0, 0)}}@keyframes Toastify__slideInLeft{from{transform:translate3d(-110%, 0, 0);visibility:visible}to{transform:translate3d(0, 0, 0)}}@keyframes Toastify__slideInUp{from{transform:translate3d(0, 110%, 0);visibility:visible}to{transform:translate3d(0, 0, 0)}}@keyframes Toastify__slideInDown{from{transform:translate3d(0, -110%, 0);visibility:visible}to{transform:translate3d(0, 0, 0)}}@keyframes Toastify__slideOutRight{from{transform:translate3d(0, 0, 0)}to{visibility:hidden;transform:translate3d(110%, 0, 0)}}@keyframes Toastify__slideOutLeft{from{transform:translate3d(0, 0, 0)}to{visibility:hidden;transform:translate3d(-110%, 0, 0)}}@keyframes Toastify__slideOutDown{from{transform:translate3d(0, 0, 0)}to{visibility:hidden;transform:translate3d(0, 500px, 0)}}@keyframes Toastify__slideOutUp{from{transform:translate3d(0, 0, 0)}to{visibility:hidden;transform:translate3d(0, -500px, 0)}}.Toastify__slide-enter--top-left,.Toastify__slide-enter--bottom-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--top-right,.Toastify__slide-enter--bottom-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--top-left,.Toastify__slide-exit--bottom-left{animation-name:Toastify__slideOutLeft}.Toastify__slide-exit--top-right,.Toastify__slide-exit--bottom-right{animation-name:Toastify__slideOutRight}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown}.Toastify__toast-container{line-height:22px}.Toastify__toast{padding:16px}.Toastify__toast{position:relative;min-height:32px;padding:12px}.Toastify__toast .toast-close{display:block;position:absolute;top:0;right:0;padding:6px 8px;height:28px;cursor:pointer;opacity:0;color:white}.Toastify__toast .toast-close svg{width:14px}.Toastify__toast:hover .toast-close{opacity:0.6}@media (max-width: 900px){.desktop-only{display:none}body,body.light{background:none;padding-bottom:94px;min-width:0}.colset{display:block;max-width:none;min-width:0;padding:16px}.colset .left{text-align:left;padding:0;max-width:none;min-width:0;flex:none}.colset .right{padding:0;max-width:none;min-width:0;flex:none}.colset .right.right-md{padding:0;max-width:none;width:auto;flex:0}.header{padding:0;border-top:4px solid #ff6a00;width:auto}.header h1.logo a{margin:0 auto}.quick-links{position:relative;text-align:center;display:block;top:0;right:0;border-top:1px solid #e4e4e4;border-bottom:1px solid #e4e4e4;background:#f7f7f7;padding:0.5rem 0;width:auto}.colset-2{display:block;flex-flow:wrap}.colset-2 .column{padding:0;margin:0;flex:none}.colset-2 .column+.column{margin:0;padding:0;padding-top:24px}.dependencies-box{padding:8px 0}.colset .left.nopadding{margin-left:0;padding:0px;flex:none;width:auto;text-align:center;display:none}.sticky .colset{padding:0}.colset .right.nopadding{padding:0;margin:0;max-width:none;min-width:0;flex:none}.colset .right.nopadding .submit{width:auto;text-align:center}.colset .right.nopadding .placeholder-button{margin:0 auto}.groups .group{padding-right:0;padding-left:0}.groups .group .group-title{position:relative;margin:0;float:none;top:0}.submit{margin-right:0}.tab{padding:0;margin:0}.error{position:relative;left:auto;top:auto;padding:0 40px}.warnings{margin-top:0}.button{padding:4px 18px}.share-area>.button,.share-area{width:90px}}body.dark{background-color:#1b1f23;background:linear-gradient(to right, #ff6a00 4px, #262a2d 4px 316px, #1b1f23 316px);color:#d1d2d3}body.dark .header h1.logo a{color:#fff}body.dark .header h1.logo a span.title strong{color:#ff6a00}body.dark .header h1.logo a svg{color:#ff6a00}body.dark .radio{color:#8d8f91;border-color:#323638}body.dark .radio:hover{color:#d1d2d3;border-color:#4a5053}body.dark .radio.checked{color:#fff;border-bottom-color:#ff6a00}body.dark .radio:hover{border-bottom-color:#ff6a00}body.dark .colset-submit .right.nopadding{background:#1b1f23}body.dark .submit{background:#1b1f23;border-color:#4a5053}body.dark .tab{background:#1b1f23}body.dark .tab .tab-container{border-color:#323638}body.dark .tab a{color:#8d8f91;border-color:#323638}body.dark .tab a:hover{color:#d1d2d3;border-bottom-color:#4a5053}body.dark .tab a.active{color:#fff;border-bottom-color:#ff6a00}body.dark .tab a.active:hover{border-bottom-color:#ff6a00}body.dark .control-input{background:#1b1f23;color:#fff;border-color:#323638}body.dark .control-input:hover{border-color:#4a5053}body.dark .control-input:focus{border-bottom-color:#ff6a00}body.dark .control-input:focus:hover{border-bottom-color:#ff6a00}body.dark .panel .panel-wrap{border-color:#323638}body.dark .casePanel .panel-wrap{border-color:#323638}body.dark .more div.wrap{border-color:#323638}body.dark .more div.wrap a{color:#d1d2d3}body.dark .more div.wrap a:hover{color:#d1d2d3}body.dark .more div.wrap a:hover svg{color:#ff6a00}body.dark .more div.wrap a svg{color:#d1d2d3}body.dark .demos div.wrap{border-color:#323638}body.dark .demos div.wrap a{color:#d1d2d3}body.dark .demos div.wrap a:hover{color:#d1d2d3}body.dark .demos div.wrap a:hover svg{color:#ff6a00}body.dark .demos div.wrap a svg{color:#d1d2d3}body.dark .demos div.wrap a strong{color:#8d8f91;background:#32373b}body.dark .demos div.wrap a strong span{color:#fff}body.dark .button{background:#262a2d;border-color:#262a2d;color:#fff}body.dark .button:hover{background:#32373b;border-color:#32373b}body.dark .button.primary{border-color:#ff6a00;background-color:#ff6a00}body.dark .button.primary:hover{border-color:#e65f00;background-color:#e65f00}body.dark .footer{background:#262a2d;color:#8d8f91}body.dark label{color:#494c4e}body.dark .search-no-selected{color:#d1d2d3}body.dark .groups .group a{background:#262a2d;color:#d1d2d3}body.dark .groups .group a strong{color:#fff}body.dark .groups .group a .icon{border:2px solid #4a5053;color:#d1d2d3}body.dark .groups .group a:hover{background:#32373b}body.dark .groups .group a:hover .icon{color:#d1d2d3}body.dark .groups .group .group-title{border-color:#323638}body.dark .groups .group .group-title a{background:#1b1f23}body.dark .quick-links li a{color:#d1d2d3}body.dark .quick-links li a:hover{color:#ff6a00}body.dark .groups .group a.invalid,body.dark .groups .group a.checked.invalid{background:#23282b}body.dark .groups .group a.invalid strong,body.dark .groups .group a.checked.invalid strong{color:#8d8f91}body.dark .groups .group a.invalid:hover,body.dark .groups .group a.checked.invalid:hover{background:#23282b}body.dark .groups .group a.checked,body.dark .groups .group a.selected{background:#363e44}body.dark .groups .group a.checked:hover,body.dark .groups .group a.selected:hover{background:#444e55}body.dark .groups .group a.checked .icon,body.dark .groups .group a .selected .icon{border-color:#4a5053}body.dark .groups .group a.checked .icon:hover,body.dark .groups .group a .selected .icon:hover{border-color:#4a5053}body.dark .groups .group a.checked:hover .icon,body.dark .groups .group a .selected:hover .icon{border-color:#626a6e}body.dark .tab strong{color:#8d8f91;background:#32373b}body.dark .tab strong span{color:#fff}body.dark .dependencies-list .dependency-item.checked,body.dark .dependencies-list .dependency-item .selected,body.dark ul.dependencies-list .dependency-item.checked,body.dark ul.dependencies-list .dependency-item .selected{background:#262a2d;color:#d1d2d3}body.dark .dependencies-list .dependency-item.checked strong,body.dark .dependencies-list .dependency-item .selected strong,body.dark ul.dependencies-list .dependency-item.checked strong,body.dark ul.dependencies-list .dependency-item .selected strong{color:#fff}body.dark .dependencies-list .dependency-item.checked .icon,body.dark .dependencies-list .dependency-item .selected .icon,body.dark ul.dependencies-list .dependency-item.checked .icon,body.dark ul.dependencies-list .dependency-item .selected .icon{border-color:#4a5053;color:#d1d2d3}body.dark .dependencies-list .dependency-item.checked:hover,body.dark .dependencies-list .dependency-item .selected:hover,body.dark ul.dependencies-list .dependency-item.checked:hover,body.dark ul.dependencies-list .dependency-item .selected:hover{background:#32373b}body.dark .dependencies-list .dependency-item.checked:hover .icon,body.dark .dependencies-list .dependency-item .selected:hover .icon,body.dark ul.dependencies-list .dependency-item.checked:hover .icon,body.dark ul.dependencies-list .dependency-item .selected:hover .icon{color:#d1d2d3}body.dark .dependencies-list .dependency-item,body.dark ul.dependencies-list .dependency-item{background:#262a2d;color:#d1d2d3}body.dark .dependencies-list .dependency-item strong,body.dark ul.dependencies-list .dependency-item strong{color:#fff}body.dark .dependencies-list .dependency-item .icon,body.dark ul.dependencies-list .dependency-item .icon{border:2px solid #4a5053;color:#ff6a00}body.dark .dependencies-list .dependency-item:hover,body.dark ul.dependencies-list .dependency-item:hover{background:#32373b}body.dark .dependencies-list .dependency-item:hover .icon,body.dark ul.dependencies-list .dependency-item:hover .icon{color:#d1d2d3}body.dark .dependencies-list .dependency-item.invalid,body.dark .dependencies-list .dependency-item.checked.invalid,body.dark ul.dependencies-list .dependency-item.invalid,body.dark ul.dependencies-list .dependency-item.checked.invalid{background:#23282b}body.dark .dependencies-list .dependency-item.invalid:hover,body.dark .dependencies-list .dependency-item.checked.invalid:hover,body.dark ul.dependencies-list .dependency-item.invalid:hover,body.dark ul.dependencies-list .dependency-item.checked.invalid:hover{background:#23282b}body.dark .dependencies-list .dependency-item.invalid .warning,body.dark .dependencies-list .dependency-item.checked.invalid .warning,body.dark ul.dependencies-list .dependency-item.invalid .warning,body.dark ul.dependencies-list .dependency-item.checked.invalid .warning{color:#ff7676}body.dark .search-more-warning,body.dark .search-no-result{color:#8d8f91}body.dark .dependencies-list .dependency-item.selected,body.dark ul.dependencies-list .dependency-item.selected{background:#32373b}body.dark .dependencies-list .dependency-item.selected .icon,body.dark ul.dependencies-list .dependency-item.selected .icon{color:#d1d2d3}body.dark .dependencies-list-checked .dependency-item.checked .icon,body.dark ul.dependencies-list-checked .dependency-item.checked .icon{color:#ff6a00}body.dark .quick-links ul.dropdown-menu{background:#32373b}body.dark .quick-links ul.dropdown-menu li a{color:#fff}body.dark .quick-links ul.dropdown-menu li a:hover{background:#262a2d}body.dark .popup-share{background:#32373b}body.dark .popup-share .popup-header{border-color:#4a5053}body.dark .popup-share .popup-header .close{color:#8d8f91}body.dark .popup-share .popup-content label{color:#d1d2d3}body.dark .popup-share .control-input{background:#32373b;border-color:#4a5053}body.dark .popup-share .control-input:focus{border-color:#ff6a00}body.dark .popup-share-overlay{background:rgba(27,31,35,0.95)}body.dark .placeholder-radios .placeholder-radio{background:rgba(255,255,255,0.05);border-color:rgba(255,255,255,0.2)}body.dark .placeholder-input,body.dark .placeholder-dropdown{background:rgba(255,255,255,0.05);border-color:rgba(255,255,255,0.2)}body.dark .placeholder-input::after,body.dark .placeholder-dropdown::after{background:rgba(255,255,255,0.05)}body.dark .placeholder-button{background:rgba(255,255,255,0.05)}body.dark .placeholder-tabs .placeholder-header{border-color:rgba(255,255,255,0.2)}body.dark .placeholder-tabs .placeholder-tab{background:rgba(255,255,255,0.05)}body.dark .placeholder-text{background:rgba(255,255,255,0.05)}body.dark .overlay{background:rgba(27,31,35,0.95)}body.dark .modal-explorer{background:#32373b;box-shadow:0 0 0 black}body.dark .modal-fetch{background:#32373b;box-shadow:0 0 0 black}body.dark .modal-fetch .control-input{background:#32373b;border-color:#4a5053}body.dark .modal-fetch .control-input:focus{border-color:#ff6a00}body.dark .modal-explorer .colset-explorer .head,body.dark .modal-explorer .colset-explorer .foot,body.dark .modal-explorer .colset-explorer .left,body.dark .modal-explorer .colset-explorer .right{color:#d1d2d3;border-color:#4a5053}body.dark .modal-explorer .colset-explorer .head .placeholder-text,body.dark .modal-explorer .colset-explorer .foot .placeholder-text,body.dark .modal-explorer .colset-explorer .left .placeholder-text,body.dark .modal-explorer .colset-explorer .right .placeholder-text{background:rgba(255,255,255,0.05)}body.dark .modal-explorer .close{color:#8d8f91}body.dark .modal-explorer .colset-explorer .head .actions{color:#8d8f91}body.dark .explorer-ul .file.selected,body.dark .explorer-ul .folder.selected{color:#fff;background:#262a2d}body.dark .explorer-ul .file.selected:hover,body.dark .explorer-ul .folder.selected:hover{color:#fff;background:#262a2d}body.dark .explorer-ul .file,body.dark .explorer-ul .folder{color:#d1d2d3}body.dark .explorer-ul .file:hover,body.dark .explorer-ul .folder:hover{background:rgba(255,255,255,0.05);color:#fff}body.dark pre.prism-code span.explorer-number{color:rgba(255,255,255,0.5)}body.dark pre.prism-code span.explorer-number:before{background-color:#262a2d;color:rgba(255,255,255,0.5)}body.dark pre.prism-code:before{color:rgba(255,255,255,0.5);background-color:#262a2d}body.dark .explorer-ul .file.disabled,body.dark .explorer-ul .folder.disabled{color:#d1d2d3}body.dark .explorer-ul .file.disabled:hover,body.dark .explorer-ul .folder.disabled:hover{color:#d1d2d3}body.dark .token.cdata,body.dark .token.comment,body.dark .token.doctype,body.dark .token.prolog{color:#8d8f91}body.dark code[class*='language-'],body.dark pre[class*='language-'],body.dark .token.operator,body.dark .token.punctuation,body.dark .token.operator{color:#d1d2d3}body.dark .switch-label::after{background:rgba(255,255,255,0.2)}body.dark .warnings{background:#ffe09c}body.dark .radio.err{background:#32373b;border-color:#f30808}body.dark .switch-label .switch-button,body.dark .switch-checkbox:checked+.switch-label .switch-button{background:#fff}body.dark .modal-explorer .colset-explorer .foot .action:focus,body.dark .modal-explorer .colset-explorer .head a:focus,body.dark .modal-explorer .close:focus,body.dark .header h1.logo a:focus,body.dark .radio:focus,body.dark .tab a:focus,body.dark .more div.wrap a:focus,body.dark .button:focus,body.dark .groups .group a:focus,body.dark .groups .group .group-title span:focus,body.dark .dependencies-list .dependency-item:focus,body.dark ul.dependencies-list .dependency-item:focus,body.dark .explorer-ul .file:focus,body.dark .explorer-ul .folder:focus{outline-color:#76797a}body.dark .groups .group a.invalid .warning,body.dark .groups .group a.checked.invalid .warning{color:#ff7676}body.dark .footer a,body.dark .popup-share .popup-content .link,body.dark .modal-explorer .colset-explorer .action,body.dark .markdown a,body.dark .markdown-source a{color:#0188ff}@media (max-width: 900px){body.dark{background:#1b1f23}body.dark .quick-links{border-color:#323638;background:#1b1f23}}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","module.exports = __webpack_public_path__ + \"fonts/c1e9a8527a4a4f457a8fdf644d373e9c.eot\";","module.exports = __webpack_public_path__ + \"fonts/7f562c00d80cb9d59bed376763039487.woff2\";","module.exports = __webpack_public_path__ + \"fonts/ae06d340240442c47ff1ccaa5ca4cfbe.woff\";","module.exports = __webpack_public_path__ + \"fonts/3c5ebd87cbd775f3be8ed0551a682ef8.ttf\";","module.exports = __webpack_public_path__ + \"fonts/d12e4e15d6e01ff7ceceea6f00e32159.svg\";","module.exports = __webpack_public_path__ + \"fonts/00f4610c11ae2aeb7db685df41262363.eot\";","module.exports = __webpack_public_path__ + \"fonts/063f63b80a18487346b6bf074d4f094b.woff2\";","module.exports = __webpack_public_path__ + \"fonts/63f573c4f806c10fa904fe911089f058.woff\";","module.exports = __webpack_public_path__ + \"fonts/d4f0ebf5d59c08236fe25bb12820c2bd.ttf\";","module.exports = __webpack_public_path__ + \"fonts/f803d8e8ab86c9c0eb9ad1da9978f9f5.svg\";","module.exports = __webpack_public_path__ + \"fonts/98291d65d7c5a049c81e8f5d786eec98.eot\";","module.exports = __webpack_public_path__ + \"fonts/5a488c3dab6ff8ccfa74bbd909a7bb95.woff2\";","module.exports = __webpack_public_path__ + \"fonts/d85e4310339264b58f21bfcac7130bcc.woff\";","module.exports = __webpack_public_path__ + \"fonts/ab4a5ea7b67c74de76a88b85f6ca2ff5.ttf\";","module.exports = __webpack_public_path__ + \"fonts/303a293f207127f2d21561491c3a71c4.svg\";","module.exports = __webpack_public_path__ + \"fonts/07d5c9e793599811873ff699c36b86c5.eot\";","module.exports = __webpack_public_path__ + \"fonts/b8ecef1f4c0e42d365ec8626607e1406.woff2\";","module.exports = __webpack_public_path__ + \"fonts/f4f638d0cbf629e67fa9c355daa47347.woff\";","module.exports = __webpack_public_path__ + \"fonts/5f8a077b674fd55bfb19713a06aa2add.ttf\";","module.exports = __webpack_public_path__ + \"fonts/083662cca067cf52ac4c2d16ca877db9.svg\";","import queryString from 'query-string'\nimport { toast } from 'react-toastify'\nimport { useContext, useEffect, useState } from 'react'\n\nimport { AppContext } from '../reducer/App'\nimport { InitializrContext } from '../reducer/Initializr'\nimport { isValidParams } from './ApiUtils'\n\nconst getHash = () => {\n  return window.location.hash\n}\n\nconst clearHash = () => {\n  if (window.location.hash) {\n    if (window.history.pushState) {\n      window.history.pushState(null, null, window.location.pathname)\n    } else {\n      window.history.hash = ``\n    }\n  }\n}\n\nexport default function useHash() {\n  const [hash, setHash] = useState(getHash())\n\n  const { dispatch } = useContext(InitializrContext)\n  const { config, complete } = useContext(AppContext)\n\n  useEffect(() => {\n    const handler = () => {\n      setHash(getHash())\n    }\n    window.addEventListener('hashchange', handler)\n    return () => {\n      window.removeEventListener('hashchange', handler)\n    }\n  }, [])\n\n  useEffect(() => {\n    if (complete && hash) {\n      const params = queryString.parse(`?${hash.substr(2)}`)\n      if (params && window.safemode) {\n        delete params.artifactId\n        delete params.groupId\n        delete params.description\n        delete params.name\n        delete params.packageName\n      }\n      dispatch({ type: 'LOAD', payload: { params, lists: config.lists } })\n      clearHash()\n      setHash('')\n      if (isValidParams(params)) {\n        toast.success(`分享配置 已加载.`)\n      }\n    }\n  }, [complete, hash, dispatch, config])\n\n  return null\n}\n","import PropTypes from 'prop-types'\nimport React from 'react'\n\nconst Control = ({ text, children, variant }) => {\n  if (variant === 'xl' || variant === 'xxl') {\n    return (\n      <div className='colset'>\n        <div className='left'>\n          <div className='sticky-label'>{text}</div>\n        </div>\n        <div\n          className={`dependencies-box ${variant === 'xl' ? 'list' : 'large'}`}\n        >\n          {children}\n        </div>\n      </div>\n    )\n  }\n\n  return (\n    <div className='colset'>\n      <div className='left'>\n        <>{text}</>\n      </div>\n      <div className={`right ${variant === 'md' ? 'right-md' : ''}`}>\n        {children}\n      </div>\n    </div>\n  )\n}\n\nControl.defaultProps = {\n  children: null,\n  variant: '',\n}\n\nControl.propTypes = {\n  children: PropTypes.node,\n  variant: PropTypes.string,\n  text: PropTypes.string.isRequired,\n}\n\nexport default Control\n","import PropTypes from 'prop-types'\nimport React from 'react'\n\nconst FieldInput = ({ id, text, value, onChange, disabled, inputRef }) => (\n  <div className='control'>\n    <label htmlFor={id}>{text}</label>\n    <input\n      type='text'\n      id={id}\n      className='control-input'\n      disabled={disabled}\n      value={value}\n      onChange={onChange}\n      ref={inputRef}\n    />\n  </div>\n)\n\nFieldInput.defaultProps = {\n  disabled: false,\n  inputRef: null,\n}\n\nFieldInput.propTypes = {\n  id: PropTypes.string.isRequired,\n  text: PropTypes.string.isRequired,\n  value: PropTypes.string.isRequired,\n  onChange: PropTypes.func.isRequired,\n  inputRef: PropTypes.oneOfType([\n    PropTypes.func,\n    PropTypes.shape({ current: PropTypes.instanceOf(Element) }),\n  ]),\n  disabled: PropTypes.bool,\n}\n\nexport default FieldInput\n","import PropTypes from 'prop-types'\nimport React from 'react'\n\nimport {RadioGroup} from '../form'\n\nconst FieldRadio = ({ id, text, value, onChange, disabled, options }) => (\n  <div className='control'>\n    <label htmlFor={id}>{text}</label>\n    <RadioGroup\n      name='packaging'\n      disabled={disabled}\n      selected={value}\n      options={options}\n      onChange={onChange}\n    />\n  </div>\n)\n\nFieldRadio.defaultProps = {\n  disabled: false,\n  options: [],\n}\n\nFieldRadio.propTypes = {\n  id: PropTypes.string.isRequired,\n  text: PropTypes.string.isRequired,\n  value: PropTypes.string.isRequired,\n  onChange: PropTypes.func.isRequired,\n  disabled: PropTypes.bool,\n  options: PropTypes.arrayOf(\n    PropTypes.shape({\n      key: PropTypes.string,\n      text: PropTypes.string,\n    })\n  ),\n}\n\nexport default FieldRadio\n","import PropTypes from 'prop-types'\nimport React from 'react'\n\nfunction FieldError({ children }) {\n  return (\n    <div className='control-error'>\n      <p className='title'>\n        <strong>{children}</strong>\n      </p>\n    </div>\n  )\n}\n\nFieldError.propTypes = {\n  children: PropTypes.string.isRequired,\n}\n\nexport default FieldError\n","import PropTypes from 'prop-types'\nimport get from 'lodash.get'\nimport React, {useContext, useEffect} from 'react'\n\nimport {AppContext} from '../../reducer/App'\nimport {IconChevronRight} from '../icons'\n\nconst PanelMore = ({ children, fieldFocusOnOpen }) => {\n  const { more, dispatch } = useContext(AppContext)\n\n  useEffect(() => {\n    if (more && fieldFocusOnOpen) {\n      setTimeout(() => {\n        get(fieldFocusOnOpen, 'current').focus()\n      }, 300)\n    }\n  }, [more, fieldFocusOnOpen])\n\n  return (\n    <div>\n      <div className='more'>\n        <div className='wrap'>\n          <a\n            href='/'\n            onClick={event => {\n              event.preventDefault()\n              dispatch({\n                type: 'UPDATE',\n                payload: { more: !more },\n              })\n            }}\n            className={more ? 'toggle' : ''}\n          >\n            <IconChevronRight />\n            {!more ? '高级选项' : '高级选项'}\n          </a>\n        </div>\n      </div>\n      <div className={`panel ${more ? 'panel-active' : ''}`}>\n        <div className='panel-wrap'>{children}</div>\n      </div>\n    </div>\n  )\n}\n\nPanelMore.defaultProps = {\n  children: null,\n  fieldFocusOnOpen: null,\n}\n\nPanelMore.propTypes = {\n  children: PropTypes.node,\n  fieldFocusOnOpen: PropTypes.oneOfType([\n    PropTypes.func,\n    PropTypes.shape({ current: PropTypes.instanceOf(Element) }),\n  ]),\n}\n\nexport default PanelMore\n","import PropTypes from 'prop-types'\nimport get from 'lodash.get'\nimport React, {useContext, useEffect, useState} from 'react'\n\nimport {AppContext} from '../../reducer/App'\nimport {IconList, IconSearch} from '../icons'\nimport {InitializrContext} from '../../reducer/Initializr'\n\nconst Tabs = ({ changeTab }) => {\n  const { dependencies: deps, dispatch, tab } = useContext(AppContext)\n  const { values } = useContext(InitializrContext)\n  const [count, setCount] = useState(0)\n\n  useEffect(() => {\n    setCount(\n      values.dependencies.filter(d => {\n        return get(deps, 'list', []).find(a => a.id === d).valid\n      }).length\n    )\n  }, [deps, values.dependencies])\n\n  const change = newTab => {\n    dispatch({\n      type: 'UPDATE',\n      payload: { tab: newTab },\n    })\n    setTimeout(() => {\n      changeTab(newTab)\n    })\n  }\n\n  return (\n    <div className='tab'>\n      <div className='tab-container'>\n        <a\n          href='/'\n          aria-label='Search'\n          onClick={event => {\n            event.preventDefault()\n            change('quicksearch')\n          }}\n          className={`quick-search ${tab === 'quicksearch' ? 'active' : ''}`}\n        >\n          <IconSearch /><span>搜索</span>\n        </a>\n        <a\n          href='/'\n          aria-label='List'\n          onClick={event => {\n            event.preventDefault()\n            change('list')\n          }}\n          className={`list ${tab === 'list' ? 'active' : ''}`}\n        >\n          <IconList /><span>分组列表</span>\n        </a>\n        {count > 0 && (\n          <>\n            <strong>\n              <span>{count}</span> 项已选择\n            </strong>\n          </>\n        )}\n      </div>\n    </div>\n  )\n}\n\nTabs.propTypes = {\n  changeTab: PropTypes.func.isRequired,\n}\n\nexport default Tabs\n","import PropTypes from 'prop-types'\nimport React from 'react'\nimport {CSSTransition, TransitionGroup} from 'react-transition-group'\n\nimport {IconCheck, IconTimes} from '../../icons'\n\nfunction Dependencies({ list, remove }) {\n  return (\n    <TransitionGroup\n      component='ul'\n      className='dependencies-list dependencies-list-checked'\n    >\n      {list.map(item => {\n        return (\n          <CSSTransition timeout={500} classNames='fade' key={`f${item.id}`}>\n            <li>\n              <span className='dependency-item-span'>\n                <a\n                  className={`dependency-item checked ${\n                    !item.valid ? 'invalid' : ''\n                  }`}\n                  href='/'\n                  onClick={event => {\n                    event.preventDefault()\n                    remove(item)\n                  }}\n                  key={item.id}\n                >\n                  <div key={`d1${item.id}`}>\n                    <strong key={`d2${item.id}`}>{item.name}</strong>\n                    <br key={`d3${item.id}`} />\n                    {item.valid && (\n                      <span key={`d4${item.id}`} className='description'>\n                        {item.description}\n                      </span>\n                    )}\n                    <span key={`d5${item.id}`} className='icon'>\n                      <IconTimes key={`d6${item.id}`} />\n                      <IconCheck key={`d7${item.id}`} />\n                    </span>\n                    {!item.valid && (\n                      <span className='warning' key={`warning${item.id}`}>\n                        {item.message}\n                      </span>\n                    )}\n                  </div>\n                </a>\n              </span>\n            </li>\n          </CSSTransition>\n        )\n      })}\n    </TransitionGroup>\n  )\n}\n\nDependencies.defaultProps = {\n  list: [],\n}\n\nDependencies.propTypes = {\n  list: PropTypes.arrayOf(\n    PropTypes.shape({\n      id: PropTypes.string.isRequired,\n      name: PropTypes.string.isRequired,\n      group: PropTypes.string.isRequired,\n      valid: PropTypes.bool.isRequired,\n      description: PropTypes.string.isRequired,\n      message: PropTypes.string,\n    })\n  ),\n  remove: PropTypes.func.isRequired,\n}\n\nexport default Dependencies\n","import PropTypes from 'prop-types'\nimport React from 'react'\nimport {CSSTransition, TransitionGroup} from 'react-transition-group'\n\nimport {IconPlus} from '../../icons'\n\nfunction Result({ list, selected, select, add }) {\n  return (\n    <TransitionGroup component='ul' className='dependencies-list'>\n      {list.map((item, index) => {\n        return (\n          <CSSTransition timeout={500} classNames='fade' key={`f${item.id}`}>\n            <li>\n              <span className='dependency-item-span'>\n                <a\n                  href='/'\n                  className={`dependency-item dependency-item-gray ${\n                    !item.valid ? 'invalid' : ''\n                  }  ${selected === index ? 'selected' : ''}`}\n                  key={`item${item.id}`}\n                  selected={selected === index}\n                  disabled={!item.valid}\n                  onClick={e => {\n                    e.preventDefault()\n                    if (item.valid) {\n                      add(item)\n                    }\n                  }}\n                  onMouseEnter={() => {\n                    if (item.valid) {\n                      select(index)\n                    }\n                  }}\n                  onMouseLeave={() => {\n                    if (item.valid) {\n                      select(-1)\n                    }\n                  }}\n                >\n                  <div>\n                    <strong className='title' key={`item${item.id}`}>\n                      {item.name}\n                    </strong>\n                    <br />\n                    {item.valid && (\n                      <span key={`d1${item.id}`}>\n                        <span className='description' key={`d2${item.id}`}>\n                          {item.description}\n                        </span>\n                        <span key={`d3${item.id}`} className='icon'>\n                          <IconPlus key={`d4${item.id}`} />\n                        </span>\n                      </span>\n                    )}\n                    {!item.valid && (\n                      <span className='warning' key={`warning${item.id}`}>\n                        {item.message}\n                      </span>\n                    )}\n                  </div>\n                </a>\n              </span>\n            </li>\n          </CSSTransition>\n        )\n      })}\n    </TransitionGroup>\n  )\n  // }\n}\n\nResult.defaultProps = {\n  list: [],\n  selected: null,\n}\n\nResult.propTypes = {\n  list: PropTypes.arrayOf(\n    PropTypes.shape({\n      id: PropTypes.string.isRequired,\n      name: PropTypes.string.isRequired,\n      group: PropTypes.string.isRequired,\n      description: PropTypes.string.isRequired,\n      versionRange: PropTypes.string,\n      versionRequirement: PropTypes.string,\n    })\n  ),\n  add: PropTypes.func.isRequired,\n  selected: PropTypes.number,\n  select: PropTypes.func.isRequired,\n}\n\nexport default Result\n","import * as JsSearch from 'js-search'\nimport PropTypes from 'prop-types'\nimport get from 'lodash.get'\nimport React, {useContext, useEffect, useState} from 'react'\n\nimport Dependencies from './Dependencies'\nimport Result from './Result'\nimport {AppContext} from '../../../reducer/App'\nimport {InitializrContext} from '../../../reducer/Initializr'\n\nconst sortResult = dependencies => {\n  return dependencies.sort((a, b) => {\n    if (a.valid && !b.valid) {\n      return -1\n    }\n    if (!a.valid && b.valid) {\n      return 1\n    }\n    return b.weight - a.weight\n  })\n}\n\nconst QuickSearch = ({ submit, input }) => {\n  const { values, dispatch } = useContext(InitializrContext)\n  const { dependencies: dependenciesContext } = useContext(AppContext)\n  const [query, setQuery] = useState('')\n  const [selected, setSelected] = useState(0)\n  const [dependencies, setDependencies] = useState([])\n  const [result, setResult] = useState([])\n  const [count, setCount] = useState(0)\n  const [search, setSearch] = useState(null)\n\n  const add = id => {\n    dispatch({\n      type: 'ADD_DEPENDENCY',\n      payload: { id },\n    })\n  }\n\n  useEffect(() => {\n    const newDeps = get(values, 'dependencies', []).map(item => {\n      return get(dependenciesContext, 'list', []).find(d => d.id === item)\n    })\n    setDependencies(newDeps)\n    const jsSearchUp = new JsSearch.Search('name')\n    jsSearchUp.addIndex('name')\n    jsSearchUp.addIndex('id')\n    jsSearchUp.addIndex('description')\n    jsSearchUp.addIndex('group')\n    jsSearchUp.addDocuments(get(dependenciesContext, 'list'))\n    setSearch(jsSearchUp)\n  }, [values, dependenciesContext, values.dependencies])\n\n  const onFocus = () => {\n    setSelected(0)\n  }\n\n  const onBlur = () => {\n    setSelected(-1)\n  }\n\n  const onKeyDown = event => {\n    switch (event.keyCode) {\n      case 40: // Down\n        event.preventDefault()\n        setSelected(Math.min(selected + 1, result.length - 1, 4))\n        break\n      case 38: // Up\n        event.preventDefault()\n        setSelected(Math.max(selected - 1, 0))\n        break\n      case 13: // Enter\n        event.preventDefault()\n        if (result.length > 0) {\n          add(result[selected].id)\n          setQuery('')\n        } else {\n          submit()\n        }\n        break\n      case 27: // Escape\n        event.preventDefault()\n        setQuery('')\n        break\n      case 39: // Right\n      case 37: // Left\n        break\n      default:\n        // Default\n        setSelected(0)\n    }\n  }\n\n  useEffect(() => {\n    const onSearch = () => {\n      if (!search) {\n        return\n      }\n      let vals = search\n        .search(query)\n        .filter(\n          item => !get(values, 'dependencies', []).find(o => o === item.id)\n        )\n      setCount(vals.length)\n      if (vals.length > 5) {\n        vals = vals.slice(0, 5)\n      }\n      vals = sortResult(vals)\n      setResult(vals)\n    }\n    onSearch()\n  }, [values, query, search, setResult])\n\n  return (\n    <div className='colset-2'>\n      <div className='column'>\n        <label className='search-label' htmlFor='input-quicksearch'>\n          {/* eslint-disable-line */}\n          搜索依赖组件\n        </label>\n        <input\n          type='text'\n          className='control-input'\n          placeholder='Web, Security, JPA, Actuator, Devtools...'\n          value={query}\n          onBlur={onBlur}\n          onFocus={onFocus}\n          onChange={event => {\n            setQuery(event.target.value)\n            setSelected(0)\n          }}\n          id='input-quicksearch'\n          ref={input}\n          onKeyDown={onKeyDown}\n        />\n        <Result\n          list={result}\n          add={item => {\n            add(item.id)\n            setQuery('')\n            if (input) {\n              get(input, 'current').focus()\n            }\n          }}\n          selected={selected}\n          select={setSelected}\n        />\n        {count > 5 && (\n          <div className='search-more-warning'>\n            <p>\n              More than 5 results found.\n              <br />\n              Refine your search if necessary.\n            </p>\n          </div>\n        )}\n      </div>\n      <div className='column'>\n        {/* eslint-disable-next-line */}\n        <label>已选组件</label>\n        {get(values, 'dependencies', []).length === 0 ? (\n          <div className='search-no-selected'>暂未选择任何组件</div>\n        ) : (\n          <Dependencies\n            list={dependencies}\n            remove={item => {\n              dispatch({\n                type: 'REMOVE_DEPENDENCY',\n                payload: { id: item.id },\n              })\n            }}\n          />\n        )}\n      </div>\n    </div>\n  )\n}\n\nQuickSearch.defaultProps = {}\n\nQuickSearch.propTypes = {\n  submit: PropTypes.func.isRequired,\n  input: PropTypes.oneOfType([\n    PropTypes.func,\n    PropTypes.shape({ current: PropTypes.instanceOf(Element) }),\n  ]).isRequired,\n}\n\nexport default QuickSearch\n","import PropTypes from 'prop-types'\nimport React from 'react'\n\nimport {IconCheck, IconPlus, IconTimes} from '../../icons'\n\nfunction ListItem({\n  id,\n  name,\n  description,\n  valid,\n  message,\n  onChange,\n  selected,\n}) {\n  const toggle = event => {\n    event.preventDefault()\n    if (valid) {\n      onChange(!selected)\n    }\n  }\n  const onKeyDown = event => {\n    const keyPressed = event.key\n    if (keyPressed === 'Enter' || keyPressed === ' ') {\n      toggle(event)\n    }\n  }\n  return (\n    <a\n      href='/'\n      onClick={toggle}\n      tabIndex={!valid ? -1 : ''}\n      className={`${!valid ? 'invalid' : ''} ${selected ? 'checked' : ''}`}\n      key={id}\n      onKeyDown={onKeyDown}\n    >\n      <div key={`d${id}`}>\n        <input\n          type='checkbox'\n          value={id}\n          key={`ck${id}`}\n          checked={selected}\n          disabled={!valid}\n          onChange={() => {}}\n        />\n        <strong key={`ck1${id}`}>{name}</strong>\n        <br key={`br${id}`} />\n        {valid && <span key={`ck2${id}`}>{description}</span>}\n        <span key={`ck3${id}`} className='icon'>\n          <IconPlus key={`ck4${id}`} />\n          <IconTimes key={`ck5${id}`} />\n          <IconCheck key={`ck6${id}`} />\n        </span>\n        {!valid && (\n          <span className='warning' key={`warning${id}`}>\n            {message}\n          </span>\n        )}\n      </div>\n    </a>\n  )\n}\n\nListItem.defaultProps = {\n  message: '',\n}\n\nListItem.propTypes = {\n  id: PropTypes.string.isRequired,\n  name: PropTypes.string.isRequired,\n  description: PropTypes.string.isRequired,\n  valid: PropTypes.bool.isRequired,\n  message: PropTypes.string,\n  onChange: PropTypes.func.isRequired,\n  selected: PropTypes.bool.isRequired,\n}\n\nexport default ListItem\n","import PropTypes from 'prop-types'\nimport React from 'react'\n\nimport ListItem from './ListItem'\nimport {IconChevronRight} from '../../icons'\n\nfunction ListGroup({\n  group,\n  items,\n  itemsSelected,\n  isClose,\n  add,\n  remove,\n  toggle,\n}) {\n  const toggleGroup = event => {\n    event.preventDefault()\n    toggle(group)\n  }\n  const onKeyDown = event => {\n    const keyPressed = event.key\n    if (keyPressed === 'Enter' || keyPressed === ' ') {\n      toggleGroup(event)\n    }\n  }\n  const isItemSelected = item => {\n    return !!itemsSelected.find(o => o === item.id)\n  }\n  return (\n    <div className='group'>\n      <div className='group-title'>\n        <a\n          href='/'\n          onClick={toggleGroup}\n          className={!isClose ? 'toggleGroupItems' : ''}\n          tabIndex={0}\n          onKeyDown={onKeyDown}\n        >\n          <IconChevronRight />\n          {group}\n        </a>\n      </div>\n      {!isClose && (\n        <div className='group-items' key={`links${group}`}>\n          {items.map(item => (\n            <ListItem\n              key={item.id}\n              id={item.id}\n              name={item.name}\n              description={item.description}\n              valid={item.valid}\n              message={item.message}\n              selected={isItemSelected(item)}\n              onChange={value => {\n                if (value) {\n                  add(item.id)\n                } else {\n                  remove(item.id)\n                }\n              }}\n            />\n          ))}\n        </div>\n      )}\n    </div>\n  )\n}\n\nListGroup.propTypes = {\n  group: PropTypes.string.isRequired,\n  add: PropTypes.func.isRequired,\n  remove: PropTypes.func.isRequired,\n  toggle: PropTypes.func.isRequired,\n  itemsSelected: PropTypes.arrayOf(PropTypes.string).isRequired,\n  isClose: PropTypes.bool.isRequired,\n  items: PropTypes.arrayOf(\n    PropTypes.shape({\n      description: PropTypes.string.isRequired,\n      group: PropTypes.string.isRequired,\n      id: PropTypes.string.isRequired,\n      keywords: PropTypes.string,\n      name: PropTypes.string.isRequired,\n      valid: PropTypes.bool.isRequired,\n    })\n  ).isRequired,\n}\n\nexport default ListGroup\n","import get from 'lodash.get'\nimport React, {useContext} from 'react'\n\nimport ListGroup from './ListGroup'\nimport {AppContext} from '../../../reducer/App'\nimport {InitializrContext} from '../../../reducer/Initializr'\n\nconst List = () => {\n  const { dependencies, dispatch, groupsOpened } = useContext(AppContext)\n  const { values, dispatch: dispatchInitializr } = useContext(InitializrContext)\n  return (\n    <div className='groups'>\n      {get(dependencies, 'groups').map(group => {\n        return (\n          <ListGroup\n            group={group.group}\n            key={group.group}\n            dependencyGroup={group}\n            add={id => {\n              dispatchInitializr({\n                type: 'ADD_DEPENDENCY',\n                payload: { id },\n              })\n            }}\n            remove={id => {\n              dispatchInitializr({\n                type: 'REMOVE_DEPENDENCY',\n                payload: { id },\n              })\n            }}\n            toggle={id => {\n              dispatch({\n                type: 'TOGGLE_GROUP',\n                payload: { id },\n              })\n            }}\n            itemsSelected={get(values, 'dependencies', [])}\n            isClose={groupsOpened.indexOf(group.group) < 0}\n            items={group.items}\n          />\n        )\n      })}\n    </div>\n  )\n}\n\nexport default List\n","import PropTypes from 'prop-types'\nimport React from 'react'\n\nconst Header = ({ children }) => (\n  <div className='header'>\n    <h1 className='logo'>\n      <a href='/bootstrap.html'>\n        <span className='title'>\n          <strong>云原生</strong>应用脚手架\n        </span>\n        <span className='description'>Cloud Native App Initializer</span>\n      </a>\n    </h1>\n    {children}\n  </div>\n)\n\nHeader.defaultProps = {\n  children: null,\n}\n\nHeader.propTypes = {\n  children: PropTypes.node,\n}\n\nexport default Header\n","import get from 'lodash.get'\nimport React, {useContext, useEffect, useRef, useState} from 'react'\nimport {CSSTransition, TransitionGroup} from 'react-transition-group'\n\nimport {AppContext} from '../../reducer/App'\nimport {IconCaretDown, IconHelp} from '../icons'\nimport {Switch} from '../form'\n\nconst QuickLinks = () => {\n    const {theme, dispatch, language} = useContext(AppContext)\n    const [help, setHelp] = useState(false)\n    const wrapper = useRef(null)\n    const toggleTheme = () => {\n        const newTheme = theme === 'dark' ? 'light' : 'dark'\n        dispatch({\n            type: 'UPDATE',\n            payload: {\n                theme: newTheme,\n            },\n        })\n    }\n    const toggleLanguage = () => {\n        const newLanguage = language === 'en' ? 'zh' : 'en'\n        dispatch({\n            type: 'UPDATE',\n            payload: {\n                language: newLanguage,\n            },\n        })\n    }\n    useEffect(() => {\n        const clickOutside = event => {\n            const children = get(wrapper, 'current')\n            if (children && !children.contains(event.target)) {\n                setHelp(false)\n            }\n        }\n        document.addEventListener('mousedown', clickOutside)\n        return () => {\n            document.removeEventListener('mousedown', clickOutside)\n        }\n    }, [setHelp])\n\n    /*\n    <li>\n        <span className='switch-language'>\n          <Switch id='language-switch' isOn={language === 'en'} onChange={toggleLanguage} />\n          {language === 'en' ? 'English' : '中文'}\n        </span>\n    </li>\n    */\n    return (\n        <ul className='quick-links'>\n            <li>\n               <span className='switch-mode'>\n                  <Switch id='theme-switch' isOn={theme === 'dark'} onChange={toggleTheme}/>\n                    {theme === 'dark' ? '深色' : '浅色'} 主题\n                </span>\n            </li>\n            <li>\n                <a\n                    href='/'\n                    className='dropdown'\n                    tabIndex='-1'\n                    onClick={e => {\n                        e.preventDefault()\n                        setHelp(!help)\n                    }}\n                    ref={wrapper}\n                >\n                    <IconHelp/>\n                    帮助信息\n                    <IconCaretDown className='caret'/>\n                </a>\n\n                <TransitionGroup component={null}>\n                    {help && (\n                        <CSSTransition classNames='nav-anim' timeout={500}>\n                            <ul className='dropdown-menu'>\n                                <li>\n                                    <a\n                                        id='ql-help-projects'\n                                        target='_blank'\n                                        rel='noopener noreferrer'\n                                        href='https://spring.io/projects'\n                                        tabIndex='-1'\n                                    >\n                                        Spring Projects\n                                    </a>\n                                </li>\n                                <li>\n                                    <a\n                                        id='ql-help-guides'\n                                        target='_blank'\n                                        rel='noopener noreferrer'\n                                        tabIndex='-1'\n                                        href='https://spring.io/projects/spring-cloud/'\n                                    >\n                                        Spring Cloud\n                                    </a>\n                                </li>\n                                <li>\n                                    <a\n                                        id='ql-help-guides'\n                                        target='_blank'\n                                        rel='noopener noreferrer'\n                                        tabIndex='-1'\n                                        href='https://github.com/alibaba/spring-cloud-alibaba/blob/master/README-zh.md'\n                                    >\n                                        Spring Cloud Alibaba\n                                    </a>\n                                </li>\n                            </ul>\n                        </CSSTransition>\n                    )}\n                </TransitionGroup>\n            </li>\n        </ul>\n    )\n}\n\nexport default QuickLinks\n","import PropTypes from 'prop-types'\nimport React from 'react'\n\nimport Header from './Header'\nimport QuickLinks from './QuickLinks'\n\nconst Layout = ({ children }) => (\n  <>\n    <Header>\n      <QuickLinks />\n    </Header>\n    <main>{children}</main>\n  </>\n)\n\nLayout.propTypes = {\n  children: PropTypes.node.isRequired,\n}\n\nexport default Layout\n","import PropTypes from 'prop-types'\nimport React from 'react'\n\nconst Footer = ({ children }) => (\n  <div className='sticky'>\n    <div className='colset colset-submit'>\n      <div className='left nopadding'>\n        <footer className='footer'>\n          <div className='footer-container'>\n            © 1999-{new Date().getFullYear()} Aliyun.com\n            <br />\n            start.aliyun.com is powered by\n            <br />\n            <span>\n              <a\n                tabIndex='-1'\n                target='_blank'\n                rel='noopener noreferrer'\n                href='https://www.aliyun.com'\n              >\n                Aliyun.com\n              </a>\n            </span>\n          </div>\n        </footer>\n      </div>\n      {children && (\n        <div className='right nopadding'>\n          <div className='submit'>{children}</div>\n        </div>\n      )}\n    </div>\n  </div>\n)\n\nFooter.defaultProps = {\n  children: null,\n}\n\nFooter.propTypes = {\n  children: PropTypes.node,\n}\n\nexport default Footer\n","import React from 'react'\n\nimport Control from './Control'\nimport {Footer} from '../layout'\nimport {Placeholder} from '../form'\n\nexport default function Loading() {\n  return (\n    <>\n      <Control text='项目构建方式'>\n        <Placeholder type='radios' count={2} width='133px' />\n      </Control>\n      <Control text='开发语言'>\n        <Placeholder type='radios' count={3} width='73px' />\n      </Control>\n      <Control text='Spring Boot 版本'>\n        <Placeholder type='radios' count={5} width='105px' />\n      </Control>\n      <Control text='项目元信息' special='md'>\n        <div>\n          <div className='control'>\n            <Placeholder type='input' />\n          </div>\n          <div className='control'>\n            <Placeholder type='input' />\n          </div>\n          <div className='control'>\n            <Placeholder type='dropdown' />\n          </div>\n        </div>\n      </Control>\n      <Control text='组件与示例'>\n        <Placeholder type='tabs' count={2} />\n      </Control>\n      <Footer>\n        <Placeholder type='button' width='189px' />\n        <Placeholder type='button' width='212px' />\n        <Placeholder type='button' width='110px' />\n      </Footer>\n    </>\n  )\n}\n","import get from 'lodash.get'\nimport React, {useContext} from 'react'\n\nimport {IconTimes} from '../icons'\nimport {InitializrContext} from '../../reducer/Initializr'\n\nfunction Warnings() {\n  const { warnings, dispatch } = useContext(InitializrContext)\n  if (Object.keys(warnings).length > 0) {\n    return (\n      <div className='colset'>\n        <div className='left' />\n        <div className='right'>\n          <div className='warnings'>\n            <a\n              className='close'\n              href='/#'\n              onClick={event => {\n                event.preventDefault()\n                dispatch({\n                  type: 'CLEAR_WARNINGS',\n                })\n              }}\n            >\n              <IconTimes />\n            </a>\n            The following attributes could not be handled:\n            <ul>\n              {get(warnings, 'project') && (\n                <li>\n                  <strong>{get(warnings, 'project.value')}</strong> is not a\n                  valid project type,{' '}\n                  <strong>{get(warnings, 'project.select')}</strong> has been\n                  selected.\n                </li>\n              )}\n              {get(warnings, 'language') && (\n                <li>\n                  <strong>{get(warnings, 'language.value')}</strong> is not a\n                  valid language,{' '}\n                  <strong>{get(warnings, 'language.select')}</strong> has been\n                  selected.\n                </li>\n              )}\n              {get(warnings, 'boot') && (\n                <li>\n                  Spring Boot <strong>{get(warnings, 'boot.value')}</strong> is\n                  not available, <strong>{get(warnings, 'boot.select')}</strong>{' '}\n                  has been selected.\n                </li>\n              )}\n              {get(warnings, 'meta.java') && (\n                <li>\n                  <strong>{get(warnings, 'meta.java.value')}</strong> is not a\n                  valid Java version,{' '}\n                  <strong>{get(warnings, 'meta.java.select')}</strong> has been\n                  selected.\n                </li>\n              )}\n              {get(warnings, 'meta.packaging') && (\n                <li>\n                  <strong>{get(warnings, 'meta.packaging.value')}</strong> is\n                  not a valid packaging,{' '}\n                  <strong>{get(warnings, 'meta.packaging.select')}</strong> has\n                  been selected.\n                </li>\n              )}\n              {get(warnings, 'dependencies') && (\n                <li>\n                  The following dependencies are not supported:{' '}\n                  <strong>{get(warnings, 'dependencies.value')}</strong>.\n                </li>\n              )}\n            </ul>\n          </div>\n        </div>\n      </div>\n    )\n  }\n  return <></>\n}\n\nexport default Warnings\n","import BodyClassName from 'react-body-classname'\nimport get from 'lodash.get'\nimport React, {lazy, Suspense, useContext, useEffect, useRef, useState,} from 'react'\nimport {toast} from 'react-toastify'\n\nimport useHash from './utils/Hash'\nimport useWindowsUtils from './utils/WindowsUtils'\nimport {AppContext} from './reducer/App'\nimport {Button, Form, RadioGroup} from './common/form'\nimport {\n    Control,\n    FieldError,\n    FieldInput,\n    FieldRadio,\n    List,\n    Loading,\n    PanelMore,\n    QuickSearch,\n    Tabs,\n    Warnings,\n} from './common/builder'\nimport {Footer, Layout} from './common/layout'\nimport {InitializrContext} from './reducer/Initializr'\nimport {getConfig, getInfo, getProject, getQueryString} from './utils/ApiUtils'\n\nconst Explore = lazy(() => import('./common/explore/Explore.js'))\nconst Share = lazy(() => import('./common/share/Share.js'))\nconst Fetch = lazy(() => import('./common/fetch/Fetch.js'))\nconst HotKeys = lazy(() => import('./common/builder/HotKeys.js'))\n\nexport default function Application() {\n  const {\n    complete,\n    config,\n    more,\n    tab,\n    dispatch,\n    theme,\n    fetch: fetchOpen,\n    share: shareOpen,\n    explore: exploreOpen,\n    dependencies,\n  } = useContext(AppContext)\n  const { values, share, dispatch: dispatchInitializr, errors } = useContext(InitializrContext)\n\n  const [positionShare, setPositionShare] = useState({ x: 0, y: 0 })\n\n  const [blob, setBlob] = useState(null)\n\n\n  const inputMore = useRef(null)\n  const inputQuickSearch = useRef(null)\n\n  const windowsUtils = useWindowsUtils()\n  useHash()\n\n  useEffect(() => {\n    if (windowsUtils.origin) {\n      const url = `${windowsUtils.origin}/metadata/client`\n      getInfo(url).then(jsonConfig => {\n        const response = getConfig(jsonConfig)\n        dispatchInitializr({ type: 'COMPLETE', payload: { ...response } })\n        dispatch({ type: 'COMPLETE', payload: response })\n      })\n    }\n  }, [dispatch, dispatchInitializr, windowsUtils.origin])\n\n  const onSubmit = async () => {\n    dispatch({ type: 'FETCH_UPDATE', payload: { open: true } })\n  }\n\n  const onExplore = async () => {\n    const url = `${windowsUtils.origin}/starter.zip`\n    dispatch({ type: 'EXPLORE_UPDATE', payload: { open: true } })\n    const project = await getProject(\n      url,\n      values,\n      get(dependencies, 'list')\n    ).catch(() => {\n      toast.error(`Could not connect to server. Please check your network.`)\n    })\n    setBlob(project)\n  }\n\n  const onShare = event => {\n    const { x, y } = get(event, 'target').getBoundingClientRect()\n    setPositionShare({ x, y })\n    dispatch({ type: 'SHARE_UPDATE', payload: { open: true } })\n  }\n\n  const update = args => {\n    dispatchInitializr({ type: 'UPDATE', payload: args })\n  }\n\n  const onRunInSandbox = () => {\n    const origin = `${windowsUtils.origin}`\n    const config = get(dependencies, 'list')\n    const params = getQueryString(values, config, [\"cloudshell\"])\n\n    const gitUrl = `${origin}/${params}/${values.meta.artifact}.git`\n\n    const handsOnUrl = `${origin}/handson?${params}`\n\n    window.open(handsOnUrl)\n\n  }\n\n  const onExport = () => {\n    const origin = `${windowsUtils.origin}`\n    const config = get(dependencies, 'list')\n    const params = getQueryString(values, config)\n\n    const codeupUrl = `${origin}/codeup?${params}`\n\n    window.open(codeupUrl)\n  }\n\n  let shareSrc = get(values, 'share')\n  if(shareSrc){\n    shareSrc = `${shareSrc}/`\n  } else {\n    shareSrc = ''\n  }\n\n  return (\n    <Layout>\n      <BodyClassName className={theme} />\n      <Suspense fallback=''>\n        <HotKeys onSubmit={onSubmit} onExplore={onExplore} />\n      </Suspense>\n      <Form onSubmit={onSubmit}>\n        {!complete ? (\n          <Loading />\n        ) : (\n          <>\n            <Warnings />\n            <Control text='项目构建方式'>\n              <RadioGroup\n                name='project'\n                selected={get(values, 'project')}\n                options={get(config, 'lists.project')}\n                onChange={value => {\n                  update({ project: value })\n                }}\n              />\n            </Control>\n            <Control text='开发语言'>\n              <RadioGroup\n                name='language'\n                selected={get(values, 'language')}\n                options={get(config, 'lists.language')}\n                onChange={value => {\n                  update({ language: value })\n                }}\n              />\n            </Control>\n            <Control text='Spring Boot版本'>\n              <RadioGroup\n                name='boot'\n                selected={get(values, 'boot')}\n                error={get(errors, 'boot.value', '')}\n                options={get(config, 'lists.boot')}\n                onChange={value => {\n                  dispatchInitializr({\n                    type: 'UPDATE',\n                    payload: { boot: value },\n                    config: get(dependencies, 'list'),\n                  })\n                  dispatch({\n                    type: 'UPDATE_DEPENDENCIES',\n                    payload: { boot: value },\n                  })\n                }}\n              />\n              {get(errors, 'boot') && (\n                <FieldError>\n                  Spring Boot {get(errors, 'boot.value')} is not supported.\n                  Please select a valid version\n                </FieldError>\n              )}\n            </Control>\n            <Control text='项目基本信息' variant='md'>\n              <FieldInput\n                id='input-group'\n                value={get(values, 'meta.group')}\n                text='Group'\n                onChange={event => {\n                  update({ meta: { group: event.target.value } })\n                }}\n              />\n              <FieldInput\n                id='input-artifact'\n                value={get(values, 'meta.artifact')}\n                text='Artifact'\n                onChange={event => {\n                  update({ meta: { artifact: event.target.value } })\n                }}\n              />\n              <PanelMore fieldFocusOnOpen={inputMore}>\n                <FieldInput\n                  id='input-name'\n                  value={get(values, 'meta.name')}\n                  text='项目名称'\n                  disabled={!more}\n                  inputRef={inputMore}\n                  onChange={event => {\n                    update({ meta: { name: event.target.value } })\n                  }}\n                />\n                <FieldInput\n                  id='input-description'\n                  value={get(values, 'meta.description')}\n                  text='项目描述'\n                  disabled={!more}\n                  onChange={event => {\n                    update({ meta: { description: event.target.value } })\n                  }}\n                />\n                <FieldInput\n                  id='input-packageName'\n                  value={get(values, 'meta.packageName')}\n                  text='基础包'\n                  disabled={!more}\n                  onChange={event => {\n                    update({ meta: { packageName: event.target.value } })\n                  }}\n                />\n                <FieldRadio\n                  id='input-packaging'\n                  value={get(values, 'meta.packaging')}\n                  text='打包方式'\n                  disabled={!more}\n                  options={get(config, 'lists.meta.packaging')}\n                  onChange={value => {\n                    update({ meta: { packaging: value } })\n                  }}\n                />\n                <FieldRadio\n                  id='input-java'\n                  value={get(values, 'meta.java')}\n                  text='Java版本'\n                  disabled={!more}\n                  options={get(config, 'lists.meta.java')}\n                  onChange={value => {\n                    update({ meta: { java: value } })\n                  }}\n                />\n              </PanelMore>\n            </Control>\n            <Control text='应用架构'>\n              <RadioGroup\n                name='architecture'\n                selected={get(values, 'architecture')}\n                options={get(config, 'lists.architecture')}\n                onChange={value => {\n                  update({ architecture: value })\n\n                  get(values, 'dependencies', []).forEach(item => {\n                    dispatchInitializr({\n                      type: 'REMOVE_DEPENDENCY',\n                      payload: { id:item },\n                    })\n                  })\n\n                  get(config, 'lists.architecture', [])\n                  .filter(item => item.key === value)\n                  .forEach(arch => {\n                    get(arch, 'dependencies', []).forEach(dep => {\n                      dispatchInitializr({\n                        type: 'ADD_DEPENDENCY',\n                        payload: { id:dep },\n                      })\n                    })\n                  })\n\n                }}\n              />\n            </Control>\n            <Control text='组件与示例' variant={tab === 'quicksearch' ? 'xl' : 'xxl'}>\n              <Tabs\n                changeTab={newTab => {\n                  if (\n                    newTab === 'quicksearch' &&\n                    get(inputQuickSearch, 'current')\n                  ) {\n                    get(inputQuickSearch, 'current').focus()\n                  }\n                }}\n              />\n              {tab === 'quicksearch' && (\n                <QuickSearch submit={onSubmit} input={inputQuickSearch} />\n              )}\n              {tab === 'list' && <List />}\n            </Control>\n            <Footer>\n              <Button\n                id='generate-project'\n                variant='primary'\n                onClick={onSubmit}\n                hotkey={`${windowsUtils.symb} + ⏎`}\n              >\n                获取代码\n              </Button>\n              <Button\n                id='explore-project'\n                onClick={onExplore}\n                hotkey='Ctrl + Space'\n              >\n                浏览代码\n              </Button>\n              <Button id='share-project' onClick={onShare}>\n                分享...\n              </Button>\n            </Footer>\n          </>\n        )}\n      </Form>\n      <Suspense fallback=''>\n        <Share\n          open={shareOpen || false}\n          shareUrl={share}\n          shareSrc={shareSrc}\n          position={positionShare}\n          onClose={() => {\n            dispatch({\n              type: 'SHARE_UPDATE',\n              payload: { open: false },\n            })\n          }}\n        />\n        <Explore\n          projectName={`${get(values, 'meta.artifact')}.zip`}\n          blob={blob}\n          open={exploreOpen || false}\n          onClose={() => {\n            dispatch({\n              type: 'EXPLORE_UPDATE',\n              payload: { open: false },\n            })\n            setBlob(null)\n          }}\n        />\n        <Fetch\n          open={fetchOpen || false}\n          onClose={() => {\n            dispatch({\n              type: 'FETCH_UPDATE',\n              payload: { open: false },\n            })\n          }}\n        />\n      </Suspense>\n    </Layout>\n  )\n}\n","import './styles/app.scss'\n\nimport React from 'react'\nimport {ToastContainer} from 'react-toastify'\nimport {render} from 'react-dom'\n\nimport Application from './components/Application'\nimport Close from './components/common/form/Close'\nimport {AppProvider} from './components/reducer/App'\nimport {InitializrProvider} from './components/reducer/Initializr'\n\nrender(\n  <AppProvider>\n    <InitializrProvider>\n      <ToastContainer\n        closeButton={<Close />}\n        position='top-center'\n        hideProgressBar\n      />\n      <Application />\n    </InitializrProvider>\n  </AppProvider>,\n  document.getElementById('app')\n)\n"],"sourceRoot":""}
\ No newline at end of file
diff --git a/initializer-page/public/main-1df39ec353bff77cf889.js b/initializer-page/public/main-474d91be976d03e828c7.js
similarity index 97%
rename from initializer-page/public/main-1df39ec353bff77cf889.js
rename to initializer-page/public/main-474d91be976d03e828c7.js
index 3174821..8902e5e 100644
--- a/initializer-page/public/main-1df39ec353bff77cf889.js
+++ b/initializer-page/public/main-474d91be976d03e828c7.js
@@ -1,2 +1,2 @@
 !function(e){function r(r){for(var n,u,c=r[0],i=r[1],f=r[2],p=0,d=[];p<c.length;p++)u=c[p],Object.prototype.hasOwnProperty.call(o,u)&&o[u]&&d.push(o[u][0]),o[u]=0;for(n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n]);for(l&&l(r);d.length;)d.shift()();return a.push.apply(a,f||[]),t()}function t(){for(var e,r=0;r<a.length;r++){for(var t=a[r],n=!0,c=1;c<t.length;c++){var i=t[c];0!==o[i]&&(n=!1)}n&&(a.splice(r--,1),e=u(u.s=t[0]))}return e}var n={},o={2:0},a=[];function u(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,u),t.l=!0,t.exports}u.e=function(e){var r=[],t=o[e];if(0!==t)if(t)r.push(t[2]);else{var n=new Promise((function(r,n){t=o[e]=[r,n]}));r.push(t[2]=n);var a,c=document.createElement("script");c.charset="utf-8",c.timeout=120,u.nc&&c.setAttribute("nonce",u.nc),c.src=function(e){return u.p+"chunk-"+{0:"1796b09a042cad55c924",4:"bcfbda10055c7eb17577",5:"76e49424f16054f8a4a0",6:"18870b914509cad972e2",7:"9441d43ec76a401e7ca7",8:"75467681fad20cdfd7e8",9:"f1206adaef854dab9902"}[e]+".js"}(e);var i=new Error;a=function(r){c.onerror=c.onload=null,clearTimeout(f);var t=o[e];if(0!==t){if(t){var n=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;i.message="Loading chunk "+e+" failed.\n("+n+": "+a+")",i.name="ChunkLoadError",i.type=n,i.request=a,t[1](i)}o[e]=void 0}};var f=setTimeout((function(){a({type:"timeout",target:c})}),12e4);c.onerror=c.onload=a,document.head.appendChild(c)}return Promise.all(r)},u.m=e,u.c=n,u.d=function(e,r,t){u.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},u.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},u.t=function(e,r){if(1&r&&(e=u(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(u.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)u.d(t,n,function(r){return e[r]}.bind(null,n));return t},u.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return u.d(r,"a",r),r},u.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},u.p="/",u.oe=function(e){throw console.error(e),e};var c=window.webpackJsonp=window.webpackJsonp||[],i=c.push.bind(c);c.push=r,c=c.slice();for(var f=0;f<c.length;f++)r(c[f]);var l=i;t()}([]);
-//# sourceMappingURL=main-1df39ec353bff77cf889.js.map
\ No newline at end of file
+//# sourceMappingURL=main-474d91be976d03e828c7.js.map
\ No newline at end of file
diff --git a/initializer-page/public/main-1df39ec353bff77cf889.js.map b/initializer-page/public/main-474d91be976d03e828c7.js.map
similarity index 96%
rename from initializer-page/public/main-1df39ec353bff77cf889.js.map
rename to initializer-page/public/main-474d91be976d03e828c7.js.map
index 42bf882..0b458a8 100644
--- a/initializer-page/public/main-1df39ec353bff77cf889.js.map
+++ b/initializer-page/public/main-474d91be976d03e828c7.js.map
@@ -1 +1 @@
-{"version":3,"sources":["webpack:///main-ee71f57dba17c8a7353e.js"],"names":["modules","webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","2","exports","module","l","e","promises","installedChunkData","promise","Promise","resolve","reject","onScriptComplete","script","document","createElement","charset","timeout","nc","setAttribute","src","p","0","4","5","6","7","8","9","jsonpScriptSrc","error","Error","event","onerror","onload","clearTimeout","chunk","errorType","type","realSrc","target","message","name","request","undefined","setTimeout","head","appendChild","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","err","console","jsonpArray","window","oldJsonpFunction","slice"],"mappings":"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","file":"main-1df39ec353bff77cf889.js","sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["webpack:///main-1df39ec353bff77cf889.js"],"names":["modules","webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","2","exports","module","l","e","promises","installedChunkData","promise","Promise","resolve","reject","onScriptComplete","script","document","createElement","charset","timeout","nc","setAttribute","src","p","0","4","5","6","7","8","9","jsonpScriptSrc","error","Error","event","onerror","onload","clearTimeout","chunk","errorType","type","realSrc","target","message","name","request","undefined","setTimeout","head","appendChild","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","err","console","jsonpArray","window","oldJsonpFunction","slice"],"mappings":"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","file":"main-474d91be976d03e828c7.js","sourceRoot":""}
\ No newline at end of file
diff --git a/initializer-page/src/components/utils/Hash.js b/initializer-page/src/components/utils/Hash.js
index 98bfb5b..e69fecf 100644
--- a/initializer-page/src/components/utils/Hash.js
+++ b/initializer-page/src/components/utils/Hash.js
@@ -1,10 +1,10 @@
 import queryString from 'query-string'
-import {toast} from 'react-toastify'
-import {useContext, useEffect, useState} from 'react'
+import { toast } from 'react-toastify'
+import { useContext, useEffect, useState } from 'react'
 
-import {AppContext} from '../reducer/App'
-import {InitializrContext} from '../reducer/Initializr'
-import {isValidParams} from './ApiUtils'
+import { AppContext } from '../reducer/App'
+import { InitializrContext } from '../reducer/Initializr'
+import { isValidParams } from './ApiUtils'
 
 const getHash = () => {
   return window.location.hash
@@ -39,6 +39,13 @@ export default function useHash() {
   useEffect(() => {
     if (complete && hash) {
       const params = queryString.parse(`?${hash.substr(2)}`)
+      if (params && window.safemode) {
+        delete params.artifactId
+        delete params.groupId
+        delete params.description
+        delete params.name
+        delete params.packageName
+      }
       dispatch({ type: 'LOAD', payload: { params, lists: config.lists } })
       clearHash()
       setHash('')
diff --git a/initializer-page/static/bootstrap.html b/initializer-page/static/bootstrap.html
index acd23cc..0899b4e 100644
--- a/initializer-page/static/bootstrap.html
+++ b/initializer-page/static/bootstrap.html
@@ -236,6 +236,7 @@
     <script src="//g.alicdn.com/aes/tracker/1.0.20/index.js"></script>
     <!--引入SDK及插件-->
     <script src="//g.alicdn.com/aes/??tracker/1.0.20/index.js,tracker-plugin-event/1.0.20/event.js"></script>
+
 </head>
 <body data-spm="14145464" class="light">
 <noscript>
diff --git a/initializer-page/yarn-error.log b/initializer-page/yarn-error.log
deleted file mode 100644
index 29da5e0..0000000
--- a/initializer-page/yarn-error.log
+++ /dev/null
@@ -1,9385 +0,0 @@
-Arguments: 
-  /usr/local/Cellar/node/14.14.0/bin/node /usr/local/bin/yarn install
-
-PATH: 
-  /Users/patreickstar/JavaEnvironment/apache-maven-3.6.3/bin:/Library/Java/JavaVirtualMachines/jdk-11.0.8.jdk/Contents/Home/bin:/Users/patreickstar/JavaEnvironment/apache-maven-3.6.3/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/go/bin:/usr/local/mysql/bin
-
-Yarn version: 
-  1.22.10
-
-Node version: 
-  14.14.0
-
-Platform: 
-  darwin x64
-
-Trace: 
-  Error: https://registry.yarnpkg.com/@ali%2faes-tracker: Not found
-      at Request.params.callback [as _callback] (/usr/local/lib/node_modules/yarn/lib/cli.js:66988:18)
-      at Request.self.callback (/usr/local/lib/node_modules/yarn/lib/cli.js:140662:22)
-      at Request.emit (events.js:315:20)
-      at Request.<anonymous> (/usr/local/lib/node_modules/yarn/lib/cli.js:141634:10)
-      at Request.emit (events.js:315:20)
-      at IncomingMessage.<anonymous> (/usr/local/lib/node_modules/yarn/lib/cli.js:141556:12)
-      at Object.onceWrapper (events.js:421:28)
-      at IncomingMessage.emit (events.js:327:22)
-      at endReadableNT (_stream_readable.js:1327:12)
-      at processTicksAndRejections (internal/process/task_queues.js:80:21)
-
-npm manifest: 
-  {
-    "name": "alibaba-initializr",
-    "private": true,
-    "description": "https://github.com/alibaba/spring-cloud-alibaba",
-    "version": "0.0.2",
-    "author": "Spring",
-    "keywords": [
-      "spring",
-      "initializr"
-    ],
-    "license": "Apache-2.0",
-    "scripts": {
-      "start": "webpack-dev-server --progress --colors --config webpack.dev.js",
-      "prebuild": "yarn run test",
-      "build": "webpack -p --config webpack.prod.js",
-      "test": "jest --reporters=jest-standard-reporter",
-      "prettier": "prettier --write \"**/*.{{c,le,sc}ss,g?(raph)ql,htm?(l),js?(on|on5|onl|x|s),md?(x|wn),m?(ark)down,mkdn,ts?(x),vue,y?(a)ml}\"",
-      "lint": "eslint 'src/**/*.{ts,tsx,js}'",
-      "fix": "eslint 'src/**/*.{ts,tsx,js}' --fix && import-sort --write 'src/**/*.{ts,tsx,js}' && yarn run prettier"
-    },
-    "devDependencies": {
-      "@babel/cli": "^7.6.4",
-      "@babel/core": "^7.6.4",
-      "@babel/plugin-proposal-class-properties": "^7.5.5",
-      "@babel/plugin-proposal-decorators": "^7.6.0",
-      "@babel/plugin-proposal-do-expressions": "^7.6.0",
-      "@babel/plugin-proposal-export-default-from": "^7.5.2",
-      "@babel/plugin-proposal-export-namespace-from": "^7.5.2",
-      "@babel/plugin-proposal-function-bind": "^7.2.0",
-      "@babel/plugin-proposal-function-sent": "^7.5.0",
-      "@babel/plugin-proposal-json-strings": "^7.2.0",
-      "@babel/plugin-proposal-logical-assignment-operators": "^7.2.0",
-      "@babel/plugin-proposal-nullish-coalescing-operator": "^7.4.4",
-      "@babel/plugin-proposal-numeric-separator": "^7.2.0",
-      "@babel/plugin-proposal-optional-chaining": "^7.6.0",
-      "@babel/plugin-proposal-pipeline-operator": "^7.5.0",
-      "@babel/plugin-proposal-private-methods": "^7.6.0",
-      "@babel/plugin-proposal-throw-expressions": "^7.2.0",
-      "@babel/plugin-syntax-dynamic-import": "^7.2.0",
-      "@babel/plugin-syntax-import-meta": "^7.2.0",
-      "@babel/plugin-transform-runtime": "^7.6.2",
-      "@babel/preset-env": "^7.6.3",
-      "@babel/preset-react": "^7.6.3",
-      "babel-eslint": "^10.0.3",
-      "babel-jest": "^24.9.0",
-      "babel-loader": "^8.0.6",
-      "copy-webpack-plugin": "^5.0.4",
-      "css-loader": "^3.2.0",
-      "eslint": "^6.6.0",
-      "eslint-config-airbnb": "^18.0.1",
-      "eslint-config-prettier": "^6.5.0",
-      "eslint-plugin-import": "^2.18.2",
-      "eslint-plugin-jest": "^23.0.2",
-      "eslint-plugin-jsx-a11y": "^6.2.3",
-      "eslint-plugin-prettier": "^3.1.1",
-      "eslint-plugin-react": "^7.16.0",
-      "eslint-plugin-react-hooks": "^1.7.0",
-      "fibers": "^3.1.1",
-      "file-loader": "^4.2.0",
-      "html-webpack-plugin": "^3.2.0",
-      "import-sort-cli": "^6.0.0",
-      "import-sort-parser-babylon": "^6.0.0",
-      "import-sort-style-renke": "^6.0.0",
-      "jest-cli": "^24.9.0",
-      "jest-fetch-mock": "^2.1.2",
-      "jest-standard-reporter": "^1.0.2",
-      "node-sass": "^4.13.0",
-      "prettier": "^1.18.2",
-      "react-test-renderer": "^16.11.0",
-      "sass": "^1.3.0",
-      "sass-loader": "^8.0.0",
-      "style-loader": "^1.0.0",
-      "typescript": "^3.7.2",
-      "webpack": "^4.41.2",
-      "webpack-bundle-analyzer": "^3.6.0",
-      "webpack-bundle-size-analyzer": "^3.1.0",
-      "webpack-cli": "^3.3.10",
-      "webpack-dev-server": "^3.9.0",
-      "webpack-merge": "^4.2.2",
-      "webpack-pwa-manifest": "^4.1.1",
-      "workbox-webpack-plugin": "^4.3.1"
-    },
-    "dependencies": {
-      "@ali/aes-tracker": "^1.0.19",
-      "@ali/aes-tracker-plugin-api": "^1.1.2",
-      "@ali/aes-tracker-plugin-event": "^1.2.3",
-      "@ali/aes-tracker-plugin-jserror": "^1.0.11",
-      "@ali/aes-tracker-plugin-longtask": "^1.0.1",
-      "@ali/aes-tracker-plugin-perf": "^1.1.4",
-      "@ali/aes-tracker-plugin-pv": "^2.4.1",
-      "@ali/aes-tracker-plugin-tsl": "^1.0.1",
-      "@babel/runtime": "^7.6.3",
-      "file-saver": "^2.0.2",
-      "immutable": "^4.0.0-rc.12",
-      "js-search": "^1.4.3",
-      "jszip": "^3.2.2",
-      "lodash.get": "^4.4.2",
-      "lodash.set": "^4.3.2",
-      "prism-react-renderer": "^1.0.2",
-      "prismjs": "^1.17.1",
-      "prop-types": "^15.7.2",
-      "query-string": "^6.8.3",
-      "react": "^16.11.0",
-      "react-body-classname": "^1.3.1",
-      "react-copy-to-clipboard": "^5.0.1",
-      "react-dom": "^16.11.0",
-      "react-hotkeys": "^2.0.0",
-      "react-markdown": "^4.2.2",
-      "react-responsive-modal": "^4.0.1",
-      "react-toastify": "^5.4.0",
-      "react-transition-group": "^4.3.0"
-    },
-    "prettier": {
-      "endOfLine": "lf",
-      "tabWidth": 2,
-      "semi": false,
-      "printWidth": 80,
-      "trailingComma": "es5",
-      "singleQuote": true,
-      "jsxSingleQuote": true,
-      "jsxBracketSameLine": false,
-      "arrowParens": "avoid"
-    },
-    "importSort": {
-      ".js": {
-        "parser": "babylon",
-        "style": "renke"
-      }
-    },
-    "jest": {
-      "automock": false,
-      "setupFiles": [
-        "./setupJest.js"
-      ],
-      "unmockedModulePathPatterns": [
-        "<rootDir>/node_modules/react",
-        "<rootDir>/node_modules/react-dom",
-        "<rootDir>/node_modules/react-addons-test-utils"
-      ],
-      "transform": {
-        "^.+\\.(js|jsx|ts|tsx)$": "babel-jest"
-      },
-      "moduleFileExtensions": [
-        "js",
-        "json",
-        "ts",
-        "tsx"
-      ]
-    },
-    "on-save": {
-      "**/*.{ts,tsx,js}": "import-sort --write",
-      "**/*.{{c,le,sc}ss,g?(raph)ql,htm?(l),js?(on|on5|onl|x|s),md?(x|wn),m?(ark)down,mkdn,ts?(x),vue,y?(a)ml}": [
-        "prettier --write"
-      ]
-    }
-  }
-
-yarn manifest: 
-  No manifest
-
-Lockfile: 
-  # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
-  # yarn lockfile v1
-  
-  
-  "@babel/cli@^7.6.4":
-    version "7.11.6"
-    resolved "https://registry.yarnpkg.com/@babel/cli/-/cli-7.11.6.tgz#1fcbe61c2a6900c3539c06ee58901141f3558482"
-    dependencies:
-      commander "^4.0.1"
-      convert-source-map "^1.1.0"
-      fs-readdir-recursive "^1.1.0"
-      glob "^7.0.0"
-      lodash "^4.17.19"
-      make-dir "^2.1.0"
-      slash "^2.0.0"
-      source-map "^0.5.0"
-    optionalDependencies:
-      chokidar "^2.1.8"
-  
-  "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a"
-    dependencies:
-      "@babel/highlight" "^7.10.4"
-  
-  "@babel/compat-data@^7.10.4", "@babel/compat-data@^7.11.0":
-    version "7.11.0"
-    resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.11.0.tgz#e9f73efe09af1355b723a7f39b11bad637d7c99c"
-    dependencies:
-      browserslist "^4.12.0"
-      invariant "^2.2.4"
-      semver "^5.5.0"
-  
-  "@babel/core@^7.1.0", "@babel/core@^7.2.2", "@babel/core@^7.6.4":
-    version "7.11.6"
-    resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.11.6.tgz#3a9455dc7387ff1bac45770650bc13ba04a15651"
-    dependencies:
-      "@babel/code-frame" "^7.10.4"
-      "@babel/generator" "^7.11.6"
-      "@babel/helper-module-transforms" "^7.11.0"
-      "@babel/helpers" "^7.10.4"
-      "@babel/parser" "^7.11.5"
-      "@babel/template" "^7.10.4"
-      "@babel/traverse" "^7.11.5"
-      "@babel/types" "^7.11.5"
-      convert-source-map "^1.7.0"
-      debug "^4.1.0"
-      gensync "^1.0.0-beta.1"
-      json5 "^2.1.2"
-      lodash "^4.17.19"
-      resolve "^1.3.2"
-      semver "^5.4.1"
-      source-map "^0.5.0"
-  
-  "@babel/generator@^7.11.5", "@babel/generator@^7.11.6", "@babel/generator@^7.4.0":
-    version "7.11.6"
-    resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.11.6.tgz#b868900f81b163b4d464ea24545c61cbac4dc620"
-    dependencies:
-      "@babel/types" "^7.11.5"
-      jsesc "^2.5.1"
-      source-map "^0.5.0"
-  
-  "@babel/helper-annotate-as-pure@^7.10.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz#5bf0d495a3f757ac3bda48b5bf3b3ba309c72ba3"
-    dependencies:
-      "@babel/types" "^7.10.4"
-  
-  "@babel/helper-builder-binary-assignment-operator-visitor@^7.10.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz#bb0b75f31bf98cbf9ff143c1ae578b87274ae1a3"
-    dependencies:
-      "@babel/helper-explode-assignable-expression" "^7.10.4"
-      "@babel/types" "^7.10.4"
-  
-  "@babel/helper-builder-react-jsx-experimental@^7.10.4", "@babel/helper-builder-react-jsx-experimental@^7.11.5":
-    version "7.11.5"
-    resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx-experimental/-/helper-builder-react-jsx-experimental-7.11.5.tgz#4ea43dd63857b0a35cd1f1b161dc29b43414e79f"
-    dependencies:
-      "@babel/helper-annotate-as-pure" "^7.10.4"
-      "@babel/helper-module-imports" "^7.10.4"
-      "@babel/types" "^7.11.5"
-  
-  "@babel/helper-builder-react-jsx@^7.10.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.10.4.tgz#8095cddbff858e6fa9c326daee54a2f2732c1d5d"
-    dependencies:
-      "@babel/helper-annotate-as-pure" "^7.10.4"
-      "@babel/types" "^7.10.4"
-  
-  "@babel/helper-compilation-targets@^7.10.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.10.4.tgz#804ae8e3f04376607cc791b9d47d540276332bd2"
-    dependencies:
-      "@babel/compat-data" "^7.10.4"
-      browserslist "^4.12.0"
-      invariant "^2.2.4"
-      levenary "^1.1.1"
-      semver "^5.5.0"
-  
-  "@babel/helper-create-class-features-plugin@^7.10.4", "@babel/helper-create-class-features-plugin@^7.10.5":
-    version "7.10.5"
-    resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.10.5.tgz#9f61446ba80e8240b0a5c85c6fdac8459d6f259d"
-    dependencies:
-      "@babel/helper-function-name" "^7.10.4"
-      "@babel/helper-member-expression-to-functions" "^7.10.5"
-      "@babel/helper-optimise-call-expression" "^7.10.4"
-      "@babel/helper-plugin-utils" "^7.10.4"
-      "@babel/helper-replace-supers" "^7.10.4"
-      "@babel/helper-split-export-declaration" "^7.10.4"
-  
-  "@babel/helper-create-regexp-features-plugin@^7.10.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.10.4.tgz#fdd60d88524659a0b6959c0579925e425714f3b8"
-    dependencies:
-      "@babel/helper-annotate-as-pure" "^7.10.4"
-      "@babel/helper-regex" "^7.10.4"
-      regexpu-core "^4.7.0"
-  
-  "@babel/helper-define-map@^7.10.4":
-    version "7.10.5"
-    resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz#b53c10db78a640800152692b13393147acb9bb30"
-    dependencies:
-      "@babel/helper-function-name" "^7.10.4"
-      "@babel/types" "^7.10.5"
-      lodash "^4.17.19"
-  
-  "@babel/helper-explode-assignable-expression@^7.10.4":
-    version "7.11.4"
-    resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.11.4.tgz#2d8e3470252cc17aba917ede7803d4a7a276a41b"
-    dependencies:
-      "@babel/types" "^7.10.4"
-  
-  "@babel/helper-function-name@^7.10.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz#d2d3b20c59ad8c47112fa7d2a94bc09d5ef82f1a"
-    dependencies:
-      "@babel/helper-get-function-arity" "^7.10.4"
-      "@babel/template" "^7.10.4"
-      "@babel/types" "^7.10.4"
-  
-  "@babel/helper-get-function-arity@^7.10.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz#98c1cbea0e2332f33f9a4661b8ce1505b2c19ba2"
-    dependencies:
-      "@babel/types" "^7.10.4"
-  
-  "@babel/helper-hoist-variables@^7.10.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz#d49b001d1d5a68ca5e6604dda01a6297f7c9381e"
-    dependencies:
-      "@babel/types" "^7.10.4"
-  
-  "@babel/helper-member-expression-to-functions@^7.10.4", "@babel/helper-member-expression-to-functions@^7.10.5":
-    version "7.11.0"
-    resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.11.0.tgz#ae69c83d84ee82f4b42f96e2a09410935a8f26df"
-    dependencies:
-      "@babel/types" "^7.11.0"
-  
-  "@babel/helper-module-imports@^7.10.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz#4c5c54be04bd31670a7382797d75b9fa2e5b5620"
-    dependencies:
-      "@babel/types" "^7.10.4"
-  
-  "@babel/helper-module-transforms@^7.10.4", "@babel/helper-module-transforms@^7.10.5", "@babel/helper-module-transforms@^7.11.0":
-    version "7.11.0"
-    resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.11.0.tgz#b16f250229e47211abdd84b34b64737c2ab2d359"
-    dependencies:
-      "@babel/helper-module-imports" "^7.10.4"
-      "@babel/helper-replace-supers" "^7.10.4"
-      "@babel/helper-simple-access" "^7.10.4"
-      "@babel/helper-split-export-declaration" "^7.11.0"
-      "@babel/template" "^7.10.4"
-      "@babel/types" "^7.11.0"
-      lodash "^4.17.19"
-  
-  "@babel/helper-optimise-call-expression@^7.10.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz#50dc96413d594f995a77905905b05893cd779673"
-    dependencies:
-      "@babel/types" "^7.10.4"
-  
-  "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz#2f75a831269d4f677de49986dff59927533cf375"
-  
-  "@babel/helper-regex@^7.10.4":
-    version "7.10.5"
-    resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.10.5.tgz#32dfbb79899073c415557053a19bd055aae50ae0"
-    dependencies:
-      lodash "^4.17.19"
-  
-  "@babel/helper-remap-async-to-generator@^7.10.4":
-    version "7.11.4"
-    resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.11.4.tgz#4474ea9f7438f18575e30b0cac784045b402a12d"
-    dependencies:
-      "@babel/helper-annotate-as-pure" "^7.10.4"
-      "@babel/helper-wrap-function" "^7.10.4"
-      "@babel/template" "^7.10.4"
-      "@babel/types" "^7.10.4"
-  
-  "@babel/helper-replace-supers@^7.10.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz#d585cd9388ea06e6031e4cd44b6713cbead9e6cf"
-    dependencies:
-      "@babel/helper-member-expression-to-functions" "^7.10.4"
-      "@babel/helper-optimise-call-expression" "^7.10.4"
-      "@babel/traverse" "^7.10.4"
-      "@babel/types" "^7.10.4"
-  
-  "@babel/helper-simple-access@^7.10.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz#0f5ccda2945277a2a7a2d3a821e15395edcf3461"
-    dependencies:
-      "@babel/template" "^7.10.4"
-      "@babel/types" "^7.10.4"
-  
-  "@babel/helper-skip-transparent-expression-wrappers@^7.11.0":
-    version "7.11.0"
-    resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.11.0.tgz#eec162f112c2f58d3af0af125e3bb57665146729"
-    dependencies:
-      "@babel/types" "^7.11.0"
-  
-  "@babel/helper-split-export-declaration@^7.10.4", "@babel/helper-split-export-declaration@^7.11.0":
-    version "7.11.0"
-    resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz#f8a491244acf6a676158ac42072911ba83ad099f"
-    dependencies:
-      "@babel/types" "^7.11.0"
-  
-  "@babel/helper-validator-identifier@^7.10.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2"
-  
-  "@babel/helper-wrap-function@^7.10.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.10.4.tgz#8a6f701eab0ff39f765b5a1cfef409990e624b87"
-    dependencies:
-      "@babel/helper-function-name" "^7.10.4"
-      "@babel/template" "^7.10.4"
-      "@babel/traverse" "^7.10.4"
-      "@babel/types" "^7.10.4"
-  
-  "@babel/helpers@^7.10.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.10.4.tgz#2abeb0d721aff7c0a97376b9e1f6f65d7a475044"
-    dependencies:
-      "@babel/template" "^7.10.4"
-      "@babel/traverse" "^7.10.4"
-      "@babel/types" "^7.10.4"
-  
-  "@babel/highlight@^7.10.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143"
-    dependencies:
-      "@babel/helper-validator-identifier" "^7.10.4"
-      chalk "^2.0.0"
-      js-tokens "^4.0.0"
-  
-  "@babel/parser@^7.0.0-beta.54", "@babel/parser@^7.1.0", "@babel/parser@^7.10.4", "@babel/parser@^7.11.5", "@babel/parser@^7.4.3", "@babel/parser@^7.7.0":
-    version "7.11.5"
-    resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.11.5.tgz#c7ff6303df71080ec7a4f5b8c003c58f1cf51037"
-  
-  "@babel/plugin-proposal-async-generator-functions@^7.10.4":
-    version "7.10.5"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.10.5.tgz#3491cabf2f7c179ab820606cec27fed15e0e8558"
-    dependencies:
-      "@babel/helper-plugin-utils" "^7.10.4"
-      "@babel/helper-remap-async-to-generator" "^7.10.4"
-      "@babel/plugin-syntax-async-generators" "^7.8.0"
-  
-  "@babel/plugin-proposal-class-properties@^7.10.4", "@babel/plugin-proposal-class-properties@^7.5.5":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.10.4.tgz#a33bf632da390a59c7a8c570045d1115cd778807"
-    dependencies:
-      "@babel/helper-create-class-features-plugin" "^7.10.4"
-      "@babel/helper-plugin-utils" "^7.10.4"
-  
-  "@babel/plugin-proposal-decorators@^7.6.0":
-    version "7.10.5"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.10.5.tgz#42898bba478bc4b1ae242a703a953a7ad350ffb4"
-    dependencies:
-      "@babel/helper-create-class-features-plugin" "^7.10.5"
-      "@babel/helper-plugin-utils" "^7.10.4"
-      "@babel/plugin-syntax-decorators" "^7.10.4"
-  
-  "@babel/plugin-proposal-do-expressions@^7.6.0":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-do-expressions/-/plugin-proposal-do-expressions-7.10.4.tgz#9a5190f3bf4818f83e41d673ee517ff76cf8e4ed"
-    dependencies:
-      "@babel/helper-plugin-utils" "^7.10.4"
-      "@babel/plugin-syntax-do-expressions" "^7.10.4"
-  
-  "@babel/plugin-proposal-dynamic-import@^7.10.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.10.4.tgz#ba57a26cb98b37741e9d5bca1b8b0ddf8291f17e"
-    dependencies:
-      "@babel/helper-plugin-utils" "^7.10.4"
-      "@babel/plugin-syntax-dynamic-import" "^7.8.0"
-  
-  "@babel/plugin-proposal-export-default-from@^7.5.2":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.10.4.tgz#08f66eef0067cbf6a7bc036977dcdccecaf0c6c5"
-    dependencies:
-      "@babel/helper-plugin-utils" "^7.10.4"
-      "@babel/plugin-syntax-export-default-from" "^7.10.4"
-  
-  "@babel/plugin-proposal-export-namespace-from@^7.10.4", "@babel/plugin-proposal-export-namespace-from@^7.5.2":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.10.4.tgz#570d883b91031637b3e2958eea3c438e62c05f54"
-    dependencies:
-      "@babel/helper-plugin-utils" "^7.10.4"
-      "@babel/plugin-syntax-export-namespace-from" "^7.8.3"
-  
-  "@babel/plugin-proposal-function-bind@^7.2.0":
-    version "7.11.5"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-function-bind/-/plugin-proposal-function-bind-7.11.5.tgz#6ce571686dd1bc2f5c1ae7bdebad8aaa7fda3893"
-    dependencies:
-      "@babel/helper-plugin-utils" "^7.10.4"
-      "@babel/plugin-syntax-function-bind" "^7.10.4"
-  
-  "@babel/plugin-proposal-function-sent@^7.5.0":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-function-sent/-/plugin-proposal-function-sent-7.10.4.tgz#05f2daef7b3f09b6c74c9e8a85b430272d206ac4"
-    dependencies:
-      "@babel/helper-plugin-utils" "^7.10.4"
-      "@babel/helper-wrap-function" "^7.10.4"
-      "@babel/plugin-syntax-function-sent" "^7.10.4"
-  
-  "@babel/plugin-proposal-json-strings@^7.10.4", "@babel/plugin-proposal-json-strings@^7.2.0":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.10.4.tgz#593e59c63528160233bd321b1aebe0820c2341db"
-    dependencies:
-      "@babel/helper-plugin-utils" "^7.10.4"
-      "@babel/plugin-syntax-json-strings" "^7.8.0"
-  
-  "@babel/plugin-proposal-logical-assignment-operators@^7.11.0", "@babel/plugin-proposal-logical-assignment-operators@^7.2.0":
-    version "7.11.0"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.11.0.tgz#9f80e482c03083c87125dee10026b58527ea20c8"
-    dependencies:
-      "@babel/helper-plugin-utils" "^7.10.4"
-      "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4"
-  
-  "@babel/plugin-proposal-nullish-coalescing-operator@^7.10.4", "@babel/plugin-proposal-nullish-coalescing-operator@^7.4.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.10.4.tgz#02a7e961fc32e6d5b2db0649e01bf80ddee7e04a"
-    dependencies:
-      "@babel/helper-plugin-utils" "^7.10.4"
-      "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0"
-  
-  "@babel/plugin-proposal-numeric-separator@^7.10.4", "@babel/plugin-proposal-numeric-separator@^7.2.0":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.10.4.tgz#ce1590ff0a65ad12970a609d78855e9a4c1aef06"
-    dependencies:
-      "@babel/helper-plugin-utils" "^7.10.4"
-      "@babel/plugin-syntax-numeric-separator" "^7.10.4"
-  
-  "@babel/plugin-proposal-object-rest-spread@^7.11.0":
-    version "7.11.0"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.11.0.tgz#bd81f95a1f746760ea43b6c2d3d62b11790ad0af"
-    dependencies:
-      "@babel/helper-plugin-utils" "^7.10.4"
-      "@babel/plugin-syntax-object-rest-spread" "^7.8.0"
-      "@babel/plugin-transform-parameters" "^7.10.4"
-  
-  "@babel/plugin-proposal-optional-catch-binding@^7.10.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.10.4.tgz#31c938309d24a78a49d68fdabffaa863758554dd"
-    dependencies:
-      "@babel/helper-plugin-utils" "^7.10.4"
-      "@babel/plugin-syntax-optional-catch-binding" "^7.8.0"
-  
-  "@babel/plugin-proposal-optional-chaining@^7.11.0", "@babel/plugin-proposal-optional-chaining@^7.6.0":
-    version "7.11.0"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.11.0.tgz#de5866d0646f6afdaab8a566382fe3a221755076"
-    dependencies:
-      "@babel/helper-plugin-utils" "^7.10.4"
-      "@babel/helper-skip-transparent-expression-wrappers" "^7.11.0"
-      "@babel/plugin-syntax-optional-chaining" "^7.8.0"
-  
-  "@babel/plugin-proposal-pipeline-operator@^7.5.0":
-    version "7.10.5"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-pipeline-operator/-/plugin-proposal-pipeline-operator-7.10.5.tgz#0fa2871dbfb74efe19eeb17722032056cb5697f3"
-    dependencies:
-      "@babel/helper-plugin-utils" "^7.10.4"
-      "@babel/plugin-syntax-pipeline-operator" "^7.10.4"
-  
-  "@babel/plugin-proposal-private-methods@^7.10.4", "@babel/plugin-proposal-private-methods@^7.6.0":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.10.4.tgz#b160d972b8fdba5c7d111a145fc8c421fc2a6909"
-    dependencies:
-      "@babel/helper-create-class-features-plugin" "^7.10.4"
-      "@babel/helper-plugin-utils" "^7.10.4"
-  
-  "@babel/plugin-proposal-throw-expressions@^7.2.0":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-throw-expressions/-/plugin-proposal-throw-expressions-7.10.4.tgz#501154a3c1b33cb1ad5b899204481fa2859cd3f3"
-    dependencies:
-      "@babel/helper-plugin-utils" "^7.10.4"
-      "@babel/plugin-syntax-throw-expressions" "^7.10.4"
-  
-  "@babel/plugin-proposal-unicode-property-regex@^7.10.4", "@babel/plugin-proposal-unicode-property-regex@^7.4.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.10.4.tgz#4483cda53041ce3413b7fe2f00022665ddfaa75d"
-    dependencies:
-      "@babel/helper-create-regexp-features-plugin" "^7.10.4"
-      "@babel/helper-plugin-utils" "^7.10.4"
-  
-  "@babel/plugin-syntax-async-generators@^7.8.0":
-    version "7.8.4"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d"
-    dependencies:
-      "@babel/helper-plugin-utils" "^7.8.0"
-  
-  "@babel/plugin-syntax-class-properties@^7.10.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.10.4.tgz#6644e6a0baa55a61f9e3231f6c9eeb6ee46c124c"
-    dependencies:
-      "@babel/helper-plugin-utils" "^7.10.4"
-  
-  "@babel/plugin-syntax-decorators@^7.10.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.10.4.tgz#6853085b2c429f9d322d02f5a635018cdeb2360c"
-    dependencies:
-      "@babel/helper-plugin-utils" "^7.10.4"
-  
-  "@babel/plugin-syntax-do-expressions@^7.10.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-do-expressions/-/plugin-syntax-do-expressions-7.10.4.tgz#0c7ebb749500c6bfa99a9f926db3bfd6cdbaded9"
-    dependencies:
-      "@babel/helper-plugin-utils" "^7.10.4"
-  
-  "@babel/plugin-syntax-dynamic-import@^7.2.0", "@babel/plugin-syntax-dynamic-import@^7.8.0":
-    version "7.8.3"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3"
-    dependencies:
-      "@babel/helper-plugin-utils" "^7.8.0"
-  
-  "@babel/plugin-syntax-export-default-from@^7.10.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.10.4.tgz#e5494f95006355c10292a0ff1ce42a5746002ec8"
-    dependencies:
-      "@babel/helper-plugin-utils" "^7.10.4"
-  
-  "@babel/plugin-syntax-export-namespace-from@^7.8.3":
-    version "7.8.3"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a"
-    dependencies:
-      "@babel/helper-plugin-utils" "^7.8.3"
-  
-  "@babel/plugin-syntax-function-bind@^7.10.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-function-bind/-/plugin-syntax-function-bind-7.10.4.tgz#8378d94f3185ddd3008310c15fe0991cb0c85151"
-    dependencies:
-      "@babel/helper-plugin-utils" "^7.10.4"
-  
-  "@babel/plugin-syntax-function-sent@^7.10.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-function-sent/-/plugin-syntax-function-sent-7.10.4.tgz#b551f38b629e2e20908e53624f96f9ab300f5061"
-    dependencies:
-      "@babel/helper-plugin-utils" "^7.10.4"
-  
-  "@babel/plugin-syntax-import-meta@^7.2.0":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51"
-    dependencies:
-      "@babel/helper-plugin-utils" "^7.10.4"
-  
-  "@babel/plugin-syntax-json-strings@^7.8.0":
-    version "7.8.3"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a"
-    dependencies:
-      "@babel/helper-plugin-utils" "^7.8.0"
-  
-  "@babel/plugin-syntax-jsx@^7.10.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.10.4.tgz#39abaae3cbf710c4373d8429484e6ba21340166c"
-    dependencies:
-      "@babel/helper-plugin-utils" "^7.10.4"
-  
-  "@babel/plugin-syntax-logical-assignment-operators@^7.10.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699"
-    dependencies:
-      "@babel/helper-plugin-utils" "^7.10.4"
-  
-  "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.0":
-    version "7.8.3"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9"
-    dependencies:
-      "@babel/helper-plugin-utils" "^7.8.0"
-  
-  "@babel/plugin-syntax-numeric-separator@^7.10.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97"
-    dependencies:
-      "@babel/helper-plugin-utils" "^7.10.4"
-  
-  "@babel/plugin-syntax-object-rest-spread@^7.0.0", "@babel/plugin-syntax-object-rest-spread@^7.8.0":
-    version "7.8.3"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871"
-    dependencies:
-      "@babel/helper-plugin-utils" "^7.8.0"
-  
-  "@babel/plugin-syntax-optional-catch-binding@^7.8.0":
-    version "7.8.3"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1"
-    dependencies:
-      "@babel/helper-plugin-utils" "^7.8.0"
-  
-  "@babel/plugin-syntax-optional-chaining@^7.8.0":
-    version "7.8.3"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a"
-    dependencies:
-      "@babel/helper-plugin-utils" "^7.8.0"
-  
-  "@babel/plugin-syntax-pipeline-operator@^7.10.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-pipeline-operator/-/plugin-syntax-pipeline-operator-7.10.4.tgz#31bf327cf780dd60e0444fd98561119795247a6c"
-    dependencies:
-      "@babel/helper-plugin-utils" "^7.10.4"
-  
-  "@babel/plugin-syntax-throw-expressions@^7.10.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-throw-expressions/-/plugin-syntax-throw-expressions-7.10.4.tgz#a588df9fa2203207a3ac7e35f0db3b67bf68eca3"
-    dependencies:
-      "@babel/helper-plugin-utils" "^7.10.4"
-  
-  "@babel/plugin-syntax-top-level-await@^7.10.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.10.4.tgz#4bbeb8917b54fcf768364e0a81f560e33a3ef57d"
-    dependencies:
-      "@babel/helper-plugin-utils" "^7.10.4"
-  
-  "@babel/plugin-transform-arrow-functions@^7.10.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.10.4.tgz#e22960d77e697c74f41c501d44d73dbf8a6a64cd"
-    dependencies:
-      "@babel/helper-plugin-utils" "^7.10.4"
-  
-  "@babel/plugin-transform-async-to-generator@^7.10.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.10.4.tgz#41a5017e49eb6f3cda9392a51eef29405b245a37"
-    dependencies:
-      "@babel/helper-module-imports" "^7.10.4"
-      "@babel/helper-plugin-utils" "^7.10.4"
-      "@babel/helper-remap-async-to-generator" "^7.10.4"
-  
-  "@babel/plugin-transform-block-scoped-functions@^7.10.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.10.4.tgz#1afa595744f75e43a91af73b0d998ecfe4ebc2e8"
-    dependencies:
-      "@babel/helper-plugin-utils" "^7.10.4"
-  
-  "@babel/plugin-transform-block-scoping@^7.10.4":
-    version "7.11.1"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.11.1.tgz#5b7efe98852bef8d652c0b28144cd93a9e4b5215"
-    dependencies:
-      "@babel/helper-plugin-utils" "^7.10.4"
-  
-  "@babel/plugin-transform-classes@^7.10.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.10.4.tgz#405136af2b3e218bc4a1926228bc917ab1a0adc7"
-    dependencies:
-      "@babel/helper-annotate-as-pure" "^7.10.4"
-      "@babel/helper-define-map" "^7.10.4"
-      "@babel/helper-function-name" "^7.10.4"
-      "@babel/helper-optimise-call-expression" "^7.10.4"
-      "@babel/helper-plugin-utils" "^7.10.4"
-      "@babel/helper-replace-supers" "^7.10.4"
-      "@babel/helper-split-export-declaration" "^7.10.4"
-      globals "^11.1.0"
-  
-  "@babel/plugin-transform-computed-properties@^7.10.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.10.4.tgz#9ded83a816e82ded28d52d4b4ecbdd810cdfc0eb"
-    dependencies:
-      "@babel/helper-plugin-utils" "^7.10.4"
-  
-  "@babel/plugin-transform-destructuring@^7.10.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.10.4.tgz#70ddd2b3d1bea83d01509e9bb25ddb3a74fc85e5"
-    dependencies:
-      "@babel/helper-plugin-utils" "^7.10.4"
-  
-  "@babel/plugin-transform-dotall-regex@^7.10.4", "@babel/plugin-transform-dotall-regex@^7.4.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.10.4.tgz#469c2062105c1eb6a040eaf4fac4b488078395ee"
-    dependencies:
-      "@babel/helper-create-regexp-features-plugin" "^7.10.4"
-      "@babel/helper-plugin-utils" "^7.10.4"
-  
-  "@babel/plugin-transform-duplicate-keys@^7.10.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.10.4.tgz#697e50c9fee14380fe843d1f306b295617431e47"
-    dependencies:
-      "@babel/helper-plugin-utils" "^7.10.4"
-  
-  "@babel/plugin-transform-exponentiation-operator@^7.10.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.10.4.tgz#5ae338c57f8cf4001bdb35607ae66b92d665af2e"
-    dependencies:
-      "@babel/helper-builder-binary-assignment-operator-visitor" "^7.10.4"
-      "@babel/helper-plugin-utils" "^7.10.4"
-  
-  "@babel/plugin-transform-for-of@^7.10.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.10.4.tgz#c08892e8819d3a5db29031b115af511dbbfebae9"
-    dependencies:
-      "@babel/helper-plugin-utils" "^7.10.4"
-  
-  "@babel/plugin-transform-function-name@^7.10.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.10.4.tgz#6a467880e0fc9638514ba369111811ddbe2644b7"
-    dependencies:
-      "@babel/helper-function-name" "^7.10.4"
-      "@babel/helper-plugin-utils" "^7.10.4"
-  
-  "@babel/plugin-transform-literals@^7.10.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.10.4.tgz#9f42ba0841100a135f22712d0e391c462f571f3c"
-    dependencies:
-      "@babel/helper-plugin-utils" "^7.10.4"
-  
-  "@babel/plugin-transform-member-expression-literals@^7.10.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.10.4.tgz#b1ec44fcf195afcb8db2c62cd8e551c881baf8b7"
-    dependencies:
-      "@babel/helper-plugin-utils" "^7.10.4"
-  
-  "@babel/plugin-transform-modules-amd@^7.10.4":
-    version "7.10.5"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.10.5.tgz#1b9cddaf05d9e88b3aad339cb3e445c4f020a9b1"
-    dependencies:
-      "@babel/helper-module-transforms" "^7.10.5"
-      "@babel/helper-plugin-utils" "^7.10.4"
-      babel-plugin-dynamic-import-node "^2.3.3"
-  
-  "@babel/plugin-transform-modules-commonjs@^7.10.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.10.4.tgz#66667c3eeda1ebf7896d41f1f16b17105a2fbca0"
-    dependencies:
-      "@babel/helper-module-transforms" "^7.10.4"
-      "@babel/helper-plugin-utils" "^7.10.4"
-      "@babel/helper-simple-access" "^7.10.4"
-      babel-plugin-dynamic-import-node "^2.3.3"
-  
-  "@babel/plugin-transform-modules-systemjs@^7.10.4":
-    version "7.10.5"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.10.5.tgz#6270099c854066681bae9e05f87e1b9cadbe8c85"
-    dependencies:
-      "@babel/helper-hoist-variables" "^7.10.4"
-      "@babel/helper-module-transforms" "^7.10.5"
-      "@babel/helper-plugin-utils" "^7.10.4"
-      babel-plugin-dynamic-import-node "^2.3.3"
-  
-  "@babel/plugin-transform-modules-umd@^7.10.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.10.4.tgz#9a8481fe81b824654b3a0b65da3df89f3d21839e"
-    dependencies:
-      "@babel/helper-module-transforms" "^7.10.4"
-      "@babel/helper-plugin-utils" "^7.10.4"
-  
-  "@babel/plugin-transform-named-capturing-groups-regex@^7.10.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.10.4.tgz#78b4d978810b6f3bcf03f9e318f2fc0ed41aecb6"
-    dependencies:
-      "@babel/helper-create-regexp-features-plugin" "^7.10.4"
-  
-  "@babel/plugin-transform-new-target@^7.10.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.10.4.tgz#9097d753cb7b024cb7381a3b2e52e9513a9c6888"
-    dependencies:
-      "@babel/helper-plugin-utils" "^7.10.4"
-  
-  "@babel/plugin-transform-object-super@^7.10.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.10.4.tgz#d7146c4d139433e7a6526f888c667e314a093894"
-    dependencies:
-      "@babel/helper-plugin-utils" "^7.10.4"
-      "@babel/helper-replace-supers" "^7.10.4"
-  
-  "@babel/plugin-transform-parameters@^7.10.4":
-    version "7.10.5"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.10.5.tgz#59d339d58d0b1950435f4043e74e2510005e2c4a"
-    dependencies:
-      "@babel/helper-get-function-arity" "^7.10.4"
-      "@babel/helper-plugin-utils" "^7.10.4"
-  
-  "@babel/plugin-transform-property-literals@^7.10.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.10.4.tgz#f6fe54b6590352298785b83edd815d214c42e3c0"
-    dependencies:
-      "@babel/helper-plugin-utils" "^7.10.4"
-  
-  "@babel/plugin-transform-react-display-name@^7.10.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.10.4.tgz#b5795f4e3e3140419c3611b7a2a3832b9aef328d"
-    dependencies:
-      "@babel/helper-plugin-utils" "^7.10.4"
-  
-  "@babel/plugin-transform-react-jsx-development@^7.10.4":
-    version "7.11.5"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.11.5.tgz#e1439e6a57ee3d43e9f54ace363fb29cefe5d7b6"
-    dependencies:
-      "@babel/helper-builder-react-jsx-experimental" "^7.11.5"
-      "@babel/helper-plugin-utils" "^7.10.4"
-      "@babel/plugin-syntax-jsx" "^7.10.4"
-  
-  "@babel/plugin-transform-react-jsx-self@^7.10.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.10.4.tgz#cd301a5fed8988c182ed0b9d55e9bd6db0bd9369"
-    dependencies:
-      "@babel/helper-plugin-utils" "^7.10.4"
-      "@babel/plugin-syntax-jsx" "^7.10.4"
-  
-  "@babel/plugin-transform-react-jsx-source@^7.10.4":
-    version "7.10.5"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.10.5.tgz#34f1779117520a779c054f2cdd9680435b9222b4"
-    dependencies:
-      "@babel/helper-plugin-utils" "^7.10.4"
-      "@babel/plugin-syntax-jsx" "^7.10.4"
-  
-  "@babel/plugin-transform-react-jsx@^7.10.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.10.4.tgz#673c9f913948764a4421683b2bef2936968fddf2"
-    dependencies:
-      "@babel/helper-builder-react-jsx" "^7.10.4"
-      "@babel/helper-builder-react-jsx-experimental" "^7.10.4"
-      "@babel/helper-plugin-utils" "^7.10.4"
-      "@babel/plugin-syntax-jsx" "^7.10.4"
-  
-  "@babel/plugin-transform-react-pure-annotations@^7.10.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.10.4.tgz#3eefbb73db94afbc075f097523e445354a1c6501"
-    dependencies:
-      "@babel/helper-annotate-as-pure" "^7.10.4"
-      "@babel/helper-plugin-utils" "^7.10.4"
-  
-  "@babel/plugin-transform-regenerator@^7.10.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.10.4.tgz#2015e59d839074e76838de2159db421966fd8b63"
-    dependencies:
-      regenerator-transform "^0.14.2"
-  
-  "@babel/plugin-transform-reserved-words@^7.10.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.10.4.tgz#8f2682bcdcef9ed327e1b0861585d7013f8a54dd"
-    dependencies:
-      "@babel/helper-plugin-utils" "^7.10.4"
-  
-  "@babel/plugin-transform-runtime@^7.6.2":
-    version "7.11.5"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.11.5.tgz#f108bc8e0cf33c37da031c097d1df470b3a293fc"
-    dependencies:
-      "@babel/helper-module-imports" "^7.10.4"
-      "@babel/helper-plugin-utils" "^7.10.4"
-      resolve "^1.8.1"
-      semver "^5.5.1"
-  
-  "@babel/plugin-transform-shorthand-properties@^7.10.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.10.4.tgz#9fd25ec5cdd555bb7f473e5e6ee1c971eede4dd6"
-    dependencies:
-      "@babel/helper-plugin-utils" "^7.10.4"
-  
-  "@babel/plugin-transform-spread@^7.11.0":
-    version "7.11.0"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.11.0.tgz#fa84d300f5e4f57752fe41a6d1b3c554f13f17cc"
-    dependencies:
-      "@babel/helper-plugin-utils" "^7.10.4"
-      "@babel/helper-skip-transparent-expression-wrappers" "^7.11.0"
-  
-  "@babel/plugin-transform-sticky-regex@^7.10.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.10.4.tgz#8f3889ee8657581130a29d9cc91d7c73b7c4a28d"
-    dependencies:
-      "@babel/helper-plugin-utils" "^7.10.4"
-      "@babel/helper-regex" "^7.10.4"
-  
-  "@babel/plugin-transform-template-literals@^7.10.4":
-    version "7.10.5"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.10.5.tgz#78bc5d626a6642db3312d9d0f001f5e7639fde8c"
-    dependencies:
-      "@babel/helper-annotate-as-pure" "^7.10.4"
-      "@babel/helper-plugin-utils" "^7.10.4"
-  
-  "@babel/plugin-transform-typeof-symbol@^7.10.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.10.4.tgz#9509f1a7eec31c4edbffe137c16cc33ff0bc5bfc"
-    dependencies:
-      "@babel/helper-plugin-utils" "^7.10.4"
-  
-  "@babel/plugin-transform-unicode-escapes@^7.10.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.10.4.tgz#feae523391c7651ddac115dae0a9d06857892007"
-    dependencies:
-      "@babel/helper-plugin-utils" "^7.10.4"
-  
-  "@babel/plugin-transform-unicode-regex@^7.10.4":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.10.4.tgz#e56d71f9282fac6db09c82742055576d5e6d80a8"
-    dependencies:
-      "@babel/helper-create-regexp-features-plugin" "^7.10.4"
-      "@babel/helper-plugin-utils" "^7.10.4"
-  
-  "@babel/preset-env@^7.6.3":
-    version "7.11.5"
-    resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.11.5.tgz#18cb4b9379e3e92ffea92c07471a99a2914e4272"
-    dependencies:
-      "@babel/compat-data" "^7.11.0"
-      "@babel/helper-compilation-targets" "^7.10.4"
-      "@babel/helper-module-imports" "^7.10.4"
-      "@babel/helper-plugin-utils" "^7.10.4"
-      "@babel/plugin-proposal-async-generator-functions" "^7.10.4"
-      "@babel/plugin-proposal-class-properties" "^7.10.4"
-      "@babel/plugin-proposal-dynamic-import" "^7.10.4"
-      "@babel/plugin-proposal-export-namespace-from" "^7.10.4"
-      "@babel/plugin-proposal-json-strings" "^7.10.4"
-      "@babel/plugin-proposal-logical-assignment-operators" "^7.11.0"
-      "@babel/plugin-proposal-nullish-coalescing-operator" "^7.10.4"
-      "@babel/plugin-proposal-numeric-separator" "^7.10.4"
-      "@babel/plugin-proposal-object-rest-spread" "^7.11.0"
-      "@babel/plugin-proposal-optional-catch-binding" "^7.10.4"
-      "@babel/plugin-proposal-optional-chaining" "^7.11.0"
-      "@babel/plugin-proposal-private-methods" "^7.10.4"
-      "@babel/plugin-proposal-unicode-property-regex" "^7.10.4"
-      "@babel/plugin-syntax-async-generators" "^7.8.0"
-      "@babel/plugin-syntax-class-properties" "^7.10.4"
-      "@babel/plugin-syntax-dynamic-import" "^7.8.0"
-      "@babel/plugin-syntax-export-namespace-from" "^7.8.3"
-      "@babel/plugin-syntax-json-strings" "^7.8.0"
-      "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4"
-      "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0"
-      "@babel/plugin-syntax-numeric-separator" "^7.10.4"
-      "@babel/plugin-syntax-object-rest-spread" "^7.8.0"
-      "@babel/plugin-syntax-optional-catch-binding" "^7.8.0"
-      "@babel/plugin-syntax-optional-chaining" "^7.8.0"
-      "@babel/plugin-syntax-top-level-await" "^7.10.4"
-      "@babel/plugin-transform-arrow-functions" "^7.10.4"
-      "@babel/plugin-transform-async-to-generator" "^7.10.4"
-      "@babel/plugin-transform-block-scoped-functions" "^7.10.4"
-      "@babel/plugin-transform-block-scoping" "^7.10.4"
-      "@babel/plugin-transform-classes" "^7.10.4"
-      "@babel/plugin-transform-computed-properties" "^7.10.4"
-      "@babel/plugin-transform-destructuring" "^7.10.4"
-      "@babel/plugin-transform-dotall-regex" "^7.10.4"
-      "@babel/plugin-transform-duplicate-keys" "^7.10.4"
-      "@babel/plugin-transform-exponentiation-operator" "^7.10.4"
-      "@babel/plugin-transform-for-of" "^7.10.4"
-      "@babel/plugin-transform-function-name" "^7.10.4"
-      "@babel/plugin-transform-literals" "^7.10.4"
-      "@babel/plugin-transform-member-expression-literals" "^7.10.4"
-      "@babel/plugin-transform-modules-amd" "^7.10.4"
-      "@babel/plugin-transform-modules-commonjs" "^7.10.4"
-      "@babel/plugin-transform-modules-systemjs" "^7.10.4"
-      "@babel/plugin-transform-modules-umd" "^7.10.4"
-      "@babel/plugin-transform-named-capturing-groups-regex" "^7.10.4"
-      "@babel/plugin-transform-new-target" "^7.10.4"
-      "@babel/plugin-transform-object-super" "^7.10.4"
-      "@babel/plugin-transform-parameters" "^7.10.4"
-      "@babel/plugin-transform-property-literals" "^7.10.4"
-      "@babel/plugin-transform-regenerator" "^7.10.4"
-      "@babel/plugin-transform-reserved-words" "^7.10.4"
-      "@babel/plugin-transform-shorthand-properties" "^7.10.4"
-      "@babel/plugin-transform-spread" "^7.11.0"
-      "@babel/plugin-transform-sticky-regex" "^7.10.4"
-      "@babel/plugin-transform-template-literals" "^7.10.4"
-      "@babel/plugin-transform-typeof-symbol" "^7.10.4"
-      "@babel/plugin-transform-unicode-escapes" "^7.10.4"
-      "@babel/plugin-transform-unicode-regex" "^7.10.4"
-      "@babel/preset-modules" "^0.1.3"
-      "@babel/types" "^7.11.5"
-      browserslist "^4.12.0"
-      core-js-compat "^3.6.2"
-      invariant "^2.2.2"
-      levenary "^1.1.1"
-      semver "^5.5.0"
-  
-  "@babel/preset-modules@^0.1.3":
-    version "0.1.4"
-    resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.4.tgz#362f2b68c662842970fdb5e254ffc8fc1c2e415e"
-    dependencies:
-      "@babel/helper-plugin-utils" "^7.0.0"
-      "@babel/plugin-proposal-unicode-property-regex" "^7.4.4"
-      "@babel/plugin-transform-dotall-regex" "^7.4.4"
-      "@babel/types" "^7.4.4"
-      esutils "^2.0.2"
-  
-  "@babel/preset-react@^7.6.3":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.10.4.tgz#92e8a66d816f9911d11d4cc935be67adfc82dbcf"
-    dependencies:
-      "@babel/helper-plugin-utils" "^7.10.4"
-      "@babel/plugin-transform-react-display-name" "^7.10.4"
-      "@babel/plugin-transform-react-jsx" "^7.10.4"
-      "@babel/plugin-transform-react-jsx-development" "^7.10.4"
-      "@babel/plugin-transform-react-jsx-self" "^7.10.4"
-      "@babel/plugin-transform-react-jsx-source" "^7.10.4"
-      "@babel/plugin-transform-react-pure-annotations" "^7.10.4"
-  
-  "@babel/runtime-corejs3@^7.10.2":
-    version "7.11.2"
-    resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.11.2.tgz#02c3029743150188edeb66541195f54600278419"
-    dependencies:
-      core-js-pure "^3.0.0"
-      regenerator-runtime "^0.13.4"
-  
-  "@babel/runtime@^7.0.0", "@babel/runtime@^7.10.2", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.2", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.3", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7":
-    version "7.11.2"
-    resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.11.2.tgz#f549c13c754cc40b87644b9fa9f09a6a95fe0736"
-    dependencies:
-      regenerator-runtime "^0.13.4"
-  
-  "@babel/template@^7.10.4", "@babel/template@^7.4.0":
-    version "7.10.4"
-    resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.10.4.tgz#3251996c4200ebc71d1a8fc405fba940f36ba278"
-    dependencies:
-      "@babel/code-frame" "^7.10.4"
-      "@babel/parser" "^7.10.4"
-      "@babel/types" "^7.10.4"
-  
-  "@babel/traverse@^7.0.0-beta.54", "@babel/traverse@^7.1.0", "@babel/traverse@^7.10.4", "@babel/traverse@^7.11.5", "@babel/traverse@^7.4.3", "@babel/traverse@^7.7.0":
-    version "7.11.5"
-    resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.11.5.tgz#be777b93b518eb6d76ee2e1ea1d143daa11e61c3"
-    dependencies:
-      "@babel/code-frame" "^7.10.4"
-      "@babel/generator" "^7.11.5"
-      "@babel/helper-function-name" "^7.10.4"
-      "@babel/helper-split-export-declaration" "^7.11.0"
-      "@babel/parser" "^7.11.5"
-      "@babel/types" "^7.11.5"
-      debug "^4.1.0"
-      globals "^11.1.0"
-      lodash "^4.17.19"
-  
-  "@babel/types@^7.0.0", "@babel/types@^7.0.0-beta.54", "@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.11.0", "@babel/types@^7.11.5", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.7.0":
-    version "7.11.5"
-    resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.11.5.tgz#d9de577d01252d77c6800cee039ee64faf75662d"
-    dependencies:
-      "@babel/helper-validator-identifier" "^7.10.4"
-      lodash "^4.17.19"
-      to-fast-properties "^2.0.0"
-  
-  "@cnakazawa/watch@^1.0.3":
-    version "1.0.4"
-    resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a"
-    dependencies:
-      exec-sh "^0.3.2"
-      minimist "^1.2.0"
-  
-  "@hapi/address@2.x.x":
-    version "2.1.4"
-    resolved "https://registry.yarnpkg.com/@hapi/address/-/address-2.1.4.tgz#5d67ed43f3fd41a69d4b9ff7b56e7c0d1d0a81e5"
-  
-  "@hapi/bourne@1.x.x":
-    version "1.3.2"
-    resolved "https://registry.yarnpkg.com/@hapi/bourne/-/bourne-1.3.2.tgz#0a7095adea067243ce3283e1b56b8a8f453b242a"
-  
-  "@hapi/hoek@8.x.x", "@hapi/hoek@^8.3.0":
-    version "8.5.1"
-    resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-8.5.1.tgz#fde96064ca446dec8c55a8c2f130957b070c6e06"
-  
-  "@hapi/joi@^15.0.0":
-    version "15.1.1"
-    resolved "https://registry.yarnpkg.com/@hapi/joi/-/joi-15.1.1.tgz#c675b8a71296f02833f8d6d243b34c57b8ce19d7"
-    dependencies:
-      "@hapi/address" "2.x.x"
-      "@hapi/bourne" "1.x.x"
-      "@hapi/hoek" "8.x.x"
-      "@hapi/topo" "3.x.x"
-  
-  "@hapi/topo@3.x.x":
-    version "3.1.6"
-    resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-3.1.6.tgz#68d935fa3eae7fdd5ab0d7f953f3205d8b2bfc29"
-    dependencies:
-      "@hapi/hoek" "^8.3.0"
-  
-  "@jest/console@^24.7.1", "@jest/console@^24.9.0":
-    version "24.9.0"
-    resolved "https://registry.yarnpkg.com/@jest/console/-/console-24.9.0.tgz#79b1bc06fb74a8cfb01cbdedf945584b1b9707f0"
-    dependencies:
-      "@jest/source-map" "^24.9.0"
-      chalk "^2.0.1"
-      slash "^2.0.0"
-  
-  "@jest/console@^25.5.0":
-    version "25.5.0"
-    resolved "https://registry.yarnpkg.com/@jest/console/-/console-25.5.0.tgz#770800799d510f37329c508a9edd0b7b447d9abb"
-    dependencies:
-      "@jest/types" "^25.5.0"
-      chalk "^3.0.0"
-      jest-message-util "^25.5.0"
-      jest-util "^25.5.0"
-      slash "^3.0.0"
-  
-  "@jest/core@^24.9.0":
-    version "24.9.0"
-    resolved "https://registry.yarnpkg.com/@jest/core/-/core-24.9.0.tgz#2ceccd0b93181f9c4850e74f2a9ad43d351369c4"
-    dependencies:
-      "@jest/console" "^24.7.1"
-      "@jest/reporters" "^24.9.0"
-      "@jest/test-result" "^24.9.0"
-      "@jest/transform" "^24.9.0"
-      "@jest/types" "^24.9.0"
-      ansi-escapes "^3.0.0"
-      chalk "^2.0.1"
-      exit "^0.1.2"
-      graceful-fs "^4.1.15"
-      jest-changed-files "^24.9.0"
-      jest-config "^24.9.0"
-      jest-haste-map "^24.9.0"
-      jest-message-util "^24.9.0"
-      jest-regex-util "^24.3.0"
-      jest-resolve "^24.9.0"
-      jest-resolve-dependencies "^24.9.0"
-      jest-runner "^24.9.0"
-      jest-runtime "^24.9.0"
-      jest-snapshot "^24.9.0"
-      jest-util "^24.9.0"
-      jest-validate "^24.9.0"
-      jest-watcher "^24.9.0"
-      micromatch "^3.1.10"
-      p-each-series "^1.0.0"
-      realpath-native "^1.1.0"
-      rimraf "^2.5.4"
-      slash "^2.0.0"
-      strip-ansi "^5.0.0"
-  
-  "@jest/environment@^24.9.0":
-    version "24.9.0"
-    resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-24.9.0.tgz#21e3afa2d65c0586cbd6cbefe208bafade44ab18"
-    dependencies:
-      "@jest/fake-timers" "^24.9.0"
-      "@jest/transform" "^24.9.0"
-      "@jest/types" "^24.9.0"
-      jest-mock "^24.9.0"
-  
-  "@jest/fake-timers@^24.9.0":
-    version "24.9.0"
-    resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-24.9.0.tgz#ba3e6bf0eecd09a636049896434d306636540c93"
-    dependencies:
-      "@jest/types" "^24.9.0"
-      jest-message-util "^24.9.0"
-      jest-mock "^24.9.0"
-  
-  "@jest/reporters@^24.9.0":
-    version "24.9.0"
-    resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-24.9.0.tgz#86660eff8e2b9661d042a8e98a028b8d631a5b43"
-    dependencies:
-      "@jest/environment" "^24.9.0"
-      "@jest/test-result" "^24.9.0"
-      "@jest/transform" "^24.9.0"
-      "@jest/types" "^24.9.0"
-      chalk "^2.0.1"
-      exit "^0.1.2"
-      glob "^7.1.2"
-      istanbul-lib-coverage "^2.0.2"
-      istanbul-lib-instrument "^3.0.1"
-      istanbul-lib-report "^2.0.4"
-      istanbul-lib-source-maps "^3.0.1"
-      istanbul-reports "^2.2.6"
-      jest-haste-map "^24.9.0"
-      jest-resolve "^24.9.0"
-      jest-runtime "^24.9.0"
-      jest-util "^24.9.0"
-      jest-worker "^24.6.0"
-      node-notifier "^5.4.2"
-      slash "^2.0.0"
-      source-map "^0.6.0"
-      string-length "^2.0.0"
-  
-  "@jest/source-map@^24.3.0", "@jest/source-map@^24.9.0":
-    version "24.9.0"
-    resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-24.9.0.tgz#0e263a94430be4b41da683ccc1e6bffe2a191714"
-    dependencies:
-      callsites "^3.0.0"
-      graceful-fs "^4.1.15"
-      source-map "^0.6.0"
-  
-  "@jest/test-result@^24.9.0":
-    version "24.9.0"
-    resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-24.9.0.tgz#11796e8aa9dbf88ea025757b3152595ad06ba0ca"
-    dependencies:
-      "@jest/console" "^24.9.0"
-      "@jest/types" "^24.9.0"
-      "@types/istanbul-lib-coverage" "^2.0.0"
-  
-  "@jest/test-sequencer@^24.9.0":
-    version "24.9.0"
-    resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-24.9.0.tgz#f8f334f35b625a4f2f355f2fe7e6036dad2e6b31"
-    dependencies:
-      "@jest/test-result" "^24.9.0"
-      jest-haste-map "^24.9.0"
-      jest-runner "^24.9.0"
-      jest-runtime "^24.9.0"
-  
-  "@jest/transform@^24.9.0":
-    version "24.9.0"
-    resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-24.9.0.tgz#4ae2768b296553fadab09e9ec119543c90b16c56"
-    dependencies:
-      "@babel/core" "^7.1.0"
-      "@jest/types" "^24.9.0"
-      babel-plugin-istanbul "^5.1.0"
-      chalk "^2.0.1"
-      convert-source-map "^1.4.0"
-      fast-json-stable-stringify "^2.0.0"
-      graceful-fs "^4.1.15"
-      jest-haste-map "^24.9.0"
-      jest-regex-util "^24.9.0"
-      jest-util "^24.9.0"
-      micromatch "^3.1.10"
-      pirates "^4.0.1"
-      realpath-native "^1.1.0"
-      slash "^2.0.0"
-      source-map "^0.6.1"
-      write-file-atomic "2.4.1"
-  
-  "@jest/types@^24.9.0":
-    version "24.9.0"
-    resolved "https://registry.yarnpkg.com/@jest/types/-/types-24.9.0.tgz#63cb26cb7500d069e5a389441a7c6ab5e909fc59"
-    dependencies:
-      "@types/istanbul-lib-coverage" "^2.0.0"
-      "@types/istanbul-reports" "^1.1.1"
-      "@types/yargs" "^13.0.0"
-  
-  "@jest/types@^25.5.0":
-    version "25.5.0"
-    resolved "https://registry.yarnpkg.com/@jest/types/-/types-25.5.0.tgz#4d6a4793f7b9599fc3680877b856a97dbccf2a9d"
-    dependencies:
-      "@types/istanbul-lib-coverage" "^2.0.0"
-      "@types/istanbul-reports" "^1.1.1"
-      "@types/yargs" "^15.0.0"
-      chalk "^3.0.0"
-  
-  "@jimp/bmp@^0.6.8":
-    version "0.6.8"
-    resolved "https://registry.yarnpkg.com/@jimp/bmp/-/bmp-0.6.8.tgz#8abbfd9e26ba17a47fab311059ea9f7dd82005b6"
-    dependencies:
-      "@jimp/utils" "^0.6.8"
-      bmp-js "^0.1.0"
-      core-js "^2.5.7"
-  
-  "@jimp/core@^0.6.8":
-    version "0.6.8"
-    resolved "https://registry.yarnpkg.com/@jimp/core/-/core-0.6.8.tgz#6a41089792516f6e64a5302d12eb562aa7847c7b"
-    dependencies:
-      "@jimp/utils" "^0.6.8"
-      any-base "^1.1.0"
-      buffer "^5.2.0"
-      core-js "^2.5.7"
-      exif-parser "^0.1.12"
-      file-type "^9.0.0"
-      load-bmfont "^1.3.1"
-      mkdirp "0.5.1"
-      phin "^2.9.1"
-      pixelmatch "^4.0.2"
-      tinycolor2 "^1.4.1"
-  
-  "@jimp/custom@^0.6.8":
-    version "0.6.8"
-    resolved "https://registry.yarnpkg.com/@jimp/custom/-/custom-0.6.8.tgz#0476d7b3f5da3121d98895a2e14f2899e602f2b6"
-    dependencies:
-      "@jimp/core" "^0.6.8"
-      core-js "^2.5.7"
-  
-  "@jimp/gif@^0.6.8":
-    version "0.6.8"
-    resolved "https://registry.yarnpkg.com/@jimp/gif/-/gif-0.6.8.tgz#848dd4e6e1a56ca2b3ce528969e44dfa99a53b14"
-    dependencies:
-      "@jimp/utils" "^0.6.8"
-      core-js "^2.5.7"
-      omggif "^1.0.9"
-  
-  "@jimp/jpeg@^0.6.8":
-    version "0.6.8"
-    resolved "https://registry.yarnpkg.com/@jimp/jpeg/-/jpeg-0.6.8.tgz#4cad85a6d1e15759acb56bddef29aa3473859f2c"
-    dependencies:
-      "@jimp/utils" "^0.6.8"
-      core-js "^2.5.7"
-      jpeg-js "^0.3.4"
-  
-  "@jimp/plugin-blit@^0.6.8":
-    version "0.6.8"
-    resolved "https://registry.yarnpkg.com/@jimp/plugin-blit/-/plugin-blit-0.6.8.tgz#646ebb631f35afc28c1e8908524bc43d1e9afa3d"
-    dependencies:
-      "@jimp/utils" "^0.6.8"
-      core-js "^2.5.7"
-  
-  "@jimp/plugin-blur@^0.6.8":
-    version "0.6.8"
-    resolved "https://registry.yarnpkg.com/@jimp/plugin-blur/-/plugin-blur-0.6.8.tgz#7b753ae94f6099103f57c268c3b2679047eefe95"
-    dependencies:
-      "@jimp/utils" "^0.6.8"
-      core-js "^2.5.7"
-  
-  "@jimp/plugin-color@^0.6.8":
-    version "0.6.8"
-    resolved "https://registry.yarnpkg.com/@jimp/plugin-color/-/plugin-color-0.6.8.tgz#4101cb1208879b331db6e43ea6b96eaf8dbaedbc"
-    dependencies:
-      "@jimp/utils" "^0.6.8"
-      core-js "^2.5.7"
-      tinycolor2 "^1.4.1"
-  
-  "@jimp/plugin-contain@^0.6.8":
-    version "0.6.8"
-    resolved "https://registry.yarnpkg.com/@jimp/plugin-contain/-/plugin-contain-0.6.8.tgz#af95d33b63d0478943374ae15dd2607fc69cad14"
-    dependencies:
-      "@jimp/utils" "^0.6.8"
-      core-js "^2.5.7"
-  
-  "@jimp/plugin-cover@^0.6.8":
-    version "0.6.8"
-    resolved "https://registry.yarnpkg.com/@jimp/plugin-cover/-/plugin-cover-0.6.8.tgz#490e3186627a34d93cc015c4169bac9070d6ad17"
-    dependencies:
-      "@jimp/utils" "^0.6.8"
-      core-js "^2.5.7"
-  
-  "@jimp/plugin-crop@^0.6.8":
-    version "0.6.8"
-    resolved "https://registry.yarnpkg.com/@jimp/plugin-crop/-/plugin-crop-0.6.8.tgz#ffec8951a2f3eccad1e3cff9afff5326bd980ce7"
-    dependencies:
-      "@jimp/utils" "^0.6.8"
-      core-js "^2.5.7"
-  
-  "@jimp/plugin-displace@^0.6.8":
-    version "0.6.8"
-    resolved "https://registry.yarnpkg.com/@jimp/plugin-displace/-/plugin-displace-0.6.8.tgz#89df05ab7daaff6befc190bb8ac54ec8d57e533b"
-    dependencies:
-      "@jimp/utils" "^0.6.8"
-      core-js "^2.5.7"
-  
-  "@jimp/plugin-dither@^0.6.8":
-    version "0.6.8"
-    resolved "https://registry.yarnpkg.com/@jimp/plugin-dither/-/plugin-dither-0.6.8.tgz#17e5b9f56575a871e329fef8b388e614b92d84f8"
-    dependencies:
-      "@jimp/utils" "^0.6.8"
-      core-js "^2.5.7"
-  
-  "@jimp/plugin-flip@^0.6.8":
-    version "0.6.8"
-    resolved "https://registry.yarnpkg.com/@jimp/plugin-flip/-/plugin-flip-0.6.8.tgz#153df0c677f79d4078bb9e4c1f2ac392b96dc3a1"
-    dependencies:
-      "@jimp/utils" "^0.6.8"
-      core-js "^2.5.7"
-  
-  "@jimp/plugin-gaussian@^0.6.8":
-    version "0.6.8"
-    resolved "https://registry.yarnpkg.com/@jimp/plugin-gaussian/-/plugin-gaussian-0.6.8.tgz#100abc7ae1f19fe9c09ed41625b475aae7c6093c"
-    dependencies:
-      "@jimp/utils" "^0.6.8"
-      core-js "^2.5.7"
-  
-  "@jimp/plugin-invert@^0.6.8":
-    version "0.6.8"
-    resolved "https://registry.yarnpkg.com/@jimp/plugin-invert/-/plugin-invert-0.6.8.tgz#f40bfaa3b592d21ff14ede0e49aabec88048cad0"
-    dependencies:
-      "@jimp/utils" "^0.6.8"
-      core-js "^2.5.7"
-  
-  "@jimp/plugin-mask@^0.6.8":
-    version "0.6.8"
-    resolved "https://registry.yarnpkg.com/@jimp/plugin-mask/-/plugin-mask-0.6.8.tgz#e64405f7dacf0672bff74f3b95b724d9ac517f86"
-    dependencies:
-      "@jimp/utils" "^0.6.8"
-      core-js "^2.5.7"
-  
-  "@jimp/plugin-normalize@^0.6.8":
-    version "0.6.8"
-    resolved "https://registry.yarnpkg.com/@jimp/plugin-normalize/-/plugin-normalize-0.6.8.tgz#a0180f2b8835e3638cdc5e057b44ac63f60db6ba"
-    dependencies:
-      "@jimp/utils" "^0.6.8"
-      core-js "^2.5.7"
-  
-  "@jimp/plugin-print@^0.6.8":
-    version "0.6.8"
-    resolved "https://registry.yarnpkg.com/@jimp/plugin-print/-/plugin-print-0.6.8.tgz#66309549e01896473111e3a0ad2cee428638bd6e"
-    dependencies:
-      "@jimp/utils" "^0.6.8"
-      core-js "^2.5.7"
-      load-bmfont "^1.4.0"
-  
-  "@jimp/plugin-resize@^0.6.8":
-    version "0.6.8"
-    resolved "https://registry.yarnpkg.com/@jimp/plugin-resize/-/plugin-resize-0.6.8.tgz#c26d9a973f7eec51ad9018fcbbac1146f7a73aa0"
-    dependencies:
-      "@jimp/utils" "^0.6.8"
-      core-js "^2.5.7"
-  
-  "@jimp/plugin-rotate@^0.6.8":
-    version "0.6.8"
-    resolved "https://registry.yarnpkg.com/@jimp/plugin-rotate/-/plugin-rotate-0.6.8.tgz#2afda247984eeebed95c1bb1b13ccd3be5973299"
-    dependencies:
-      "@jimp/utils" "^0.6.8"
-      core-js "^2.5.7"
-  
-  "@jimp/plugin-scale@^0.6.8":
-    version "0.6.8"
-    resolved "https://registry.yarnpkg.com/@jimp/plugin-scale/-/plugin-scale-0.6.8.tgz#5de403345859bb0b30bf3e242dedd8ceb6ecb96c"
-    dependencies:
-      "@jimp/utils" "^0.6.8"
-      core-js "^2.5.7"
-  
-  "@jimp/plugins@^0.6.8":
-    version "0.6.8"
-    resolved "https://registry.yarnpkg.com/@jimp/plugins/-/plugins-0.6.8.tgz#5618170a986ced1ea795adcd9376122f2543b856"
-    dependencies:
-      "@jimp/plugin-blit" "^0.6.8"
-      "@jimp/plugin-blur" "^0.6.8"
-      "@jimp/plugin-color" "^0.6.8"
-      "@jimp/plugin-contain" "^0.6.8"
-      "@jimp/plugin-cover" "^0.6.8"
-      "@jimp/plugin-crop" "^0.6.8"
-      "@jimp/plugin-displace" "^0.6.8"
-      "@jimp/plugin-dither" "^0.6.8"
-      "@jimp/plugin-flip" "^0.6.8"
-      "@jimp/plugin-gaussian" "^0.6.8"
-      "@jimp/plugin-invert" "^0.6.8"
-      "@jimp/plugin-mask" "^0.6.8"
-      "@jimp/plugin-normalize" "^0.6.8"
-      "@jimp/plugin-print" "^0.6.8"
-      "@jimp/plugin-resize" "^0.6.8"
-      "@jimp/plugin-rotate" "^0.6.8"
-      "@jimp/plugin-scale" "^0.6.8"
-      core-js "^2.5.7"
-      timm "^1.6.1"
-  
-  "@jimp/png@^0.6.8":
-    version "0.6.8"
-    resolved "https://registry.yarnpkg.com/@jimp/png/-/png-0.6.8.tgz#ee06cf078b381137ec7206c4bb1b4cfcbe15ca6f"
-    dependencies:
-      "@jimp/utils" "^0.6.8"
-      core-js "^2.5.7"
-      pngjs "^3.3.3"
-  
-  "@jimp/tiff@^0.6.8":
-    version "0.6.8"
-    resolved "https://registry.yarnpkg.com/@jimp/tiff/-/tiff-0.6.8.tgz#79bd22ed435edbe29d02a2c8c9bf829f988ebacc"
-    dependencies:
-      core-js "^2.5.7"
-      utif "^2.0.1"
-  
-  "@jimp/types@^0.6.8":
-    version "0.6.8"
-    resolved "https://registry.yarnpkg.com/@jimp/types/-/types-0.6.8.tgz#4510eb635cd00b201745d70e38f791748baa7075"
-    dependencies:
-      "@jimp/bmp" "^0.6.8"
-      "@jimp/gif" "^0.6.8"
-      "@jimp/jpeg" "^0.6.8"
-      "@jimp/png" "^0.6.8"
-      "@jimp/tiff" "^0.6.8"
-      core-js "^2.5.7"
-      timm "^1.6.1"
-  
-  "@jimp/utils@^0.6.8":
-    version "0.6.8"
-    resolved "https://registry.yarnpkg.com/@jimp/utils/-/utils-0.6.8.tgz#09f794945631173567aa50f72ac28170de58a63d"
-    dependencies:
-      core-js "^2.5.7"
-  
-  "@mrmlnc/readdir-enhanced@^2.2.1":
-    version "2.2.1"
-    resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde"
-    dependencies:
-      call-me-maybe "^1.0.1"
-      glob-to-regexp "^0.3.0"
-  
-  "@nodelib/fs.stat@^1.1.2":
-    version "1.1.3"
-    resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b"
-  
-  "@types/babel__core@^7.1.0":
-    version "7.1.9"
-    resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.9.tgz#77e59d438522a6fb898fa43dc3455c6e72f3963d"
-    dependencies:
-      "@babel/parser" "^7.1.0"
-      "@babel/types" "^7.0.0"
-      "@types/babel__generator" "*"
-      "@types/babel__template" "*"
-      "@types/babel__traverse" "*"
-  
-  "@types/babel__generator@*":
-    version "7.6.1"
-    resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.1.tgz#4901767b397e8711aeb99df8d396d7ba7b7f0e04"
-    dependencies:
-      "@babel/types" "^7.0.0"
-  
-  "@types/babel__template@*":
-    version "7.0.2"
-    resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.0.2.tgz#4ff63d6b52eddac1de7b975a5223ed32ecea9307"
-    dependencies:
-      "@babel/parser" "^7.1.0"
-      "@babel/types" "^7.0.0"
-  
-  "@types/babel__traverse@*", "@types/babel__traverse@^7.0.6":
-    version "7.0.13"
-    resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.13.tgz#1874914be974a492e1b4cb00585cabb274e8ba18"
-    dependencies:
-      "@babel/types" "^7.3.0"
-  
-  "@types/color-name@^1.1.1":
-    version "1.1.1"
-    resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0"
-  
-  "@types/glob@^7.1.1":
-    version "7.1.3"
-    resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.3.tgz#e6ba80f36b7daad2c685acd9266382e68985c183"
-    dependencies:
-      "@types/minimatch" "*"
-      "@types/node" "*"
-  
-  "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0":
-    version "2.0.3"
-    resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762"
-  
-  "@types/istanbul-lib-report@*":
-    version "3.0.0"
-    resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686"
-    dependencies:
-      "@types/istanbul-lib-coverage" "*"
-  
-  "@types/istanbul-reports@^1.1.1":
-    version "1.1.2"
-    resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz#e875cc689e47bce549ec81f3df5e6f6f11cfaeb2"
-    dependencies:
-      "@types/istanbul-lib-coverage" "*"
-      "@types/istanbul-lib-report" "*"
-  
-  "@types/json-schema@^7.0.3", "@types/json-schema@^7.0.5":
-    version "7.0.6"
-    resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.6.tgz#f4c7ec43e81b319a9815115031709f26987891f0"
-  
-  "@types/json5@^0.0.29":
-    version "0.0.29"
-    resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee"
-  
-  "@types/minimatch@*":
-    version "3.0.3"
-    resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d"
-  
-  "@types/node@*":
-    version "14.6.4"
-    resolved "https://registry.yarnpkg.com/@types/node/-/node-14.6.4.tgz#a145cc0bb14ef9c4777361b7bbafa5cf8e3acb5a"
-  
-  "@types/stack-utils@^1.0.1":
-    version "1.0.1"
-    resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e"
-  
-  "@types/yargs-parser@*":
-    version "15.0.0"
-    resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-15.0.0.tgz#cb3f9f741869e20cce330ffbeb9271590483882d"
-  
-  "@types/yargs@^13.0.0":
-    version "13.0.10"
-    resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-13.0.10.tgz#e77bf3fc73c781d48c2eb541f87c453e321e5f4b"
-    dependencies:
-      "@types/yargs-parser" "*"
-  
-  "@types/yargs@^15.0.0":
-    version "15.0.5"
-    resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.5.tgz#947e9a6561483bdee9adffc983e91a6902af8b79"
-    dependencies:
-      "@types/yargs-parser" "*"
-  
-  "@typescript-eslint/experimental-utils@^2.5.0":
-    version "2.34.0"
-    resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz#d3524b644cdb40eebceca67f8cf3e4cc9c8f980f"
-    dependencies:
-      "@types/json-schema" "^7.0.3"
-      "@typescript-eslint/typescript-estree" "2.34.0"
-      eslint-scope "^5.0.0"
-      eslint-utils "^2.0.0"
-  
-  "@typescript-eslint/typescript-estree@2.34.0":
-    version "2.34.0"
-    resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz#14aeb6353b39ef0732cc7f1b8285294937cf37d5"
-    dependencies:
-      debug "^4.1.1"
-      eslint-visitor-keys "^1.1.0"
-      glob "^7.1.6"
-      is-glob "^4.0.1"
-      lodash "^4.17.15"
-      semver "^7.3.2"
-      tsutils "^3.17.1"
-  
-  "@webassemblyjs/ast@1.9.0":
-    version "1.9.0"
-    resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964"
-    dependencies:
-      "@webassemblyjs/helper-module-context" "1.9.0"
-      "@webassemblyjs/helper-wasm-bytecode" "1.9.0"
-      "@webassemblyjs/wast-parser" "1.9.0"
-  
-  "@webassemblyjs/floating-point-hex-parser@1.9.0":
-    version "1.9.0"
-    resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz#3c3d3b271bddfc84deb00f71344438311d52ffb4"
-  
-  "@webassemblyjs/helper-api-error@1.9.0":
-    version "1.9.0"
-    resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz#203f676e333b96c9da2eeab3ccef33c45928b6a2"
-  
-  "@webassemblyjs/helper-buffer@1.9.0":
-    version "1.9.0"
-    resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz#a1442d269c5feb23fcbc9ef759dac3547f29de00"
-  
-  "@webassemblyjs/helper-code-frame@1.9.0":
-    version "1.9.0"
-    resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz#647f8892cd2043a82ac0c8c5e75c36f1d9159f27"
-    dependencies:
-      "@webassemblyjs/wast-printer" "1.9.0"
-  
-  "@webassemblyjs/helper-fsm@1.9.0":
-    version "1.9.0"
-    resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz#c05256b71244214671f4b08ec108ad63b70eddb8"
-  
-  "@webassemblyjs/helper-module-context@1.9.0":
-    version "1.9.0"
-    resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz#25d8884b76839871a08a6c6f806c3979ef712f07"
-    dependencies:
-      "@webassemblyjs/ast" "1.9.0"
-  
-  "@webassemblyjs/helper-wasm-bytecode@1.9.0":
-    version "1.9.0"
-    resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz#4fed8beac9b8c14f8c58b70d124d549dd1fe5790"
-  
-  "@webassemblyjs/helper-wasm-section@1.9.0":
-    version "1.9.0"
-    resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz#5a4138d5a6292ba18b04c5ae49717e4167965346"
-    dependencies:
-      "@webassemblyjs/ast" "1.9.0"
-      "@webassemblyjs/helper-buffer" "1.9.0"
-      "@webassemblyjs/helper-wasm-bytecode" "1.9.0"
-      "@webassemblyjs/wasm-gen" "1.9.0"
-  
-  "@webassemblyjs/ieee754@1.9.0":
-    version "1.9.0"
-    resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz#15c7a0fbaae83fb26143bbacf6d6df1702ad39e4"
-    dependencies:
-      "@xtuc/ieee754" "^1.2.0"
-  
-  "@webassemblyjs/leb128@1.9.0":
-    version "1.9.0"
-    resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.9.0.tgz#f19ca0b76a6dc55623a09cffa769e838fa1e1c95"
-    dependencies:
-      "@xtuc/long" "4.2.2"
-  
-  "@webassemblyjs/utf8@1.9.0":
-    version "1.9.0"
-    resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.9.0.tgz#04d33b636f78e6a6813227e82402f7637b6229ab"
-  
-  "@webassemblyjs/wasm-edit@1.9.0":
-    version "1.9.0"
-    resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz#3fe6d79d3f0f922183aa86002c42dd256cfee9cf"
-    dependencies:
-      "@webassemblyjs/ast" "1.9.0"
-      "@webassemblyjs/helper-buffer" "1.9.0"
-      "@webassemblyjs/helper-wasm-bytecode" "1.9.0"
-      "@webassemblyjs/helper-wasm-section" "1.9.0"
-      "@webassemblyjs/wasm-gen" "1.9.0"
-      "@webassemblyjs/wasm-opt" "1.9.0"
-      "@webassemblyjs/wasm-parser" "1.9.0"
-      "@webassemblyjs/wast-printer" "1.9.0"
-  
-  "@webassemblyjs/wasm-gen@1.9.0":
-    version "1.9.0"
-    resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz#50bc70ec68ded8e2763b01a1418bf43491a7a49c"
-    dependencies:
-      "@webassemblyjs/ast" "1.9.0"
-      "@webassemblyjs/helper-wasm-bytecode" "1.9.0"
-      "@webassemblyjs/ieee754" "1.9.0"
-      "@webassemblyjs/leb128" "1.9.0"
-      "@webassemblyjs/utf8" "1.9.0"
-  
-  "@webassemblyjs/wasm-opt@1.9.0":
-    version "1.9.0"
-    resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz#2211181e5b31326443cc8112eb9f0b9028721a61"
-    dependencies:
-      "@webassemblyjs/ast" "1.9.0"
-      "@webassemblyjs/helper-buffer" "1.9.0"
-      "@webassemblyjs/wasm-gen" "1.9.0"
-      "@webassemblyjs/wasm-parser" "1.9.0"
-  
-  "@webassemblyjs/wasm-parser@1.9.0":
-    version "1.9.0"
-    resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz#9d48e44826df4a6598294aa6c87469d642fff65e"
-    dependencies:
-      "@webassemblyjs/ast" "1.9.0"
-      "@webassemblyjs/helper-api-error" "1.9.0"
-      "@webassemblyjs/helper-wasm-bytecode" "1.9.0"
-      "@webassemblyjs/ieee754" "1.9.0"
-      "@webassemblyjs/leb128" "1.9.0"
-      "@webassemblyjs/utf8" "1.9.0"
-  
-  "@webassemblyjs/wast-parser@1.9.0":
-    version "1.9.0"
-    resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz#3031115d79ac5bd261556cecc3fa90a3ef451914"
-    dependencies:
-      "@webassemblyjs/ast" "1.9.0"
-      "@webassemblyjs/floating-point-hex-parser" "1.9.0"
-      "@webassemblyjs/helper-api-error" "1.9.0"
-      "@webassemblyjs/helper-code-frame" "1.9.0"
-      "@webassemblyjs/helper-fsm" "1.9.0"
-      "@xtuc/long" "4.2.2"
-  
-  "@webassemblyjs/wast-printer@1.9.0":
-    version "1.9.0"
-    resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz#4935d54c85fef637b00ce9f52377451d00d47899"
-    dependencies:
-      "@webassemblyjs/ast" "1.9.0"
-      "@webassemblyjs/wast-parser" "1.9.0"
-      "@xtuc/long" "4.2.2"
-  
-  "@xtuc/ieee754@^1.2.0":
-    version "1.2.0"
-    resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790"
-  
-  "@xtuc/long@4.2.2":
-    version "4.2.2"
-    resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d"
-  
-  abab@^2.0.0:
-    version "2.0.4"
-    resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.4.tgz#6dfa57b417ca06d21b2478f0e638302f99c2405c"
-  
-  abbrev@1:
-    version "1.1.1"
-    resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
-  
-  accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7:
-    version "1.3.7"
-    resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd"
-    dependencies:
-      mime-types "~2.1.24"
-      negotiator "0.6.2"
-  
-  acorn-globals@^4.1.0:
-    version "4.3.4"
-    resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.4.tgz#9fa1926addc11c97308c4e66d7add0d40c3272e7"
-    dependencies:
-      acorn "^6.0.1"
-      acorn-walk "^6.0.1"
-  
-  acorn-jsx@^5.0.0, acorn-jsx@^5.2.0:
-    version "5.2.0"
-    resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.2.0.tgz#4c66069173d6fdd68ed85239fc256226182b2ebe"
-  
-  acorn-walk@^6.0.1:
-    version "6.2.0"
-    resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.2.0.tgz#123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c"
-  
-  acorn-walk@^7.1.1:
-    version "7.2.0"
-    resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc"
-  
-  acorn@^5.5.3:
-    version "5.7.4"
-    resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.4.tgz#3e8d8a9947d0599a1796d10225d7432f4a4acf5e"
-  
-  acorn@^6.0.1, acorn@^6.0.7, acorn@^6.4.1:
-    version "6.4.1"
-    resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.1.tgz#531e58ba3f51b9dacb9a6646ca4debf5b14ca474"
-  
-  acorn@^7.1.1:
-    version "7.4.0"
-    resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.0.tgz#e1ad486e6c54501634c6c397c5c121daa383607c"
-  
-  ajv-errors@^1.0.0:
-    version "1.0.1"
-    resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d"
-  
-  ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2:
-    version "3.5.2"
-    resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d"
-  
-  ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.9.1:
-    version "6.12.4"
-    resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.4.tgz#0614facc4522127fa713445c6bfd3ebd376e2234"
-    dependencies:
-      fast-deep-equal "^3.1.1"
-      fast-json-stable-stringify "^2.0.0"
-      json-schema-traverse "^0.4.1"
-      uri-js "^4.2.2"
-  
-  amdefine@>=0.0.4:
-    version "1.0.1"
-    resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5"
-  
-  ansi-colors@^3.0.0:
-    version "3.2.4"
-    resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf"
-  
-  ansi-escapes@^3.0.0, ansi-escapes@^3.2.0:
-    version "3.2.0"
-    resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b"
-  
-  ansi-escapes@^4.2.1:
-    version "4.3.1"
-    resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61"
-    dependencies:
-      type-fest "^0.11.0"
-  
-  ansi-html@0.0.7:
-    version "0.0.7"
-    resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e"
-  
-  ansi-regex@^2.0.0:
-    version "2.1.1"
-    resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
-  
-  ansi-regex@^3.0.0:
-    version "3.0.0"
-    resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998"
-  
-  ansi-regex@^4.0.0, ansi-regex@^4.1.0:
-    version "4.1.0"
-    resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997"
-  
-  ansi-regex@^5.0.0:
-    version "5.0.0"
-    resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75"
-  
-  ansi-styles@^2.2.1:
-    version "2.2.1"
-    resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
-  
-  ansi-styles@^3.2.0, ansi-styles@^3.2.1:
-    version "3.2.1"
-    resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
-    dependencies:
-      color-convert "^1.9.0"
-  
-  ansi-styles@^4.1.0:
-    version "4.2.1"
-    resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359"
-    dependencies:
-      "@types/color-name" "^1.1.1"
-      color-convert "^2.0.1"
-  
-  any-base@^1.1.0:
-    version "1.1.0"
-    resolved "https://registry.yarnpkg.com/any-base/-/any-base-1.1.0.tgz#ae101a62bc08a597b4c9ab5b7089d456630549fe"
-  
-  anymatch@^2.0.0:
-    version "2.0.0"
-    resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb"
-    dependencies:
-      micromatch "^3.1.4"
-      normalize-path "^2.1.1"
-  
-  anymatch@~3.1.1:
-    version "3.1.1"
-    resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142"
-    dependencies:
-      normalize-path "^3.0.0"
-      picomatch "^2.0.4"
-  
-  aproba@^1.0.3, aproba@^1.1.1:
-    version "1.2.0"
-    resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a"
-  
-  are-we-there-yet@~1.1.2:
-    version "1.1.5"
-    resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21"
-    dependencies:
-      delegates "^1.0.0"
-      readable-stream "^2.0.6"
-  
-  argparse@^1.0.7:
-    version "1.0.10"
-    resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
-    dependencies:
-      sprintf-js "~1.0.2"
-  
-  aria-query@^4.2.2:
-    version "4.2.2"
-    resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-4.2.2.tgz#0d2ca6c9aceb56b8977e9fed6aed7e15bbd2f83b"
-    dependencies:
-      "@babel/runtime" "^7.10.2"
-      "@babel/runtime-corejs3" "^7.10.2"
-  
-  arr-diff@^4.0.0:
-    version "4.0.0"
-    resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520"
-  
-  arr-flatten@^1.1.0:
-    version "1.1.0"
-    resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1"
-  
-  arr-union@^3.1.0:
-    version "3.1.0"
-    resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4"
-  
-  array-equal@^1.0.0:
-    version "1.0.0"
-    resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93"
-  
-  array-find-index@^1.0.1:
-    version "1.0.2"
-    resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1"
-  
-  array-flatten@1.1.1:
-    version "1.1.1"
-    resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
-  
-  array-flatten@^2.1.0:
-    version "2.1.2"
-    resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099"
-  
-  array-includes@^3.1.1:
-    version "3.1.1"
-    resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.1.tgz#cdd67e6852bdf9c1215460786732255ed2459348"
-    dependencies:
-      define-properties "^1.1.3"
-      es-abstract "^1.17.0"
-      is-string "^1.0.5"
-  
-  array-union@^1.0.1, array-union@^1.0.2:
-    version "1.0.2"
-    resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39"
-    dependencies:
-      array-uniq "^1.0.1"
-  
-  array-uniq@^1.0.1:
-    version "1.0.3"
-    resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6"
-  
-  array-unique@^0.3.2:
-    version "0.3.2"
-    resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"
-  
-  array.prototype.flat@^1.2.3:
-    version "1.2.3"
-    resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz#0de82b426b0318dbfdb940089e38b043d37f6c7b"
-    dependencies:
-      define-properties "^1.1.3"
-      es-abstract "^1.17.0-next.1"
-  
-  array.prototype.flatmap@^1.2.3:
-    version "1.2.3"
-    resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.3.tgz#1c13f84a178566042dd63de4414440db9222e443"
-    dependencies:
-      define-properties "^1.1.3"
-      es-abstract "^1.17.0-next.1"
-      function-bind "^1.1.1"
-  
-  asn1.js@^5.2.0:
-    version "5.4.1"
-    resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07"
-    dependencies:
-      bn.js "^4.0.0"
-      inherits "^2.0.1"
-      minimalistic-assert "^1.0.0"
-      safer-buffer "^2.1.0"
-  
-  asn1@~0.2.3:
-    version "0.2.4"
-    resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136"
-    dependencies:
-      safer-buffer "~2.1.0"
-  
-  assert-plus@1.0.0, assert-plus@^1.0.0:
-    version "1.0.0"
-    resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
-  
-  assert@^1.1.1:
-    version "1.5.0"
-    resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb"
-    dependencies:
-      object-assign "^4.1.1"
-      util "0.10.3"
-  
-  assign-symbols@^1.0.0:
-    version "1.0.0"
-    resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367"
-  
-  ast-types-flow@^0.0.7:
-    version "0.0.7"
-    resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad"
-  
-  astral-regex@^1.0.0:
-    version "1.0.0"
-    resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9"
-  
-  async-each@^1.0.1:
-    version "1.0.3"
-    resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf"
-  
-  async-foreach@^0.1.3:
-    version "0.1.3"
-    resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542"
-  
-  async-limiter@~1.0.0:
-    version "1.0.1"
-    resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd"
-  
-  async@^2.6.2:
-    version "2.6.3"
-    resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff"
-    dependencies:
-      lodash "^4.17.14"
-  
-  asynckit@^0.4.0:
-    version "0.4.0"
-    resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
-  
-  atob@^2.1.2:
-    version "2.1.2"
-    resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9"
-  
-  aws-sign2@~0.7.0:
-    version "0.7.0"
-    resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"
-  
-  aws4@^1.8.0:
-    version "1.10.1"
-    resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.10.1.tgz#e1e82e4f3e999e2cfd61b161280d16a111f86428"
-  
-  axe-core@^3.5.4:
-    version "3.5.5"
-    resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-3.5.5.tgz#84315073b53fa3c0c51676c588d59da09a192227"
-  
-  axobject-query@^2.1.2:
-    version "2.2.0"
-    resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be"
-  
-  babel-eslint@^10.0.3:
-    version "10.1.0"
-    resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.1.0.tgz#6968e568a910b78fb3779cdd8b6ac2f479943232"
-    dependencies:
-      "@babel/code-frame" "^7.0.0"
-      "@babel/parser" "^7.7.0"
-      "@babel/traverse" "^7.7.0"
-      "@babel/types" "^7.7.0"
-      eslint-visitor-keys "^1.0.0"
-      resolve "^1.12.0"
-  
-  babel-extract-comments@^1.0.0:
-    version "1.0.0"
-    resolved "https://registry.yarnpkg.com/babel-extract-comments/-/babel-extract-comments-1.0.0.tgz#0a2aedf81417ed391b85e18b4614e693a0351a21"
-    dependencies:
-      babylon "^6.18.0"
-  
-  babel-jest@^24.9.0:
-    version "24.9.0"
-    resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-24.9.0.tgz#3fc327cb8467b89d14d7bc70e315104a783ccd54"
-    dependencies:
-      "@jest/transform" "^24.9.0"
-      "@jest/types" "^24.9.0"
-      "@types/babel__core" "^7.1.0"
-      babel-plugin-istanbul "^5.1.0"
-      babel-preset-jest "^24.9.0"
-      chalk "^2.4.2"
-      slash "^2.0.0"
-  
-  babel-loader@^8.0.6:
-    version "8.1.0"
-    resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.1.0.tgz#c611d5112bd5209abe8b9fa84c3e4da25275f1c3"
-    dependencies:
-      find-cache-dir "^2.1.0"
-      loader-utils "^1.4.0"
-      mkdirp "^0.5.3"
-      pify "^4.0.1"
-      schema-utils "^2.6.5"
-  
-  babel-plugin-dynamic-import-node@^2.3.3:
-    version "2.3.3"
-    resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3"
-    dependencies:
-      object.assign "^4.1.0"
-  
-  babel-plugin-istanbul@^5.1.0:
-    version "5.2.0"
-    resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz#df4ade83d897a92df069c4d9a25cf2671293c854"
-    dependencies:
-      "@babel/helper-plugin-utils" "^7.0.0"
-      find-up "^3.0.0"
-      istanbul-lib-instrument "^3.3.0"
-      test-exclude "^5.2.3"
-  
-  babel-plugin-jest-hoist@^24.9.0:
-    version "24.9.0"
-    resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.9.0.tgz#4f837091eb407e01447c8843cbec546d0002d756"
-    dependencies:
-      "@types/babel__traverse" "^7.0.6"
-  
-  babel-plugin-syntax-object-rest-spread@^6.8.0:
-    version "6.13.0"
-    resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5"
-  
-  babel-plugin-transform-object-rest-spread@^6.26.0:
-    version "6.26.0"
-    resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz#0f36692d50fef6b7e2d4b3ac1478137a963b7b06"
-    dependencies:
-      babel-plugin-syntax-object-rest-spread "^6.8.0"
-      babel-runtime "^6.26.0"
-  
-  babel-preset-jest@^24.9.0:
-    version "24.9.0"
-    resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz#192b521e2217fb1d1f67cf73f70c336650ad3cdc"
-    dependencies:
-      "@babel/plugin-syntax-object-rest-spread" "^7.0.0"
-      babel-plugin-jest-hoist "^24.9.0"
-  
-  babel-runtime@^6.26.0:
-    version "6.26.0"
-    resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe"
-    dependencies:
-      core-js "^2.4.0"
-      regenerator-runtime "^0.11.0"
-  
-  babylon@^6.18.0:
-    version "6.18.0"
-    resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3"
-  
-  bail@^1.0.0:
-    version "1.0.5"
-    resolved "https://registry.yarnpkg.com/bail/-/bail-1.0.5.tgz#b6fa133404a392cbc1f8c4bf63f5953351e7a776"
-  
-  balanced-match@^1.0.0:
-    version "1.0.0"
-    resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
-  
-  base64-js@^1.0.2:
-    version "1.3.1"
-    resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1"
-  
-  base@^0.11.1:
-    version "0.11.2"
-    resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f"
-    dependencies:
-      cache-base "^1.0.1"
-      class-utils "^0.3.5"
-      component-emitter "^1.2.1"
-      define-property "^1.0.0"
-      isobject "^3.0.1"
-      mixin-deep "^1.2.0"
-      pascalcase "^0.1.1"
-  
-  batch@0.6.1:
-    version "0.6.1"
-    resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16"
-  
-  bcrypt-pbkdf@^1.0.0:
-    version "1.0.2"
-    resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e"
-    dependencies:
-      tweetnacl "^0.14.3"
-  
-  bfj@^6.1.1:
-    version "6.1.2"
-    resolved "https://registry.yarnpkg.com/bfj/-/bfj-6.1.2.tgz#325c861a822bcb358a41c78a33b8e6e2086dde7f"
-    dependencies:
-      bluebird "^3.5.5"
-      check-types "^8.0.3"
-      hoopy "^0.1.4"
-      tryer "^1.0.1"
-  
-  big.js@^3.1.3:
-    version "3.2.0"
-    resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e"
-  
-  big.js@^5.2.2:
-    version "5.2.2"
-    resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328"
-  
-  binary-extensions@^1.0.0:
-    version "1.13.1"
-    resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65"
-  
-  binary-extensions@^2.0.0:
-    version "2.1.0"
-    resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.1.0.tgz#30fa40c9e7fe07dbc895678cd287024dea241dd9"
-  
-  bindings@^1.5.0:
-    version "1.5.0"
-    resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df"
-    dependencies:
-      file-uri-to-path "1.0.0"
-  
-  block-stream@*:
-    version "0.0.9"
-    resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a"
-    dependencies:
-      inherits "~2.0.0"
-  
-  bluebird@^3.5.5:
-    version "3.7.2"
-    resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f"
-  
-  bmp-js@^0.1.0:
-    version "0.1.0"
-    resolved "https://registry.yarnpkg.com/bmp-js/-/bmp-js-0.1.0.tgz#e05a63f796a6c1ff25f4771ec7adadc148c07233"
-  
-  bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.4.0:
-    version "4.11.9"
-    resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.9.tgz#26d556829458f9d1e81fc48952493d0ba3507828"
-  
-  bn.js@^5.1.1:
-    version "5.1.3"
-    resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.1.3.tgz#beca005408f642ebebea80b042b4d18d2ac0ee6b"
-  
-  body-parser@1.19.0:
-    version "1.19.0"
-    resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a"
-    dependencies:
-      bytes "3.1.0"
-      content-type "~1.0.4"
-      debug "2.6.9"
-      depd "~1.1.2"
-      http-errors "1.7.2"
-      iconv-lite "0.4.24"
-      on-finished "~2.3.0"
-      qs "6.7.0"
-      raw-body "2.4.0"
-      type-is "~1.6.17"
-  
-  bonjour@^3.5.0:
-    version "3.5.0"
-    resolved "https://registry.yarnpkg.com/bonjour/-/bonjour-3.5.0.tgz#8e890a183d8ee9a2393b3844c691a42bcf7bc9f5"
-    dependencies:
-      array-flatten "^2.1.0"
-      deep-equal "^1.0.1"
-      dns-equal "^1.0.0"
-      dns-txt "^2.0.2"
-      multicast-dns "^6.0.1"
-      multicast-dns-service-types "^1.1.0"
-  
-  boolbase@~1.0.0:
-    version "1.0.0"
-    resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"
-  
-  brace-expansion@^1.1.7:
-    version "1.1.11"
-    resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
-    dependencies:
-      balanced-match "^1.0.0"
-      concat-map "0.0.1"
-  
-  braces@^2.3.1, braces@^2.3.2:
-    version "2.3.2"
-    resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729"
-    dependencies:
-      arr-flatten "^1.1.0"
-      array-unique "^0.3.2"
-      extend-shallow "^2.0.1"
-      fill-range "^4.0.0"
-      isobject "^3.0.1"
-      repeat-element "^1.1.2"
-      snapdragon "^0.8.1"
-      snapdragon-node "^2.0.1"
-      split-string "^3.0.2"
-      to-regex "^3.0.1"
-  
-  braces@^3.0.1, braces@~3.0.2:
-    version "3.0.2"
-    resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
-    dependencies:
-      fill-range "^7.0.1"
-  
-  brorand@^1.0.1:
-    version "1.1.0"
-    resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f"
-  
-  browser-process-hrtime@^1.0.0:
-    version "1.0.0"
-    resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626"
-  
-  browser-resolve@^1.11.3:
-    version "1.11.3"
-    resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.3.tgz#9b7cbb3d0f510e4cb86bdbd796124d28b5890af6"
-    dependencies:
-      resolve "1.1.7"
-  
-  browserify-aes@^1.0.0, browserify-aes@^1.0.4:
-    version "1.2.0"
-    resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48"
-    dependencies:
-      buffer-xor "^1.0.3"
-      cipher-base "^1.0.0"
-      create-hash "^1.1.0"
-      evp_bytestokey "^1.0.3"
-      inherits "^2.0.1"
-      safe-buffer "^5.0.1"
-  
-  browserify-cipher@^1.0.0:
-    version "1.0.1"
-    resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0"
-    dependencies:
-      browserify-aes "^1.0.4"
-      browserify-des "^1.0.0"
-      evp_bytestokey "^1.0.0"
-  
-  browserify-des@^1.0.0:
-    version "1.0.2"
-    resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c"
-    dependencies:
-      cipher-base "^1.0.1"
-      des.js "^1.0.0"
-      inherits "^2.0.1"
-      safe-buffer "^5.1.2"
-  
-  browserify-rsa@^4.0.0, browserify-rsa@^4.0.1:
-    version "4.0.1"
-    resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524"
-    dependencies:
-      bn.js "^4.1.0"
-      randombytes "^2.0.1"
-  
-  browserify-sign@^4.0.0:
-    version "4.2.1"
-    resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.1.tgz#eaf4add46dd54be3bb3b36c0cf15abbeba7956c3"
-    dependencies:
-      bn.js "^5.1.1"
-      browserify-rsa "^4.0.1"
-      create-hash "^1.2.0"
-      create-hmac "^1.1.7"
-      elliptic "^6.5.3"
-      inherits "^2.0.4"
-      parse-asn1 "^5.1.5"
-      readable-stream "^3.6.0"
-      safe-buffer "^5.2.0"
-  
-  browserify-zlib@^0.2.0:
-    version "0.2.0"
-    resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f"
-    dependencies:
-      pako "~1.0.5"
-  
-  browserslist@^4.12.0, browserslist@^4.8.5:
-    version "4.14.1"
-    resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.14.1.tgz#cb2b490ba881d45dc3039078c7ed04411eaf3fa3"
-    dependencies:
-      caniuse-lite "^1.0.30001124"
-      electron-to-chromium "^1.3.562"
-      escalade "^3.0.2"
-      node-releases "^1.1.60"
-  
-  bser@2.1.1:
-    version "2.1.1"
-    resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05"
-    dependencies:
-      node-int64 "^0.4.0"
-  
-  buffer-equal@0.0.1:
-    version "0.0.1"
-    resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-0.0.1.tgz#91bc74b11ea405bc916bc6aa908faafa5b4aac4b"
-  
-  buffer-from@^1.0.0:
-    version "1.1.1"
-    resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
-  
-  buffer-indexof@^1.0.0:
-    version "1.1.1"
-    resolved "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c"
-  
-  buffer-xor@^1.0.3:
-    version "1.0.3"
-    resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9"
-  
-  buffer@^4.3.0:
-    version "4.9.2"
-    resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8"
-    dependencies:
-      base64-js "^1.0.2"
-      ieee754 "^1.1.4"
-      isarray "^1.0.0"
-  
-  buffer@^5.2.0:
-    version "5.6.0"
-    resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.6.0.tgz#a31749dc7d81d84db08abf937b6b8c4033f62786"
-    dependencies:
-      base64-js "^1.0.2"
-      ieee754 "^1.1.4"
-  
-  builtin-modules@^3.0.0:
-    version "3.1.0"
-    resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.1.0.tgz#aad97c15131eb76b65b50ef208e7584cd76a7484"
-  
-  builtin-status-codes@^3.0.0:
-    version "3.0.0"
-    resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8"
-  
-  bytes@3.0.0:
-    version "3.0.0"
-    resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048"
-  
-  bytes@3.1.0:
-    version "3.1.0"
-    resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6"
-  
-  cacache@^12.0.2, cacache@^12.0.3:
-    version "12.0.4"
-    resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.4.tgz#668bcbd105aeb5f1d92fe25570ec9525c8faa40c"
-    dependencies:
-      bluebird "^3.5.5"
-      chownr "^1.1.1"
-      figgy-pudding "^3.5.1"
-      glob "^7.1.4"
-      graceful-fs "^4.1.15"
-      infer-owner "^1.0.3"
-      lru-cache "^5.1.1"
-      mississippi "^3.0.0"
-      mkdirp "^0.5.1"
-      move-concurrently "^1.0.1"
-      promise-inflight "^1.0.1"
-      rimraf "^2.6.3"
-      ssri "^6.0.1"
-      unique-filename "^1.1.1"
-      y18n "^4.0.0"
-  
-  cache-base@^1.0.1:
-    version "1.0.1"
-    resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2"
-    dependencies:
-      collection-visit "^1.0.0"
-      component-emitter "^1.2.1"
-      get-value "^2.0.6"
-      has-value "^1.0.0"
-      isobject "^3.0.1"
-      set-value "^2.0.0"
-      to-object-path "^0.3.0"
-      union-value "^1.0.0"
-      unset-value "^1.0.0"
-  
-  call-me-maybe@^1.0.1:
-    version "1.0.1"
-    resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b"
-  
-  caller-callsite@^2.0.0:
-    version "2.0.0"
-    resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134"
-    dependencies:
-      callsites "^2.0.0"
-  
-  caller-path@^2.0.0:
-    version "2.0.0"
-    resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4"
-    dependencies:
-      caller-callsite "^2.0.0"
-  
-  callsites@^2.0.0:
-    version "2.0.0"
-    resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50"
-  
-  callsites@^3.0.0:
-    version "3.1.0"
-    resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
-  
-  camel-case@3.0.x:
-    version "3.0.0"
-    resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73"
-    dependencies:
-      no-case "^2.2.0"
-      upper-case "^1.1.1"
-  
-  camelcase-keys@^2.0.0:
-    version "2.1.0"
-    resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7"
-    dependencies:
-      camelcase "^2.0.0"
-      map-obj "^1.0.0"
-  
-  camelcase@^2.0.0:
-    version "2.1.1"
-    resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f"
-  
-  camelcase@^5.0.0, camelcase@^5.3.1:
-    version "5.3.1"
-    resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
-  
-  caniuse-lite@^1.0.30001124:
-    version "1.0.30001124"
-    resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001124.tgz#5d9998190258e11630d674fc50ea8e579ae0ced2"
-  
-  capture-exit@^2.0.0:
-    version "2.0.0"
-    resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4"
-    dependencies:
-      rsvp "^4.8.4"
-  
-  caseless@~0.12.0:
-    version "0.12.0"
-    resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
-  
-  chalk@^1.1.1:
-    version "1.1.3"
-    resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
-    dependencies:
-      ansi-styles "^2.2.1"
-      escape-string-regexp "^1.0.2"
-      has-ansi "^2.0.0"
-      strip-ansi "^3.0.0"
-      supports-color "^2.0.0"
-  
-  chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.4.1, chalk@^2.4.2:
-    version "2.4.2"
-    resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
-    dependencies:
-      ansi-styles "^3.2.1"
-      escape-string-regexp "^1.0.5"
-      supports-color "^5.3.0"
-  
-  chalk@^3.0.0:
-    version "3.0.0"
-    resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4"
-    dependencies:
-      ansi-styles "^4.1.0"
-      supports-color "^7.1.0"
-  
-  chalk@^4.1.0:
-    version "4.1.0"
-    resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a"
-    dependencies:
-      ansi-styles "^4.1.0"
-      supports-color "^7.1.0"
-  
-  character-entities-legacy@^1.0.0:
-    version "1.1.4"
-    resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz#94bc1845dce70a5bb9d2ecc748725661293d8fc1"
-  
-  character-entities@^1.0.0:
-    version "1.2.4"
-    resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-1.2.4.tgz#e12c3939b7eaf4e5b15e7ad4c5e28e1d48c5b16b"
-  
-  character-reference-invalid@^1.0.0:
-    version "1.1.4"
-    resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz#083329cda0eae272ab3dbbf37e9a382c13af1560"
-  
-  chardet@^0.7.0:
-    version "0.7.0"
-    resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e"
-  
-  check-types@^8.0.3:
-    version "8.0.3"
-    resolved "https://registry.yarnpkg.com/check-types/-/check-types-8.0.3.tgz#3356cca19c889544f2d7a95ed49ce508a0ecf552"
-  
-  "chokidar@>=2.0.0 <4.0.0", chokidar@^3.4.1:
-    version "3.4.2"
-    resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.2.tgz#38dc8e658dec3809741eb3ef7bb0a47fe424232d"
-    dependencies:
-      anymatch "~3.1.1"
-      braces "~3.0.2"
-      glob-parent "~5.1.0"
-      is-binary-path "~2.1.0"
-      is-glob "~4.0.1"
-      normalize-path "~3.0.0"
-      readdirp "~3.4.0"
-    optionalDependencies:
-      fsevents "~2.1.2"
-  
-  chokidar@^2.1.8:
-    version "2.1.8"
-    resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917"
-    dependencies:
-      anymatch "^2.0.0"
-      async-each "^1.0.1"
-      braces "^2.3.2"
-      glob-parent "^3.1.0"
-      inherits "^2.0.3"
-      is-binary-path "^1.0.0"
-      is-glob "^4.0.0"
-      normalize-path "^3.0.0"
-      path-is-absolute "^1.0.0"
-      readdirp "^2.2.1"
-      upath "^1.1.1"
-    optionalDependencies:
-      fsevents "^1.2.7"
-  
-  chownr@^1.1.1:
-    version "1.1.4"
-    resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b"
-  
-  chrome-trace-event@^1.0.2:
-    version "1.0.2"
-    resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4"
-    dependencies:
-      tslib "^1.9.0"
-  
-  ci-info@^2.0.0:
-    version "2.0.0"
-    resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46"
-  
-  cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3:
-    version "1.0.4"
-    resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de"
-    dependencies:
-      inherits "^2.0.1"
-      safe-buffer "^5.0.1"
-  
-  class-utils@^0.3.5:
-    version "0.3.6"
-    resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463"
-    dependencies:
-      arr-union "^3.1.0"
-      define-property "^0.2.5"
-      isobject "^3.0.0"
-      static-extend "^0.1.1"
-  
-  classnames@^2.2.6:
-    version "2.2.6"
-    resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce"
-  
-  clean-css@4.2.x:
-    version "4.2.3"
-    resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.3.tgz#507b5de7d97b48ee53d84adb0160ff6216380f78"
-    dependencies:
-      source-map "~0.6.0"
-  
-  cli-cursor@^2.1.0:
-    version "2.1.0"
-    resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5"
-    dependencies:
-      restore-cursor "^2.0.0"
-  
-  cli-cursor@^3.1.0:
-    version "3.1.0"
-    resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307"
-    dependencies:
-      restore-cursor "^3.1.0"
-  
-  cli-width@^2.0.0:
-    version "2.2.1"
-    resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.1.tgz#b0433d0b4e9c847ef18868a4ef16fd5fc8271c48"
-  
-  cli-width@^3.0.0:
-    version "3.0.0"
-    resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6"
-  
-  clipboard@^2.0.0:
-    version "2.0.6"
-    resolved "https://registry.yarnpkg.com/clipboard/-/clipboard-2.0.6.tgz#52921296eec0fdf77ead1749421b21c968647376"
-    dependencies:
-      good-listener "^1.2.2"
-      select "^1.1.2"
-      tiny-emitter "^2.0.0"
-  
-  cliui@^4.0.0:
-    version "4.1.0"
-    resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49"
-    dependencies:
-      string-width "^2.1.1"
-      strip-ansi "^4.0.0"
-      wrap-ansi "^2.0.0"
-  
-  cliui@^5.0.0:
-    version "5.0.0"
-    resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5"
-    dependencies:
-      string-width "^3.1.0"
-      strip-ansi "^5.2.0"
-      wrap-ansi "^5.1.0"
-  
-  clone-deep@^4.0.1:
-    version "4.0.1"
-    resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387"
-    dependencies:
-      is-plain-object "^2.0.4"
-      kind-of "^6.0.2"
-      shallow-clone "^3.0.0"
-  
-  co@^4.6.0:
-    version "4.6.0"
-    resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
-  
-  code-point-at@^1.0.0:
-    version "1.1.0"
-    resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
-  
-  collapse-white-space@^1.0.2:
-    version "1.0.6"
-    resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.6.tgz#e63629c0016665792060dbbeb79c42239d2c5287"
-  
-  collection-visit@^1.0.0:
-    version "1.0.0"
-    resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0"
-    dependencies:
-      map-visit "^1.0.0"
-      object-visit "^1.0.0"
-  
-  color-convert@^1.9.0:
-    version "1.9.3"
-    resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
-    dependencies:
-      color-name "1.1.3"
-  
-  color-convert@^2.0.1:
-    version "2.0.1"
-    resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
-    dependencies:
-      color-name "~1.1.4"
-  
-  color-name@1.1.3:
-    version "1.1.3"
-    resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
-  
-  color-name@~1.1.4:
-    version "1.1.4"
-    resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
-  
-  combined-stream@^1.0.6, combined-stream@~1.0.6:
-    version "1.0.8"
-    resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
-    dependencies:
-      delayed-stream "~1.0.0"
-  
-  commander@2.17.x:
-    version "2.17.1"
-    resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf"
-  
-  commander@^2.18.0, commander@^2.19.0, commander@^2.20.0:
-    version "2.20.3"
-    resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
-  
-  commander@^4.0.1:
-    version "4.1.1"
-    resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068"
-  
-  commander@~2.19.0:
-    version "2.19.0"
-    resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a"
-  
-  common-tags@^1.8.0:
-    version "1.8.0"
-    resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.0.tgz#8e3153e542d4a39e9b10554434afaaf98956a937"
-  
-  commondir@^1.0.1:
-    version "1.0.1"
-    resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
-  
-  component-emitter@^1.2.1:
-    version "1.3.0"
-    resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0"
-  
-  compressible@~2.0.16:
-    version "2.0.18"
-    resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba"
-    dependencies:
-      mime-db ">= 1.43.0 < 2"
-  
-  compression@^1.7.4:
-    version "1.7.4"
-    resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f"
-    dependencies:
-      accepts "~1.3.5"
-      bytes "3.0.0"
-      compressible "~2.0.16"
-      debug "2.6.9"
-      on-headers "~1.0.2"
-      safe-buffer "5.1.2"
-      vary "~1.1.2"
-  
-  concat-map@0.0.1:
-    version "0.0.1"
-    resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
-  
-  concat-stream@^1.5.0:
-    version "1.6.2"
-    resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34"
-    dependencies:
-      buffer-from "^1.0.0"
-      inherits "^2.0.3"
-      readable-stream "^2.2.2"
-      typedarray "^0.0.6"
-  
-  confusing-browser-globals@^1.0.9:
-    version "1.0.9"
-    resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.9.tgz#72bc13b483c0276801681871d4898516f8f54fdd"
-  
-  connect-history-api-fallback@^1.6.0:
-    version "1.6.0"
-    resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc"
-  
-  console-browserify@^1.1.0:
-    version "1.2.0"
-    resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336"
-  
-  console-control-strings@^1.0.0, console-control-strings@~1.1.0:
-    version "1.1.0"
-    resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e"
-  
-  constants-browserify@^1.0.0:
-    version "1.0.0"
-    resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75"
-  
-  contains-path@^0.1.0:
-    version "0.1.0"
-    resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a"
-  
-  content-disposition@0.5.3:
-    version "0.5.3"
-    resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd"
-    dependencies:
-      safe-buffer "5.1.2"
-  
-  content-type@~1.0.4:
-    version "1.0.4"
-    resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b"
-  
-  convert-source-map@^1.1.0, convert-source-map@^1.4.0, convert-source-map@^1.7.0:
-    version "1.7.0"
-    resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442"
-    dependencies:
-      safe-buffer "~5.1.1"
-  
-  cookie-signature@1.0.6:
-    version "1.0.6"
-    resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
-  
-  cookie@0.4.0:
-    version "0.4.0"
-    resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba"
-  
-  copy-concurrently@^1.0.0:
-    version "1.0.5"
-    resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0"
-    dependencies:
-      aproba "^1.1.1"
-      fs-write-stream-atomic "^1.0.8"
-      iferr "^0.1.5"
-      mkdirp "^0.5.1"
-      rimraf "^2.5.4"
-      run-queue "^1.0.0"
-  
-  copy-descriptor@^0.1.0:
-    version "0.1.1"
-    resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d"
-  
-  copy-to-clipboard@^3:
-    version "3.3.1"
-    resolved "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.3.1.tgz#115aa1a9998ffab6196f93076ad6da3b913662ae"
-    dependencies:
-      toggle-selection "^1.0.6"
-  
-  copy-webpack-plugin@^5.0.4:
-    version "5.1.2"
-    resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-5.1.2.tgz#8a889e1dcafa6c91c6cd4be1ad158f1d3823bae2"
-    dependencies:
-      cacache "^12.0.3"
-      find-cache-dir "^2.1.0"
-      glob-parent "^3.1.0"
-      globby "^7.1.1"
-      is-glob "^4.0.1"
-      loader-utils "^1.2.3"
-      minimatch "^3.0.4"
-      normalize-path "^3.0.0"
-      p-limit "^2.2.1"
-      schema-utils "^1.0.0"
-      serialize-javascript "^4.0.0"
-      webpack-log "^2.0.0"
-  
-  core-js-compat@^3.6.2:
-    version "3.6.5"
-    resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.6.5.tgz#2a51d9a4e25dfd6e690251aa81f99e3c05481f1c"
-    dependencies:
-      browserslist "^4.8.5"
-      semver "7.0.0"
-  
-  core-js-pure@^3.0.0:
-    version "3.6.5"
-    resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.6.5.tgz#c79e75f5e38dbc85a662d91eea52b8256d53b813"
-  
-  core-js@^2.4.0, core-js@^2.5.7:
-    version "2.6.11"
-    resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.11.tgz#38831469f9922bded8ee21c9dc46985e0399308c"
-  
-  core-util-is@1.0.2, core-util-is@~1.0.0:
-    version "1.0.2"
-    resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
-  
-  cosmiconfig@^5.0.5:
-    version "5.2.1"
-    resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a"
-    dependencies:
-      import-fresh "^2.0.0"
-      is-directory "^0.3.1"
-      js-yaml "^3.13.1"
-      parse-json "^4.0.0"
-  
-  create-ecdh@^4.0.0:
-    version "4.0.4"
-    resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e"
-    dependencies:
-      bn.js "^4.1.0"
-      elliptic "^6.5.3"
-  
-  create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0:
-    version "1.2.0"
-    resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196"
-    dependencies:
-      cipher-base "^1.0.1"
-      inherits "^2.0.1"
-      md5.js "^1.3.4"
-      ripemd160 "^2.0.1"
-      sha.js "^2.4.0"
-  
-  create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7:
-    version "1.1.7"
-    resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff"
-    dependencies:
-      cipher-base "^1.0.3"
-      create-hash "^1.1.0"
-      inherits "^2.0.1"
-      ripemd160 "^2.0.0"
-      safe-buffer "^5.0.1"
-      sha.js "^2.4.8"
-  
-  cross-fetch@^2.2.2:
-    version "2.2.3"
-    resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-2.2.3.tgz#e8a0b3c54598136e037f8650f8e823ccdfac198e"
-    dependencies:
-      node-fetch "2.1.2"
-      whatwg-fetch "2.0.4"
-  
-  cross-spawn@^3.0.0:
-    version "3.0.1"
-    resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-3.0.1.tgz#1256037ecb9f0c5f79e3d6ef135e30770184b982"
-    dependencies:
-      lru-cache "^4.0.1"
-      which "^1.2.9"
-  
-  cross-spawn@^6.0.0, cross-spawn@^6.0.5:
-    version "6.0.5"
-    resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4"
-    dependencies:
-      nice-try "^1.0.4"
-      path-key "^2.0.1"
-      semver "^5.5.0"
-      shebang-command "^1.2.0"
-      which "^1.2.9"
-  
-  crypto-browserify@^3.11.0:
-    version "3.12.0"
-    resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec"
-    dependencies:
-      browserify-cipher "^1.0.0"
-      browserify-sign "^4.0.0"
-      create-ecdh "^4.0.0"
-      create-hash "^1.1.0"
-      create-hmac "^1.1.0"
-      diffie-hellman "^5.0.0"
-      inherits "^2.0.1"
-      pbkdf2 "^3.0.3"
-      public-encrypt "^4.0.0"
-      randombytes "^2.0.0"
-      randomfill "^1.0.3"
-  
-  css-color-names@^1.0.0:
-    version "1.0.1"
-    resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-1.0.1.tgz#6ff7ee81a823ad46e020fa2fd6ab40a887e2ba67"
-  
-  css-loader@^3.2.0:
-    version "3.6.0"
-    resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-3.6.0.tgz#2e4b2c7e6e2d27f8c8f28f61bffcd2e6c91ef645"
-    dependencies:
-      camelcase "^5.3.1"
-      cssesc "^3.0.0"
-      icss-utils "^4.1.1"
-      loader-utils "^1.2.3"
-      normalize-path "^3.0.0"
-      postcss "^7.0.32"
-      postcss-modules-extract-imports "^2.0.0"
-      postcss-modules-local-by-default "^3.0.2"
-      postcss-modules-scope "^2.2.0"
-      postcss-modules-values "^3.0.0"
-      postcss-value-parser "^4.1.0"
-      schema-utils "^2.7.0"
-      semver "^6.3.0"
-  
-  css-select@^1.1.0:
-    version "1.2.0"
-    resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858"
-    dependencies:
-      boolbase "~1.0.0"
-      css-what "2.1"
-      domutils "1.5.1"
-      nth-check "~1.0.1"
-  
-  css-what@2.1:
-    version "2.1.3"
-    resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2"
-  
-  cssesc@^3.0.0:
-    version "3.0.0"
-    resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee"
-  
-  cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0":
-    version "0.3.8"
-    resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a"
-  
-  cssstyle@^1.0.0:
-    version "1.4.0"
-    resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-1.4.0.tgz#9d31328229d3c565c61e586b02041a28fccdccf1"
-    dependencies:
-      cssom "0.3.x"
-  
-  csstype@^3.0.2:
-    version "3.0.3"
-    resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.3.tgz#2b410bbeba38ba9633353aff34b05d9755d065f8"
-  
-  currently-unhandled@^0.4.1:
-    version "0.4.1"
-    resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea"
-    dependencies:
-      array-find-index "^1.0.1"
-  
-  cyclist@^1.0.1:
-    version "1.0.1"
-    resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9"
-  
-  damerau-levenshtein@^1.0.6:
-    version "1.0.6"
-    resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.6.tgz#143c1641cb3d85c60c32329e26899adea8701791"
-  
-  dashdash@^1.12.0:
-    version "1.14.1"
-    resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
-    dependencies:
-      assert-plus "^1.0.0"
-  
-  data-urls@^1.0.0:
-    version "1.1.0"
-    resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-1.1.0.tgz#15ee0582baa5e22bb59c77140da8f9c76963bbfe"
-    dependencies:
-      abab "^2.0.0"
-      whatwg-mimetype "^2.2.0"
-      whatwg-url "^7.0.0"
-  
-  debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.9:
-    version "2.6.9"
-    resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
-    dependencies:
-      ms "2.0.0"
-  
-  debug@^3.1.1, debug@^3.2.5:
-    version "3.2.6"
-    resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b"
-    dependencies:
-      ms "^2.1.1"
-  
-  debug@^4.0.1, debug@^4.1.0, debug@^4.1.1:
-    version "4.1.1"
-    resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791"
-    dependencies:
-      ms "^2.1.1"
-  
-  decamelize@^1.1.2, decamelize@^1.2.0:
-    version "1.2.0"
-    resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
-  
-  decode-uri-component@^0.2.0:
-    version "0.2.0"
-    resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545"
-  
-  deep-equal@^1.0.1:
-    version "1.1.1"
-    resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a"
-    dependencies:
-      is-arguments "^1.0.4"
-      is-date-object "^1.0.1"
-      is-regex "^1.0.4"
-      object-is "^1.0.1"
-      object-keys "^1.1.1"
-      regexp.prototype.flags "^1.2.0"
-  
-  deep-is@~0.1.3:
-    version "0.1.3"
-    resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
-  
-  default-gateway@^4.2.0:
-    version "4.2.0"
-    resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-4.2.0.tgz#167104c7500c2115f6dd69b0a536bb8ed720552b"
-    dependencies:
-      execa "^1.0.0"
-      ip-regex "^2.1.0"
-  
-  define-properties@^1.1.2, define-properties@^1.1.3:
-    version "1.1.3"
-    resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1"
-    dependencies:
-      object-keys "^1.0.12"
-  
-  define-property@^0.2.5:
-    version "0.2.5"
-    resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116"
-    dependencies:
-      is-descriptor "^0.1.0"
-  
-  define-property@^1.0.0:
-    version "1.0.0"
-    resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6"
-    dependencies:
-      is-descriptor "^1.0.0"
-  
-  define-property@^2.0.2:
-    version "2.0.2"
-    resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d"
-    dependencies:
-      is-descriptor "^1.0.2"
-      isobject "^3.0.1"
-  
-  del@^4.1.1:
-    version "4.1.1"
-    resolved "https://registry.yarnpkg.com/del/-/del-4.1.1.tgz#9e8f117222ea44a31ff3a156c049b99052a9f0b4"
-    dependencies:
-      "@types/glob" "^7.1.1"
-      globby "^6.1.0"
-      is-path-cwd "^2.0.0"
-      is-path-in-cwd "^2.0.0"
-      p-map "^2.0.0"
-      pify "^4.0.1"
-      rimraf "^2.6.3"
-  
-  delayed-stream@~1.0.0:
-    version "1.0.0"
-    resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
-  
-  delegate@^3.1.2:
-    version "3.2.0"
-    resolved "https://registry.yarnpkg.com/delegate/-/delegate-3.2.0.tgz#b66b71c3158522e8ab5744f720d8ca0c2af59166"
-  
-  delegates@^1.0.0:
-    version "1.0.0"
-    resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
-  
-  depd@~1.1.2:
-    version "1.1.2"
-    resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9"
-  
-  des.js@^1.0.0:
-    version "1.0.1"
-    resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843"
-    dependencies:
-      inherits "^2.0.1"
-      minimalistic-assert "^1.0.0"
-  
-  destroy@~1.0.4:
-    version "1.0.4"
-    resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80"
-  
-  detect-file@^1.0.0:
-    version "1.0.0"
-    resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7"
-  
-  detect-libc@^1.0.3:
-    version "1.0.3"
-    resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
-  
-  detect-newline@^2.1.0:
-    version "2.1.0"
-    resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2"
-  
-  detect-node@^2.0.4:
-    version "2.0.4"
-    resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c"
-  
-  diff-sequences@^24.9.0:
-    version "24.9.0"
-    resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-24.9.0.tgz#5715d6244e2aa65f48bba0bc972db0b0b11e95b5"
-  
-  diff@^4.0.1:
-    version "4.0.2"
-    resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d"
-  
-  diffie-hellman@^5.0.0:
-    version "5.0.3"
-    resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875"
-    dependencies:
-      bn.js "^4.1.0"
-      miller-rabin "^4.0.0"
-      randombytes "^2.0.0"
-  
-  dir-glob@^2.0.0, dir-glob@^2.2.2:
-    version "2.2.2"
-    resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.2.2.tgz#fa09f0694153c8918b18ba0deafae94769fc50c4"
-    dependencies:
-      path-type "^3.0.0"
-  
-  dns-equal@^1.0.0:
-    version "1.0.0"
-    resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d"
-  
-  dns-packet@^1.3.1:
-    version "1.3.1"
-    resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.3.1.tgz#12aa426981075be500b910eedcd0b47dd7deda5a"
-    dependencies:
-      ip "^1.1.0"
-      safe-buffer "^5.0.1"
-  
-  dns-txt@^2.0.2:
-    version "2.0.2"
-    resolved "https://registry.yarnpkg.com/dns-txt/-/dns-txt-2.0.2.tgz#b91d806f5d27188e4ab3e7d107d881a1cc4642b6"
-    dependencies:
-      buffer-indexof "^1.0.0"
-  
-  doctrine@1.5.0:
-    version "1.5.0"
-    resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa"
-    dependencies:
-      esutils "^2.0.2"
-      isarray "^1.0.0"
-  
-  doctrine@^2.1.0:
-    version "2.1.0"
-    resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d"
-    dependencies:
-      esutils "^2.0.2"
-  
-  doctrine@^3.0.0:
-    version "3.0.0"
-    resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961"
-    dependencies:
-      esutils "^2.0.2"
-  
-  dom-converter@^0.2:
-    version "0.2.0"
-    resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768"
-    dependencies:
-      utila "~0.4"
-  
-  dom-helpers@^5.0.1:
-    version "5.2.0"
-    resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.2.0.tgz#57fd054c5f8f34c52a3eeffdb7e7e93cd357d95b"
-    dependencies:
-      "@babel/runtime" "^7.8.7"
-      csstype "^3.0.2"
-  
-  dom-serializer@0:
-    version "0.2.2"
-    resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51"
-    dependencies:
-      domelementtype "^2.0.1"
-      entities "^2.0.0"
-  
-  dom-serializer@^1.0.1:
-    version "1.0.1"
-    resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.0.1.tgz#79695eb49af3cd8abc8d93a73da382deb1ca0795"
-    dependencies:
-      domelementtype "^2.0.1"
-      domhandler "^3.0.0"
-      entities "^2.0.0"
-  
-  dom-walk@^0.1.0:
-    version "0.1.2"
-    resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.2.tgz#0c548bef048f4d1f2a97249002236060daa3fd84"
-  
-  domain-browser@^1.1.1:
-    version "1.2.0"
-    resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda"
-  
-  domelementtype@1, domelementtype@^1.3.1:
-    version "1.3.1"
-    resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f"
-  
-  domelementtype@^2.0.1:
-    version "2.0.1"
-    resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.0.1.tgz#1f8bdfe91f5a78063274e803b4bdcedf6e94f94d"
-  
-  domexception@^1.0.1:
-    version "1.0.1"
-    resolved "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90"
-    dependencies:
-      webidl-conversions "^4.0.2"
-  
-  domhandler@^2.3.0:
-    version "2.4.2"
-    resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803"
-    dependencies:
-      domelementtype "1"
-  
-  domhandler@^3.0, domhandler@^3.0.0:
-    version "3.0.0"
-    resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-3.0.0.tgz#51cd13efca31da95bbb0c5bee3a48300e333b3e9"
-    dependencies:
-      domelementtype "^2.0.1"
-  
-  domutils@1.5.1:
-    version "1.5.1"
-    resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf"
-    dependencies:
-      dom-serializer "0"
-      domelementtype "1"
-  
-  domutils@^1.5.1:
-    version "1.7.0"
-    resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a"
-    dependencies:
-      dom-serializer "0"
-      domelementtype "1"
-  
-  domutils@^2.0.0:
-    version "2.2.0"
-    resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.2.0.tgz#f3ce1610af5c30280bde1b71f84b018b958f32cf"
-    dependencies:
-      dom-serializer "^1.0.1"
-      domelementtype "^2.0.1"
-      domhandler "^3.0.0"
-  
-  duplexer@^0.1.1:
-    version "0.1.2"
-    resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6"
-  
-  duplexify@^3.4.2, duplexify@^3.6.0:
-    version "3.7.1"
-    resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309"
-    dependencies:
-      end-of-stream "^1.0.0"
-      inherits "^2.0.1"
-      readable-stream "^2.0.0"
-      stream-shift "^1.0.0"
-  
-  ecc-jsbn@~0.1.1:
-    version "0.1.2"
-    resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9"
-    dependencies:
-      jsbn "~0.1.0"
-      safer-buffer "^2.1.0"
-  
-  ee-first@1.1.1:
-    version "1.1.1"
-    resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
-  
-  ejs@^2.6.1:
-    version "2.7.4"
-    resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.7.4.tgz#48661287573dcc53e366c7a1ae52c3a120eec9ba"
-  
-  electron-to-chromium@^1.3.562:
-    version "1.3.562"
-    resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.562.tgz#79c20277ee1c8d0173a22af00e38433b752bc70f"
-  
-  elliptic@^6.5.3:
-    version "6.5.3"
-    resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.3.tgz#cb59eb2efdaf73a0bd78ccd7015a62ad6e0f93d6"
-    dependencies:
-      bn.js "^4.4.0"
-      brorand "^1.0.1"
-      hash.js "^1.0.0"
-      hmac-drbg "^1.0.0"
-      inherits "^2.0.1"
-      minimalistic-assert "^1.0.0"
-      minimalistic-crypto-utils "^1.0.0"
-  
-  emoji-regex@^7.0.1:
-    version "7.0.3"
-    resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156"
-  
-  emoji-regex@^8.0.0:
-    version "8.0.0"
-    resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
-  
-  emoji-regex@^9.0.0:
-    version "9.0.0"
-    resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.0.0.tgz#48a2309cc8a1d2e9d23bc6a67c39b63032e76ea4"
-  
-  emojis-list@^2.0.0:
-    version "2.1.0"
-    resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389"
-  
-  emojis-list@^3.0.0:
-    version "3.0.0"
-    resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78"
-  
-  encodeurl@~1.0.2:
-    version "1.0.2"
-    resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
-  
-  end-of-stream@^1.0.0, end-of-stream@^1.1.0:
-    version "1.4.4"
-    resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"
-    dependencies:
-      once "^1.4.0"
-  
-  enhanced-resolve@^4.1.1, enhanced-resolve@^4.3.0:
-    version "4.3.0"
-    resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz#3b806f3bfafc1ec7de69551ef93cca46c1704126"
-    dependencies:
-      graceful-fs "^4.1.2"
-      memory-fs "^0.5.0"
-      tapable "^1.0.0"
-  
-  entities@^1.1.1:
-    version "1.1.2"
-    resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56"
-  
-  entities@^2.0.0:
-    version "2.0.3"
-    resolved "https://registry.yarnpkg.com/entities/-/entities-2.0.3.tgz#5c487e5742ab93c15abb5da22759b8590ec03b7f"
-  
-  errno@^0.1.3, errno@~0.1.7:
-    version "0.1.7"
-    resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618"
-    dependencies:
-      prr "~1.0.1"
-  
-  error-ex@^1.2.0, error-ex@^1.3.1:
-    version "1.3.2"
-    resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
-    dependencies:
-      is-arrayish "^0.2.1"
-  
-  es-abstract@^1.17.0, es-abstract@^1.17.0-next.1, es-abstract@^1.17.2, es-abstract@^1.17.5:
-    version "1.17.6"
-    resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.6.tgz#9142071707857b2cacc7b89ecb670316c3e2d52a"
-    dependencies:
-      es-to-primitive "^1.2.1"
-      function-bind "^1.1.1"
-      has "^1.0.3"
-      has-symbols "^1.0.1"
-      is-callable "^1.2.0"
-      is-regex "^1.1.0"
-      object-inspect "^1.7.0"
-      object-keys "^1.1.1"
-      object.assign "^4.1.0"
-      string.prototype.trimend "^1.0.1"
-      string.prototype.trimstart "^1.0.1"
-  
-  es-abstract@^1.18.0-next.0:
-    version "1.18.0-next.0"
-    resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0-next.0.tgz#b302834927e624d8e5837ed48224291f2c66e6fc"
-    dependencies:
-      es-to-primitive "^1.2.1"
-      function-bind "^1.1.1"
-      has "^1.0.3"
-      has-symbols "^1.0.1"
-      is-callable "^1.2.0"
-      is-negative-zero "^2.0.0"
-      is-regex "^1.1.1"
-      object-inspect "^1.8.0"
-      object-keys "^1.1.1"
-      object.assign "^4.1.0"
-      string.prototype.trimend "^1.0.1"
-      string.prototype.trimstart "^1.0.1"
-  
-  es-to-primitive@^1.2.1:
-    version "1.2.1"
-    resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a"
-    dependencies:
-      is-callable "^1.1.4"
-      is-date-object "^1.0.1"
-      is-symbol "^1.0.2"
-  
-  escalade@^3.0.2:
-    version "3.0.2"
-    resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.0.2.tgz#6a580d70edb87880f22b4c91d0d56078df6962c4"
-  
-  escape-html@~1.0.3:
-    version "1.0.3"
-    resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
-  
-  escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
-    version "1.0.5"
-    resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
-  
-  escodegen@^1.9.1:
-    version "1.14.3"
-    resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503"
-    dependencies:
-      esprima "^4.0.1"
-      estraverse "^4.2.0"
-      esutils "^2.0.2"
-      optionator "^0.8.1"
-    optionalDependencies:
-      source-map "~0.6.1"
-  
-  eslint-config-airbnb-base@^14.2.0:
-    version "14.2.0"
-    resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-14.2.0.tgz#fe89c24b3f9dc8008c9c0d0d88c28f95ed65e9c4"
-    dependencies:
-      confusing-browser-globals "^1.0.9"
-      object.assign "^4.1.0"
-      object.entries "^1.1.2"
-  
-  eslint-config-airbnb@^18.0.1:
-    version "18.2.0"
-    resolved "https://registry.yarnpkg.com/eslint-config-airbnb/-/eslint-config-airbnb-18.2.0.tgz#8a82168713effce8fc08e10896a63f1235499dcd"
-    dependencies:
-      eslint-config-airbnb-base "^14.2.0"
-      object.assign "^4.1.0"
-      object.entries "^1.1.2"
-  
-  eslint-config-prettier@^6.5.0:
-    version "6.11.0"
-    resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.11.0.tgz#f6d2238c1290d01c859a8b5c1f7d352a0b0da8b1"
-    dependencies:
-      get-stdin "^6.0.0"
-  
-  eslint-import-resolver-node@^0.3.3:
-    version "0.3.4"
-    resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz#85ffa81942c25012d8231096ddf679c03042c717"
-    dependencies:
-      debug "^2.6.9"
-      resolve "^1.13.1"
-  
-  eslint-module-utils@^2.6.0:
-    version "2.6.0"
-    resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz#579ebd094f56af7797d19c9866c9c9486629bfa6"
-    dependencies:
-      debug "^2.6.9"
-      pkg-dir "^2.0.0"
-  
-  eslint-plugin-import@^2.18.2:
-    version "2.22.0"
-    resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.22.0.tgz#92f7736fe1fde3e2de77623c838dd992ff5ffb7e"
-    dependencies:
-      array-includes "^3.1.1"
-      array.prototype.flat "^1.2.3"
-      contains-path "^0.1.0"
-      debug "^2.6.9"
-      doctrine "1.5.0"
-      eslint-import-resolver-node "^0.3.3"
-      eslint-module-utils "^2.6.0"
-      has "^1.0.3"
-      minimatch "^3.0.4"
-      object.values "^1.1.1"
-      read-pkg-up "^2.0.0"
-      resolve "^1.17.0"
-      tsconfig-paths "^3.9.0"
-  
-  eslint-plugin-jest@^23.0.2:
-    version "23.20.0"
-    resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-23.20.0.tgz#e1d69c75f639e99d836642453c4e75ed22da4099"
-    dependencies:
-      "@typescript-eslint/experimental-utils" "^2.5.0"
-  
-  eslint-plugin-jsx-a11y@^6.2.3:
-    version "6.3.1"
-    resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.3.1.tgz#99ef7e97f567cc6a5b8dd5ab95a94a67058a2660"
-    dependencies:
-      "@babel/runtime" "^7.10.2"
-      aria-query "^4.2.2"
-      array-includes "^3.1.1"
-      ast-types-flow "^0.0.7"
-      axe-core "^3.5.4"
-      axobject-query "^2.1.2"
-      damerau-levenshtein "^1.0.6"
-      emoji-regex "^9.0.0"
-      has "^1.0.3"
-      jsx-ast-utils "^2.4.1"
-      language-tags "^1.0.5"
-  
-  eslint-plugin-prettier@^3.1.1:
-    version "3.1.4"
-    resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.4.tgz#168ab43154e2ea57db992a2cd097c828171f75c2"
-    dependencies:
-      prettier-linter-helpers "^1.0.0"
-  
-  eslint-plugin-react-hooks@^1.7.0:
-    version "1.7.0"
-    resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-1.7.0.tgz#6210b6d5a37205f0b92858f895a4e827020a7d04"
-  
-  eslint-plugin-react@^7.16.0:
-    version "7.20.6"
-    resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.20.6.tgz#4d7845311a93c463493ccfa0a19c9c5d0fd69f60"
-    dependencies:
-      array-includes "^3.1.1"
-      array.prototype.flatmap "^1.2.3"
-      doctrine "^2.1.0"
-      has "^1.0.3"
-      jsx-ast-utils "^2.4.1"
-      object.entries "^1.1.2"
-      object.fromentries "^2.0.2"
-      object.values "^1.1.1"
-      prop-types "^15.7.2"
-      resolve "^1.17.0"
-      string.prototype.matchall "^4.0.2"
-  
-  eslint-scope@^4.0.3:
-    version "4.0.3"
-    resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848"
-    dependencies:
-      esrecurse "^4.1.0"
-      estraverse "^4.1.1"
-  
-  eslint-scope@^5.0.0:
-    version "5.1.0"
-    resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.0.tgz#d0f971dfe59c69e0cada684b23d49dbf82600ce5"
-    dependencies:
-      esrecurse "^4.1.0"
-      estraverse "^4.1.1"
-  
-  eslint-utils@^1.3.1, eslint-utils@^1.4.3:
-    version "1.4.3"
-    resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.3.tgz#74fec7c54d0776b6f67e0251040b5806564e981f"
-    dependencies:
-      eslint-visitor-keys "^1.1.0"
-  
-  eslint-utils@^2.0.0:
-    version "2.1.0"
-    resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27"
-    dependencies:
-      eslint-visitor-keys "^1.1.0"
-  
-  eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0:
-    version "1.3.0"
-    resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e"
-  
-  eslint@^5.0.0:
-    version "5.16.0"
-    resolved "https://registry.yarnpkg.com/eslint/-/eslint-5.16.0.tgz#a1e3ac1aae4a3fbd8296fcf8f7ab7314cbb6abea"
-    dependencies:
-      "@babel/code-frame" "^7.0.0"
-      ajv "^6.9.1"
-      chalk "^2.1.0"
-      cross-spawn "^6.0.5"
-      debug "^4.0.1"
-      doctrine "^3.0.0"
-      eslint-scope "^4.0.3"
-      eslint-utils "^1.3.1"
-      eslint-visitor-keys "^1.0.0"
-      espree "^5.0.1"
-      esquery "^1.0.1"
-      esutils "^2.0.2"
-      file-entry-cache "^5.0.1"
-      functional-red-black-tree "^1.0.1"
-      glob "^7.1.2"
-      globals "^11.7.0"
-      ignore "^4.0.6"
-      import-fresh "^3.0.0"
-      imurmurhash "^0.1.4"
-      inquirer "^6.2.2"
-      js-yaml "^3.13.0"
-      json-stable-stringify-without-jsonify "^1.0.1"
-      levn "^0.3.0"
-      lodash "^4.17.11"
-      minimatch "^3.0.4"
-      mkdirp "^0.5.1"
-      natural-compare "^1.4.0"
-      optionator "^0.8.2"
-      path-is-inside "^1.0.2"
-      progress "^2.0.0"
-      regexpp "^2.0.1"
-      semver "^5.5.1"
-      strip-ansi "^4.0.0"
-      strip-json-comments "^2.0.1"
-      table "^5.2.3"
-      text-table "^0.2.0"
-  
-  eslint@^6.6.0:
-    version "6.8.0"
-    resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.8.0.tgz#62262d6729739f9275723824302fb227c8c93ffb"
-    dependencies:
-      "@babel/code-frame" "^7.0.0"
-      ajv "^6.10.0"
-      chalk "^2.1.0"
-      cross-spawn "^6.0.5"
-      debug "^4.0.1"
-      doctrine "^3.0.0"
-      eslint-scope "^5.0.0"
-      eslint-utils "^1.4.3"
-      eslint-visitor-keys "^1.1.0"
-      espree "^6.1.2"
-      esquery "^1.0.1"
-      esutils "^2.0.2"
-      file-entry-cache "^5.0.1"
-      functional-red-black-tree "^1.0.1"
-      glob-parent "^5.0.0"
-      globals "^12.1.0"
-      ignore "^4.0.6"
-      import-fresh "^3.0.0"
-      imurmurhash "^0.1.4"
-      inquirer "^7.0.0"
-      is-glob "^4.0.0"
-      js-yaml "^3.13.1"
-      json-stable-stringify-without-jsonify "^1.0.1"
-      levn "^0.3.0"
-      lodash "^4.17.14"
-      minimatch "^3.0.4"
-      mkdirp "^0.5.1"
-      natural-compare "^1.4.0"
-      optionator "^0.8.3"
-      progress "^2.0.0"
-      regexpp "^2.0.1"
-      semver "^6.1.2"
-      strip-ansi "^5.2.0"
-      strip-json-comments "^3.0.1"
-      table "^5.2.3"
-      text-table "^0.2.0"
-      v8-compile-cache "^2.0.3"
-  
-  espree@^5.0.1:
-    version "5.0.1"
-    resolved "https://registry.yarnpkg.com/espree/-/espree-5.0.1.tgz#5d6526fa4fc7f0788a5cf75b15f30323e2f81f7a"
-    dependencies:
-      acorn "^6.0.7"
-      acorn-jsx "^5.0.0"
-      eslint-visitor-keys "^1.0.0"
-  
-  espree@^6.1.2:
-    version "6.2.1"
-    resolved "https://registry.yarnpkg.com/espree/-/espree-6.2.1.tgz#77fc72e1fd744a2052c20f38a5b575832e82734a"
-    dependencies:
-      acorn "^7.1.1"
-      acorn-jsx "^5.2.0"
-      eslint-visitor-keys "^1.1.0"
-  
-  esprima@^4.0.0, esprima@^4.0.1:
-    version "4.0.1"
-    resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
-  
-  esquery@^1.0.1:
-    version "1.3.1"
-    resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.3.1.tgz#b78b5828aa8e214e29fb74c4d5b752e1c033da57"
-    dependencies:
-      estraverse "^5.1.0"
-  
-  esrecurse@^4.1.0:
-    version "4.3.0"
-    resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921"
-    dependencies:
-      estraverse "^5.2.0"
-  
-  estraverse@^4.1.1, estraverse@^4.2.0:
-    version "4.3.0"
-    resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d"
-  
-  estraverse@^5.1.0, estraverse@^5.2.0:
-    version "5.2.0"
-    resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880"
-  
-  esutils@^2.0.2:
-    version "2.0.3"
-    resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
-  
-  etag@~1.8.1:
-    version "1.8.1"
-    resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
-  
-  eventemitter3@^4.0.0:
-    version "4.0.7"
-    resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f"
-  
-  events@^3.0.0:
-    version "3.2.0"
-    resolved "https://registry.yarnpkg.com/events/-/events-3.2.0.tgz#93b87c18f8efcd4202a461aec4dfc0556b639379"
-  
-  eventsource@^1.0.7:
-    version "1.0.7"
-    resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-1.0.7.tgz#8fbc72c93fcd34088090bc0a4e64f4b5cee6d8d0"
-    dependencies:
-      original "^1.0.0"
-  
-  evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3:
-    version "1.0.3"
-    resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02"
-    dependencies:
-      md5.js "^1.3.4"
-      safe-buffer "^5.1.1"
-  
-  exec-sh@^0.3.2:
-    version "0.3.4"
-    resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.4.tgz#3a018ceb526cc6f6df2bb504b2bfe8e3a4934ec5"
-  
-  execa@^1.0.0:
-    version "1.0.0"
-    resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8"
-    dependencies:
-      cross-spawn "^6.0.0"
-      get-stream "^4.0.0"
-      is-stream "^1.1.0"
-      npm-run-path "^2.0.0"
-      p-finally "^1.0.0"
-      signal-exit "^3.0.0"
-      strip-eof "^1.0.0"
-  
-  exif-parser@^0.1.12:
-    version "0.1.12"
-    resolved "https://registry.yarnpkg.com/exif-parser/-/exif-parser-0.1.12.tgz#58a9d2d72c02c1f6f02a0ef4a9166272b7760922"
-  
-  exit@^0.1.2:
-    version "0.1.2"
-    resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c"
-  
-  expand-brackets@^2.1.4:
-    version "2.1.4"
-    resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622"
-    dependencies:
-      debug "^2.3.3"
-      define-property "^0.2.5"
-      extend-shallow "^2.0.1"
-      posix-character-classes "^0.1.0"
-      regex-not "^1.0.0"
-      snapdragon "^0.8.1"
-      to-regex "^3.0.1"
-  
-  expand-tilde@^2.0.0, expand-tilde@^2.0.2:
-    version "2.0.2"
-    resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502"
-    dependencies:
-      homedir-polyfill "^1.0.1"
-  
-  expect@^24.9.0:
-    version "24.9.0"
-    resolved "https://registry.yarnpkg.com/expect/-/expect-24.9.0.tgz#b75165b4817074fa4a157794f46fe9f1ba15b6ca"
-    dependencies:
-      "@jest/types" "^24.9.0"
-      ansi-styles "^3.2.0"
-      jest-get-type "^24.9.0"
-      jest-matcher-utils "^24.9.0"
-      jest-message-util "^24.9.0"
-      jest-regex-util "^24.9.0"
-  
-  express@^4.16.3, express@^4.17.1:
-    version "4.17.1"
-    resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134"
-    dependencies:
-      accepts "~1.3.7"
-      array-flatten "1.1.1"
-      body-parser "1.19.0"
-      content-disposition "0.5.3"
-      content-type "~1.0.4"
-      cookie "0.4.0"
-      cookie-signature "1.0.6"
-      debug "2.6.9"
-      depd "~1.1.2"
-      encodeurl "~1.0.2"
-      escape-html "~1.0.3"
-      etag "~1.8.1"
-      finalhandler "~1.1.2"
-      fresh "0.5.2"
-      merge-descriptors "1.0.1"
-      methods "~1.1.2"
-      on-finished "~2.3.0"
-      parseurl "~1.3.3"
-      path-to-regexp "0.1.7"
-      proxy-addr "~2.0.5"
-      qs "6.7.0"
-      range-parser "~1.2.1"
-      safe-buffer "5.1.2"
-      send "0.17.1"
-      serve-static "1.14.1"
-      setprototypeof "1.1.1"
-      statuses "~1.5.0"
-      type-is "~1.6.18"
-      utils-merge "1.0.1"
-      vary "~1.1.2"
-  
-  extend-shallow@^2.0.1:
-    version "2.0.1"
-    resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f"
-    dependencies:
-      is-extendable "^0.1.0"
-  
-  extend-shallow@^3.0.0, extend-shallow@^3.0.2:
-    version "3.0.2"
-    resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8"
-    dependencies:
-      assign-symbols "^1.0.0"
-      is-extendable "^1.0.1"
-  
-  extend@^3.0.0, extend@~3.0.2:
-    version "3.0.2"
-    resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
-  
-  external-editor@^3.0.3:
-    version "3.1.0"
-    resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495"
-    dependencies:
-      chardet "^0.7.0"
-      iconv-lite "^0.4.24"
-      tmp "^0.0.33"
-  
-  extglob@^2.0.4:
-    version "2.0.4"
-    resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543"
-    dependencies:
-      array-unique "^0.3.2"
-      define-property "^1.0.0"
-      expand-brackets "^2.1.4"
-      extend-shallow "^2.0.1"
-      fragment-cache "^0.2.1"
-      regex-not "^1.0.0"
-      snapdragon "^0.8.1"
-      to-regex "^3.0.1"
-  
-  extsprintf@1.3.0:
-    version "1.3.0"
-    resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05"
-  
-  extsprintf@^1.2.0:
-    version "1.4.0"
-    resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f"
-  
-  fast-deep-equal@^3.1.1:
-    version "3.1.3"
-    resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
-  
-  fast-diff@^1.1.2:
-    version "1.2.0"
-    resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03"
-  
-  fast-glob@^2.2.6:
-    version "2.2.7"
-    resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.7.tgz#6953857c3afa475fff92ee6015d52da70a4cd39d"
-    dependencies:
-      "@mrmlnc/readdir-enhanced" "^2.2.1"
-      "@nodelib/fs.stat" "^1.1.2"
-      glob-parent "^3.1.0"
-      is-glob "^4.0.0"
-      merge2 "^1.2.3"
-      micromatch "^3.1.10"
-  
-  fast-json-stable-stringify@^2.0.0:
-    version "2.1.0"
-    resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
-  
-  fast-levenshtein@~2.0.6:
-    version "2.0.6"
-    resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
-  
-  faye-websocket@^0.10.0:
-    version "0.10.0"
-    resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4"
-    dependencies:
-      websocket-driver ">=0.5.1"
-  
-  faye-websocket@~0.11.1:
-    version "0.11.3"
-    resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.3.tgz#5c0e9a8968e8912c286639fde977a8b209f2508e"
-    dependencies:
-      websocket-driver ">=0.5.1"
-  
-  fb-watchman@^2.0.0:
-    version "2.0.1"
-    resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85"
-    dependencies:
-      bser "2.1.1"
-  
-  fibers@^3.1.1:
-    version "3.1.1"
-    resolved "https://registry.yarnpkg.com/fibers/-/fibers-3.1.1.tgz#0238902ca938347bd779523692fbeefdf4f688ab"
-    dependencies:
-      detect-libc "^1.0.3"
-  
-  figgy-pudding@^3.5.1:
-    version "3.5.2"
-    resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e"
-  
-  figures@^2.0.0:
-    version "2.0.0"
-    resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962"
-    dependencies:
-      escape-string-regexp "^1.0.5"
-  
-  figures@^3.0.0:
-    version "3.2.0"
-    resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af"
-    dependencies:
-      escape-string-regexp "^1.0.5"
-  
-  file-entry-cache@^5.0.1:
-    version "5.0.1"
-    resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c"
-    dependencies:
-      flat-cache "^2.0.1"
-  
-  file-loader@^4.2.0:
-    version "4.3.0"
-    resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-4.3.0.tgz#780f040f729b3d18019f20605f723e844b8a58af"
-    dependencies:
-      loader-utils "^1.2.3"
-      schema-utils "^2.5.0"
-  
-  file-saver@^2.0.2:
-    version "2.0.2"
-    resolved "https://registry.yarnpkg.com/file-saver/-/file-saver-2.0.2.tgz#06d6e728a9ea2df2cce2f8d9e84dfcdc338ec17a"
-  
-  file-type@^9.0.0:
-    version "9.0.0"
-    resolved "https://registry.yarnpkg.com/file-type/-/file-type-9.0.0.tgz#a68d5ad07f486414dfb2c8866f73161946714a18"
-  
-  file-uri-to-path@1.0.0:
-    version "1.0.0"
-    resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd"
-  
-  file@^0.2.2:
-    version "0.2.2"
-    resolved "https://registry.yarnpkg.com/file/-/file-0.2.2.tgz#c3dfd8f8cf3535ae455c2b423c2e52635d76b4d3"
-  
-  filesize@^3.6.1:
-    version "3.6.1"
-    resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.6.1.tgz#090bb3ee01b6f801a8a8be99d31710b3422bb317"
-  
-  fill-range@^4.0.0:
-    version "4.0.0"
-    resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7"
-    dependencies:
-      extend-shallow "^2.0.1"
-      is-number "^3.0.0"
-      repeat-string "^1.6.1"
-      to-regex-range "^2.1.0"
-  
-  fill-range@^7.0.1:
-    version "7.0.1"
-    resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
-    dependencies:
-      to-regex-range "^5.0.1"
-  
-  finalhandler@~1.1.2:
-    version "1.1.2"
-    resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d"
-    dependencies:
-      debug "2.6.9"
-      encodeurl "~1.0.2"
-      escape-html "~1.0.3"
-      on-finished "~2.3.0"
-      parseurl "~1.3.3"
-      statuses "~1.5.0"
-      unpipe "~1.0.0"
-  
-  find-cache-dir@^2.1.0:
-    version "2.1.0"
-    resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7"
-    dependencies:
-      commondir "^1.0.1"
-      make-dir "^2.0.0"
-      pkg-dir "^3.0.0"
-  
-  find-line-column@^0.5.2:
-    version "0.5.2"
-    resolved "https://registry.yarnpkg.com/find-line-column/-/find-line-column-0.5.2.tgz#db00238ff868551a182e74a103416d295a98c8ca"
-  
-  find-root@^1.0.0:
-    version "1.1.0"
-    resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4"
-  
-  find-up@^1.0.0:
-    version "1.1.2"
-    resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f"
-    dependencies:
-      path-exists "^2.0.0"
-      pinkie-promise "^2.0.0"
-  
-  find-up@^2.0.0, find-up@^2.1.0:
-    version "2.1.0"
-    resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7"
-    dependencies:
-      locate-path "^2.0.0"
-  
-  find-up@^3.0.0:
-    version "3.0.0"
-    resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73"
-    dependencies:
-      locate-path "^3.0.0"
-  
-  findup-sync@^3.0.0:
-    version "3.0.0"
-    resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-3.0.0.tgz#17b108f9ee512dfb7a5c7f3c8b27ea9e1a9c08d1"
-    dependencies:
-      detect-file "^1.0.0"
-      is-glob "^4.0.0"
-      micromatch "^3.0.4"
-      resolve-dir "^1.0.1"
-  
-  flat-cache@^2.0.1:
-    version "2.0.1"
-    resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0"
-    dependencies:
-      flatted "^2.0.0"
-      rimraf "2.6.3"
-      write "1.0.3"
-  
-  flatted@^2.0.0:
-    version "2.0.2"
-    resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138"
-  
-  flush-write-stream@^1.0.0:
-    version "1.1.1"
-    resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8"
-    dependencies:
-      inherits "^2.0.3"
-      readable-stream "^2.3.6"
-  
-  focus-trap-react@^4.0.1:
-    version "4.0.1"
-    resolved "https://registry.yarnpkg.com/focus-trap-react/-/focus-trap-react-4.0.1.tgz#3cffd39341df3b2f546a4a2fe94cfdea66154683"
-    dependencies:
-      focus-trap "^3.0.0"
-  
-  focus-trap@^3.0.0:
-    version "3.0.0"
-    resolved "https://registry.yarnpkg.com/focus-trap/-/focus-trap-3.0.0.tgz#4d2ee044ae66bf7eb6ebc6c93bd7a1039481d7dc"
-    dependencies:
-      tabbable "^3.1.0"
-      xtend "^4.0.1"
-  
-  follow-redirects@^1.0.0:
-    version "1.13.0"
-    resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.13.0.tgz#b42e8d93a2a7eea5ed88633676d6597bc8e384db"
-  
-  for-in@^1.0.2:
-    version "1.0.2"
-    resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
-  
-  forever-agent@~0.6.1:
-    version "0.6.1"
-    resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
-  
-  form-data@~2.3.2:
-    version "2.3.3"
-    resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6"
-    dependencies:
-      asynckit "^0.4.0"
-      combined-stream "^1.0.6"
-      mime-types "^2.1.12"
-  
-  forwarded@~0.1.2:
-    version "0.1.2"
-    resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84"
-  
-  fragment-cache@^0.2.1:
-    version "0.2.1"
-    resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19"
-    dependencies:
-      map-cache "^0.2.2"
-  
-  fresh@0.5.2:
-    version "0.5.2"
-    resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"
-  
-  from2@^2.1.0:
-    version "2.3.0"
-    resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af"
-    dependencies:
-      inherits "^2.0.1"
-      readable-stream "^2.0.0"
-  
-  fs-extra@^4.0.2:
-    version "4.0.3"
-    resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94"
-    dependencies:
-      graceful-fs "^4.1.2"
-      jsonfile "^4.0.0"
-      universalify "^0.1.0"
-  
-  fs-readdir-recursive@^1.1.0:
-    version "1.1.0"
-    resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz#e32fc030a2ccee44a6b5371308da54be0b397d27"
-  
-  fs-write-stream-atomic@^1.0.8:
-    version "1.0.10"
-    resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9"
-    dependencies:
-      graceful-fs "^4.1.2"
-      iferr "^0.1.5"
-      imurmurhash "^0.1.4"
-      readable-stream "1 || 2"
-  
-  fs.realpath@^1.0.0:
-    version "1.0.0"
-    resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
-  
-  fsevents@^1.2.7:
-    version "1.2.13"
-    resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38"
-    dependencies:
-      bindings "^1.5.0"
-      nan "^2.12.1"
-  
-  fsevents@~2.1.2:
-    version "2.1.3"
-    resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e"
-  
-  fstream@^1.0.0, fstream@^1.0.12:
-    version "1.0.12"
-    resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.12.tgz#4e8ba8ee2d48be4f7d0de505455548eae5932045"
-    dependencies:
-      graceful-fs "^4.1.2"
-      inherits "~2.0.0"
-      mkdirp ">=0.5 0"
-      rimraf "2"
-  
-  function-bind@^1.1.1:
-    version "1.1.1"
-    resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
-  
-  functional-red-black-tree@^1.0.1:
-    version "1.0.1"
-    resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
-  
-  gauge@~2.7.3:
-    version "2.7.4"
-    resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7"
-    dependencies:
-      aproba "^1.0.3"
-      console-control-strings "^1.0.0"
-      has-unicode "^2.0.0"
-      object-assign "^4.1.0"
-      signal-exit "^3.0.0"
-      string-width "^1.0.1"
-      strip-ansi "^3.0.1"
-      wide-align "^1.1.0"
-  
-  gaze@^1.0.0:
-    version "1.1.3"
-    resolved "https://registry.yarnpkg.com/gaze/-/gaze-1.1.3.tgz#c441733e13b927ac8c0ff0b4c3b033f28812924a"
-    dependencies:
-      globule "^1.0.0"
-  
-  gensync@^1.0.0-beta.1:
-    version "1.0.0-beta.1"
-    resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269"
-  
-  get-caller-file@^1.0.1:
-    version "1.0.3"
-    resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a"
-  
-  get-caller-file@^2.0.1:
-    version "2.0.5"
-    resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
-  
-  get-own-enumerable-property-symbols@^3.0.0:
-    version "3.0.2"
-    resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664"
-  
-  get-stdin@^4.0.1:
-    version "4.0.1"
-    resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe"
-  
-  get-stdin@^6.0.0:
-    version "6.0.0"
-    resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b"
-  
-  get-stream@^4.0.0:
-    version "4.1.0"
-    resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5"
-    dependencies:
-      pump "^3.0.0"
-  
-  get-value@^2.0.3, get-value@^2.0.6:
-    version "2.0.6"
-    resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28"
-  
-  getpass@^0.1.1:
-    version "0.1.7"
-    resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa"
-    dependencies:
-      assert-plus "^1.0.0"
-  
-  glob-parent@^3.1.0:
-    version "3.1.0"
-    resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae"
-    dependencies:
-      is-glob "^3.1.0"
-      path-dirname "^1.0.0"
-  
-  glob-parent@^5.0.0, glob-parent@~5.1.0:
-    version "5.1.1"
-    resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229"
-    dependencies:
-      is-glob "^4.0.1"
-  
-  glob-to-regexp@^0.3.0:
-    version "0.3.0"
-    resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab"
-  
-  glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@~7.1.1:
-    version "7.1.6"
-    resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
-    dependencies:
-      fs.realpath "^1.0.0"
-      inflight "^1.0.4"
-      inherits "2"
-      minimatch "^3.0.4"
-      once "^1.3.0"
-      path-is-absolute "^1.0.0"
-  
-  global-modules@^1.0.0:
-    version "1.0.0"
-    resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea"
-    dependencies:
-      global-prefix "^1.0.1"
-      is-windows "^1.0.1"
-      resolve-dir "^1.0.0"
-  
-  global-modules@^2.0.0:
-    version "2.0.0"
-    resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780"
-    dependencies:
-      global-prefix "^3.0.0"
-  
-  global-prefix@^1.0.1:
-    version "1.0.2"
-    resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe"
-    dependencies:
-      expand-tilde "^2.0.2"
-      homedir-polyfill "^1.0.1"
-      ini "^1.3.4"
-      is-windows "^1.0.1"
-      which "^1.2.14"
-  
-  global-prefix@^3.0.0:
-    version "3.0.0"
-    resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97"
-    dependencies:
-      ini "^1.3.5"
-      kind-of "^6.0.2"
-      which "^1.3.1"
-  
-  global@~4.3.0:
-    version "4.3.2"
-    resolved "https://registry.yarnpkg.com/global/-/global-4.3.2.tgz#e76989268a6c74c38908b1305b10fc0e394e9d0f"
-    dependencies:
-      min-document "^2.19.0"
-      process "~0.5.1"
-  
-  globals@^11.1.0, globals@^11.7.0:
-    version "11.12.0"
-    resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
-  
-  globals@^12.1.0:
-    version "12.4.0"
-    resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8"
-    dependencies:
-      type-fest "^0.8.1"
-  
-  globby@^6.1.0:
-    version "6.1.0"
-    resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c"
-    dependencies:
-      array-union "^1.0.1"
-      glob "^7.0.3"
-      object-assign "^4.0.1"
-      pify "^2.0.0"
-      pinkie-promise "^2.0.0"
-  
-  globby@^7.1.1:
-    version "7.1.1"
-    resolved "https://registry.yarnpkg.com/globby/-/globby-7.1.1.tgz#fb2ccff9401f8600945dfada97440cca972b8680"
-    dependencies:
-      array-union "^1.0.1"
-      dir-glob "^2.0.0"
-      glob "^7.1.2"
-      ignore "^3.3.5"
-      pify "^3.0.0"
-      slash "^1.0.0"
-  
-  globby@^9.0.0:
-    version "9.2.0"
-    resolved "https://registry.yarnpkg.com/globby/-/globby-9.2.0.tgz#fd029a706c703d29bdd170f4b6db3a3f7a7cb63d"
-    dependencies:
-      "@types/glob" "^7.1.1"
-      array-union "^1.0.2"
-      dir-glob "^2.2.2"
-      fast-glob "^2.2.6"
-      glob "^7.1.3"
-      ignore "^4.0.3"
-      pify "^4.0.1"
-      slash "^2.0.0"
-  
-  globule@^1.0.0:
-    version "1.3.2"
-    resolved "https://registry.yarnpkg.com/globule/-/globule-1.3.2.tgz#d8bdd9e9e4eef8f96e245999a5dee7eb5d8529c4"
-    dependencies:
-      glob "~7.1.1"
-      lodash "~4.17.10"
-      minimatch "~3.0.2"
-  
-  good-listener@^1.2.2:
-    version "1.2.2"
-    resolved "https://registry.yarnpkg.com/good-listener/-/good-listener-1.2.2.tgz#d53b30cdf9313dffb7dc9a0d477096aa6d145c50"
-    dependencies:
-      delegate "^3.1.2"
-  
-  graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.4:
-    version "4.2.4"
-    resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb"
-  
-  growly@^1.3.0:
-    version "1.3.0"
-    resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081"
-  
-  gzip-size@^5.0.0:
-    version "5.1.1"
-    resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-5.1.1.tgz#cb9bee692f87c0612b232840a873904e4c135274"
-    dependencies:
-      duplexer "^0.1.1"
-      pify "^4.0.1"
-  
-  handle-thing@^2.0.0:
-    version "2.0.1"
-    resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e"
-  
-  har-schema@^2.0.0:
-    version "2.0.0"
-    resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92"
-  
-  har-validator@~5.1.3:
-    version "5.1.5"
-    resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd"
-    dependencies:
-      ajv "^6.12.3"
-      har-schema "^2.0.0"
-  
-  has-ansi@^2.0.0:
-    version "2.0.0"
-    resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
-    dependencies:
-      ansi-regex "^2.0.0"
-  
-  has-flag@^3.0.0:
-    version "3.0.0"
-    resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
-  
-  has-flag@^4.0.0:
-    version "4.0.0"
-    resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
-  
-  has-symbols@^1.0.0, has-symbols@^1.0.1:
-    version "1.0.1"
-    resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8"
-  
-  has-unicode@^2.0.0:
-    version "2.0.1"
-    resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
-  
-  has-value@^0.3.1:
-    version "0.3.1"
-    resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f"
-    dependencies:
-      get-value "^2.0.3"
-      has-values "^0.1.4"
-      isobject "^2.0.0"
-  
-  has-value@^1.0.0:
-    version "1.0.0"
-    resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177"
-    dependencies:
-      get-value "^2.0.6"
-      has-values "^1.0.0"
-      isobject "^3.0.0"
-  
-  has-values@^0.1.4:
-    version "0.1.4"
-    resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771"
-  
-  has-values@^1.0.0:
-    version "1.0.0"
-    resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f"
-    dependencies:
-      is-number "^3.0.0"
-      kind-of "^4.0.0"
-  
-  has@^1.0.3:
-    version "1.0.3"
-    resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
-    dependencies:
-      function-bind "^1.1.1"
-  
-  hash-base@^3.0.0:
-    version "3.1.0"
-    resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33"
-    dependencies:
-      inherits "^2.0.4"
-      readable-stream "^3.6.0"
-      safe-buffer "^5.2.0"
-  
-  hash.js@^1.0.0, hash.js@^1.0.3:
-    version "1.1.7"
-    resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42"
-    dependencies:
-      inherits "^2.0.3"
-      minimalistic-assert "^1.0.1"
-  
-  he@1.2.x:
-    version "1.2.0"
-    resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f"
-  
-  hmac-drbg@^1.0.0:
-    version "1.0.1"
-    resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1"
-    dependencies:
-      hash.js "^1.0.3"
-      minimalistic-assert "^1.0.0"
-      minimalistic-crypto-utils "^1.0.1"
-  
-  homedir-polyfill@^1.0.1:
-    version "1.0.3"
-    resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8"
-    dependencies:
-      parse-passwd "^1.0.0"
-  
-  hoopy@^0.1.4:
-    version "0.1.4"
-    resolved "https://registry.yarnpkg.com/hoopy/-/hoopy-0.1.4.tgz#609207d661100033a9a9402ad3dea677381c1b1d"
-  
-  hosted-git-info@^2.1.4:
-    version "2.8.8"
-    resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488"
-  
-  hpack.js@^2.1.6:
-    version "2.1.6"
-    resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2"
-    dependencies:
-      inherits "^2.0.1"
-      obuf "^1.0.0"
-      readable-stream "^2.0.1"
-      wbuf "^1.1.0"
-  
-  html-encoding-sniffer@^1.0.2:
-    version "1.0.2"
-    resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8"
-    dependencies:
-      whatwg-encoding "^1.0.1"
-  
-  html-entities@^1.3.1:
-    version "1.3.1"
-    resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.3.1.tgz#fb9a1a4b5b14c5daba82d3e34c6ae4fe701a0e44"
-  
-  html-escaper@^2.0.0:
-    version "2.0.2"
-    resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453"
-  
-  html-minifier@^3.2.3:
-    version "3.5.21"
-    resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.5.21.tgz#d0040e054730e354db008463593194015212d20c"
-    dependencies:
-      camel-case "3.0.x"
-      clean-css "4.2.x"
-      commander "2.17.x"
-      he "1.2.x"
-      param-case "2.1.x"
-      relateurl "0.2.x"
-      uglify-js "3.4.x"
-  
-  html-to-react@^1.3.4:
-    version "1.4.3"
-    resolved "https://registry.yarnpkg.com/html-to-react/-/html-to-react-1.4.3.tgz#1430a1cb581ef29533892ec70a2fdc4554b17ffd"
-    dependencies:
-      domhandler "^3.0"
-      htmlparser2 "^4.1.0"
-      lodash.camelcase "^4.3.0"
-      ramda "^0.27"
-  
-  html-webpack-plugin@^3.2.0:
-    version "3.2.0"
-    resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz#b01abbd723acaaa7b37b6af4492ebda03d9dd37b"
-    dependencies:
-      html-minifier "^3.2.3"
-      loader-utils "^0.2.16"
-      lodash "^4.17.3"
-      pretty-error "^2.0.2"
-      tapable "^1.0.0"
-      toposort "^1.0.0"
-      util.promisify "1.0.0"
-  
-  htmlparser2@^3.3.0:
-    version "3.10.1"
-    resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f"
-    dependencies:
-      domelementtype "^1.3.1"
-      domhandler "^2.3.0"
-      domutils "^1.5.1"
-      entities "^1.1.1"
-      inherits "^2.0.1"
-      readable-stream "^3.1.1"
-  
-  htmlparser2@^4.1.0:
-    version "4.1.0"
-    resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-4.1.0.tgz#9a4ef161f2e4625ebf7dfbe6c0a2f52d18a59e78"
-    dependencies:
-      domelementtype "^2.0.1"
-      domhandler "^3.0.0"
-      domutils "^2.0.0"
-      entities "^2.0.0"
-  
-  http-deceiver@^1.2.7:
-    version "1.2.7"
-    resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87"
-  
-  http-errors@1.7.2:
-    version "1.7.2"
-    resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f"
-    dependencies:
-      depd "~1.1.2"
-      inherits "2.0.3"
-      setprototypeof "1.1.1"
-      statuses ">= 1.5.0 < 2"
-      toidentifier "1.0.0"
-  
-  http-errors@~1.6.2:
-    version "1.6.3"
-    resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d"
-    dependencies:
-      depd "~1.1.2"
-      inherits "2.0.3"
-      setprototypeof "1.1.0"
-      statuses ">= 1.4.0 < 2"
-  
-  http-errors@~1.7.2:
-    version "1.7.3"
-    resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06"
-    dependencies:
-      depd "~1.1.2"
-      inherits "2.0.4"
-      setprototypeof "1.1.1"
-      statuses ">= 1.5.0 < 2"
-      toidentifier "1.0.0"
-  
-  http-parser-js@>=0.5.1:
-    version "0.5.2"
-    resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.2.tgz#da2e31d237b393aae72ace43882dd7e270a8ff77"
-  
-  http-proxy-middleware@0.19.1:
-    version "0.19.1"
-    resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz#183c7dc4aa1479150306498c210cdaf96080a43a"
-    dependencies:
-      http-proxy "^1.17.0"
-      is-glob "^4.0.0"
-      lodash "^4.17.11"
-      micromatch "^3.1.10"
-  
-  http-proxy@^1.17.0:
-    version "1.18.1"
-    resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549"
-    dependencies:
-      eventemitter3 "^4.0.0"
-      follow-redirects "^1.0.0"
-      requires-port "^1.0.0"
-  
-  http-signature@~1.2.0:
-    version "1.2.0"
-    resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1"
-    dependencies:
-      assert-plus "^1.0.0"
-      jsprim "^1.2.2"
-      sshpk "^1.7.0"
-  
-  https-browserify@^1.0.0:
-    version "1.0.0"
-    resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73"
-  
-  humanize@0.0.9:
-    version "0.0.9"
-    resolved "https://registry.yarnpkg.com/humanize/-/humanize-0.0.9.tgz#1994ffaecdfe9c441ed2bdac7452b7bb4c9e41a4"
-  
-  iconv-lite@0.4.24, iconv-lite@^0.4.24:
-    version "0.4.24"
-    resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
-    dependencies:
-      safer-buffer ">= 2.1.2 < 3"
-  
-  icss-utils@^4.0.0, icss-utils@^4.1.1:
-    version "4.1.1"
-    resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467"
-    dependencies:
-      postcss "^7.0.14"
-  
-  ieee754@^1.1.4:
-    version "1.1.13"
-    resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84"
-  
-  iferr@^0.1.5:
-    version "0.1.5"
-    resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501"
-  
-  ignore@^3.3.5:
-    version "3.3.10"
-    resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043"
-  
-  ignore@^4.0.3, ignore@^4.0.6:
-    version "4.0.6"
-    resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"
-  
-  immediate@~3.0.5:
-    version "3.0.6"
-    resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b"
-  
-  immutable@^4.0.0-rc.12:
-    version "4.0.0-rc.12"
-    resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.0.0-rc.12.tgz#ca59a7e4c19ae8d9bf74a97bdf0f6e2f2a5d0217"
-  
-  import-fresh@^2.0.0:
-    version "2.0.0"
-    resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546"
-    dependencies:
-      caller-path "^2.0.0"
-      resolve-from "^3.0.0"
-  
-  import-fresh@^3.0.0:
-    version "3.2.1"
-    resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66"
-    dependencies:
-      parent-module "^1.0.0"
-      resolve-from "^4.0.0"
-  
-  import-local@^2.0.0:
-    version "2.0.0"
-    resolved "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d"
-    dependencies:
-      pkg-dir "^3.0.0"
-      resolve-cwd "^2.0.0"
-  
-  import-sort-cli@^6.0.0:
-    version "6.0.0"
-    resolved "https://registry.yarnpkg.com/import-sort-cli/-/import-sort-cli-6.0.0.tgz#de2207fc38d9f3acff373bb39e581f52f5b27fc4"
-    dependencies:
-      diff "^4.0.1"
-      file "^0.2.2"
-      globby "^9.0.0"
-      import-sort "^6.0.0"
-      import-sort-config "^6.0.0"
-      import-sort-parser "^6.0.0"
-      import-sort-parser-babylon "^6.0.0"
-      import-sort-style "^6.0.0"
-      import-sort-style-eslint "^6.0.0"
-      mkdirp "^0.5.1"
-      yargs "^12.0.5"
-  
-  import-sort-config@^6.0.0:
-    version "6.0.0"
-    resolved "https://registry.yarnpkg.com/import-sort-config/-/import-sort-config-6.0.0.tgz#7313775b761eb479ab2d383945ecb15c008763b8"
-    dependencies:
-      cosmiconfig "^5.0.5"
-      find-root "^1.0.0"
-      minimatch "^3.0.4"
-      resolve-from "^4.0.0"
-  
-  import-sort-parser-babylon@^6.0.0:
-    version "6.0.0"
-    resolved "https://registry.yarnpkg.com/import-sort-parser-babylon/-/import-sort-parser-babylon-6.0.0.tgz#e1a4c28e0794ad7d9ff36cd045559d8ca8c38be7"
-    dependencies:
-      "@babel/core" "^7.2.2"
-      "@babel/parser" "^7.0.0-beta.54"
-      "@babel/traverse" "^7.0.0-beta.54"
-      "@babel/types" "^7.0.0-beta.54"
-      find-line-column "^0.5.2"
-  
-  import-sort-parser@^6.0.0:
-    version "6.0.0"
-    resolved "https://registry.yarnpkg.com/import-sort-parser/-/import-sort-parser-6.0.0.tgz#0d901f264d98ed7caaae71f66128a686f828f2f4"
-  
-  import-sort-style-eslint@^6.0.0:
-    version "6.0.0"
-    resolved "https://registry.yarnpkg.com/import-sort-style-eslint/-/import-sort-style-eslint-6.0.0.tgz#37d30104b4b984be5f0eca7b302fb2fe4d0ead35"
-    dependencies:
-      eslint "^5.0.0"
-      lodash "^4.17.10"
-  
-  import-sort-style-renke@^6.0.0:
-    version "6.0.0"
-    resolved "https://registry.yarnpkg.com/import-sort-style-renke/-/import-sort-style-renke-6.0.0.tgz#b97b19537f21b41137c3f6d4a9a56f98084e31ee"
-  
-  import-sort-style@^6.0.0:
-    version "6.0.0"
-    resolved "https://registry.yarnpkg.com/import-sort-style/-/import-sort-style-6.0.0.tgz#088523f056e5064c34a6426f4733674d81b42e6a"
-  
-  import-sort@^6.0.0:
-    version "6.0.0"
-    resolved "https://registry.yarnpkg.com/import-sort/-/import-sort-6.0.0.tgz#48ba2a7b53f2566ca1dd004327ea271321ad64ff"
-    dependencies:
-      detect-newline "^2.1.0"
-      import-sort-parser "^6.0.0"
-      import-sort-style "^6.0.0"
-      is-builtin-module "^3.0.0"
-      resolve "^1.8.1"
-  
-  imurmurhash@^0.1.4:
-    version "0.1.4"
-    resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
-  
-  in-publish@^2.0.0:
-    version "2.0.1"
-    resolved "https://registry.yarnpkg.com/in-publish/-/in-publish-2.0.1.tgz#948b1a535c8030561cea522f73f78f4be357e00c"
-  
-  indent-string@^2.1.0:
-    version "2.1.0"
-    resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80"
-    dependencies:
-      repeating "^2.0.0"
-  
-  indexes-of@^1.0.1:
-    version "1.0.1"
-    resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607"
-  
-  infer-owner@^1.0.3:
-    version "1.0.4"
-    resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467"
-  
-  inflight@^1.0.4:
-    version "1.0.6"
-    resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
-    dependencies:
-      once "^1.3.0"
-      wrappy "1"
-  
-  inherits@2, inherits@2.0.4, inherits@^2.0.0, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3:
-    version "2.0.4"
-    resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
-  
-  inherits@2.0.1:
-    version "2.0.1"
-    resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1"
-  
-  inherits@2.0.3:
-    version "2.0.3"
-    resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
-  
-  ini@^1.3.4, ini@^1.3.5:
-    version "1.3.5"
-    resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927"
-  
-  inquirer@^6.2.2:
-    version "6.5.2"
-    resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.2.tgz#ad50942375d036d327ff528c08bd5fab089928ca"
-    dependencies:
-      ansi-escapes "^3.2.0"
-      chalk "^2.4.2"
-      cli-cursor "^2.1.0"
-      cli-width "^2.0.0"
-      external-editor "^3.0.3"
-      figures "^2.0.0"
-      lodash "^4.17.12"
-      mute-stream "0.0.7"
-      run-async "^2.2.0"
-      rxjs "^6.4.0"
-      string-width "^2.1.0"
-      strip-ansi "^5.1.0"
-      through "^2.3.6"
-  
-  inquirer@^7.0.0:
-    version "7.3.3"
-    resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.3.3.tgz#04d176b2af04afc157a83fd7c100e98ee0aad003"
-    dependencies:
-      ansi-escapes "^4.2.1"
-      chalk "^4.1.0"
-      cli-cursor "^3.1.0"
-      cli-width "^3.0.0"
-      external-editor "^3.0.3"
-      figures "^3.0.0"
-      lodash "^4.17.19"
-      mute-stream "0.0.8"
-      run-async "^2.4.0"
-      rxjs "^6.6.0"
-      string-width "^4.1.0"
-      strip-ansi "^6.0.0"
-      through "^2.3.6"
-  
-  internal-ip@^4.3.0:
-    version "4.3.0"
-    resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-4.3.0.tgz#845452baad9d2ca3b69c635a137acb9a0dad0907"
-    dependencies:
-      default-gateway "^4.2.0"
-      ipaddr.js "^1.9.0"
-  
-  internal-slot@^1.0.2:
-    version "1.0.2"
-    resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.2.tgz#9c2e9fb3cd8e5e4256c6f45fe310067fcfa378a3"
-    dependencies:
-      es-abstract "^1.17.0-next.1"
-      has "^1.0.3"
-      side-channel "^1.0.2"
-  
-  interpret@^1.4.0:
-    version "1.4.0"
-    resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e"
-  
-  invariant@^2.2.2, invariant@^2.2.4:
-    version "2.2.4"
-    resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"
-    dependencies:
-      loose-envify "^1.0.0"
-  
-  invert-kv@^2.0.0:
-    version "2.0.0"
-    resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02"
-  
-  ip-regex@^2.1.0:
-    version "2.1.0"
-    resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9"
-  
-  ip@^1.1.0, ip@^1.1.5:
-    version "1.1.5"
-    resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a"
-  
-  ipaddr.js@1.9.1, ipaddr.js@^1.9.0:
-    version "1.9.1"
-    resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3"
-  
-  is-absolute-url@^3.0.3:
-    version "3.0.3"
-    resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-3.0.3.tgz#96c6a22b6a23929b11ea0afb1836c36ad4a5d698"
-  
-  is-accessor-descriptor@^0.1.6:
-    version "0.1.6"
-    resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6"
-    dependencies:
-      kind-of "^3.0.2"
-  
-  is-accessor-descriptor@^1.0.0:
-    version "1.0.0"
-    resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656"
-    dependencies:
-      kind-of "^6.0.0"
-  
-  is-alphabetical@^1.0.0:
-    version "1.0.4"
-    resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.4.tgz#9e7d6b94916be22153745d184c298cbf986a686d"
-  
-  is-alphanumerical@^1.0.0:
-    version "1.0.4"
-    resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz#7eb9a2431f855f6b1ef1a78e326df515696c4dbf"
-    dependencies:
-      is-alphabetical "^1.0.0"
-      is-decimal "^1.0.0"
-  
-  is-arguments@^1.0.4:
-    version "1.0.4"
-    resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.0.4.tgz#3faf966c7cba0ff437fb31f6250082fcf0448cf3"
-  
-  is-arrayish@^0.2.1:
-    version "0.2.1"
-    resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
-  
-  is-binary-path@^1.0.0:
-    version "1.0.1"
-    resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898"
-    dependencies:
-      binary-extensions "^1.0.0"
-  
-  is-binary-path@~2.1.0:
-    version "2.1.0"
-    resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
-    dependencies:
-      binary-extensions "^2.0.0"
-  
-  is-buffer@^1.1.4, is-buffer@^1.1.5:
-    version "1.1.6"
-    resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
-  
-  is-builtin-module@^3.0.0:
-    version "3.0.0"
-    resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-3.0.0.tgz#137d3d2425023a19a660fb9dd6ddfabe52c03466"
-    dependencies:
-      builtin-modules "^3.0.0"
-  
-  is-callable@^1.1.4, is-callable@^1.2.0:
-    version "1.2.0"
-    resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.0.tgz#83336560b54a38e35e3a2df7afd0454d691468bb"
-  
-  is-ci@^2.0.0:
-    version "2.0.0"
-    resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c"
-    dependencies:
-      ci-info "^2.0.0"
-  
-  is-data-descriptor@^0.1.4:
-    version "0.1.4"
-    resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56"
-    dependencies:
-      kind-of "^3.0.2"
-  
-  is-data-descriptor@^1.0.0:
-    version "1.0.0"
-    resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7"
-    dependencies:
-      kind-of "^6.0.0"
-  
-  is-date-object@^1.0.1:
-    version "1.0.2"
-    resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e"
-  
-  is-decimal@^1.0.0:
-    version "1.0.4"
-    resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.4.tgz#65a3a5958a1c5b63a706e1b333d7cd9f630d3fa5"
-  
-  is-descriptor@^0.1.0:
-    version "0.1.6"
-    resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca"
-    dependencies:
-      is-accessor-descriptor "^0.1.6"
-      is-data-descriptor "^0.1.4"
-      kind-of "^5.0.0"
-  
-  is-descriptor@^1.0.0, is-descriptor@^1.0.2:
-    version "1.0.2"
-    resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec"
-    dependencies:
-      is-accessor-descriptor "^1.0.0"
-      is-data-descriptor "^1.0.0"
-      kind-of "^6.0.2"
-  
-  is-directory@^0.3.1:
-    version "0.3.1"
-    resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1"
-  
-  is-extendable@^0.1.0, is-extendable@^0.1.1:
-    version "0.1.1"
-    resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
-  
-  is-extendable@^1.0.1:
-    version "1.0.1"
-    resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4"
-    dependencies:
-      is-plain-object "^2.0.4"
-  
-  is-extglob@^2.1.0, is-extglob@^2.1.1:
-    version "2.1.1"
-    resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
-  
-  is-finite@^1.0.0:
-    version "1.1.0"
-    resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.1.0.tgz#904135c77fb42c0641d6aa1bcdbc4daa8da082f3"
-  
-  is-fullwidth-code-point@^1.0.0:
-    version "1.0.0"
-    resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"
-    dependencies:
-      number-is-nan "^1.0.0"
-  
-  is-fullwidth-code-point@^2.0.0:
-    version "2.0.0"
-    resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
-  
-  is-fullwidth-code-point@^3.0.0:
-    version "3.0.0"
-    resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
-  
-  is-function@^1.0.1:
-    version "1.0.2"
-    resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.2.tgz#4f097f30abf6efadac9833b17ca5dc03f8144e08"
-  
-  is-generator-fn@^2.0.0:
-    version "2.1.0"
-    resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118"
-  
-  is-glob@^3.1.0:
-    version "3.1.0"
-    resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a"
-    dependencies:
-      is-extglob "^2.1.0"
-  
-  is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1:
-    version "4.0.1"
-    resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc"
-    dependencies:
-      is-extglob "^2.1.1"
-  
-  is-hexadecimal@^1.0.0:
-    version "1.0.4"
-    resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz#cc35c97588da4bd49a8eedd6bc4082d44dcb23a7"
-  
-  is-negative-zero@^2.0.0:
-    version "2.0.0"
-    resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.0.tgz#9553b121b0fac28869da9ed459e20c7543788461"
-  
-  is-number@^3.0.0:
-    version "3.0.0"
-    resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195"
-    dependencies:
-      kind-of "^3.0.2"
-  
-  is-number@^7.0.0:
-    version "7.0.0"
-    resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
-  
-  is-obj@^1.0.1:
-    version "1.0.1"
-    resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f"
-  
-  is-path-cwd@^2.0.0:
-    version "2.2.0"
-    resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb"
-  
-  is-path-in-cwd@^2.0.0:
-    version "2.1.0"
-    resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz#bfe2dca26c69f397265a4009963602935a053acb"
-    dependencies:
-      is-path-inside "^2.1.0"
-  
-  is-path-inside@^2.1.0:
-    version "2.1.0"
-    resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-2.1.0.tgz#7c9810587d659a40d27bcdb4d5616eab059494b2"
-    dependencies:
-      path-is-inside "^1.0.2"
-  
-  is-plain-obj@^1.1.0:
-    version "1.1.0"
-    resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e"
-  
-  is-plain-object@^2.0.3, is-plain-object@^2.0.4:
-    version "2.0.4"
-    resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677"
-    dependencies:
-      isobject "^3.0.1"
-  
-  is-regex@^1.0.4, is-regex@^1.1.0, is-regex@^1.1.1:
-    version "1.1.1"
-    resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.1.tgz#c6f98aacc546f6cec5468a07b7b153ab564a57b9"
-    dependencies:
-      has-symbols "^1.0.1"
-  
-  is-regexp@^1.0.0:
-    version "1.0.0"
-    resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069"
-  
-  is-stream@^1.1.0:
-    version "1.1.0"
-    resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
-  
-  is-string@^1.0.5:
-    version "1.0.5"
-    resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6"
-  
-  is-symbol@^1.0.2:
-    version "1.0.3"
-    resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937"
-    dependencies:
-      has-symbols "^1.0.1"
-  
-  is-typedarray@~1.0.0:
-    version "1.0.0"
-    resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
-  
-  is-utf8@^0.2.0:
-    version "0.2.1"
-    resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72"
-  
-  is-whitespace-character@^1.0.0:
-    version "1.0.4"
-    resolved "https://registry.yarnpkg.com/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz#0858edd94a95594c7c9dd0b5c174ec6e45ee4aa7"
-  
-  is-windows@^1.0.1, is-windows@^1.0.2:
-    version "1.0.2"
-    resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d"
-  
-  is-word-character@^1.0.0:
-    version "1.0.4"
-    resolved "https://registry.yarnpkg.com/is-word-character/-/is-word-character-1.0.4.tgz#ce0e73216f98599060592f62ff31354ddbeb0230"
-  
-  is-wsl@^1.1.0:
-    version "1.1.0"
-    resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d"
-  
-  isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0:
-    version "1.0.0"
-    resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
-  
-  isexe@^2.0.0:
-    version "2.0.0"
-    resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
-  
-  isobject@^2.0.0:
-    version "2.1.0"
-    resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89"
-    dependencies:
-      isarray "1.0.0"
-  
-  isobject@^3.0.0, isobject@^3.0.1:
-    version "3.0.1"
-    resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"
-  
-  isstream@~0.1.2:
-    version "0.1.2"
-    resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
-  
-  istanbul-lib-coverage@^2.0.2, istanbul-lib-coverage@^2.0.5:
-    version "2.0.5"
-    resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz#675f0ab69503fad4b1d849f736baaca803344f49"
-  
-  istanbul-lib-instrument@^3.0.1, istanbul-lib-instrument@^3.3.0:
-    version "3.3.0"
-    resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz#a5f63d91f0bbc0c3e479ef4c5de027335ec6d630"
-    dependencies:
-      "@babel/generator" "^7.4.0"
-      "@babel/parser" "^7.4.3"
-      "@babel/template" "^7.4.0"
-      "@babel/traverse" "^7.4.3"
-      "@babel/types" "^7.4.0"
-      istanbul-lib-coverage "^2.0.5"
-      semver "^6.0.0"
-  
-  istanbul-lib-report@^2.0.4:
-    version "2.0.8"
-    resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz#5a8113cd746d43c4889eba36ab10e7d50c9b4f33"
-    dependencies:
-      istanbul-lib-coverage "^2.0.5"
-      make-dir "^2.1.0"
-      supports-color "^6.1.0"
-  
-  istanbul-lib-source-maps@^3.0.1:
-    version "3.0.6"
-    resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz#284997c48211752ec486253da97e3879defba8c8"
-    dependencies:
-      debug "^4.1.1"
-      istanbul-lib-coverage "^2.0.5"
-      make-dir "^2.1.0"
-      rimraf "^2.6.3"
-      source-map "^0.6.1"
-  
-  istanbul-reports@^2.2.6:
-    version "2.2.7"
-    resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-2.2.7.tgz#5d939f6237d7b48393cc0959eab40cd4fd056931"
-    dependencies:
-      html-escaper "^2.0.0"
-  
-  jest-changed-files@^24.9.0:
-    version "24.9.0"
-    resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-24.9.0.tgz#08d8c15eb79a7fa3fc98269bc14b451ee82f8039"
-    dependencies:
-      "@jest/types" "^24.9.0"
-      execa "^1.0.0"
-      throat "^4.0.0"
-  
-  jest-cli@^24.9.0:
-    version "24.9.0"
-    resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-24.9.0.tgz#ad2de62d07472d419c6abc301fc432b98b10d2af"
-    dependencies:
-      "@jest/core" "^24.9.0"
-      "@jest/test-result" "^24.9.0"
-      "@jest/types" "^24.9.0"
-      chalk "^2.0.1"
-      exit "^0.1.2"
-      import-local "^2.0.0"
-      is-ci "^2.0.0"
-      jest-config "^24.9.0"
-      jest-util "^24.9.0"
-      jest-validate "^24.9.0"
-      prompts "^2.0.1"
-      realpath-native "^1.1.0"
-      yargs "^13.3.0"
-  
-  jest-config@^24.9.0:
-    version "24.9.0"
-    resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-24.9.0.tgz#fb1bbc60c73a46af03590719efa4825e6e4dd1b5"
-    dependencies:
-      "@babel/core" "^7.1.0"
-      "@jest/test-sequencer" "^24.9.0"
-      "@jest/types" "^24.9.0"
-      babel-jest "^24.9.0"
-      chalk "^2.0.1"
-      glob "^7.1.1"
-      jest-environment-jsdom "^24.9.0"
-      jest-environment-node "^24.9.0"
-      jest-get-type "^24.9.0"
-      jest-jasmine2 "^24.9.0"
-      jest-regex-util "^24.3.0"
-      jest-resolve "^24.9.0"
-      jest-util "^24.9.0"
-      jest-validate "^24.9.0"
-      micromatch "^3.1.10"
-      pretty-format "^24.9.0"
-      realpath-native "^1.1.0"
-  
-  jest-diff@^24.9.0:
-    version "24.9.0"
-    resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-24.9.0.tgz#931b7d0d5778a1baf7452cb816e325e3724055da"
-    dependencies:
-      chalk "^2.0.1"
-      diff-sequences "^24.9.0"
-      jest-get-type "^24.9.0"
-      pretty-format "^24.9.0"
-  
-  jest-docblock@^24.3.0:
-    version "24.9.0"
-    resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-24.9.0.tgz#7970201802ba560e1c4092cc25cbedf5af5a8ce2"
-    dependencies:
-      detect-newline "^2.1.0"
-  
-  jest-each@^24.9.0:
-    version "24.9.0"
-    resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-24.9.0.tgz#eb2da602e2a610898dbc5f1f6df3ba86b55f8b05"
-    dependencies:
-      "@jest/types" "^24.9.0"
-      chalk "^2.0.1"
-      jest-get-type "^24.9.0"
-      jest-util "^24.9.0"
-      pretty-format "^24.9.0"
-  
-  jest-environment-jsdom@^24.9.0:
-    version "24.9.0"
-    resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-24.9.0.tgz#4b0806c7fc94f95edb369a69cc2778eec2b7375b"
-    dependencies:
-      "@jest/environment" "^24.9.0"
-      "@jest/fake-timers" "^24.9.0"
-      "@jest/types" "^24.9.0"
-      jest-mock "^24.9.0"
-      jest-util "^24.9.0"
-      jsdom "^11.5.1"
-  
-  jest-environment-node@^24.9.0:
-    version "24.9.0"
-    resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-24.9.0.tgz#333d2d2796f9687f2aeebf0742b519f33c1cbfd3"
-    dependencies:
-      "@jest/environment" "^24.9.0"
-      "@jest/fake-timers" "^24.9.0"
-      "@jest/types" "^24.9.0"
-      jest-mock "^24.9.0"
-      jest-util "^24.9.0"
-  
-  jest-fetch-mock@^2.1.2:
-    version "2.1.2"
-    resolved "https://registry.yarnpkg.com/jest-fetch-mock/-/jest-fetch-mock-2.1.2.tgz#1260b347918e3931c4ec743ceaf60433da661bd0"
-    dependencies:
-      cross-fetch "^2.2.2"
-      promise-polyfill "^7.1.1"
-  
-  jest-get-type@^24.9.0:
-    version "24.9.0"
-    resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-24.9.0.tgz#1684a0c8a50f2e4901b6644ae861f579eed2ef0e"
-  
-  jest-haste-map@^24.9.0:
-    version "24.9.0"
-    resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-24.9.0.tgz#b38a5d64274934e21fa417ae9a9fbeb77ceaac7d"
-    dependencies:
-      "@jest/types" "^24.9.0"
-      anymatch "^2.0.0"
-      fb-watchman "^2.0.0"
-      graceful-fs "^4.1.15"
-      invariant "^2.2.4"
-      jest-serializer "^24.9.0"
-      jest-util "^24.9.0"
-      jest-worker "^24.9.0"
-      micromatch "^3.1.10"
-      sane "^4.0.3"
-      walker "^1.0.7"
-    optionalDependencies:
-      fsevents "^1.2.7"
-  
-  jest-jasmine2@^24.9.0:
-    version "24.9.0"
-    resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-24.9.0.tgz#1f7b1bd3242c1774e62acabb3646d96afc3be6a0"
-    dependencies:
-      "@babel/traverse" "^7.1.0"
-      "@jest/environment" "^24.9.0"
-      "@jest/test-result" "^24.9.0"
-      "@jest/types" "^24.9.0"
-      chalk "^2.0.1"
-      co "^4.6.0"
-      expect "^24.9.0"
-      is-generator-fn "^2.0.0"
-      jest-each "^24.9.0"
-      jest-matcher-utils "^24.9.0"
-      jest-message-util "^24.9.0"
-      jest-runtime "^24.9.0"
-      jest-snapshot "^24.9.0"
-      jest-util "^24.9.0"
-      pretty-format "^24.9.0"
-      throat "^4.0.0"
-  
-  jest-leak-detector@^24.9.0:
-    version "24.9.0"
-    resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-24.9.0.tgz#b665dea7c77100c5c4f7dfcb153b65cf07dcf96a"
-    dependencies:
-      jest-get-type "^24.9.0"
-      pretty-format "^24.9.0"
-  
-  jest-matcher-utils@^24.9.0:
-    version "24.9.0"
-    resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz#f5b3661d5e628dffe6dd65251dfdae0e87c3a073"
-    dependencies:
-      chalk "^2.0.1"
-      jest-diff "^24.9.0"
-      jest-get-type "^24.9.0"
-      pretty-format "^24.9.0"
-  
-  jest-message-util@^24.9.0:
-    version "24.9.0"
-    resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-24.9.0.tgz#527f54a1e380f5e202a8d1149b0ec872f43119e3"
-    dependencies:
-      "@babel/code-frame" "^7.0.0"
-      "@jest/test-result" "^24.9.0"
-      "@jest/types" "^24.9.0"
-      "@types/stack-utils" "^1.0.1"
-      chalk "^2.0.1"
-      micromatch "^3.1.10"
-      slash "^2.0.0"
-      stack-utils "^1.0.1"
-  
-  jest-message-util@^25.5.0:
-    version "25.5.0"
-    resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-25.5.0.tgz#ea11d93204cc7ae97456e1d8716251185b8880ea"
-    dependencies:
-      "@babel/code-frame" "^7.0.0"
-      "@jest/types" "^25.5.0"
-      "@types/stack-utils" "^1.0.1"
-      chalk "^3.0.0"
-      graceful-fs "^4.2.4"
-      micromatch "^4.0.2"
-      slash "^3.0.0"
-      stack-utils "^1.0.1"
-  
-  jest-mock@^24.9.0:
-    version "24.9.0"
-    resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-24.9.0.tgz#c22835541ee379b908673ad51087a2185c13f1c6"
-    dependencies:
-      "@jest/types" "^24.9.0"
-  
-  jest-pnp-resolver@^1.2.1:
-    version "1.2.2"
-    resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c"
-  
-  jest-regex-util@^24.3.0, jest-regex-util@^24.9.0:
-    version "24.9.0"
-    resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-24.9.0.tgz#c13fb3380bde22bf6575432c493ea8fe37965636"
-  
-  jest-resolve-dependencies@^24.9.0:
-    version "24.9.0"
-    resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-24.9.0.tgz#ad055198959c4cfba8a4f066c673a3f0786507ab"
-    dependencies:
-      "@jest/types" "^24.9.0"
-      jest-regex-util "^24.3.0"
-      jest-snapshot "^24.9.0"
-  
-  jest-resolve@^24.9.0:
-    version "24.9.0"
-    resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-24.9.0.tgz#dff04c7687af34c4dd7e524892d9cf77e5d17321"
-    dependencies:
-      "@jest/types" "^24.9.0"
-      browser-resolve "^1.11.3"
-      chalk "^2.0.1"
-      jest-pnp-resolver "^1.2.1"
-      realpath-native "^1.1.0"
-  
-  jest-runner@^24.9.0:
-    version "24.9.0"
-    resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-24.9.0.tgz#574fafdbd54455c2b34b4bdf4365a23857fcdf42"
-    dependencies:
-      "@jest/console" "^24.7.1"
-      "@jest/environment" "^24.9.0"
-      "@jest/test-result" "^24.9.0"
-      "@jest/types" "^24.9.0"
-      chalk "^2.4.2"
-      exit "^0.1.2"
-      graceful-fs "^4.1.15"
-      jest-config "^24.9.0"
-      jest-docblock "^24.3.0"
-      jest-haste-map "^24.9.0"
-      jest-jasmine2 "^24.9.0"
-      jest-leak-detector "^24.9.0"
-      jest-message-util "^24.9.0"
-      jest-resolve "^24.9.0"
-      jest-runtime "^24.9.0"
-      jest-util "^24.9.0"
-      jest-worker "^24.6.0"
-      source-map-support "^0.5.6"
-      throat "^4.0.0"
-  
-  jest-runtime@^24.9.0:
-    version "24.9.0"
-    resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-24.9.0.tgz#9f14583af6a4f7314a6a9d9f0226e1a781c8e4ac"
-    dependencies:
-      "@jest/console" "^24.7.1"
-      "@jest/environment" "^24.9.0"
-      "@jest/source-map" "^24.3.0"
-      "@jest/transform" "^24.9.0"
-      "@jest/types" "^24.9.0"
-      "@types/yargs" "^13.0.0"
-      chalk "^2.0.1"
-      exit "^0.1.2"
-      glob "^7.1.3"
-      graceful-fs "^4.1.15"
-      jest-config "^24.9.0"
-      jest-haste-map "^24.9.0"
-      jest-message-util "^24.9.0"
-      jest-mock "^24.9.0"
-      jest-regex-util "^24.3.0"
-      jest-resolve "^24.9.0"
-      jest-snapshot "^24.9.0"
-      jest-util "^24.9.0"
-      jest-validate "^24.9.0"
-      realpath-native "^1.1.0"
-      slash "^2.0.0"
-      strip-bom "^3.0.0"
-      yargs "^13.3.0"
-  
-  jest-serializer@^24.9.0:
-    version "24.9.0"
-    resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-24.9.0.tgz#e6d7d7ef96d31e8b9079a714754c5d5c58288e73"
-  
-  jest-snapshot@^24.9.0:
-    version "24.9.0"
-    resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-24.9.0.tgz#ec8e9ca4f2ec0c5c87ae8f925cf97497b0e951ba"
-    dependencies:
-      "@babel/types" "^7.0.0"
-      "@jest/types" "^24.9.0"
-      chalk "^2.0.1"
-      expect "^24.9.0"
-      jest-diff "^24.9.0"
-      jest-get-type "^24.9.0"
-      jest-matcher-utils "^24.9.0"
-      jest-message-util "^24.9.0"
-      jest-resolve "^24.9.0"
-      mkdirp "^0.5.1"
-      natural-compare "^1.4.0"
-      pretty-format "^24.9.0"
-      semver "^6.2.0"
-  
-  jest-standard-reporter@^1.0.2:
-    version "1.1.1"
-    resolved "https://registry.yarnpkg.com/jest-standard-reporter/-/jest-standard-reporter-1.1.1.tgz#adc06b9846d1b237c12f8847b4db257e438e39a3"
-    dependencies:
-      "@jest/console" "^25.5.0"
-      chalk "^3.0.0"
-      jest-util "^25.0.0"
-      path "^0.12.7"
-      slash "^3.0.0"
-      string-length "^3.0.0"
-  
-  jest-util@^24.9.0:
-    version "24.9.0"
-    resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-24.9.0.tgz#7396814e48536d2e85a37de3e4c431d7cb140162"
-    dependencies:
-      "@jest/console" "^24.9.0"
-      "@jest/fake-timers" "^24.9.0"
-      "@jest/source-map" "^24.9.0"
-      "@jest/test-result" "^24.9.0"
-      "@jest/types" "^24.9.0"
-      callsites "^3.0.0"
-      chalk "^2.0.1"
-      graceful-fs "^4.1.15"
-      is-ci "^2.0.0"
-      mkdirp "^0.5.1"
-      slash "^2.0.0"
-      source-map "^0.6.0"
-  
-  jest-util@^25.0.0, jest-util@^25.5.0:
-    version "25.5.0"
-    resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-25.5.0.tgz#31c63b5d6e901274d264a4fec849230aa3fa35b0"
-    dependencies:
-      "@jest/types" "^25.5.0"
-      chalk "^3.0.0"
-      graceful-fs "^4.2.4"
-      is-ci "^2.0.0"
-      make-dir "^3.0.0"
-  
-  jest-validate@^24.9.0:
-    version "24.9.0"
-    resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-24.9.0.tgz#0775c55360d173cd854e40180756d4ff52def8ab"
-    dependencies:
-      "@jest/types" "^24.9.0"
-      camelcase "^5.3.1"
-      chalk "^2.0.1"
-      jest-get-type "^24.9.0"
-      leven "^3.1.0"
-      pretty-format "^24.9.0"
-  
-  jest-watcher@^24.9.0:
-    version "24.9.0"
-    resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-24.9.0.tgz#4b56e5d1ceff005f5b88e528dc9afc8dd4ed2b3b"
-    dependencies:
-      "@jest/test-result" "^24.9.0"
-      "@jest/types" "^24.9.0"
-      "@types/yargs" "^13.0.0"
-      ansi-escapes "^3.0.0"
-      chalk "^2.0.1"
-      jest-util "^24.9.0"
-      string-length "^2.0.0"
-  
-  jest-worker@^24.6.0, jest-worker@^24.9.0:
-    version "24.9.0"
-    resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5"
-    dependencies:
-      merge-stream "^2.0.0"
-      supports-color "^6.1.0"
-  
-  jimp@^0.6.0:
-    version "0.6.8"
-    resolved "https://registry.yarnpkg.com/jimp/-/jimp-0.6.8.tgz#63074984337cc469cd4030946e503e7c02a18b5c"
-    dependencies:
-      "@jimp/custom" "^0.6.8"
-      "@jimp/plugins" "^0.6.8"
-      "@jimp/types" "^0.6.8"
-      core-js "^2.5.7"
-      regenerator-runtime "^0.13.3"
-  
-  jpeg-js@^0.3.4:
-    version "0.3.7"
-    resolved "https://registry.yarnpkg.com/jpeg-js/-/jpeg-js-0.3.7.tgz#471a89d06011640592d314158608690172b1028d"
-  
-  js-base64@^2.1.8:
-    version "2.6.4"
-    resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.6.4.tgz#f4e686c5de1ea1f867dbcad3d46d969428df98c4"
-  
-  js-search@^1.4.3:
-    version "1.4.3"
-    resolved "https://registry.yarnpkg.com/js-search/-/js-search-1.4.3.tgz#23a86d7e064ca53a473930edc48615b6b1c1954a"
-  
-  "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
-    version "4.0.0"
-    resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
-  
-  js-yaml@^3.13.0, js-yaml@^3.13.1:
-    version "3.14.0"
-    resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482"
-    dependencies:
-      argparse "^1.0.7"
-      esprima "^4.0.0"
-  
-  jsbn@~0.1.0:
-    version "0.1.1"
-    resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
-  
-  jsdom@^11.5.1:
-    version "11.12.0"
-    resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-11.12.0.tgz#1a80d40ddd378a1de59656e9e6dc5a3ba8657bc8"
-    dependencies:
-      abab "^2.0.0"
-      acorn "^5.5.3"
-      acorn-globals "^4.1.0"
-      array-equal "^1.0.0"
-      cssom ">= 0.3.2 < 0.4.0"
-      cssstyle "^1.0.0"
-      data-urls "^1.0.0"
-      domexception "^1.0.1"
-      escodegen "^1.9.1"
-      html-encoding-sniffer "^1.0.2"
-      left-pad "^1.3.0"
-      nwsapi "^2.0.7"
-      parse5 "4.0.0"
-      pn "^1.1.0"
-      request "^2.87.0"
-      request-promise-native "^1.0.5"
-      sax "^1.2.4"
-      symbol-tree "^3.2.2"
-      tough-cookie "^2.3.4"
-      w3c-hr-time "^1.0.1"
-      webidl-conversions "^4.0.2"
-      whatwg-encoding "^1.0.3"
-      whatwg-mimetype "^2.1.0"
-      whatwg-url "^6.4.1"
-      ws "^5.2.0"
-      xml-name-validator "^3.0.0"
-  
-  jsesc@^2.5.1:
-    version "2.5.2"
-    resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4"
-  
-  jsesc@~0.5.0:
-    version "0.5.0"
-    resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d"
-  
-  json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2:
-    version "1.0.2"
-    resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9"
-  
-  json-schema-traverse@^0.4.1:
-    version "0.4.1"
-    resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
-  
-  json-schema@0.2.3:
-    version "0.2.3"
-    resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
-  
-  json-stable-stringify-without-jsonify@^1.0.1:
-    version "1.0.1"
-    resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
-  
-  json-stable-stringify@^1.0.1:
-    version "1.0.1"
-    resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af"
-    dependencies:
-      jsonify "~0.0.0"
-  
-  json-stringify-safe@~5.0.1:
-    version "5.0.1"
-    resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
-  
-  json3@^3.3.2:
-    version "3.3.3"
-    resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81"
-  
-  json5@^0.5.0:
-    version "0.5.1"
-    resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821"
-  
-  json5@^1.0.1:
-    version "1.0.1"
-    resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe"
-    dependencies:
-      minimist "^1.2.0"
-  
-  json5@^2.1.2:
-    version "2.1.3"
-    resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43"
-    dependencies:
-      minimist "^1.2.5"
-  
-  jsonfile@^4.0.0:
-    version "4.0.0"
-    resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb"
-    optionalDependencies:
-      graceful-fs "^4.1.6"
-  
-  jsonify@~0.0.0:
-    version "0.0.0"
-    resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73"
-  
-  jsprim@^1.2.2:
-    version "1.4.1"
-    resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2"
-    dependencies:
-      assert-plus "1.0.0"
-      extsprintf "1.3.0"
-      json-schema "0.2.3"
-      verror "1.10.0"
-  
-  jsx-ast-utils@^2.4.1:
-    version "2.4.1"
-    resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.4.1.tgz#1114a4c1209481db06c690c2b4f488cc665f657e"
-    dependencies:
-      array-includes "^3.1.1"
-      object.assign "^4.1.0"
-  
-  jszip@^3.2.2:
-    version "3.5.0"
-    resolved "https://registry.yarnpkg.com/jszip/-/jszip-3.5.0.tgz#b4fd1f368245346658e781fec9675802489e15f6"
-    dependencies:
-      lie "~3.3.0"
-      pako "~1.0.2"
-      readable-stream "~2.3.6"
-      set-immediate-shim "~1.0.1"
-  
-  killable@^1.0.1:
-    version "1.0.1"
-    resolved "https://registry.yarnpkg.com/killable/-/killable-1.0.1.tgz#4c8ce441187a061c7474fb87ca08e2a638194892"
-  
-  kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0:
-    version "3.2.2"
-    resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"
-    dependencies:
-      is-buffer "^1.1.5"
-  
-  kind-of@^4.0.0:
-    version "4.0.0"
-    resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57"
-    dependencies:
-      is-buffer "^1.1.5"
-  
-  kind-of@^5.0.0:
-    version "5.1.0"
-    resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d"
-  
-  kind-of@^6.0.0, kind-of@^6.0.2:
-    version "6.0.3"
-    resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd"
-  
-  kleur@^3.0.3:
-    version "3.0.3"
-    resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e"
-  
-  language-subtag-registry@~0.3.2:
-    version "0.3.20"
-    resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.20.tgz#a00a37121894f224f763268e431c55556b0c0755"
-  
-  language-tags@^1.0.5:
-    version "1.0.5"
-    resolved "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.5.tgz#d321dbc4da30ba8bf3024e040fa5c14661f9193a"
-    dependencies:
-      language-subtag-registry "~0.3.2"
-  
-  lcid@^2.0.0:
-    version "2.0.0"
-    resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf"
-    dependencies:
-      invert-kv "^2.0.0"
-  
-  left-pad@^1.3.0:
-    version "1.3.0"
-    resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e"
-  
-  leven@^3.1.0:
-    version "3.1.0"
-    resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2"
-  
-  levenary@^1.1.1:
-    version "1.1.1"
-    resolved "https://registry.yarnpkg.com/levenary/-/levenary-1.1.1.tgz#842a9ee98d2075aa7faeedbe32679e9205f46f77"
-    dependencies:
-      leven "^3.1.0"
-  
-  levn@^0.3.0, levn@~0.3.0:
-    version "0.3.0"
-    resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee"
-    dependencies:
-      prelude-ls "~1.1.2"
-      type-check "~0.3.2"
-  
-  lie@~3.3.0:
-    version "3.3.0"
-    resolved "https://registry.yarnpkg.com/lie/-/lie-3.3.0.tgz#dcf82dee545f46074daf200c7c1c5a08e0f40f6a"
-    dependencies:
-      immediate "~3.0.5"
-  
-  load-bmfont@^1.3.1, load-bmfont@^1.4.0:
-    version "1.4.1"
-    resolved "https://registry.yarnpkg.com/load-bmfont/-/load-bmfont-1.4.1.tgz#c0f5f4711a1e2ccff725a7b6078087ccfcddd3e9"
-    dependencies:
-      buffer-equal "0.0.1"
-      mime "^1.3.4"
-      parse-bmfont-ascii "^1.0.3"
-      parse-bmfont-binary "^1.0.5"
-      parse-bmfont-xml "^1.1.4"
-      phin "^2.9.1"
-      xhr "^2.0.1"
-      xtend "^4.0.0"
-  
-  load-json-file@^1.0.0:
-    version "1.1.0"
-    resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0"
-    dependencies:
-      graceful-fs "^4.1.2"
-      parse-json "^2.2.0"
-      pify "^2.0.0"
-      pinkie-promise "^2.0.0"
-      strip-bom "^2.0.0"
-  
-  load-json-file@^2.0.0:
-    version "2.0.0"
-    resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8"
-    dependencies:
-      graceful-fs "^4.1.2"
-      parse-json "^2.2.0"
-      pify "^2.0.0"
-      strip-bom "^3.0.0"
-  
-  load-json-file@^4.0.0:
-    version "4.0.0"
-    resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b"
-    dependencies:
-      graceful-fs "^4.1.2"
-      parse-json "^4.0.0"
-      pify "^3.0.0"
-      strip-bom "^3.0.0"
-  
-  loader-runner@^2.4.0:
-    version "2.4.0"
-    resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357"
-  
-  loader-utils@^0.2.16:
-    version "0.2.17"
-    resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348"
-    dependencies:
-      big.js "^3.1.3"
-      emojis-list "^2.0.0"
-      json5 "^0.5.0"
-      object-assign "^4.0.1"
-  
-  loader-utils@^1.2.3, loader-utils@^1.4.0:
-    version "1.4.0"
-    resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613"
-    dependencies:
-      big.js "^5.2.2"
-      emojis-list "^3.0.0"
-      json5 "^1.0.1"
-  
-  loader-utils@^2.0.0:
-    version "2.0.0"
-    resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.0.tgz#e4cace5b816d425a166b5f097e10cd12b36064b0"
-    dependencies:
-      big.js "^5.2.2"
-      emojis-list "^3.0.0"
-      json5 "^2.1.2"
-  
-  locate-path@^2.0.0:
-    version "2.0.0"
-    resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"
-    dependencies:
-      p-locate "^2.0.0"
-      path-exists "^3.0.0"
-  
-  locate-path@^3.0.0:
-    version "3.0.0"
-    resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e"
-    dependencies:
-      p-locate "^3.0.0"
-      path-exists "^3.0.0"
-  
-  lodash._reinterpolate@^3.0.0:
-    version "3.0.0"
-    resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d"
-  
-  lodash.camelcase@^4.3.0:
-    version "4.3.0"
-    resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6"
-  
-  lodash.get@^4.4.2:
-    version "4.4.2"
-    resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99"
-  
-  lodash.set@^4.3.2:
-    version "4.3.2"
-    resolved "https://registry.yarnpkg.com/lodash.set/-/lodash.set-4.3.2.tgz#d8757b1da807dde24816b0d6a84bea1a76230b23"
-  
-  lodash.sortby@^4.7.0:
-    version "4.7.0"
-    resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438"
-  
-  lodash.template@^4.4.0:
-    version "4.5.0"
-    resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab"
-    dependencies:
-      lodash._reinterpolate "^3.0.0"
-      lodash.templatesettings "^4.0.0"
-  
-  lodash.templatesettings@^4.0.0:
-    version "4.2.0"
-    resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz#e481310f049d3cf6d47e912ad09313b154f0fb33"
-    dependencies:
-      lodash._reinterpolate "^3.0.0"
-  
-  lodash@^4.0.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.3, lodash@~4.17.10:
-    version "4.17.20"
-    resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52"
-  
-  loglevel@^1.6.8:
-    version "1.7.0"
-    resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.7.0.tgz#728166855a740d59d38db01cf46f042caa041bb0"
-  
-  loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0:
-    version "1.4.0"
-    resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
-    dependencies:
-      js-tokens "^3.0.0 || ^4.0.0"
-  
-  loud-rejection@^1.0.0:
-    version "1.6.0"
-    resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f"
-    dependencies:
-      currently-unhandled "^0.4.1"
-      signal-exit "^3.0.0"
-  
-  lower-case@^1.1.1:
-    version "1.1.4"
-    resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac"
-  
-  lru-cache@^4.0.1:
-    version "4.1.5"
-    resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd"
-    dependencies:
-      pseudomap "^1.0.2"
-      yallist "^2.1.2"
-  
-  lru-cache@^5.1.1:
-    version "5.1.1"
-    resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920"
-    dependencies:
-      yallist "^3.0.2"
-  
-  make-dir@^2.0.0, make-dir@^2.1.0:
-    version "2.1.0"
-    resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5"
-    dependencies:
-      pify "^4.0.1"
-      semver "^5.6.0"
-  
-  make-dir@^3.0.0:
-    version "3.1.0"
-    resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f"
-    dependencies:
-      semver "^6.0.0"
-  
-  makeerror@1.0.x:
-    version "1.0.11"
-    resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c"
-    dependencies:
-      tmpl "1.0.x"
-  
-  map-age-cleaner@^0.1.1:
-    version "0.1.3"
-    resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a"
-    dependencies:
-      p-defer "^1.0.0"
-  
-  map-cache@^0.2.2:
-    version "0.2.2"
-    resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf"
-  
-  map-obj@^1.0.0, map-obj@^1.0.1:
-    version "1.0.1"
-    resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d"
-  
-  map-visit@^1.0.0:
-    version "1.0.0"
-    resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f"
-    dependencies:
-      object-visit "^1.0.0"
-  
-  markdown-escapes@^1.0.0:
-    version "1.0.4"
-    resolved "https://registry.yarnpkg.com/markdown-escapes/-/markdown-escapes-1.0.4.tgz#c95415ef451499d7602b91095f3c8e8975f78535"
-  
-  md5.js@^1.3.4:
-    version "1.3.5"
-    resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f"
-    dependencies:
-      hash-base "^3.0.0"
-      inherits "^2.0.1"
-      safe-buffer "^5.1.2"
-  
-  mdast-add-list-metadata@1.0.1:
-    version "1.0.1"
-    resolved "https://registry.yarnpkg.com/mdast-add-list-metadata/-/mdast-add-list-metadata-1.0.1.tgz#95e73640ce2fc1fa2dcb7ec443d09e2bfe7db4cf"
-    dependencies:
-      unist-util-visit-parents "1.1.2"
-  
-  media-typer@0.3.0:
-    version "0.3.0"
-    resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
-  
-  mem@^4.0.0:
-    version "4.3.0"
-    resolved "https://registry.yarnpkg.com/mem/-/mem-4.3.0.tgz#461af497bc4ae09608cdb2e60eefb69bff744178"
-    dependencies:
-      map-age-cleaner "^0.1.1"
-      mimic-fn "^2.0.0"
-      p-is-promise "^2.0.0"
-  
-  memory-fs@^0.4.1:
-    version "0.4.1"
-    resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552"
-    dependencies:
-      errno "^0.1.3"
-      readable-stream "^2.0.1"
-  
-  memory-fs@^0.5.0:
-    version "0.5.0"
-    resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c"
-    dependencies:
-      errno "^0.1.3"
-      readable-stream "^2.0.1"
-  
-  meow@^3.7.0:
-    version "3.7.0"
-    resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb"
-    dependencies:
-      camelcase-keys "^2.0.0"
-      decamelize "^1.1.2"
-      loud-rejection "^1.0.0"
-      map-obj "^1.0.1"
-      minimist "^1.1.3"
-      normalize-package-data "^2.3.4"
-      object-assign "^4.0.1"
-      read-pkg-up "^1.0.1"
-      redent "^1.0.0"
-      trim-newlines "^1.0.0"
-  
-  merge-descriptors@1.0.1:
-    version "1.0.1"
-    resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
-  
-  merge-stream@^2.0.0:
-    version "2.0.0"
-    resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
-  
-  merge2@^1.2.3:
-    version "1.4.1"
-    resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
-  
-  methods@~1.1.2:
-    version "1.1.2"
-    resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
-  
-  micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4:
-    version "3.1.10"
-    resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23"
-    dependencies:
-      arr-diff "^4.0.0"
-      array-unique "^0.3.2"
-      braces "^2.3.1"
-      define-property "^2.0.2"
-      extend-shallow "^3.0.2"
-      extglob "^2.0.4"
-      fragment-cache "^0.2.1"
-      kind-of "^6.0.2"
-      nanomatch "^1.2.9"
-      object.pick "^1.3.0"
-      regex-not "^1.0.0"
-      snapdragon "^0.8.1"
-      to-regex "^3.0.2"
-  
-  micromatch@^4.0.2:
-    version "4.0.2"
-    resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259"
-    dependencies:
-      braces "^3.0.1"
-      picomatch "^2.0.5"
-  
-  miller-rabin@^4.0.0:
-    version "4.0.1"
-    resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d"
-    dependencies:
-      bn.js "^4.0.0"
-      brorand "^1.0.1"
-  
-  mime-db@1.44.0, "mime-db@>= 1.43.0 < 2":
-    version "1.44.0"
-    resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92"
-  
-  mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24:
-    version "2.1.27"
-    resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f"
-    dependencies:
-      mime-db "1.44.0"
-  
-  mime@1.6.0, mime@^1.3.4:
-    version "1.6.0"
-    resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
-  
-  mime@^2.4.0, mime@^2.4.4:
-    version "2.4.6"
-    resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.6.tgz#e5b407c90db442f2beb5b162373d07b69affa4d1"
-  
-  mimic-fn@^1.0.0:
-    version "1.2.0"
-    resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022"
-  
-  mimic-fn@^2.0.0, mimic-fn@^2.1.0:
-    version "2.1.0"
-    resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
-  
-  min-document@^2.19.0:
-    version "2.19.0"
-    resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685"
-    dependencies:
-      dom-walk "^0.1.0"
-  
-  minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1:
-    version "1.0.1"
-    resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7"
-  
-  minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1:
-    version "1.0.1"
-    resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"
-  
-  minimatch@^3.0.4, minimatch@~3.0.2:
-    version "3.0.4"
-    resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
-    dependencies:
-      brace-expansion "^1.1.7"
-  
-  minimist@0.0.8:
-    version "0.0.8"
-    resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
-  
-  minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.5:
-    version "1.2.5"
-    resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
-  
-  mississippi@^3.0.0:
-    version "3.0.0"
-    resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022"
-    dependencies:
-      concat-stream "^1.5.0"
-      duplexify "^3.4.2"
-      end-of-stream "^1.1.0"
-      flush-write-stream "^1.0.0"
-      from2 "^2.1.0"
-      parallel-transform "^1.1.0"
-      pump "^3.0.0"
-      pumpify "^1.3.3"
-      stream-each "^1.1.0"
-      through2 "^2.0.0"
-  
-  mixin-deep@^1.2.0:
-    version "1.3.2"
-    resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566"
-    dependencies:
-      for-in "^1.0.2"
-      is-extendable "^1.0.1"
-  
-  mkdirp@0.5.1:
-    version "0.5.1"
-    resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
-    dependencies:
-      minimist "0.0.8"
-  
-  "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.5:
-    version "0.5.5"
-    resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def"
-    dependencies:
-      minimist "^1.2.5"
-  
-  move-concurrently@^1.0.1:
-    version "1.0.1"
-    resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92"
-    dependencies:
-      aproba "^1.1.1"
-      copy-concurrently "^1.0.0"
-      fs-write-stream-atomic "^1.0.8"
-      mkdirp "^0.5.1"
-      rimraf "^2.5.4"
-      run-queue "^1.0.3"
-  
-  ms@2.0.0:
-    version "2.0.0"
-    resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
-  
-  ms@2.1.1:
-    version "2.1.1"
-    resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a"
-  
-  ms@^2.1.1:
-    version "2.1.2"
-    resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
-  
-  multicast-dns-service-types@^1.1.0:
-    version "1.1.0"
-    resolved "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901"
-  
-  multicast-dns@^6.0.1:
-    version "6.2.3"
-    resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-6.2.3.tgz#a0ec7bd9055c4282f790c3c82f4e28db3b31b229"
-    dependencies:
-      dns-packet "^1.3.1"
-      thunky "^1.0.2"
-  
-  mute-stream@0.0.7:
-    version "0.0.7"
-    resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab"
-  
-  mute-stream@0.0.8:
-    version "0.0.8"
-    resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d"
-  
-  nan@^2.12.1, nan@^2.13.2:
-    version "2.14.1"
-    resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.1.tgz#d7be34dfa3105b91494c3147089315eff8874b01"
-  
-  nanomatch@^1.2.9:
-    version "1.2.13"
-    resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119"
-    dependencies:
-      arr-diff "^4.0.0"
-      array-unique "^0.3.2"
-      define-property "^2.0.2"
-      extend-shallow "^3.0.2"
-      fragment-cache "^0.2.1"
-      is-windows "^1.0.2"
-      kind-of "^6.0.2"
-      object.pick "^1.3.0"
-      regex-not "^1.0.0"
-      snapdragon "^0.8.1"
-      to-regex "^3.0.1"
-  
-  natural-compare@^1.4.0:
-    version "1.4.0"
-    resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
-  
-  negotiator@0.6.2:
-    version "0.6.2"
-    resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb"
-  
-  neo-async@^2.5.0, neo-async@^2.6.1:
-    version "2.6.2"
-    resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f"
-  
-  nice-try@^1.0.4:
-    version "1.0.5"
-    resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366"
-  
-  no-case@^2.2.0:
-    version "2.3.2"
-    resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac"
-    dependencies:
-      lower-case "^1.1.1"
-  
-  no-scroll@^2.1.1:
-    version "2.1.1"
-    resolved "https://registry.yarnpkg.com/no-scroll/-/no-scroll-2.1.1.tgz#f37e08cb159b75a5bdbfc0a87cd9223e120e6e27"
-  
-  node-fetch@2.1.2:
-    version "2.1.2"
-    resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.1.2.tgz#ab884e8e7e57e38a944753cec706f788d1768bb5"
-  
-  node-forge@0.9.0:
-    version "0.9.0"
-    resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.9.0.tgz#d624050edbb44874adca12bb9a52ec63cb782579"
-  
-  node-gyp@^3.8.0:
-    version "3.8.0"
-    resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.8.0.tgz#540304261c330e80d0d5edce253a68cb3964218c"
-    dependencies:
-      fstream "^1.0.0"
-      glob "^7.0.3"
-      graceful-fs "^4.1.2"
-      mkdirp "^0.5.0"
-      nopt "2 || 3"
-      npmlog "0 || 1 || 2 || 3 || 4"
-      osenv "0"
-      request "^2.87.0"
-      rimraf "2"
-      semver "~5.3.0"
-      tar "^2.0.0"
-      which "1"
-  
-  node-int64@^0.4.0:
-    version "0.4.0"
-    resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b"
-  
-  node-libs-browser@^2.2.1:
-    version "2.2.1"
-    resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425"
-    dependencies:
-      assert "^1.1.1"
-      browserify-zlib "^0.2.0"
-      buffer "^4.3.0"
-      console-browserify "^1.1.0"
-      constants-browserify "^1.0.0"
-      crypto-browserify "^3.11.0"
-      domain-browser "^1.1.1"
-      events "^3.0.0"
-      https-browserify "^1.0.0"
-      os-browserify "^0.3.0"
-      path-browserify "0.0.1"
-      process "^0.11.10"
-      punycode "^1.2.4"
-      querystring-es3 "^0.2.0"
-      readable-stream "^2.3.3"
-      stream-browserify "^2.0.1"
-      stream-http "^2.7.2"
-      string_decoder "^1.0.0"
-      timers-browserify "^2.0.4"
-      tty-browserify "0.0.0"
-      url "^0.11.0"
-      util "^0.11.0"
-      vm-browserify "^1.0.1"
-  
-  node-modules-regexp@^1.0.0:
-    version "1.0.0"
-    resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40"
-  
-  node-notifier@^5.4.2:
-    version "5.4.3"
-    resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.4.3.tgz#cb72daf94c93904098e28b9c590fd866e464bd50"
-    dependencies:
-      growly "^1.3.0"
-      is-wsl "^1.1.0"
-      semver "^5.5.0"
-      shellwords "^0.1.1"
-      which "^1.3.0"
-  
-  node-releases@^1.1.60:
-    version "1.1.60"
-    resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.60.tgz#6948bdfce8286f0b5d0e5a88e8384e954dfe7084"
-  
-  node-sass@^4.13.0:
-    version "4.14.1"
-    resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.14.1.tgz#99c87ec2efb7047ed638fb4c9db7f3a42e2217b5"
-    dependencies:
-      async-foreach "^0.1.3"
-      chalk "^1.1.1"
-      cross-spawn "^3.0.0"
-      gaze "^1.0.0"
-      get-stdin "^4.0.1"
-      glob "^7.0.3"
-      in-publish "^2.0.0"
-      lodash "^4.17.15"
-      meow "^3.7.0"
-      mkdirp "^0.5.1"
-      nan "^2.13.2"
-      node-gyp "^3.8.0"
-      npmlog "^4.0.0"
-      request "^2.88.0"
-      sass-graph "2.2.5"
-      stdout-stream "^1.4.0"
-      "true-case-path" "^1.0.2"
-  
-  "nopt@2 || 3":
-    version "3.0.6"
-    resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9"
-    dependencies:
-      abbrev "1"
-  
-  normalize-package-data@^2.3.2, normalize-package-data@^2.3.4:
-    version "2.5.0"
-    resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8"
-    dependencies:
-      hosted-git-info "^2.1.4"
-      resolve "^1.10.0"
-      semver "2 || 3 || 4 || 5"
-      validate-npm-package-license "^3.0.1"
-  
-  normalize-path@^2.1.1:
-    version "2.1.1"
-    resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"
-    dependencies:
-      remove-trailing-separator "^1.0.1"
-  
-  normalize-path@^3.0.0, normalize-path@~3.0.0:
-    version "3.0.0"
-    resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
-  
-  npm-run-path@^2.0.0:
-    version "2.0.2"
-    resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f"
-    dependencies:
-      path-key "^2.0.0"
-  
-  "npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0:
-    version "4.1.2"
-    resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
-    dependencies:
-      are-we-there-yet "~1.1.2"
-      console-control-strings "~1.1.0"
-      gauge "~2.7.3"
-      set-blocking "~2.0.0"
-  
-  nth-check@~1.0.1:
-    version "1.0.2"
-    resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c"
-    dependencies:
-      boolbase "~1.0.0"
-  
-  number-is-nan@^1.0.0:
-    version "1.0.1"
-    resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
-  
-  nwsapi@^2.0.7:
-    version "2.2.0"
-    resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7"
-  
-  oauth-sign@~0.9.0:
-    version "0.9.0"
-    resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455"
-  
-  object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1:
-    version "4.1.1"
-    resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
-  
-  object-copy@^0.1.0:
-    version "0.1.0"
-    resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c"
-    dependencies:
-      copy-descriptor "^0.1.0"
-      define-property "^0.2.5"
-      kind-of "^3.0.3"
-  
-  object-inspect@^1.7.0, object-inspect@^1.8.0:
-    version "1.8.0"
-    resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.8.0.tgz#df807e5ecf53a609cc6bfe93eac3cc7be5b3a9d0"
-  
-  object-is@^1.0.1:
-    version "1.1.2"
-    resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.2.tgz#c5d2e87ff9e119f78b7a088441519e2eec1573b6"
-    dependencies:
-      define-properties "^1.1.3"
-      es-abstract "^1.17.5"
-  
-  object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1:
-    version "1.1.1"
-    resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
-  
-  object-visit@^1.0.0:
-    version "1.0.1"
-    resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb"
-    dependencies:
-      isobject "^3.0.0"
-  
-  object.assign@^4.1.0:
-    version "4.1.0"
-    resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da"
-    dependencies:
-      define-properties "^1.1.2"
-      function-bind "^1.1.1"
-      has-symbols "^1.0.0"
-      object-keys "^1.0.11"
-  
-  object.entries@^1.1.2:
-    version "1.1.2"
-    resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.2.tgz#bc73f00acb6b6bb16c203434b10f9a7e797d3add"
-    dependencies:
-      define-properties "^1.1.3"
-      es-abstract "^1.17.5"
-      has "^1.0.3"
-  
-  object.fromentries@^2.0.2:
-    version "2.0.2"
-    resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.2.tgz#4a09c9b9bb3843dd0f89acdb517a794d4f355ac9"
-    dependencies:
-      define-properties "^1.1.3"
-      es-abstract "^1.17.0-next.1"
-      function-bind "^1.1.1"
-      has "^1.0.3"
-  
-  object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.0:
-    version "2.1.0"
-    resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz#369bf1f9592d8ab89d712dced5cb81c7c5352649"
-    dependencies:
-      define-properties "^1.1.3"
-      es-abstract "^1.17.0-next.1"
-  
-  object.pick@^1.3.0:
-    version "1.3.0"
-    resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747"
-    dependencies:
-      isobject "^3.0.1"
-  
-  object.values@^1.1.1:
-    version "1.1.1"
-    resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.1.tgz#68a99ecde356b7e9295a3c5e0ce31dc8c953de5e"
-    dependencies:
-      define-properties "^1.1.3"
-      es-abstract "^1.17.0-next.1"
-      function-bind "^1.1.1"
-      has "^1.0.3"
-  
-  obuf@^1.0.0, obuf@^1.1.2:
-    version "1.1.2"
-    resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e"
-  
-  omggif@^1.0.9:
-    version "1.0.10"
-    resolved "https://registry.yarnpkg.com/omggif/-/omggif-1.0.10.tgz#ddaaf90d4a42f532e9e7cb3a95ecdd47f17c7b19"
-  
-  on-finished@~2.3.0:
-    version "2.3.0"
-    resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"
-    dependencies:
-      ee-first "1.1.1"
-  
-  on-headers@~1.0.2:
-    version "1.0.2"
-    resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f"
-  
-  once@^1.3.0, once@^1.3.1, once@^1.4.0:
-    version "1.4.0"
-    resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
-    dependencies:
-      wrappy "1"
-  
-  onetime@^2.0.0:
-    version "2.0.1"
-    resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4"
-    dependencies:
-      mimic-fn "^1.0.0"
-  
-  onetime@^5.1.0:
-    version "5.1.2"
-    resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e"
-    dependencies:
-      mimic-fn "^2.1.0"
-  
-  opener@^1.5.1:
-    version "1.5.2"
-    resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598"
-  
-  opn@^5.5.0:
-    version "5.5.0"
-    resolved "https://registry.yarnpkg.com/opn/-/opn-5.5.0.tgz#fc7164fab56d235904c51c3b27da6758ca3b9bfc"
-    dependencies:
-      is-wsl "^1.1.0"
-  
-  optionator@^0.8.1, optionator@^0.8.2, optionator@^0.8.3:
-    version "0.8.3"
-    resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495"
-    dependencies:
-      deep-is "~0.1.3"
-      fast-levenshtein "~2.0.6"
-      levn "~0.3.0"
-      prelude-ls "~1.1.2"
-      type-check "~0.3.2"
-      word-wrap "~1.2.3"
-  
-  original@^1.0.0:
-    version "1.0.2"
-    resolved "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f"
-    dependencies:
-      url-parse "^1.4.3"
-  
-  os-browserify@^0.3.0:
-    version "0.3.0"
-    resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27"
-  
-  os-homedir@^1.0.0:
-    version "1.0.2"
-    resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
-  
-  os-locale@^3.0.0:
-    version "3.1.0"
-    resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a"
-    dependencies:
-      execa "^1.0.0"
-      lcid "^2.0.0"
-      mem "^4.0.0"
-  
-  os-tmpdir@^1.0.0, os-tmpdir@~1.0.2:
-    version "1.0.2"
-    resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
-  
-  osenv@0:
-    version "0.1.5"
-    resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410"
-    dependencies:
-      os-homedir "^1.0.0"
-      os-tmpdir "^1.0.0"
-  
-  p-defer@^1.0.0:
-    version "1.0.0"
-    resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c"
-  
-  p-each-series@^1.0.0:
-    version "1.0.0"
-    resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-1.0.0.tgz#930f3d12dd1f50e7434457a22cd6f04ac6ad7f71"
-    dependencies:
-      p-reduce "^1.0.0"
-  
-  p-finally@^1.0.0:
-    version "1.0.0"
-    resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
-  
-  p-is-promise@^2.0.0:
-    version "2.1.0"
-    resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e"
-  
-  p-limit@^1.1.0:
-    version "1.3.0"
-    resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8"
-    dependencies:
-      p-try "^1.0.0"
-  
-  p-limit@^2.0.0, p-limit@^2.2.1:
-    version "2.3.0"
-    resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"
-    dependencies:
-      p-try "^2.0.0"
-  
-  p-locate@^2.0.0:
-    version "2.0.0"
-    resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43"
-    dependencies:
-      p-limit "^1.1.0"
-  
-  p-locate@^3.0.0:
-    version "3.0.0"
-    resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4"
-    dependencies:
-      p-limit "^2.0.0"
-  
-  p-map@^2.0.0:
-    version "2.1.0"
-    resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175"
-  
-  p-reduce@^1.0.0:
-    version "1.0.0"
-    resolved "https://registry.yarnpkg.com/p-reduce/-/p-reduce-1.0.0.tgz#18c2b0dd936a4690a529f8231f58a0fdb6a47dfa"
-  
-  p-retry@^3.0.1:
-    version "3.0.1"
-    resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-3.0.1.tgz#316b4c8893e2c8dc1cfa891f406c4b422bebf328"
-    dependencies:
-      retry "^0.12.0"
-  
-  p-try@^1.0.0:
-    version "1.0.0"
-    resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3"
-  
-  p-try@^2.0.0:
-    version "2.2.0"
-    resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
-  
-  pako@^1.0.5, pako@~1.0.2, pako@~1.0.5:
-    version "1.0.11"
-    resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf"
-  
-  parallel-transform@^1.1.0:
-    version "1.2.0"
-    resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc"
-    dependencies:
-      cyclist "^1.0.1"
-      inherits "^2.0.3"
-      readable-stream "^2.1.5"
-  
-  param-case@2.1.x:
-    version "2.1.1"
-    resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247"
-    dependencies:
-      no-case "^2.2.0"
-  
-  parent-module@^1.0.0:
-    version "1.0.1"
-    resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
-    dependencies:
-      callsites "^3.0.0"
-  
-  parse-asn1@^5.0.0, parse-asn1@^5.1.5:
-    version "5.1.6"
-    resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4"
-    dependencies:
-      asn1.js "^5.2.0"
-      browserify-aes "^1.0.0"
-      evp_bytestokey "^1.0.0"
-      pbkdf2 "^3.0.3"
-      safe-buffer "^5.1.1"
-  
-  parse-bmfont-ascii@^1.0.3:
-    version "1.0.6"
-    resolved "https://registry.yarnpkg.com/parse-bmfont-ascii/-/parse-bmfont-ascii-1.0.6.tgz#11ac3c3ff58f7c2020ab22769079108d4dfa0285"
-  
-  parse-bmfont-binary@^1.0.5:
-    version "1.0.6"
-    resolved "https://registry.yarnpkg.com/parse-bmfont-binary/-/parse-bmfont-binary-1.0.6.tgz#d038b476d3e9dd9db1e11a0b0e53a22792b69006"
-  
-  parse-bmfont-xml@^1.1.4:
-    version "1.1.4"
-    resolved "https://registry.yarnpkg.com/parse-bmfont-xml/-/parse-bmfont-xml-1.1.4.tgz#015319797e3e12f9e739c4d513872cd2fa35f389"
-    dependencies:
-      xml-parse-from-string "^1.0.0"
-      xml2js "^0.4.5"
-  
-  parse-entities@^1.1.0:
-    version "1.2.2"
-    resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-1.2.2.tgz#c31bf0f653b6661354f8973559cb86dd1d5edf50"
-    dependencies:
-      character-entities "^1.0.0"
-      character-entities-legacy "^1.0.0"
-      character-reference-invalid "^1.0.0"
-      is-alphanumerical "^1.0.0"
-      is-decimal "^1.0.0"
-      is-hexadecimal "^1.0.0"
-  
-  parse-headers@^2.0.0:
-    version "2.0.3"
-    resolved "https://registry.yarnpkg.com/parse-headers/-/parse-headers-2.0.3.tgz#5e8e7512383d140ba02f0c7aa9f49b4399c92515"
-  
-  parse-json@^2.2.0:
-    version "2.2.0"
-    resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9"
-    dependencies:
-      error-ex "^1.2.0"
-  
-  parse-json@^4.0.0:
-    version "4.0.0"
-    resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0"
-    dependencies:
-      error-ex "^1.3.1"
-      json-parse-better-errors "^1.0.1"
-  
-  parse-passwd@^1.0.0:
-    version "1.0.0"
-    resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6"
-  
-  parse5@4.0.0:
-    version "4.0.0"
-    resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608"
-  
-  parseurl@~1.3.2, parseurl@~1.3.3:
-    version "1.3.3"
-    resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4"
-  
-  pascalcase@^0.1.1:
-    version "0.1.1"
-    resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14"
-  
-  path-browserify@0.0.1:
-    version "0.0.1"
-    resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a"
-  
-  path-dirname@^1.0.0:
-    version "1.0.2"
-    resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0"
-  
-  path-exists@^2.0.0:
-    version "2.1.0"
-    resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b"
-    dependencies:
-      pinkie-promise "^2.0.0"
-  
-  path-exists@^3.0.0:
-    version "3.0.0"
-    resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
-  
-  path-is-absolute@^1.0.0:
-    version "1.0.1"
-    resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
-  
-  path-is-inside@^1.0.2:
-    version "1.0.2"
-    resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53"
-  
-  path-key@^2.0.0, path-key@^2.0.1:
-    version "2.0.1"
-    resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40"
-  
-  path-parse@^1.0.6:
-    version "1.0.6"
-    resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c"
-  
-  path-to-regexp@0.1.7:
-    version "0.1.7"
-    resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
-  
-  path-type@^1.0.0:
-    version "1.1.0"
-    resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441"
-    dependencies:
-      graceful-fs "^4.1.2"
-      pify "^2.0.0"
-      pinkie-promise "^2.0.0"
-  
-  path-type@^2.0.0:
-    version "2.0.0"
-    resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73"
-    dependencies:
-      pify "^2.0.0"
-  
-  path-type@^3.0.0:
-    version "3.0.0"
-    resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f"
-    dependencies:
-      pify "^3.0.0"
-  
-  path@^0.12.7:
-    version "0.12.7"
-    resolved "https://registry.yarnpkg.com/path/-/path-0.12.7.tgz#d4dc2a506c4ce2197eb481ebfcd5b36c0140b10f"
-    dependencies:
-      process "^0.11.1"
-      util "^0.10.3"
-  
-  pbkdf2@^3.0.3:
-    version "3.1.1"
-    resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.1.tgz#cb8724b0fada984596856d1a6ebafd3584654b94"
-    dependencies:
-      create-hash "^1.1.2"
-      create-hmac "^1.1.4"
-      ripemd160 "^2.0.1"
-      safe-buffer "^5.0.1"
-      sha.js "^2.4.8"
-  
-  performance-now@^2.1.0:
-    version "2.1.0"
-    resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
-  
-  phin@^2.9.1:
-    version "2.9.3"
-    resolved "https://registry.yarnpkg.com/phin/-/phin-2.9.3.tgz#f9b6ac10a035636fb65dfc576aaaa17b8743125c"
-  
-  picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1:
-    version "2.2.2"
-    resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad"
-  
-  pify@^2.0.0:
-    version "2.3.0"
-    resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
-  
-  pify@^3.0.0:
-    version "3.0.0"
-    resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176"
-  
-  pify@^4.0.1:
-    version "4.0.1"
-    resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231"
-  
-  pinkie-promise@^2.0.0:
-    version "2.0.1"
-    resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa"
-    dependencies:
-      pinkie "^2.0.0"
-  
-  pinkie@^2.0.0:
-    version "2.0.4"
-    resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870"
-  
-  pirates@^4.0.1:
-    version "4.0.1"
-    resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87"
-    dependencies:
-      node-modules-regexp "^1.0.0"
-  
-  pixelmatch@^4.0.2:
-    version "4.0.2"
-    resolved "https://registry.yarnpkg.com/pixelmatch/-/pixelmatch-4.0.2.tgz#8f47dcec5011b477b67db03c243bc1f3085e8854"
-    dependencies:
-      pngjs "^3.0.0"
-  
-  pkg-dir@^2.0.0:
-    version "2.0.0"
-    resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b"
-    dependencies:
-      find-up "^2.1.0"
-  
-  pkg-dir@^3.0.0:
-    version "3.0.0"
-    resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3"
-    dependencies:
-      find-up "^3.0.0"
-  
-  pn@^1.1.0:
-    version "1.1.0"
-    resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb"
-  
-  pngjs@^3.0.0, pngjs@^3.3.3:
-    version "3.4.0"
-    resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-3.4.0.tgz#99ca7d725965fb655814eaf65f38f12bbdbf555f"
-  
-  portfinder@^1.0.26:
-    version "1.0.28"
-    resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.28.tgz#67c4622852bd5374dd1dd900f779f53462fac778"
-    dependencies:
-      async "^2.6.2"
-      debug "^3.1.1"
-      mkdirp "^0.5.5"
-  
-  posix-character-classes@^0.1.0:
-    version "0.1.1"
-    resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab"
-  
-  postcss-modules-extract-imports@^2.0.0:
-    version "2.0.0"
-    resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz#818719a1ae1da325f9832446b01136eeb493cd7e"
-    dependencies:
-      postcss "^7.0.5"
-  
-  postcss-modules-local-by-default@^3.0.2:
-    version "3.0.3"
-    resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz#bb14e0cc78279d504dbdcbfd7e0ca28993ffbbb0"
-    dependencies:
-      icss-utils "^4.1.1"
-      postcss "^7.0.32"
-      postcss-selector-parser "^6.0.2"
-      postcss-value-parser "^4.1.0"
-  
-  postcss-modules-scope@^2.2.0:
-    version "2.2.0"
-    resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz#385cae013cc7743f5a7d7602d1073a89eaae62ee"
-    dependencies:
-      postcss "^7.0.6"
-      postcss-selector-parser "^6.0.0"
-  
-  postcss-modules-values@^3.0.0:
-    version "3.0.0"
-    resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz#5b5000d6ebae29b4255301b4a3a54574423e7f10"
-    dependencies:
-      icss-utils "^4.0.0"
-      postcss "^7.0.6"
-  
-  postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2:
-    version "6.0.2"
-    resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz#934cf799d016c83411859e09dcecade01286ec5c"
-    dependencies:
-      cssesc "^3.0.0"
-      indexes-of "^1.0.1"
-      uniq "^1.0.1"
-  
-  postcss-value-parser@^4.1.0:
-    version "4.1.0"
-    resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb"
-  
-  postcss@^7.0.14, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6:
-    version "7.0.32"
-    resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.32.tgz#4310d6ee347053da3433db2be492883d62cec59d"
-    dependencies:
-      chalk "^2.4.2"
-      source-map "^0.6.1"
-      supports-color "^6.1.0"
-  
-  prelude-ls@~1.1.2:
-    version "1.1.2"
-    resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
-  
-  prettier-linter-helpers@^1.0.0:
-    version "1.0.0"
-    resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b"
-    dependencies:
-      fast-diff "^1.1.2"
-  
-  prettier@^1.18.2:
-    version "1.19.1"
-    resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb"
-  
-  pretty-bytes@^5.1.0:
-    version "5.4.1"
-    resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.4.1.tgz#cd89f79bbcef21e3d21eb0da68ffe93f803e884b"
-  
-  pretty-error@^2.0.2:
-    version "2.1.1"
-    resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.1.tgz#5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3"
-    dependencies:
-      renderkid "^2.0.1"
-      utila "~0.4"
-  
-  pretty-format@^24.9.0:
-    version "24.9.0"
-    resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-24.9.0.tgz#12fac31b37019a4eea3c11aa9a959eb7628aa7c9"
-    dependencies:
-      "@jest/types" "^24.9.0"
-      ansi-regex "^4.0.0"
-      ansi-styles "^3.2.0"
-      react-is "^16.8.4"
-  
-  prism-react-renderer@^1.0.2:
-    version "1.1.1"
-    resolved "https://registry.yarnpkg.com/prism-react-renderer/-/prism-react-renderer-1.1.1.tgz#1c1be61b1eb9446a146ca7a50b7bcf36f2a70a44"
-  
-  prismjs@^1.17.1:
-    version "1.21.0"
-    resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.21.0.tgz#36c086ec36b45319ec4218ee164c110f9fc015a3"
-    optionalDependencies:
-      clipboard "^2.0.0"
-  
-  process-nextick-args@~2.0.0:
-    version "2.0.1"
-    resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
-  
-  process@^0.11.1, process@^0.11.10:
-    version "0.11.10"
-    resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
-  
-  process@~0.5.1:
-    version "0.5.2"
-    resolved "https://registry.yarnpkg.com/process/-/process-0.5.2.tgz#1638d8a8e34c2f440a91db95ab9aeb677fc185cf"
-  
-  progress@^2.0.0:
-    version "2.0.3"
-    resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
-  
-  promise-inflight@^1.0.1:
-    version "1.0.1"
-    resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3"
-  
-  promise-polyfill@^7.1.1:
-    version "7.1.2"
-    resolved "https://registry.yarnpkg.com/promise-polyfill/-/promise-polyfill-7.1.2.tgz#ab05301d8c28536301622d69227632269a70ca3b"
-  
-  prompts@^2.0.1:
-    version "2.3.2"
-    resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.3.2.tgz#480572d89ecf39566d2bd3fe2c9fccb7c4c0b068"
-    dependencies:
-      kleur "^3.0.3"
-      sisteransi "^1.0.4"
-  
-  prop-types@^15.5.6, prop-types@^15.5.8, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2:
-    version "15.7.2"
-    resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5"
-    dependencies:
-      loose-envify "^1.4.0"
-      object-assign "^4.1.1"
-      react-is "^16.8.1"
-  
-  proxy-addr@~2.0.5:
-    version "2.0.6"
-    resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.6.tgz#fdc2336505447d3f2f2c638ed272caf614bbb2bf"
-    dependencies:
-      forwarded "~0.1.2"
-      ipaddr.js "1.9.1"
-  
-  prr@~1.0.1:
-    version "1.0.1"
-    resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476"
-  
-  pseudomap@^1.0.2:
-    version "1.0.2"
-    resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
-  
-  psl@^1.1.28:
-    version "1.8.0"
-    resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24"
-  
-  public-encrypt@^4.0.0:
-    version "4.0.3"
-    resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0"
-    dependencies:
-      bn.js "^4.1.0"
-      browserify-rsa "^4.0.0"
-      create-hash "^1.1.0"
-      parse-asn1 "^5.0.0"
-      randombytes "^2.0.1"
-      safe-buffer "^5.1.2"
-  
-  pump@^2.0.0:
-    version "2.0.1"
-    resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909"
-    dependencies:
-      end-of-stream "^1.1.0"
-      once "^1.3.1"
-  
-  pump@^3.0.0:
-    version "3.0.0"
-    resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64"
-    dependencies:
-      end-of-stream "^1.1.0"
-      once "^1.3.1"
-  
-  pumpify@^1.3.3:
-    version "1.5.1"
-    resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce"
-    dependencies:
-      duplexify "^3.6.0"
-      inherits "^2.0.3"
-      pump "^2.0.0"
-  
-  punycode@1.3.2:
-    version "1.3.2"
-    resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d"
-  
-  punycode@^1.2.4:
-    version "1.4.1"
-    resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
-  
-  punycode@^2.1.0, punycode@^2.1.1:
-    version "2.1.1"
-    resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
-  
-  qs@6.7.0:
-    version "6.7.0"
-    resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc"
-  
-  qs@~6.5.2:
-    version "6.5.2"
-    resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
-  
-  query-string@^6.8.3:
-    version "6.13.1"
-    resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.13.1.tgz#d913ccfce3b4b3a713989fe6d39466d92e71ccad"
-    dependencies:
-      decode-uri-component "^0.2.0"
-      split-on-first "^1.0.0"
-      strict-uri-encode "^2.0.0"
-  
-  querystring-es3@^0.2.0:
-    version "0.2.1"
-    resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73"
-  
-  querystring@0.2.0:
-    version "0.2.0"
-    resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620"
-  
-  querystringify@^2.1.1:
-    version "2.2.0"
-    resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6"
-  
-  ramda@^0.27:
-    version "0.27.1"
-    resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.27.1.tgz#66fc2df3ef873874ffc2da6aa8984658abacf5c9"
-  
-  randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0:
-    version "2.1.0"
-    resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a"
-    dependencies:
-      safe-buffer "^5.1.0"
-  
-  randomfill@^1.0.3:
-    version "1.0.4"
-    resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458"
-    dependencies:
-      randombytes "^2.0.5"
-      safe-buffer "^5.1.0"
-  
-  range-parser@^1.2.1, range-parser@~1.2.1:
-    version "1.2.1"
-    resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031"
-  
-  raw-body@2.4.0:
-    version "2.4.0"
-    resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332"
-    dependencies:
-      bytes "3.1.0"
-      http-errors "1.7.2"
-      iconv-lite "0.4.24"
-      unpipe "1.0.0"
-  
-  react-body-classname@^1.3.1:
-    version "1.3.1"
-    resolved "https://registry.yarnpkg.com/react-body-classname/-/react-body-classname-1.3.1.tgz#f9542289fb99ee7eaf5792e1d852cc88e4d810a0"
-    dependencies:
-      prop-types "^15.5.6"
-      react-side-effect "^1.1.0 || ^2.1.0"
-  
-  react-copy-to-clipboard@^5.0.1:
-    version "5.0.2"
-    resolved "https://registry.yarnpkg.com/react-copy-to-clipboard/-/react-copy-to-clipboard-5.0.2.tgz#d82a437e081e68dfca3761fbd57dbf2abdda1316"
-    dependencies:
-      copy-to-clipboard "^3"
-      prop-types "^15.5.8"
-  
-  react-dom@^16.11.0:
-    version "16.13.1"
-    resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.13.1.tgz#c1bd37331a0486c078ee54c4740720993b2e0e7f"
-    dependencies:
-      loose-envify "^1.1.0"
-      object-assign "^4.1.1"
-      prop-types "^15.6.2"
-      scheduler "^0.19.1"
-  
-  react-hotkeys@^2.0.0:
-    version "2.0.0"
-    resolved "https://registry.yarnpkg.com/react-hotkeys/-/react-hotkeys-2.0.0.tgz#a7719c7340cbba888b0e9184f806a9ec0ac2c53f"
-    dependencies:
-      prop-types "^15.6.1"
-  
-  react-is@^16.8.1, react-is@^16.8.4, react-is@^16.8.6:
-    version "16.13.1"
-    resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
-  
-  react-markdown@^4.2.2:
-    version "4.3.1"
-    resolved "https://registry.yarnpkg.com/react-markdown/-/react-markdown-4.3.1.tgz#39f0633b94a027445b86c9811142d05381300f2f"
-    dependencies:
-      html-to-react "^1.3.4"
-      mdast-add-list-metadata "1.0.1"
-      prop-types "^15.7.2"
-      react-is "^16.8.6"
-      remark-parse "^5.0.0"
-      unified "^6.1.5"
-      unist-util-visit "^1.3.0"
-      xtend "^4.0.1"
-  
-  react-responsive-modal@^4.0.1:
-    version "4.0.1"
-    resolved "https://registry.yarnpkg.com/react-responsive-modal/-/react-responsive-modal-4.0.1.tgz#f3de0fc2571be96ed8a013ee45d572f42ed1e7c5"
-    dependencies:
-      classnames "^2.2.6"
-      focus-trap-react "^4.0.1"
-      no-scroll "^2.1.1"
-      prop-types "^15.6.2"
-      react-transition-group "^4.0.0"
-  
-  "react-side-effect@^1.1.0 || ^2.1.0":
-    version "2.1.0"
-    resolved "https://registry.yarnpkg.com/react-side-effect/-/react-side-effect-2.1.0.tgz#1ce4a8b4445168c487ed24dab886421f74d380d3"
-  
-  react-test-renderer@^16.11.0:
-    version "16.13.1"
-    resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.13.1.tgz#de25ea358d9012606de51e012d9742e7f0deabc1"
-    dependencies:
-      object-assign "^4.1.1"
-      prop-types "^15.6.2"
-      react-is "^16.8.6"
-      scheduler "^0.19.1"
-  
-  react-toastify@^5.4.0:
-    version "5.5.0"
-    resolved "https://registry.yarnpkg.com/react-toastify/-/react-toastify-5.5.0.tgz#f55de44f6b5e3ce3b13b69e5bb4427f2c9404822"
-    dependencies:
-      "@babel/runtime" "^7.4.2"
-      classnames "^2.2.6"
-      prop-types "^15.7.2"
-      react-transition-group "^4"
-  
-  react-transition-group@^4, react-transition-group@^4.0.0, react-transition-group@^4.3.0:
-    version "4.4.1"
-    resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.1.tgz#63868f9325a38ea5ee9535d828327f85773345c9"
-    dependencies:
-      "@babel/runtime" "^7.5.5"
-      dom-helpers "^5.0.1"
-      loose-envify "^1.4.0"
-      prop-types "^15.6.2"
-  
-  react@^16.11.0:
-    version "16.13.1"
-    resolved "https://registry.yarnpkg.com/react/-/react-16.13.1.tgz#2e818822f1a9743122c063d6410d85c1e3afe48e"
-    dependencies:
-      loose-envify "^1.1.0"
-      object-assign "^4.1.1"
-      prop-types "^15.6.2"
-  
-  read-pkg-up@^1.0.1:
-    version "1.0.1"
-    resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02"
-    dependencies:
-      find-up "^1.0.0"
-      read-pkg "^1.0.0"
-  
-  read-pkg-up@^2.0.0:
-    version "2.0.0"
-    resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be"
-    dependencies:
-      find-up "^2.0.0"
-      read-pkg "^2.0.0"
-  
-  read-pkg-up@^4.0.0:
-    version "4.0.0"
-    resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-4.0.0.tgz#1b221c6088ba7799601c808f91161c66e58f8978"
-    dependencies:
-      find-up "^3.0.0"
-      read-pkg "^3.0.0"
-  
-  read-pkg@^1.0.0:
-    version "1.1.0"
-    resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28"
-    dependencies:
-      load-json-file "^1.0.0"
-      normalize-package-data "^2.3.2"
-      path-type "^1.0.0"
-  
-  read-pkg@^2.0.0:
-    version "2.0.0"
-    resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8"
-    dependencies:
-      load-json-file "^2.0.0"
-      normalize-package-data "^2.3.2"
-      path-type "^2.0.0"
-  
-  read-pkg@^3.0.0:
-    version "3.0.0"
-    resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389"
-    dependencies:
-      load-json-file "^4.0.0"
-      normalize-package-data "^2.3.2"
-      path-type "^3.0.0"
-  
-  "readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6:
-    version "2.3.7"
-    resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57"
-    dependencies:
-      core-util-is "~1.0.0"
-      inherits "~2.0.3"
-      isarray "~1.0.0"
-      process-nextick-args "~2.0.0"
-      safe-buffer "~5.1.1"
-      string_decoder "~1.1.1"
-      util-deprecate "~1.0.1"
-  
-  readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.6.0:
-    version "3.6.0"
-    resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198"
-    dependencies:
-      inherits "^2.0.3"
-      string_decoder "^1.1.1"
-      util-deprecate "^1.0.1"
-  
-  readdirp@^2.2.1:
-    version "2.2.1"
-    resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525"
-    dependencies:
-      graceful-fs "^4.1.11"
-      micromatch "^3.1.10"
-      readable-stream "^2.0.2"
-  
-  readdirp@~3.4.0:
-    version "3.4.0"
-    resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.4.0.tgz#9fdccdf9e9155805449221ac645e8303ab5b9ada"
-    dependencies:
-      picomatch "^2.2.1"
-  
-  realpath-native@^1.1.0:
-    version "1.1.0"
-    resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-1.1.0.tgz#2003294fea23fb0672f2476ebe22fcf498a2d65c"
-    dependencies:
-      util.promisify "^1.0.0"
-  
-  redent@^1.0.0:
-    version "1.0.0"
-    resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde"
-    dependencies:
-      indent-string "^2.1.0"
-      strip-indent "^1.0.1"
-  
-  regenerate-unicode-properties@^8.2.0:
-    version "8.2.0"
-    resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec"
-    dependencies:
-      regenerate "^1.4.0"
-  
-  regenerate@^1.4.0:
-    version "1.4.1"
-    resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.1.tgz#cad92ad8e6b591773485fbe05a485caf4f457e6f"
-  
-  regenerator-runtime@^0.11.0:
-    version "0.11.1"
-    resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9"
-  
-  regenerator-runtime@^0.13.3, regenerator-runtime@^0.13.4:
-    version "0.13.7"
-    resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz#cac2dacc8a1ea675feaabaeb8ae833898ae46f55"
-  
-  regenerator-transform@^0.14.2:
-    version "0.14.5"
-    resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.5.tgz#c98da154683671c9c4dcb16ece736517e1b7feb4"
-    dependencies:
-      "@babel/runtime" "^7.8.4"
-  
-  regex-not@^1.0.0, regex-not@^1.0.2:
-    version "1.0.2"
-    resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c"
-    dependencies:
-      extend-shallow "^3.0.2"
-      safe-regex "^1.1.0"
-  
-  regexp.prototype.flags@^1.2.0, regexp.prototype.flags@^1.3.0:
-    version "1.3.0"
-    resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz#7aba89b3c13a64509dabcf3ca8d9fbb9bdf5cb75"
-    dependencies:
-      define-properties "^1.1.3"
-      es-abstract "^1.17.0-next.1"
-  
-  regexpp@^2.0.1:
-    version "2.0.1"
-    resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f"
-  
-  regexpu-core@^4.7.0:
-    version "4.7.0"
-    resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.0.tgz#fcbf458c50431b0bb7b45d6967b8192d91f3d938"
-    dependencies:
-      regenerate "^1.4.0"
-      regenerate-unicode-properties "^8.2.0"
-      regjsgen "^0.5.1"
-      regjsparser "^0.6.4"
-      unicode-match-property-ecmascript "^1.0.4"
-      unicode-match-property-value-ecmascript "^1.2.0"
-  
-  regjsgen@^0.5.1:
-    version "0.5.2"
-    resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733"
-  
-  regjsparser@^0.6.4:
-    version "0.6.4"
-    resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.4.tgz#a769f8684308401a66e9b529d2436ff4d0666272"
-    dependencies:
-      jsesc "~0.5.0"
-  
-  relateurl@0.2.x:
-    version "0.2.7"
-    resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9"
-  
-  remark-parse@^5.0.0:
-    version "5.0.0"
-    resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-5.0.0.tgz#4c077f9e499044d1d5c13f80d7a98cf7b9285d95"
-    dependencies:
-      collapse-white-space "^1.0.2"
-      is-alphabetical "^1.0.0"
-      is-decimal "^1.0.0"
-      is-whitespace-character "^1.0.0"
-      is-word-character "^1.0.0"
-      markdown-escapes "^1.0.0"
-      parse-entities "^1.1.0"
-      repeat-string "^1.5.4"
-      state-toggle "^1.0.0"
-      trim "0.0.1"
-      trim-trailing-lines "^1.0.0"
-      unherit "^1.0.4"
-      unist-util-remove-position "^1.0.0"
-      vfile-location "^2.0.0"
-      xtend "^4.0.1"
-  
-  remove-trailing-separator@^1.0.1:
-    version "1.1.0"
-    resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef"
-  
-  renderkid@^2.0.1:
-    version "2.0.3"
-    resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.3.tgz#380179c2ff5ae1365c522bf2fcfcff01c5b74149"
-    dependencies:
-      css-select "^1.1.0"
-      dom-converter "^0.2"
-      htmlparser2 "^3.3.0"
-      strip-ansi "^3.0.0"
-      utila "^0.4.0"
-  
-  repeat-element@^1.1.2:
-    version "1.1.3"
-    resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce"
-  
-  repeat-string@^1.5.4, repeat-string@^1.6.1:
-    version "1.6.1"
-    resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
-  
-  repeating@^2.0.0:
-    version "2.0.1"
-    resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda"
-    dependencies:
-      is-finite "^1.0.0"
-  
-  replace-ext@1.0.0:
-    version "1.0.0"
-    resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb"
-  
-  request-promise-core@1.1.4:
-    version "1.1.4"
-    resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f"
-    dependencies:
-      lodash "^4.17.19"
-  
-  request-promise-native@^1.0.5:
-    version "1.0.9"
-    resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28"
-    dependencies:
-      request-promise-core "1.1.4"
-      stealthy-require "^1.1.1"
-      tough-cookie "^2.3.3"
-  
-  request@^2.87.0, request@^2.88.0:
-    version "2.88.2"
-    resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3"
-    dependencies:
-      aws-sign2 "~0.7.0"
-      aws4 "^1.8.0"
-      caseless "~0.12.0"
-      combined-stream "~1.0.6"
-      extend "~3.0.2"
-      forever-agent "~0.6.1"
-      form-data "~2.3.2"
-      har-validator "~5.1.3"
-      http-signature "~1.2.0"
-      is-typedarray "~1.0.0"
-      isstream "~0.1.2"
-      json-stringify-safe "~5.0.1"
-      mime-types "~2.1.19"
-      oauth-sign "~0.9.0"
-      performance-now "^2.1.0"
-      qs "~6.5.2"
-      safe-buffer "^5.1.2"
-      tough-cookie "~2.5.0"
-      tunnel-agent "^0.6.0"
-      uuid "^3.3.2"
-  
-  require-directory@^2.1.1:
-    version "2.1.1"
-    resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
-  
-  require-main-filename@^1.0.1:
-    version "1.0.1"
-    resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1"
-  
-  require-main-filename@^2.0.0:
-    version "2.0.0"
-    resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b"
-  
-  requires-port@^1.0.0:
-    version "1.0.0"
-    resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
-  
-  resolve-cwd@^2.0.0:
-    version "2.0.0"
-    resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a"
-    dependencies:
-      resolve-from "^3.0.0"
-  
-  resolve-dir@^1.0.0, resolve-dir@^1.0.1:
-    version "1.0.1"
-    resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43"
-    dependencies:
-      expand-tilde "^2.0.0"
-      global-modules "^1.0.0"
-  
-  resolve-from@^3.0.0:
-    version "3.0.0"
-    resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748"
-  
-  resolve-from@^4.0.0:
-    version "4.0.0"
-    resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
-  
-  resolve-url@^0.2.1:
-    version "0.2.1"
-    resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
-  
-  resolve@1.1.7:
-    version "1.1.7"
-    resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b"
-  
-  resolve@^1.10.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.17.0, resolve@^1.3.2, resolve@^1.8.1:
-    version "1.17.0"
-    resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444"
-    dependencies:
-      path-parse "^1.0.6"
-  
-  restore-cursor@^2.0.0:
-    version "2.0.0"
-    resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf"
-    dependencies:
-      onetime "^2.0.0"
-      signal-exit "^3.0.2"
-  
-  restore-cursor@^3.1.0:
-    version "3.1.0"
-    resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e"
-    dependencies:
-      onetime "^5.1.0"
-      signal-exit "^3.0.2"
-  
-  ret@~0.1.10:
-    version "0.1.15"
-    resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc"
-  
-  retry@^0.12.0:
-    version "0.12.0"
-    resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b"
-  
-  rimraf@2, rimraf@^2.5.4, rimraf@^2.6.3:
-    version "2.7.1"
-    resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec"
-    dependencies:
-      glob "^7.1.3"
-  
-  rimraf@2.6.3:
-    version "2.6.3"
-    resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab"
-    dependencies:
-      glob "^7.1.3"
-  
-  ripemd160@^2.0.0, ripemd160@^2.0.1:
-    version "2.0.2"
-    resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c"
-    dependencies:
-      hash-base "^3.0.0"
-      inherits "^2.0.1"
-  
-  rsvp@^4.8.4:
-    version "4.8.5"
-    resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734"
-  
-  run-async@^2.2.0, run-async@^2.4.0:
-    version "2.4.1"
-    resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455"
-  
-  run-queue@^1.0.0, run-queue@^1.0.3:
-    version "1.0.3"
-    resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47"
-    dependencies:
-      aproba "^1.1.1"
-  
-  rxjs@^6.4.0, rxjs@^6.6.0:
-    version "6.6.3"
-    resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.3.tgz#8ca84635c4daa900c0d3967a6ee7ac60271ee552"
-    dependencies:
-      tslib "^1.9.0"
-  
-  safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
-    version "5.1.2"
-    resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
-  
-  safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0:
-    version "5.2.1"
-    resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
-  
-  safe-regex@^1.1.0:
-    version "1.1.0"
-    resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e"
-    dependencies:
-      ret "~0.1.10"
-  
-  "safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0:
-    version "2.1.2"
-    resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
-  
-  sane@^4.0.3:
-    version "4.1.0"
-    resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded"
-    dependencies:
-      "@cnakazawa/watch" "^1.0.3"
-      anymatch "^2.0.0"
-      capture-exit "^2.0.0"
-      exec-sh "^0.3.2"
-      execa "^1.0.0"
-      fb-watchman "^2.0.0"
-      micromatch "^3.1.4"
-      minimist "^1.1.1"
-      walker "~1.0.5"
-  
-  sass-graph@2.2.5:
-    version "2.2.5"
-    resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.2.5.tgz#a981c87446b8319d96dce0671e487879bd24c2e8"
-    dependencies:
-      glob "^7.0.0"
-      lodash "^4.0.0"
-      scss-tokenizer "^0.2.3"
-      yargs "^13.3.2"
-  
-  sass-loader@^8.0.0:
-    version "8.0.2"
-    resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-8.0.2.tgz#debecd8c3ce243c76454f2e8290482150380090d"
-    dependencies:
-      clone-deep "^4.0.1"
-      loader-utils "^1.2.3"
-      neo-async "^2.6.1"
-      schema-utils "^2.6.1"
-      semver "^6.3.0"
-  
-  sass@^1.3.0:
-    version "1.26.10"
-    resolved "https://registry.yarnpkg.com/sass/-/sass-1.26.10.tgz#851d126021cdc93decbf201d1eca2a20ee434760"
-    dependencies:
-      chokidar ">=2.0.0 <4.0.0"
-  
-  sax@>=0.6.0, sax@^1.2.4:
-    version "1.2.4"
-    resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
-  
-  scheduler@^0.19.1:
-    version "0.19.1"
-    resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.19.1.tgz#4f3e2ed2c1a7d65681f4c854fa8c5a1ccb40f196"
-    dependencies:
-      loose-envify "^1.1.0"
-      object-assign "^4.1.1"
-  
-  schema-utils@^1.0.0:
-    version "1.0.0"
-    resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770"
-    dependencies:
-      ajv "^6.1.0"
-      ajv-errors "^1.0.0"
-      ajv-keywords "^3.1.0"
-  
-  schema-utils@^2.5.0, schema-utils@^2.6.1, schema-utils@^2.6.5, schema-utils@^2.6.6, schema-utils@^2.7.0:
-    version "2.7.1"
-    resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7"
-    dependencies:
-      "@types/json-schema" "^7.0.5"
-      ajv "^6.12.4"
-      ajv-keywords "^3.5.2"
-  
-  scss-tokenizer@^0.2.3:
-    version "0.2.3"
-    resolved "https://registry.yarnpkg.com/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz#8eb06db9a9723333824d3f5530641149847ce5d1"
-    dependencies:
-      js-base64 "^2.1.8"
-      source-map "^0.4.2"
-  
-  select-hose@^2.0.0:
-    version "2.0.0"
-    resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca"
-  
-  select@^1.1.2:
-    version "1.1.2"
-    resolved "https://registry.yarnpkg.com/select/-/select-1.1.2.tgz#0e7350acdec80b1108528786ec1d4418d11b396d"
-  
-  selfsigned@^1.10.7:
-    version "1.10.7"
-    resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.7.tgz#da5819fd049d5574f28e88a9bcc6dbc6e6f3906b"
-    dependencies:
-      node-forge "0.9.0"
-  
-  "semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0:
-    version "5.7.1"
-    resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
-  
-  semver@7.0.0:
-    version "7.0.0"
-    resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e"
-  
-  semver@^6.0.0, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0:
-    version "6.3.0"
-    resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
-  
-  semver@^7.3.2:
-    version "7.3.2"
-    resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938"
-  
-  semver@~5.3.0:
-    version "5.3.0"
-    resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
-  
-  send@0.17.1:
-    version "0.17.1"
-    resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8"
-    dependencies:
-      debug "2.6.9"
-      depd "~1.1.2"
-      destroy "~1.0.4"
-      encodeurl "~1.0.2"
-      escape-html "~1.0.3"
-      etag "~1.8.1"
-      fresh "0.5.2"
-      http-errors "~1.7.2"
-      mime "1.6.0"
-      ms "2.1.1"
-      on-finished "~2.3.0"
-      range-parser "~1.2.1"
-      statuses "~1.5.0"
-  
-  serialize-javascript@^4.0.0:
-    version "4.0.0"
-    resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa"
-    dependencies:
-      randombytes "^2.1.0"
-  
-  serve-index@^1.9.1:
-    version "1.9.1"
-    resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239"
-    dependencies:
-      accepts "~1.3.4"
-      batch "0.6.1"
-      debug "2.6.9"
-      escape-html "~1.0.3"
-      http-errors "~1.6.2"
-      mime-types "~2.1.17"
-      parseurl "~1.3.2"
-  
-  serve-static@1.14.1:
-    version "1.14.1"
-    resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9"
-    dependencies:
-      encodeurl "~1.0.2"
-      escape-html "~1.0.3"
-      parseurl "~1.3.3"
-      send "0.17.1"
-  
-  set-blocking@^2.0.0, set-blocking@~2.0.0:
-    version "2.0.0"
-    resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
-  
-  set-immediate-shim@~1.0.1:
-    version "1.0.1"
-    resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61"
-  
-  set-value@^2.0.0, set-value@^2.0.1:
-    version "2.0.1"
-    resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b"
-    dependencies:
-      extend-shallow "^2.0.1"
-      is-extendable "^0.1.1"
-      is-plain-object "^2.0.3"
-      split-string "^3.0.1"
-  
-  setimmediate@^1.0.4:
-    version "1.0.5"
-    resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
-  
-  setprototypeof@1.1.0:
-    version "1.1.0"
-    resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656"
-  
-  setprototypeof@1.1.1:
-    version "1.1.1"
-    resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683"
-  
-  sha.js@^2.4.0, sha.js@^2.4.8:
-    version "2.4.11"
-    resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7"
-    dependencies:
-      inherits "^2.0.1"
-      safe-buffer "^5.0.1"
-  
-  shallow-clone@^3.0.0:
-    version "3.0.1"
-    resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3"
-    dependencies:
-      kind-of "^6.0.2"
-  
-  shebang-command@^1.2.0:
-    version "1.2.0"
-    resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
-    dependencies:
-      shebang-regex "^1.0.0"
-  
-  shebang-regex@^1.0.0:
-    version "1.0.0"
-    resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
-  
-  shellwords@^0.1.1:
-    version "0.1.1"
-    resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b"
-  
-  side-channel@^1.0.2:
-    version "1.0.3"
-    resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.3.tgz#cdc46b057550bbab63706210838df5d4c19519c3"
-    dependencies:
-      es-abstract "^1.18.0-next.0"
-      object-inspect "^1.8.0"
-  
-  signal-exit@^3.0.0, signal-exit@^3.0.2:
-    version "3.0.3"
-    resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c"
-  
-  sisteransi@^1.0.4:
-    version "1.0.5"
-    resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed"
-  
-  slash@^1.0.0:
-    version "1.0.0"
-    resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55"
-  
-  slash@^2.0.0:
-    version "2.0.0"
-    resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44"
-  
-  slash@^3.0.0:
-    version "3.0.0"
-    resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
-  
-  slice-ansi@^2.1.0:
-    version "2.1.0"
-    resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636"
-    dependencies:
-      ansi-styles "^3.2.0"
-      astral-regex "^1.0.0"
-      is-fullwidth-code-point "^2.0.0"
-  
-  snapdragon-node@^2.0.1:
-    version "2.1.1"
-    resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b"
-    dependencies:
-      define-property "^1.0.0"
-      isobject "^3.0.0"
-      snapdragon-util "^3.0.1"
-  
-  snapdragon-util@^3.0.1:
-    version "3.0.1"
-    resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2"
-    dependencies:
-      kind-of "^3.2.0"
-  
-  snapdragon@^0.8.1:
-    version "0.8.2"
-    resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d"
-    dependencies:
-      base "^0.11.1"
-      debug "^2.2.0"
-      define-property "^0.2.5"
-      extend-shallow "^2.0.1"
-      map-cache "^0.2.2"
-      source-map "^0.5.6"
-      source-map-resolve "^0.5.0"
-      use "^3.1.0"
-  
-  sockjs-client@1.4.0:
-    version "1.4.0"
-    resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.4.0.tgz#c9f2568e19c8fd8173b4997ea3420e0bb306c7d5"
-    dependencies:
-      debug "^3.2.5"
-      eventsource "^1.0.7"
-      faye-websocket "~0.11.1"
-      inherits "^2.0.3"
-      json3 "^3.3.2"
-      url-parse "^1.4.3"
-  
-  sockjs@0.3.20:
-    version "0.3.20"
-    resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.20.tgz#b26a283ec562ef8b2687b44033a4eeceac75d855"
-    dependencies:
-      faye-websocket "^0.10.0"
-      uuid "^3.4.0"
-      websocket-driver "0.6.5"
-  
-  source-list-map@^2.0.0:
-    version "2.0.1"
-    resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34"
-  
-  source-map-resolve@^0.5.0:
-    version "0.5.3"
-    resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a"
-    dependencies:
-      atob "^2.1.2"
-      decode-uri-component "^0.2.0"
-      resolve-url "^0.2.1"
-      source-map-url "^0.4.0"
-      urix "^0.1.0"
-  
-  source-map-support@^0.5.6, source-map-support@~0.5.12:
-    version "0.5.19"
-    resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61"
-    dependencies:
-      buffer-from "^1.0.0"
-      source-map "^0.6.0"
-  
-  source-map-url@^0.4.0:
-    version "0.4.0"
-    resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3"
-  
-  source-map@^0.4.2:
-    version "0.4.4"
-    resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b"
-    dependencies:
-      amdefine ">=0.0.4"
-  
-  source-map@^0.5.0, source-map@^0.5.6:
-    version "0.5.7"
-    resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
-  
-  source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1:
-    version "0.6.1"
-    resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
-  
-  spdx-correct@^3.0.0:
-    version "3.1.1"
-    resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9"
-    dependencies:
-      spdx-expression-parse "^3.0.0"
-      spdx-license-ids "^3.0.0"
-  
-  spdx-exceptions@^2.1.0:
-    version "2.3.0"
-    resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d"
-  
-  spdx-expression-parse@^3.0.0:
-    version "3.0.1"
-    resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679"
-    dependencies:
-      spdx-exceptions "^2.1.0"
-      spdx-license-ids "^3.0.0"
-  
-  spdx-license-ids@^3.0.0:
-    version "3.0.5"
-    resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz#3694b5804567a458d3c8045842a6358632f62654"
-  
-  spdy-transport@^3.0.0:
-    version "3.0.0"
-    resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31"
-    dependencies:
-      debug "^4.1.0"
-      detect-node "^2.0.4"
-      hpack.js "^2.1.6"
-      obuf "^1.1.2"
-      readable-stream "^3.0.6"
-      wbuf "^1.7.3"
-  
-  spdy@^4.0.2:
-    version "4.0.2"
-    resolved "https://registry.yarnpkg.com/spdy/-/spdy-4.0.2.tgz#b74f466203a3eda452c02492b91fb9e84a27677b"
-    dependencies:
-      debug "^4.1.0"
-      handle-thing "^2.0.0"
-      http-deceiver "^1.2.7"
-      select-hose "^2.0.0"
-      spdy-transport "^3.0.0"
-  
-  split-on-first@^1.0.0:
-    version "1.1.0"
-    resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f"
-  
-  split-string@^3.0.1, split-string@^3.0.2:
-    version "3.1.0"
-    resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2"
-    dependencies:
-      extend-shallow "^3.0.0"
-  
-  sprintf-js@~1.0.2:
-    version "1.0.3"
-    resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
-  
-  sshpk@^1.7.0:
-    version "1.16.1"
-    resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877"
-    dependencies:
-      asn1 "~0.2.3"
-      assert-plus "^1.0.0"
-      bcrypt-pbkdf "^1.0.0"
-      dashdash "^1.12.0"
-      ecc-jsbn "~0.1.1"
-      getpass "^0.1.1"
-      jsbn "~0.1.0"
-      safer-buffer "^2.0.2"
-      tweetnacl "~0.14.0"
-  
-  ssri@^6.0.1:
-    version "6.0.1"
-    resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8"
-    dependencies:
-      figgy-pudding "^3.5.1"
-  
-  stack-utils@^1.0.1:
-    version "1.0.2"
-    resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.2.tgz#33eba3897788558bebfc2db059dc158ec36cebb8"
-  
-  state-toggle@^1.0.0:
-    version "1.0.3"
-    resolved "https://registry.yarnpkg.com/state-toggle/-/state-toggle-1.0.3.tgz#e123b16a88e143139b09c6852221bc9815917dfe"
-  
-  static-extend@^0.1.1:
-    version "0.1.2"
-    resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6"
-    dependencies:
-      define-property "^0.2.5"
-      object-copy "^0.1.0"
-  
-  "statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@~1.5.0:
-    version "1.5.0"
-    resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c"
-  
-  stdout-stream@^1.4.0:
-    version "1.4.1"
-    resolved "https://registry.yarnpkg.com/stdout-stream/-/stdout-stream-1.4.1.tgz#5ac174cdd5cd726104aa0c0b2bd83815d8d535de"
-    dependencies:
-      readable-stream "^2.0.1"
-  
-  stealthy-require@^1.1.1:
-    version "1.1.1"
-    resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b"
-  
-  stream-browserify@^2.0.1:
-    version "2.0.2"
-    resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b"
-    dependencies:
-      inherits "~2.0.1"
-      readable-stream "^2.0.2"
-  
-  stream-each@^1.1.0:
-    version "1.2.3"
-    resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae"
-    dependencies:
-      end-of-stream "^1.1.0"
-      stream-shift "^1.0.0"
-  
-  stream-http@^2.7.2:
-    version "2.8.3"
-    resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc"
-    dependencies:
-      builtin-status-codes "^3.0.0"
-      inherits "^2.0.1"
-      readable-stream "^2.3.6"
-      to-arraybuffer "^1.0.0"
-      xtend "^4.0.0"
-  
-  stream-shift@^1.0.0:
-    version "1.0.1"
-    resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d"
-  
-  strict-uri-encode@^2.0.0:
-    version "2.0.0"
-    resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546"
-  
-  string-length@^2.0.0:
-    version "2.0.0"
-    resolved "https://registry.yarnpkg.com/string-length/-/string-length-2.0.0.tgz#d40dbb686a3ace960c1cffca562bf2c45f8363ed"
-    dependencies:
-      astral-regex "^1.0.0"
-      strip-ansi "^4.0.0"
-  
-  string-length@^3.0.0:
-    version "3.1.0"
-    resolved "https://registry.yarnpkg.com/string-length/-/string-length-3.1.0.tgz#107ef8c23456e187a8abd4a61162ff4ac6e25837"
-    dependencies:
-      astral-regex "^1.0.0"
-      strip-ansi "^5.2.0"
-  
-  string-width@^1.0.1:
-    version "1.0.2"
-    resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
-    dependencies:
-      code-point-at "^1.0.0"
-      is-fullwidth-code-point "^1.0.0"
-      strip-ansi "^3.0.0"
-  
-  "string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1:
-    version "2.1.1"
-    resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e"
-    dependencies:
-      is-fullwidth-code-point "^2.0.0"
-      strip-ansi "^4.0.0"
-  
-  string-width@^3.0.0, string-width@^3.1.0:
-    version "3.1.0"
-    resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961"
-    dependencies:
-      emoji-regex "^7.0.1"
-      is-fullwidth-code-point "^2.0.0"
-      strip-ansi "^5.1.0"
-  
-  string-width@^4.1.0:
-    version "4.2.0"
-    resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5"
-    dependencies:
-      emoji-regex "^8.0.0"
-      is-fullwidth-code-point "^3.0.0"
-      strip-ansi "^6.0.0"
-  
-  string.prototype.matchall@^4.0.2:
-    version "4.0.2"
-    resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.2.tgz#48bb510326fb9fdeb6a33ceaa81a6ea04ef7648e"
-    dependencies:
-      define-properties "^1.1.3"
-      es-abstract "^1.17.0"
-      has-symbols "^1.0.1"
-      internal-slot "^1.0.2"
-      regexp.prototype.flags "^1.3.0"
-      side-channel "^1.0.2"
-  
-  string.prototype.trimend@^1.0.1:
-    version "1.0.1"
-    resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz#85812a6b847ac002270f5808146064c995fb6913"
-    dependencies:
-      define-properties "^1.1.3"
-      es-abstract "^1.17.5"
-  
-  string.prototype.trimstart@^1.0.1:
-    version "1.0.1"
-    resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz#14af6d9f34b053f7cfc89b72f8f2ee14b9039a54"
-    dependencies:
-      define-properties "^1.1.3"
-      es-abstract "^1.17.5"
-  
-  string_decoder@^1.0.0, string_decoder@^1.1.1:
-    version "1.3.0"
-    resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e"
-    dependencies:
-      safe-buffer "~5.2.0"
-  
-  string_decoder@~1.1.1:
-    version "1.1.1"
-    resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
-    dependencies:
-      safe-buffer "~5.1.0"
-  
-  stringify-object@^3.3.0:
-    version "3.3.0"
-    resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629"
-    dependencies:
-      get-own-enumerable-property-symbols "^3.0.0"
-      is-obj "^1.0.1"
-      is-regexp "^1.0.0"
-  
-  strip-ansi@^3.0.0, strip-ansi@^3.0.1:
-    version "3.0.1"
-    resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
-    dependencies:
-      ansi-regex "^2.0.0"
-  
-  strip-ansi@^4.0.0:
-    version "4.0.0"
-    resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f"
-    dependencies:
-      ansi-regex "^3.0.0"
-  
-  strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0:
-    version "5.2.0"
-    resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae"
-    dependencies:
-      ansi-regex "^4.1.0"
-  
-  strip-ansi@^6.0.0:
-    version "6.0.0"
-    resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532"
-    dependencies:
-      ansi-regex "^5.0.0"
-  
-  strip-bom@^2.0.0:
-    version "2.0.0"
-    resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e"
-    dependencies:
-      is-utf8 "^0.2.0"
-  
-  strip-bom@^3.0.0:
-    version "3.0.0"
-    resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
-  
-  strip-comments@^1.0.2:
-    version "1.0.2"
-    resolved "https://registry.yarnpkg.com/strip-comments/-/strip-comments-1.0.2.tgz#82b9c45e7f05873bee53f37168af930aa368679d"
-    dependencies:
-      babel-extract-comments "^1.0.0"
-      babel-plugin-transform-object-rest-spread "^6.26.0"
-  
-  strip-eof@^1.0.0:
-    version "1.0.0"
-    resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
-  
-  strip-indent@^1.0.1:
-    version "1.0.1"
-    resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2"
-    dependencies:
-      get-stdin "^4.0.1"
-  
-  strip-json-comments@^2.0.1:
-    version "2.0.1"
-    resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
-  
-  strip-json-comments@^3.0.1:
-    version "3.1.1"
-    resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
-  
-  style-loader@^1.0.0:
-    version "1.2.1"
-    resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-1.2.1.tgz#c5cbbfbf1170d076cfdd86e0109c5bba114baa1a"
-    dependencies:
-      loader-utils "^2.0.0"
-      schema-utils "^2.6.6"
-  
-  supports-color@^2.0.0:
-    version "2.0.0"
-    resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
-  
-  supports-color@^5.3.0:
-    version "5.5.0"
-    resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
-    dependencies:
-      has-flag "^3.0.0"
-  
-  supports-color@^6.1.0:
-    version "6.1.0"
-    resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3"
-    dependencies:
-      has-flag "^3.0.0"
-  
-  supports-color@^7.1.0:
-    version "7.2.0"
-    resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
-    dependencies:
-      has-flag "^4.0.0"
-  
-  symbol-tree@^3.2.2:
-    version "3.2.4"
-    resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2"
-  
-  tabbable@^3.1.0:
-    version "3.1.2"
-    resolved "https://registry.yarnpkg.com/tabbable/-/tabbable-3.1.2.tgz#f2d16cccd01f400e38635c7181adfe0ad965a4a2"
-  
-  table@^5.2.3:
-    version "5.4.6"
-    resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e"
-    dependencies:
-      ajv "^6.10.2"
-      lodash "^4.17.14"
-      slice-ansi "^2.1.0"
-      string-width "^3.0.0"
-  
-  tapable@^1.0.0, tapable@^1.1.3:
-    version "1.1.3"
-    resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2"
-  
-  tar@^2.0.0:
-    version "2.2.2"
-    resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.2.tgz#0ca8848562c7299b8b446ff6a4d60cdbb23edc40"
-    dependencies:
-      block-stream "*"
-      fstream "^1.0.12"
-      inherits "2"
-  
-  terser-webpack-plugin@^1.4.3:
-    version "1.4.5"
-    resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz#a217aefaea330e734ffacb6120ec1fa312d6040b"
-    dependencies:
-      cacache "^12.0.2"
-      find-cache-dir "^2.1.0"
-      is-wsl "^1.1.0"
-      schema-utils "^1.0.0"
-      serialize-javascript "^4.0.0"
-      source-map "^0.6.1"
-      terser "^4.1.2"
-      webpack-sources "^1.4.0"
-      worker-farm "^1.7.0"
-  
-  terser@^4.1.2:
-    version "4.8.0"
-    resolved "https://registry.yarnpkg.com/terser/-/terser-4.8.0.tgz#63056343d7c70bb29f3af665865a46fe03a0df17"
-    dependencies:
-      commander "^2.20.0"
-      source-map "~0.6.1"
-      source-map-support "~0.5.12"
-  
-  test-exclude@^5.2.3:
-    version "5.2.3"
-    resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-5.2.3.tgz#c3d3e1e311eb7ee405e092dac10aefd09091eac0"
-    dependencies:
-      glob "^7.1.3"
-      minimatch "^3.0.4"
-      read-pkg-up "^4.0.0"
-      require-main-filename "^2.0.0"
-  
-  text-table@^0.2.0:
-    version "0.2.0"
-    resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
-  
-  throat@^4.0.0:
-    version "4.1.0"
-    resolved "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a"
-  
-  through2@^2.0.0:
-    version "2.0.5"
-    resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd"
-    dependencies:
-      readable-stream "~2.3.6"
-      xtend "~4.0.1"
-  
-  through@^2.3.6:
-    version "2.3.8"
-    resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
-  
-  thunky@^1.0.2:
-    version "1.1.0"
-    resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d"
-  
-  timers-browserify@^2.0.4:
-    version "2.0.11"
-    resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.11.tgz#800b1f3eee272e5bc53ee465a04d0e804c31211f"
-    dependencies:
-      setimmediate "^1.0.4"
-  
-  timm@^1.6.1:
-    version "1.7.0"
-    resolved "https://registry.yarnpkg.com/timm/-/timm-1.7.0.tgz#c538100a58d066a53cb6cadeb8fb6b0dfd66e270"
-  
-  tiny-emitter@^2.0.0:
-    version "2.1.0"
-    resolved "https://registry.yarnpkg.com/tiny-emitter/-/tiny-emitter-2.1.0.tgz#1d1a56edfc51c43e863cbb5382a72330e3555423"
-  
-  tinycolor2@^1.4.1:
-    version "1.4.1"
-    resolved "https://registry.yarnpkg.com/tinycolor2/-/tinycolor2-1.4.1.tgz#f4fad333447bc0b07d4dc8e9209d8f39a8ac77e8"
-  
-  tmp@^0.0.33:
-    version "0.0.33"
-    resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9"
-    dependencies:
-      os-tmpdir "~1.0.2"
-  
-  tmpl@1.0.x:
-    version "1.0.4"
-    resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1"
-  
-  to-arraybuffer@^1.0.0:
-    version "1.0.1"
-    resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43"
-  
-  to-fast-properties@^2.0.0:
-    version "2.0.0"
-    resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
-  
-  to-object-path@^0.3.0:
-    version "0.3.0"
-    resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af"
-    dependencies:
-      kind-of "^3.0.2"
-  
-  to-regex-range@^2.1.0:
-    version "2.1.1"
-    resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38"
-    dependencies:
-      is-number "^3.0.0"
-      repeat-string "^1.6.1"
-  
-  to-regex-range@^5.0.1:
-    version "5.0.1"
-    resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
-    dependencies:
-      is-number "^7.0.0"
-  
-  to-regex@^3.0.1, to-regex@^3.0.2:
-    version "3.0.2"
-    resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce"
-    dependencies:
-      define-property "^2.0.2"
-      extend-shallow "^3.0.2"
-      regex-not "^1.0.2"
-      safe-regex "^1.1.0"
-  
-  toggle-selection@^1.0.6:
-    version "1.0.6"
-    resolved "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32"
-  
-  toidentifier@1.0.0:
-    version "1.0.0"
-    resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553"
-  
-  toposort@^1.0.0:
-    version "1.0.7"
-    resolved "https://registry.yarnpkg.com/toposort/-/toposort-1.0.7.tgz#2e68442d9f64ec720b8cc89e6443ac6caa950029"
-  
-  tough-cookie@^2.3.3, tough-cookie@^2.3.4, tough-cookie@~2.5.0:
-    version "2.5.0"
-    resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2"
-    dependencies:
-      psl "^1.1.28"
-      punycode "^2.1.1"
-  
-  tr46@^1.0.1:
-    version "1.0.1"
-    resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09"
-    dependencies:
-      punycode "^2.1.0"
-  
-  trim-newlines@^1.0.0:
-    version "1.0.0"
-    resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613"
-  
-  trim-trailing-lines@^1.0.0:
-    version "1.1.3"
-    resolved "https://registry.yarnpkg.com/trim-trailing-lines/-/trim-trailing-lines-1.1.3.tgz#7f0739881ff76657b7776e10874128004b625a94"
-  
-  trim@0.0.1:
-    version "0.0.1"
-    resolved "https://registry.yarnpkg.com/trim/-/trim-0.0.1.tgz#5858547f6b290757ee95cccc666fb50084c460dd"
-  
-  trough@^1.0.0:
-    version "1.0.5"
-    resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.5.tgz#b8b639cefad7d0bb2abd37d433ff8293efa5f406"
-  
-  "true-case-path@^1.0.2":
-    version "1.0.3"
-    resolved "https://registry.yarnpkg.com/true-case-path/-/true-case-path-1.0.3.tgz#f813b5a8c86b40da59606722b144e3225799f47d"
-    dependencies:
-      glob "^7.1.2"
-  
-  tryer@^1.0.1:
-    version "1.0.1"
-    resolved "https://registry.yarnpkg.com/tryer/-/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8"
-  
-  tsconfig-paths@^3.9.0:
-    version "3.9.0"
-    resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz#098547a6c4448807e8fcb8eae081064ee9a3c90b"
-    dependencies:
-      "@types/json5" "^0.0.29"
-      json5 "^1.0.1"
-      minimist "^1.2.0"
-      strip-bom "^3.0.0"
-  
-  tslib@^1.8.1, tslib@^1.9.0:
-    version "1.13.0"
-    resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043"
-  
-  tsutils@^3.17.1:
-    version "3.17.1"
-    resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.17.1.tgz#ed719917f11ca0dee586272b2ac49e015a2dd759"
-    dependencies:
-      tslib "^1.8.1"
-  
-  tty-browserify@0.0.0:
-    version "0.0.0"
-    resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6"
-  
-  tunnel-agent@^0.6.0:
-    version "0.6.0"
-    resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
-    dependencies:
-      safe-buffer "^5.0.1"
-  
-  tweetnacl@^0.14.3, tweetnacl@~0.14.0:
-    version "0.14.5"
-    resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
-  
-  type-check@~0.3.2:
-    version "0.3.2"
-    resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72"
-    dependencies:
-      prelude-ls "~1.1.2"
-  
-  type-fest@^0.11.0:
-    version "0.11.0"
-    resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1"
-  
-  type-fest@^0.8.1:
-    version "0.8.1"
-    resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d"
-  
-  type-is@~1.6.17, type-is@~1.6.18:
-    version "1.6.18"
-    resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131"
-    dependencies:
-      media-typer "0.3.0"
-      mime-types "~2.1.24"
-  
-  typedarray@^0.0.6:
-    version "0.0.6"
-    resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
-  
-  typescript@^3.7.2:
-    version "3.9.7"
-    resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.7.tgz#98d600a5ebdc38f40cb277522f12dc800e9e25fa"
-  
-  uglify-js@3.4.x:
-    version "3.4.10"
-    resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.10.tgz#9ad9563d8eb3acdfb8d38597d2af1d815f6a755f"
-    dependencies:
-      commander "~2.19.0"
-      source-map "~0.6.1"
-  
-  unherit@^1.0.4:
-    version "1.1.3"
-    resolved "https://registry.yarnpkg.com/unherit/-/unherit-1.1.3.tgz#6c9b503f2b41b262330c80e91c8614abdaa69c22"
-    dependencies:
-      inherits "^2.0.0"
-      xtend "^4.0.0"
-  
-  unicode-canonical-property-names-ecmascript@^1.0.4:
-    version "1.0.4"
-    resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818"
-  
-  unicode-match-property-ecmascript@^1.0.4:
-    version "1.0.4"
-    resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c"
-    dependencies:
-      unicode-canonical-property-names-ecmascript "^1.0.4"
-      unicode-property-aliases-ecmascript "^1.0.4"
-  
-  unicode-match-property-value-ecmascript@^1.2.0:
-    version "1.2.0"
-    resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz#0d91f600eeeb3096aa962b1d6fc88876e64ea531"
-  
-  unicode-property-aliases-ecmascript@^1.0.4:
-    version "1.1.0"
-    resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz#dd57a99f6207bedff4628abefb94c50db941c8f4"
-  
-  unified@^6.1.5:
-    version "6.2.0"
-    resolved "https://registry.yarnpkg.com/unified/-/unified-6.2.0.tgz#7fbd630f719126d67d40c644b7e3f617035f6dba"
-    dependencies:
-      bail "^1.0.0"
-      extend "^3.0.0"
-      is-plain-obj "^1.1.0"
-      trough "^1.0.0"
-      vfile "^2.0.0"
-      x-is-string "^0.1.0"
-  
-  union-value@^1.0.0:
-    version "1.0.1"
-    resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847"
-    dependencies:
-      arr-union "^3.1.0"
-      get-value "^2.0.6"
-      is-extendable "^0.1.1"
-      set-value "^2.0.1"
-  
-  uniq@^1.0.1:
-    version "1.0.1"
-    resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff"
-  
-  unique-filename@^1.1.1:
-    version "1.1.1"
-    resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230"
-    dependencies:
-      unique-slug "^2.0.0"
-  
-  unique-slug@^2.0.0:
-    version "2.0.2"
-    resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c"
-    dependencies:
-      imurmurhash "^0.1.4"
-  
-  unist-util-is@^3.0.0:
-    version "3.0.0"
-    resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-3.0.0.tgz#d9e84381c2468e82629e4a5be9d7d05a2dd324cd"
-  
-  unist-util-remove-position@^1.0.0:
-    version "1.1.4"
-    resolved "https://registry.yarnpkg.com/unist-util-remove-position/-/unist-util-remove-position-1.1.4.tgz#ec037348b6102c897703eee6d0294ca4755a2020"
-    dependencies:
-      unist-util-visit "^1.1.0"
-  
-  unist-util-stringify-position@^1.0.0, unist-util-stringify-position@^1.1.1:
-    version "1.1.2"
-    resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-1.1.2.tgz#3f37fcf351279dcbca7480ab5889bb8a832ee1c6"
-  
-  unist-util-visit-parents@1.1.2:
-    version "1.1.2"
-    resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-1.1.2.tgz#f6e3afee8bdbf961c0e6f028ea3c0480028c3d06"
-  
-  unist-util-visit-parents@^2.0.0:
-    version "2.1.2"
-    resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-2.1.2.tgz#25e43e55312166f3348cae6743588781d112c1e9"
-    dependencies:
-      unist-util-is "^3.0.0"
-  
-  unist-util-visit@^1.1.0, unist-util-visit@^1.3.0:
-    version "1.4.1"
-    resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-1.4.1.tgz#4724aaa8486e6ee6e26d7ff3c8685960d560b1e3"
-    dependencies:
-      unist-util-visit-parents "^2.0.0"
-  
-  universalify@^0.1.0:
-    version "0.1.2"
-    resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"
-  
-  unpipe@1.0.0, unpipe@~1.0.0:
-    version "1.0.0"
-    resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
-  
-  unset-value@^1.0.0:
-    version "1.0.0"
-    resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559"
-    dependencies:
-      has-value "^0.3.1"
-      isobject "^3.0.0"
-  
-  upath@^1.1.1:
-    version "1.2.0"
-    resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894"
-  
-  upper-case@^1.1.1:
-    version "1.1.3"
-    resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598"
-  
-  uri-js@^4.2.2:
-    version "4.4.0"
-    resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.0.tgz#aa714261de793e8a82347a7bcc9ce74e86f28602"
-    dependencies:
-      punycode "^2.1.0"
-  
-  urix@^0.1.0:
-    version "0.1.0"
-    resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72"
-  
-  url-parse@^1.4.3:
-    version "1.4.7"
-    resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.7.tgz#a8a83535e8c00a316e403a5db4ac1b9b853ae278"
-    dependencies:
-      querystringify "^2.1.1"
-      requires-port "^1.0.0"
-  
-  url@^0.11.0:
-    version "0.11.0"
-    resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1"
-    dependencies:
-      punycode "1.3.2"
-      querystring "0.2.0"
-  
-  use@^3.1.0:
-    version "3.1.1"
-    resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f"
-  
-  utif@^2.0.1:
-    version "2.0.1"
-    resolved "https://registry.yarnpkg.com/utif/-/utif-2.0.1.tgz#9e1582d9bbd20011a6588548ed3266298e711759"
-    dependencies:
-      pako "^1.0.5"
-  
-  util-deprecate@^1.0.1, util-deprecate@~1.0.1:
-    version "1.0.2"
-    resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
-  
-  util.promisify@1.0.0:
-    version "1.0.0"
-    resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030"
-    dependencies:
-      define-properties "^1.1.2"
-      object.getownpropertydescriptors "^2.0.3"
-  
-  util.promisify@^1.0.0:
-    version "1.0.1"
-    resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee"
-    dependencies:
-      define-properties "^1.1.3"
-      es-abstract "^1.17.2"
-      has-symbols "^1.0.1"
-      object.getownpropertydescriptors "^2.1.0"
-  
-  util@0.10.3:
-    version "0.10.3"
-    resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9"
-    dependencies:
-      inherits "2.0.1"
-  
-  util@^0.10.3:
-    version "0.10.4"
-    resolved "https://registry.yarnpkg.com/util/-/util-0.10.4.tgz#3aa0125bfe668a4672de58857d3ace27ecb76901"
-    dependencies:
-      inherits "2.0.3"
-  
-  util@^0.11.0:
-    version "0.11.1"
-    resolved "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61"
-    dependencies:
-      inherits "2.0.3"
-  
-  utila@^0.4.0, utila@~0.4:
-    version "0.4.0"
-    resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c"
-  
-  utils-merge@1.0.1:
-    version "1.0.1"
-    resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
-  
-  uuid@^3.3.2, uuid@^3.4.0:
-    version "3.4.0"
-    resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
-  
-  v8-compile-cache@^2.0.3, v8-compile-cache@^2.1.1:
-    version "2.1.1"
-    resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz#54bc3cdd43317bca91e35dcaf305b1a7237de745"
-  
-  validate-npm-package-license@^3.0.1:
-    version "3.0.4"
-    resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a"
-    dependencies:
-      spdx-correct "^3.0.0"
-      spdx-expression-parse "^3.0.0"
-  
-  vary@~1.1.2:
-    version "1.1.2"
-    resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
-  
-  verror@1.10.0:
-    version "1.10.0"
-    resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400"
-    dependencies:
-      assert-plus "^1.0.0"
-      core-util-is "1.0.2"
-      extsprintf "^1.2.0"
-  
-  vfile-location@^2.0.0:
-    version "2.0.6"
-    resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-2.0.6.tgz#8a274f39411b8719ea5728802e10d9e0dff1519e"
-  
-  vfile-message@^1.0.0:
-    version "1.1.1"
-    resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-1.1.1.tgz#5833ae078a1dfa2d96e9647886cd32993ab313e1"
-    dependencies:
-      unist-util-stringify-position "^1.1.1"
-  
-  vfile@^2.0.0:
-    version "2.3.0"
-    resolved "https://registry.yarnpkg.com/vfile/-/vfile-2.3.0.tgz#e62d8e72b20e83c324bc6c67278ee272488bf84a"
-    dependencies:
-      is-buffer "^1.1.4"
-      replace-ext "1.0.0"
-      unist-util-stringify-position "^1.0.0"
-      vfile-message "^1.0.0"
-  
-  vm-browserify@^1.0.1:
-    version "1.1.2"
-    resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0"
-  
-  w3c-hr-time@^1.0.1:
-    version "1.0.2"
-    resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd"
-    dependencies:
-      browser-process-hrtime "^1.0.0"
-  
-  walker@^1.0.7, walker@~1.0.5:
-    version "1.0.7"
-    resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb"
-    dependencies:
-      makeerror "1.0.x"
-  
-  watchpack-chokidar2@^2.0.0:
-    version "2.0.0"
-    resolved "https://registry.yarnpkg.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz#9948a1866cbbd6cb824dea13a7ed691f6c8ddff0"
-    dependencies:
-      chokidar "^2.1.8"
-  
-  watchpack@^1.7.4:
-    version "1.7.4"
-    resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.4.tgz#6e9da53b3c80bb2d6508188f5b200410866cd30b"
-    dependencies:
-      graceful-fs "^4.1.2"
-      neo-async "^2.5.0"
-    optionalDependencies:
-      chokidar "^3.4.1"
-      watchpack-chokidar2 "^2.0.0"
-  
-  wbuf@^1.1.0, wbuf@^1.7.3:
-    version "1.7.3"
-    resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df"
-    dependencies:
-      minimalistic-assert "^1.0.0"
-  
-  webidl-conversions@^4.0.2:
-    version "4.0.2"
-    resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad"
-  
-  webpack-bundle-analyzer@^3.6.0:
-    version "3.8.0"
-    resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.8.0.tgz#ce6b3f908daf069fd1f7266f692cbb3bded9ba16"
-    dependencies:
-      acorn "^7.1.1"
-      acorn-walk "^7.1.1"
-      bfj "^6.1.1"
-      chalk "^2.4.1"
-      commander "^2.18.0"
-      ejs "^2.6.1"
-      express "^4.16.3"
-      filesize "^3.6.1"
-      gzip-size "^5.0.0"
-      lodash "^4.17.15"
-      mkdirp "^0.5.1"
-      opener "^1.5.1"
-      ws "^6.0.0"
-  
-  webpack-bundle-size-analyzer@^3.1.0:
-    version "3.1.0"
-    resolved "https://registry.yarnpkg.com/webpack-bundle-size-analyzer/-/webpack-bundle-size-analyzer-3.1.0.tgz#ff4a4a17d34b8858b56eecb87826365395264669"
-    dependencies:
-      commander "^2.19.0"
-      filesize "^3.6.1"
-      humanize "0.0.9"
-  
-  webpack-cli@^3.3.10:
-    version "3.3.12"
-    resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-3.3.12.tgz#94e9ada081453cd0aa609c99e500012fd3ad2d4a"
-    dependencies:
-      chalk "^2.4.2"
-      cross-spawn "^6.0.5"
-      enhanced-resolve "^4.1.1"
-      findup-sync "^3.0.0"
-      global-modules "^2.0.0"
-      import-local "^2.0.0"
-      interpret "^1.4.0"
-      loader-utils "^1.4.0"
-      supports-color "^6.1.0"
-      v8-compile-cache "^2.1.1"
-      yargs "^13.3.2"
-  
-  webpack-dev-middleware@^3.7.2:
-    version "3.7.2"
-    resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz#0019c3db716e3fa5cecbf64f2ab88a74bab331f3"
-    dependencies:
-      memory-fs "^0.4.1"
-      mime "^2.4.4"
-      mkdirp "^0.5.1"
-      range-parser "^1.2.1"
-      webpack-log "^2.0.0"
-  
-  webpack-dev-server@^3.9.0:
-    version "3.11.0"
-    resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.11.0.tgz#8f154a3bce1bcfd1cc618ef4e703278855e7ff8c"
-    dependencies:
-      ansi-html "0.0.7"
-      bonjour "^3.5.0"
-      chokidar "^2.1.8"
-      compression "^1.7.4"
-      connect-history-api-fallback "^1.6.0"
-      debug "^4.1.1"
-      del "^4.1.1"
-      express "^4.17.1"
-      html-entities "^1.3.1"
-      http-proxy-middleware "0.19.1"
-      import-local "^2.0.0"
-      internal-ip "^4.3.0"
-      ip "^1.1.5"
-      is-absolute-url "^3.0.3"
-      killable "^1.0.1"
-      loglevel "^1.6.8"
-      opn "^5.5.0"
-      p-retry "^3.0.1"
-      portfinder "^1.0.26"
-      schema-utils "^1.0.0"
-      selfsigned "^1.10.7"
-      semver "^6.3.0"
-      serve-index "^1.9.1"
-      sockjs "0.3.20"
-      sockjs-client "1.4.0"
-      spdy "^4.0.2"
-      strip-ansi "^3.0.1"
-      supports-color "^6.1.0"
-      url "^0.11.0"
-      webpack-dev-middleware "^3.7.2"
-      webpack-log "^2.0.0"
-      ws "^6.2.1"
-      yargs "^13.3.2"
-  
-  webpack-log@^2.0.0:
-    version "2.0.0"
-    resolved "https://registry.yarnpkg.com/webpack-log/-/webpack-log-2.0.0.tgz#5b7928e0637593f119d32f6227c1e0ac31e1b47f"
-    dependencies:
-      ansi-colors "^3.0.0"
-      uuid "^3.3.2"
-  
-  webpack-merge@^4.2.2:
-    version "4.2.2"
-    resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-4.2.2.tgz#a27c52ea783d1398afd2087f547d7b9d2f43634d"
-    dependencies:
-      lodash "^4.17.15"
-  
-  webpack-pwa-manifest@^4.1.1:
-    version "4.2.0"
-    resolved "https://registry.yarnpkg.com/webpack-pwa-manifest/-/webpack-pwa-manifest-4.2.0.tgz#5538a567f668fcb21726cb6a0a56e9b131a9b2c3"
-    dependencies:
-      css-color-names "^1.0.0"
-      jimp "^0.6.0"
-      mime "^2.4.0"
-  
-  webpack-sources@^1.4.0, webpack-sources@^1.4.1:
-    version "1.4.3"
-    resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933"
-    dependencies:
-      source-list-map "^2.0.0"
-      source-map "~0.6.1"
-  
-  webpack@^4.41.2:
-    version "4.44.1"
-    resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.44.1.tgz#17e69fff9f321b8f117d1fda714edfc0b939cc21"
-    dependencies:
-      "@webassemblyjs/ast" "1.9.0"
-      "@webassemblyjs/helper-module-context" "1.9.0"
-      "@webassemblyjs/wasm-edit" "1.9.0"
-      "@webassemblyjs/wasm-parser" "1.9.0"
-      acorn "^6.4.1"
-      ajv "^6.10.2"
-      ajv-keywords "^3.4.1"
-      chrome-trace-event "^1.0.2"
-      enhanced-resolve "^4.3.0"
-      eslint-scope "^4.0.3"
-      json-parse-better-errors "^1.0.2"
-      loader-runner "^2.4.0"
-      loader-utils "^1.2.3"
-      memory-fs "^0.4.1"
-      micromatch "^3.1.10"
-      mkdirp "^0.5.3"
-      neo-async "^2.6.1"
-      node-libs-browser "^2.2.1"
-      schema-utils "^1.0.0"
-      tapable "^1.1.3"
-      terser-webpack-plugin "^1.4.3"
-      watchpack "^1.7.4"
-      webpack-sources "^1.4.1"
-  
-  websocket-driver@0.6.5:
-    version "0.6.5"
-    resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.6.5.tgz#5cb2556ceb85f4373c6d8238aa691c8454e13a36"
-    dependencies:
-      websocket-extensions ">=0.1.1"
-  
-  websocket-driver@>=0.5.1:
-    version "0.7.4"
-    resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760"
-    dependencies:
-      http-parser-js ">=0.5.1"
-      safe-buffer ">=5.1.0"
-      websocket-extensions ">=0.1.1"
-  
-  websocket-extensions@>=0.1.1:
-    version "0.1.4"
-    resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42"
-  
-  whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3:
-    version "1.0.5"
-    resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0"
-    dependencies:
-      iconv-lite "0.4.24"
-  
-  whatwg-fetch@2.0.4:
-    version "2.0.4"
-    resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz#dde6a5df315f9d39991aa17621853d720b85566f"
-  
-  whatwg-mimetype@^2.1.0, whatwg-mimetype@^2.2.0:
-    version "2.3.0"
-    resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf"
-  
-  whatwg-url@^6.4.1:
-    version "6.5.0"
-    resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-6.5.0.tgz#f2df02bff176fd65070df74ad5ccbb5a199965a8"
-    dependencies:
-      lodash.sortby "^4.7.0"
-      tr46 "^1.0.1"
-      webidl-conversions "^4.0.2"
-  
-  whatwg-url@^7.0.0:
-    version "7.1.0"
-    resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06"
-    dependencies:
-      lodash.sortby "^4.7.0"
-      tr46 "^1.0.1"
-      webidl-conversions "^4.0.2"
-  
-  which-module@^2.0.0:
-    version "2.0.0"
-    resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
-  
-  which@1, which@^1.2.14, which@^1.2.9, which@^1.3.0, which@^1.3.1:
-    version "1.3.1"
-    resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
-    dependencies:
-      isexe "^2.0.0"
-  
-  wide-align@^1.1.0:
-    version "1.1.3"
-    resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457"
-    dependencies:
-      string-width "^1.0.2 || 2"
-  
-  word-wrap@~1.2.3:
-    version "1.2.3"
-    resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"
-  
-  workbox-background-sync@^4.3.1:
-    version "4.3.1"
-    resolved "https://registry.yarnpkg.com/workbox-background-sync/-/workbox-background-sync-4.3.1.tgz#26821b9bf16e9e37fd1d640289edddc08afd1950"
-    dependencies:
-      workbox-core "^4.3.1"
-  
-  workbox-broadcast-update@^4.3.1:
-    version "4.3.1"
-    resolved "https://registry.yarnpkg.com/workbox-broadcast-update/-/workbox-broadcast-update-4.3.1.tgz#e2c0280b149e3a504983b757606ad041f332c35b"
-    dependencies:
-      workbox-core "^4.3.1"
-  
-  workbox-build@^4.3.1:
-    version "4.3.1"
-    resolved "https://registry.yarnpkg.com/workbox-build/-/workbox-build-4.3.1.tgz#414f70fb4d6de47f6538608b80ec52412d233e64"
-    dependencies:
-      "@babel/runtime" "^7.3.4"
-      "@hapi/joi" "^15.0.0"
-      common-tags "^1.8.0"
-      fs-extra "^4.0.2"
-      glob "^7.1.3"
-      lodash.template "^4.4.0"
-      pretty-bytes "^5.1.0"
-      stringify-object "^3.3.0"
-      strip-comments "^1.0.2"
-      workbox-background-sync "^4.3.1"
-      workbox-broadcast-update "^4.3.1"
-      workbox-cacheable-response "^4.3.1"
-      workbox-core "^4.3.1"
-      workbox-expiration "^4.3.1"
-      workbox-google-analytics "^4.3.1"
-      workbox-navigation-preload "^4.3.1"
-      workbox-precaching "^4.3.1"
-      workbox-range-requests "^4.3.1"
-      workbox-routing "^4.3.1"
-      workbox-strategies "^4.3.1"
-      workbox-streams "^4.3.1"
-      workbox-sw "^4.3.1"
-      workbox-window "^4.3.1"
-  
-  workbox-cacheable-response@^4.3.1:
-    version "4.3.1"
-    resolved "https://registry.yarnpkg.com/workbox-cacheable-response/-/workbox-cacheable-response-4.3.1.tgz#f53e079179c095a3f19e5313b284975c91428c91"
-    dependencies:
-      workbox-core "^4.3.1"
-  
-  workbox-core@^4.3.1:
-    version "4.3.1"
-    resolved "https://registry.yarnpkg.com/workbox-core/-/workbox-core-4.3.1.tgz#005d2c6a06a171437afd6ca2904a5727ecd73be6"
-  
-  workbox-expiration@^4.3.1:
-    version "4.3.1"
-    resolved "https://registry.yarnpkg.com/workbox-expiration/-/workbox-expiration-4.3.1.tgz#d790433562029e56837f341d7f553c4a78ebe921"
-    dependencies:
-      workbox-core "^4.3.1"
-  
-  workbox-google-analytics@^4.3.1:
-    version "4.3.1"
-    resolved "https://registry.yarnpkg.com/workbox-google-analytics/-/workbox-google-analytics-4.3.1.tgz#9eda0183b103890b5c256e6f4ea15a1f1548519a"
-    dependencies:
-      workbox-background-sync "^4.3.1"
-      workbox-core "^4.3.1"
-      workbox-routing "^4.3.1"
-      workbox-strategies "^4.3.1"
-  
-  workbox-navigation-preload@^4.3.1:
-    version "4.3.1"
-    resolved "https://registry.yarnpkg.com/workbox-navigation-preload/-/workbox-navigation-preload-4.3.1.tgz#29c8e4db5843803b34cd96dc155f9ebd9afa453d"
-    dependencies:
-      workbox-core "^4.3.1"
-  
-  workbox-precaching@^4.3.1:
-    version "4.3.1"
-    resolved "https://registry.yarnpkg.com/workbox-precaching/-/workbox-precaching-4.3.1.tgz#9fc45ed122d94bbe1f0ea9584ff5940960771cba"
-    dependencies:
-      workbox-core "^4.3.1"
-  
-  workbox-range-requests@^4.3.1:
-    version "4.3.1"
-    resolved "https://registry.yarnpkg.com/workbox-range-requests/-/workbox-range-requests-4.3.1.tgz#f8a470188922145cbf0c09a9a2d5e35645244e74"
-    dependencies:
-      workbox-core "^4.3.1"
-  
-  workbox-routing@^4.3.1:
-    version "4.3.1"
-    resolved "https://registry.yarnpkg.com/workbox-routing/-/workbox-routing-4.3.1.tgz#a675841af623e0bb0c67ce4ed8e724ac0bed0cda"
-    dependencies:
-      workbox-core "^4.3.1"
-  
-  workbox-strategies@^4.3.1:
-    version "4.3.1"
-    resolved "https://registry.yarnpkg.com/workbox-strategies/-/workbox-strategies-4.3.1.tgz#d2be03c4ef214c115e1ab29c9c759c9fe3e9e646"
-    dependencies:
-      workbox-core "^4.3.1"
-  
-  workbox-streams@^4.3.1:
-    version "4.3.1"
-    resolved "https://registry.yarnpkg.com/workbox-streams/-/workbox-streams-4.3.1.tgz#0b57da70e982572de09c8742dd0cb40a6b7c2cc3"
-    dependencies:
-      workbox-core "^4.3.1"
-  
-  workbox-sw@^4.3.1:
-    version "4.3.1"
-    resolved "https://registry.yarnpkg.com/workbox-sw/-/workbox-sw-4.3.1.tgz#df69e395c479ef4d14499372bcd84c0f5e246164"
-  
-  workbox-webpack-plugin@^4.3.1:
-    version "4.3.1"
-    resolved "https://registry.yarnpkg.com/workbox-webpack-plugin/-/workbox-webpack-plugin-4.3.1.tgz#47ff5ea1cc074b6c40fb5a86108863a24120d4bd"
-    dependencies:
-      "@babel/runtime" "^7.0.0"
-      json-stable-stringify "^1.0.1"
-      workbox-build "^4.3.1"
-  
-  workbox-window@^4.3.1:
-    version "4.3.1"
-    resolved "https://registry.yarnpkg.com/workbox-window/-/workbox-window-4.3.1.tgz#ee6051bf10f06afa5483c9b8dfa0531994ede0f3"
-    dependencies:
-      workbox-core "^4.3.1"
-  
-  worker-farm@^1.7.0:
-    version "1.7.0"
-    resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8"
-    dependencies:
-      errno "~0.1.7"
-  
-  wrap-ansi@^2.0.0:
-    version "2.1.0"
-    resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85"
-    dependencies:
-      string-width "^1.0.1"
-      strip-ansi "^3.0.1"
-  
-  wrap-ansi@^5.1.0:
-    version "5.1.0"
-    resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09"
-    dependencies:
-      ansi-styles "^3.2.0"
-      string-width "^3.0.0"
-      strip-ansi "^5.0.0"
-  
-  wrappy@1:
-    version "1.0.2"
-    resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
-  
-  write-file-atomic@2.4.1:
-    version "2.4.1"
-    resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.1.tgz#d0b05463c188ae804396fd5ab2a370062af87529"
-    dependencies:
-      graceful-fs "^4.1.11"
-      imurmurhash "^0.1.4"
-      signal-exit "^3.0.2"
-  
-  write@1.0.3:
-    version "1.0.3"
-    resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3"
-    dependencies:
-      mkdirp "^0.5.1"
-  
-  ws@^5.2.0:
-    version "5.2.2"
-    resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f"
-    dependencies:
-      async-limiter "~1.0.0"
-  
-  ws@^6.0.0, ws@^6.2.1:
-    version "6.2.1"
-    resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb"
-    dependencies:
-      async-limiter "~1.0.0"
-  
-  x-is-string@^0.1.0:
-    version "0.1.0"
-    resolved "https://registry.yarnpkg.com/x-is-string/-/x-is-string-0.1.0.tgz#474b50865af3a49a9c4657f05acd145458f77d82"
-  
-  xhr@^2.0.1:
-    version "2.5.0"
-    resolved "https://registry.yarnpkg.com/xhr/-/xhr-2.5.0.tgz#bed8d1676d5ca36108667692b74b316c496e49dd"
-    dependencies:
-      global "~4.3.0"
-      is-function "^1.0.1"
-      parse-headers "^2.0.0"
-      xtend "^4.0.0"
-  
-  xml-name-validator@^3.0.0:
-    version "3.0.0"
-    resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a"
-  
-  xml-parse-from-string@^1.0.0:
-    version "1.0.1"
-    resolved "https://registry.yarnpkg.com/xml-parse-from-string/-/xml-parse-from-string-1.0.1.tgz#a9029e929d3dbcded169f3c6e28238d95a5d5a28"
-  
-  xml2js@^0.4.5:
-    version "0.4.23"
-    resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.23.tgz#a0c69516752421eb2ac758ee4d4ccf58843eac66"
-    dependencies:
-      sax ">=0.6.0"
-      xmlbuilder "~11.0.0"
-  
-  xmlbuilder@~11.0.0:
-    version "11.0.1"
-    resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz#be9bae1c8a046e76b31127726347d0ad7002beb3"
-  
-  xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.1:
-    version "4.0.2"
-    resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
-  
-  "y18n@^3.2.1 || ^4.0.0", y18n@^4.0.0:
-    version "4.0.0"
-    resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b"
-  
-  yallist@^2.1.2:
-    version "2.1.2"
-    resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"
-  
-  yallist@^3.0.2:
-    version "3.1.1"
-    resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"
-  
-  yargs-parser@^11.1.1:
-    version "11.1.1"
-    resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4"
-    dependencies:
-      camelcase "^5.0.0"
-      decamelize "^1.2.0"
-  
-  yargs-parser@^13.1.2:
-    version "13.1.2"
-    resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38"
-    dependencies:
-      camelcase "^5.0.0"
-      decamelize "^1.2.0"
-  
-  yargs@^12.0.5:
-    version "12.0.5"
-    resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13"
-    dependencies:
-      cliui "^4.0.0"
-      decamelize "^1.2.0"
-      find-up "^3.0.0"
-      get-caller-file "^1.0.1"
-      os-locale "^3.0.0"
-      require-directory "^2.1.1"
-      require-main-filename "^1.0.1"
-      set-blocking "^2.0.0"
-      string-width "^2.0.0"
-      which-module "^2.0.0"
-      y18n "^3.2.1 || ^4.0.0"
-      yargs-parser "^11.1.1"
-  
-  yargs@^13.3.0, yargs@^13.3.2:
-    version "13.3.2"
-    resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd"
-    dependencies:
-      cliui "^5.0.0"
-      find-up "^3.0.0"
-      get-caller-file "^2.0.1"
-      require-directory "^2.1.1"
-      require-main-filename "^2.0.0"
-      set-blocking "^2.0.0"
-      string-width "^3.0.0"
-      which-module "^2.0.0"
-      y18n "^4.0.0"
-      yargs-parser "^13.1.2"
diff --git a/pom.xml b/pom.xml
index 784bf6f..34e6c53 100644
--- a/pom.xml
+++ b/pom.xml
@@ -16,7 +16,6 @@
         <security.version>2.1.4-SNAPSHOT</security.version>
         <mockito-all.version>1.10.19</mockito-all.version>
 
-        <maven-antrun.version>1.8</maven-antrun.version>
         <java.version>17</java.version>
         <maven.compiler.target>17</maven.compiler.target>
         <maven.compiler.source>17</maven.compiler.source>
@@ -73,11 +72,6 @@
                 <artifactId>guava</artifactId>
                 <version>20.0</version>
             </dependency>
-            <dependency>
-                <groupId>com.alibaba.security</groupId>
-                <artifactId>security-all</artifactId>
-                <version>2.0.7-SNAPSHOT</version>
-            </dependency>
 
             <!-- support git protocol -->
             <dependency>
@@ -186,16 +180,13 @@
     <build>
         <pluginManagement>
             <plugins>
-                <plugin>
-                    <artifactId>maven-antrun-plugin</artifactId>
-                    <version>${maven-antrun.version}</version>
-                </plugin>
                 <plugin>
                     <groupId>com.github.eirslett</groupId>
                     <artifactId>frontend-maven-plugin</artifactId>
                     <version>1.11.0</version>
                 </plugin>
                 <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
                     <artifactId>maven-resources-plugin</artifactId>
                     <version>3.1.0</version>
                 </plugin>